Fossil SCM

dbstat command: account for tags named wiki-X which are not wiki pages, fix ordering of event/forumpost queries which caused event (tech-note) count to get overwritten by forumpost count.

stephan 2021-12-10 04:13 trunk
Commit 28a60efcf99db20350b555c932a0a33c8ceca91725dc609c4cec7a082802add0
1 file changed +7 -3
+7 -3
--- src/stat.c
+++ src/stat.c
@@ -392,29 +392,33 @@
392392
}
393393
n = db_int(0, "SELECT COUNT(*) FROM event e WHERE e.type='ci'");
394394
fossil_print("%*s%,d\n", colWidth, "check-ins:", n);
395395
n = db_int(0, "SELECT count(*) FROM filename /*scan*/");
396396
fossil_print("%*s%,d across all branches\n", colWidth, "files:", n);
397
- n = db_int(0, "SELECT count(*) FROM tag /*scan*/"
398
- " WHERE tagname GLOB 'wiki-*'");
397
+ n = db_int(0, "SELECT count(*) FROM ("
398
+ "SELECT DISTINCT substr(tagname,6) "
399
+ "FROM tag JOIN tagxref USING('tagid')"
400
+ " WHERE tagname GLOB 'wiki-*'"
401
+ " AND TYPEOF(tagxref.value+0)='integer'"
402
+ ")");
399403
m = db_int(0, "SELECT COUNT(*) FROM event WHERE type='w'");
400404
fossil_print("%*s%,d (%,d changes)\n", colWidth, "wiki-pages:", n, m);
401405
n = db_int(0, "SELECT count(*) FROM tag /*scan*/"
402406
" WHERE tagname GLOB 'tkt-*'");
403407
m = db_int(0, "SELECT COUNT(*) FROM event WHERE type='t'");
404408
fossil_print("%*s%,d (%,d changes)\n", colWidth, "tickets:", n, m);
405409
n = db_int(0, "SELECT COUNT(*) FROM event WHERE type='e'");
410
+ fossil_print("%*s%,d\n", colWidth, "events:", n);
406411
if( db_table_exists("repository","forumpost") ){
407412
n = db_int(0, "SELECT count(*) FROM forumpost/*scan*/");
408413
if( n>0 ){
409414
int nThread = db_int(0, "SELECT count(*) FROM forumpost"
410415
" WHERE froot=fpid");
411416
fossil_print("%*s%,d (on %,d threads)\n", colWidth, "forum-posts:",
412417
n, nThread);
413418
}
414419
}
415
- fossil_print("%*s%,d\n", colWidth, "events:", n);
416420
n = db_int(0, "SELECT COUNT(*) FROM event WHERE type='g'");
417421
fossil_print("%*s%,d\n", colWidth, "tag-changes:", n);
418422
z = db_text(0, "SELECT datetime(mtime) || ' - about ' ||"
419423
" CAST(julianday('now') - mtime AS INTEGER)"
420424
" || ' days ago' FROM event "
421425
--- src/stat.c
+++ src/stat.c
@@ -392,29 +392,33 @@
392 }
393 n = db_int(0, "SELECT COUNT(*) FROM event e WHERE e.type='ci'");
394 fossil_print("%*s%,d\n", colWidth, "check-ins:", n);
395 n = db_int(0, "SELECT count(*) FROM filename /*scan*/");
396 fossil_print("%*s%,d across all branches\n", colWidth, "files:", n);
397 n = db_int(0, "SELECT count(*) FROM tag /*scan*/"
398 " WHERE tagname GLOB 'wiki-*'");
 
 
 
 
399 m = db_int(0, "SELECT COUNT(*) FROM event WHERE type='w'");
400 fossil_print("%*s%,d (%,d changes)\n", colWidth, "wiki-pages:", n, m);
401 n = db_int(0, "SELECT count(*) FROM tag /*scan*/"
402 " WHERE tagname GLOB 'tkt-*'");
403 m = db_int(0, "SELECT COUNT(*) FROM event WHERE type='t'");
404 fossil_print("%*s%,d (%,d changes)\n", colWidth, "tickets:", n, m);
405 n = db_int(0, "SELECT COUNT(*) FROM event WHERE type='e'");
 
406 if( db_table_exists("repository","forumpost") ){
407 n = db_int(0, "SELECT count(*) FROM forumpost/*scan*/");
408 if( n>0 ){
409 int nThread = db_int(0, "SELECT count(*) FROM forumpost"
410 " WHERE froot=fpid");
411 fossil_print("%*s%,d (on %,d threads)\n", colWidth, "forum-posts:",
412 n, nThread);
413 }
414 }
415 fossil_print("%*s%,d\n", colWidth, "events:", n);
416 n = db_int(0, "SELECT COUNT(*) FROM event WHERE type='g'");
417 fossil_print("%*s%,d\n", colWidth, "tag-changes:", n);
418 z = db_text(0, "SELECT datetime(mtime) || ' - about ' ||"
419 " CAST(julianday('now') - mtime AS INTEGER)"
420 " || ' days ago' FROM event "
421
--- src/stat.c
+++ src/stat.c
@@ -392,29 +392,33 @@
392 }
393 n = db_int(0, "SELECT COUNT(*) FROM event e WHERE e.type='ci'");
394 fossil_print("%*s%,d\n", colWidth, "check-ins:", n);
395 n = db_int(0, "SELECT count(*) FROM filename /*scan*/");
396 fossil_print("%*s%,d across all branches\n", colWidth, "files:", n);
397 n = db_int(0, "SELECT count(*) FROM ("
398 "SELECT DISTINCT substr(tagname,6) "
399 "FROM tag JOIN tagxref USING('tagid')"
400 " WHERE tagname GLOB 'wiki-*'"
401 " AND TYPEOF(tagxref.value+0)='integer'"
402 ")");
403 m = db_int(0, "SELECT COUNT(*) FROM event WHERE type='w'");
404 fossil_print("%*s%,d (%,d changes)\n", colWidth, "wiki-pages:", n, m);
405 n = db_int(0, "SELECT count(*) FROM tag /*scan*/"
406 " WHERE tagname GLOB 'tkt-*'");
407 m = db_int(0, "SELECT COUNT(*) FROM event WHERE type='t'");
408 fossil_print("%*s%,d (%,d changes)\n", colWidth, "tickets:", n, m);
409 n = db_int(0, "SELECT COUNT(*) FROM event WHERE type='e'");
410 fossil_print("%*s%,d\n", colWidth, "events:", n);
411 if( db_table_exists("repository","forumpost") ){
412 n = db_int(0, "SELECT count(*) FROM forumpost/*scan*/");
413 if( n>0 ){
414 int nThread = db_int(0, "SELECT count(*) FROM forumpost"
415 " WHERE froot=fpid");
416 fossil_print("%*s%,d (on %,d threads)\n", colWidth, "forum-posts:",
417 n, nThread);
418 }
419 }
 
420 n = db_int(0, "SELECT COUNT(*) FROM event WHERE type='g'");
421 fossil_print("%*s%,d\n", colWidth, "tag-changes:", n);
422 z = db_text(0, "SELECT datetime(mtime) || ' - about ' ||"
423 " CAST(julianday('now') - mtime AS INTEGER)"
424 " || ' days ago' FROM event "
425

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button