Fossil SCM

Further enhance the test-rename-list to include a title with the number of renames and the number of associated check-ins.

drh 2018-05-05 19:02 trunk
Commit b6aa2a2370925b411920a711030b41a218babbf7be523f9353aa8726bdd84faa
1 file changed +17 -10
+17 -10
--- src/path.c
+++ src/path.c
@@ -547,41 +547,41 @@
547547
}
548548
}
549549
550550
/* Query to extract all rename operations */
551551
static const char zRenameQuery[] =
552
+@ CREATE TEMP TABLE renames AS
552553
@ SELECT
553
-@ datetime(event.mtime),
554
+@ datetime(event.mtime) AS date,
554555
@ F.name AS old_name,
555556
@ T.name AS new_name,
556
-@ blob.uuid
557
+@ blob.uuid AS checkin
557558
@ FROM mlink, filename F, filename T, event, blob
558559
@ WHERE coalesce(mlink.pfnid,0)!=0 AND mlink.pfnid!=mlink.fnid
559560
@ AND F.fnid=mlink.pfnid
560561
@ AND T.fnid=mlink.fnid
561562
@ AND event.objid=mlink.mid
562563
@ AND event.type='ci'
563
-@ AND blob.rid=mlink.mid
564
-@ ORDER BY 1 DESC, 2;
564
+@ AND blob.rid=mlink.mid;
565565
;
566566
567567
/* Query to extract distinct rename operations */
568568
static const char zDistinctRenameQuery[] =
569
+@ CREATE TEMP TABLE renames AS
569570
@ SELECT
570
-@ min(datetime(event.mtime)),
571
+@ min(datetime(event.mtime)) AS date,
571572
@ F.name AS old_name,
572573
@ T.name AS new_name,
573
-@ blob.uuid
574
+@ blob.uuid AS checkin
574575
@ FROM mlink, filename F, filename T, event, blob
575576
@ WHERE coalesce(mlink.pfnid,0)!=0 AND mlink.pfnid!=mlink.fnid
576577
@ AND F.fnid=mlink.pfnid
577578
@ AND T.fnid=mlink.fnid
578579
@ AND event.objid=mlink.mid
579580
@ AND event.type='ci'
580581
@ AND blob.rid=mlink.mid
581
-@ GROUP BY 2, 3
582
-@ ORDER BY 1 DESC, 2;
582
+@ GROUP BY 2, 3;
583583
;
584584
585585
/*
586586
** WEBPAGE: test-rename-list
587587
**
@@ -589,22 +589,29 @@
589589
** This page is intended for for testing purposes only and may change
590590
** or be discontinued without notice.
591591
*/
592592
void test_rename_list_page(void){
593593
Stmt q;
594
+ int nRename;
595
+ int nCheckin;
594596
595597
login_check_credentials();
596598
if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
597599
if( P("all")!=0 ){
598600
style_header("List Of All File Name Changes");
599
- db_prepare(&q, "%s", zRenameQuery/*safe-for-%s*/);
601
+ db_multi_exec("%s", zRenameQuery/*safe-for-%s*/);
600602
style_submenu_element("Distinct", "%R/test-rename-list");
601603
}else{
602604
style_header("List Of Distinct File Name Changes");
603
- db_prepare(&q, "%s", zDistinctRenameQuery/*safe-for-%s*/);
605
+ db_multi_exec("%s", zDistinctRenameQuery/*safe-for-%s*/);
604606
style_submenu_element("All", "%R/test-rename-list?all");
605607
}
608
+ nRename = db_int(0, "SELECT count(*) FROM renames;");
609
+ nCheckin = db_int(0, "SELECT count(DISTINCT checkin) FROM renames;");
610
+ db_prepare(&q, "SELECT date, old_name, new_name, checkin FROM renames"
611
+ " ORDER BY date DESC, old_name ASC");
612
+ @ <h1>%d(nRename) rename operations in %d(nCheckin) check-ins</h1>
606613
@ <table class='sortable' data-column-types='tttt' data-init-sort='1'\
607614
@ border="1" cellpadding="2" cellspacing="0">
608615
@ <thead><tr><th>Date &amp; Time</th>
609616
@ <th>Old Name</th>
610617
@ <th>New Name</th>
611618
--- src/path.c
+++ src/path.c
@@ -547,41 +547,41 @@
547 }
548 }
549
550 /* Query to extract all rename operations */
551 static const char zRenameQuery[] =
 
552 @ SELECT
553 @ datetime(event.mtime),
554 @ F.name AS old_name,
555 @ T.name AS new_name,
556 @ blob.uuid
557 @ FROM mlink, filename F, filename T, event, blob
558 @ WHERE coalesce(mlink.pfnid,0)!=0 AND mlink.pfnid!=mlink.fnid
559 @ AND F.fnid=mlink.pfnid
560 @ AND T.fnid=mlink.fnid
561 @ AND event.objid=mlink.mid
562 @ AND event.type='ci'
563 @ AND blob.rid=mlink.mid
564 @ ORDER BY 1 DESC, 2;
565 ;
566
567 /* Query to extract distinct rename operations */
568 static const char zDistinctRenameQuery[] =
 
569 @ SELECT
570 @ min(datetime(event.mtime)),
571 @ F.name AS old_name,
572 @ T.name AS new_name,
573 @ blob.uuid
574 @ FROM mlink, filename F, filename T, event, blob
575 @ WHERE coalesce(mlink.pfnid,0)!=0 AND mlink.pfnid!=mlink.fnid
576 @ AND F.fnid=mlink.pfnid
577 @ AND T.fnid=mlink.fnid
578 @ AND event.objid=mlink.mid
579 @ AND event.type='ci'
580 @ AND blob.rid=mlink.mid
581 @ GROUP BY 2, 3
582 @ ORDER BY 1 DESC, 2;
583 ;
584
585 /*
586 ** WEBPAGE: test-rename-list
587 **
@@ -589,22 +589,29 @@
589 ** This page is intended for for testing purposes only and may change
590 ** or be discontinued without notice.
591 */
592 void test_rename_list_page(void){
593 Stmt q;
 
 
594
595 login_check_credentials();
596 if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
597 if( P("all")!=0 ){
598 style_header("List Of All File Name Changes");
599 db_prepare(&q, "%s", zRenameQuery/*safe-for-%s*/);
600 style_submenu_element("Distinct", "%R/test-rename-list");
601 }else{
602 style_header("List Of Distinct File Name Changes");
603 db_prepare(&q, "%s", zDistinctRenameQuery/*safe-for-%s*/);
604 style_submenu_element("All", "%R/test-rename-list?all");
605 }
 
 
 
 
 
606 @ <table class='sortable' data-column-types='tttt' data-init-sort='1'\
607 @ border="1" cellpadding="2" cellspacing="0">
608 @ <thead><tr><th>Date &amp; Time</th>
609 @ <th>Old Name</th>
610 @ <th>New Name</th>
611
--- src/path.c
+++ src/path.c
@@ -547,41 +547,41 @@
547 }
548 }
549
550 /* Query to extract all rename operations */
551 static const char zRenameQuery[] =
552 @ CREATE TEMP TABLE renames AS
553 @ SELECT
554 @ datetime(event.mtime) AS date,
555 @ F.name AS old_name,
556 @ T.name AS new_name,
557 @ blob.uuid AS checkin
558 @ FROM mlink, filename F, filename T, event, blob
559 @ WHERE coalesce(mlink.pfnid,0)!=0 AND mlink.pfnid!=mlink.fnid
560 @ AND F.fnid=mlink.pfnid
561 @ AND T.fnid=mlink.fnid
562 @ AND event.objid=mlink.mid
563 @ AND event.type='ci'
564 @ AND blob.rid=mlink.mid;
 
565 ;
566
567 /* Query to extract distinct rename operations */
568 static const char zDistinctRenameQuery[] =
569 @ CREATE TEMP TABLE renames AS
570 @ SELECT
571 @ min(datetime(event.mtime)) AS date,
572 @ F.name AS old_name,
573 @ T.name AS new_name,
574 @ blob.uuid AS checkin
575 @ FROM mlink, filename F, filename T, event, blob
576 @ WHERE coalesce(mlink.pfnid,0)!=0 AND mlink.pfnid!=mlink.fnid
577 @ AND F.fnid=mlink.pfnid
578 @ AND T.fnid=mlink.fnid
579 @ AND event.objid=mlink.mid
580 @ AND event.type='ci'
581 @ AND blob.rid=mlink.mid
582 @ GROUP BY 2, 3;
 
583 ;
584
585 /*
586 ** WEBPAGE: test-rename-list
587 **
@@ -589,22 +589,29 @@
589 ** This page is intended for for testing purposes only and may change
590 ** or be discontinued without notice.
591 */
592 void test_rename_list_page(void){
593 Stmt q;
594 int nRename;
595 int nCheckin;
596
597 login_check_credentials();
598 if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
599 if( P("all")!=0 ){
600 style_header("List Of All File Name Changes");
601 db_multi_exec("%s", zRenameQuery/*safe-for-%s*/);
602 style_submenu_element("Distinct", "%R/test-rename-list");
603 }else{
604 style_header("List Of Distinct File Name Changes");
605 db_multi_exec("%s", zDistinctRenameQuery/*safe-for-%s*/);
606 style_submenu_element("All", "%R/test-rename-list?all");
607 }
608 nRename = db_int(0, "SELECT count(*) FROM renames;");
609 nCheckin = db_int(0, "SELECT count(DISTINCT checkin) FROM renames;");
610 db_prepare(&q, "SELECT date, old_name, new_name, checkin FROM renames"
611 " ORDER BY date DESC, old_name ASC");
612 @ <h1>%d(nRename) rename operations in %d(nCheckin) check-ins</h1>
613 @ <table class='sortable' data-column-types='tttt' data-init-sort='1'\
614 @ border="1" cellpadding="2" cellspacing="0">
615 @ <thead><tr><th>Date &amp; Time</th>
616 @ <th>Old Name</th>
617 @ <th>New Name</th>
618

Keyboard Shortcuts

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