Fossil SCM

Faster tree-view query.

drh 2021-01-10 19:39 trunk
Commit 3cd0b26414efb87b0c7855d619144ff492de51707899c055ea540d823cae9653
1 file changed +7 -6
+7 -6
--- src/browse.c
+++ src/browse.c
@@ -786,16 +786,17 @@
786786
}
787787
db_finalize(&q);
788788
}else{
789789
Stmt q;
790790
db_prepare(&q,
791
- "SELECT filename.name, blob.uuid, max(event.mtime)\n"
792
- " FROM filename, mlink, blob, event\n"
793
- " WHERE mlink.fnid=filename.fnid\n"
794
- " AND event.objid=mlink.mid\n"
795
- " AND blob.rid=mlink.fid\n"
796
- " GROUP BY 1 ORDER BY 1 COLLATE nocase");
791
+ "SELECT\n"
792
+ " (SELECT name FROM filename WHERE filename.fnid=mlink.fnid),\n"
793
+ " (SELECT uuid FROM blob WHERE blob.rid=mlink.fid),\n"
794
+ " max(event.mtime)\n"
795
+ " FROM mlink JOIN event ON event.objid=mlink.mid\n"
796
+ " GROUP BY mlink.fnid\n"
797
+ " ORDER BY 1 COLLATE nocase;");
797798
while( db_step(&q)==SQLITE_ROW ){
798799
const char *zName = db_column_text(&q, 0);
799800
const char *zUuid = db_column_text(&q,1);
800801
double mtime = db_column_double(&q,2);
801802
if( nD>0 && (fossil_strncmp(zName, zD, nD-1)!=0 || zName[nD-1]!='/') ){
802803
--- src/browse.c
+++ src/browse.c
@@ -786,16 +786,17 @@
786 }
787 db_finalize(&q);
788 }else{
789 Stmt q;
790 db_prepare(&q,
791 "SELECT filename.name, blob.uuid, max(event.mtime)\n"
792 " FROM filename, mlink, blob, event\n"
793 " WHERE mlink.fnid=filename.fnid\n"
794 " AND event.objid=mlink.mid\n"
795 " AND blob.rid=mlink.fid\n"
796 " GROUP BY 1 ORDER BY 1 COLLATE nocase");
 
797 while( db_step(&q)==SQLITE_ROW ){
798 const char *zName = db_column_text(&q, 0);
799 const char *zUuid = db_column_text(&q,1);
800 double mtime = db_column_double(&q,2);
801 if( nD>0 && (fossil_strncmp(zName, zD, nD-1)!=0 || zName[nD-1]!='/') ){
802
--- src/browse.c
+++ src/browse.c
@@ -786,16 +786,17 @@
786 }
787 db_finalize(&q);
788 }else{
789 Stmt q;
790 db_prepare(&q,
791 "SELECT\n"
792 " (SELECT name FROM filename WHERE filename.fnid=mlink.fnid),\n"
793 " (SELECT uuid FROM blob WHERE blob.rid=mlink.fid),\n"
794 " max(event.mtime)\n"
795 " FROM mlink JOIN event ON event.objid=mlink.mid\n"
796 " GROUP BY mlink.fnid\n"
797 " ORDER BY 1 COLLATE nocase;");
798 while( db_step(&q)==SQLITE_ROW ){
799 const char *zName = db_column_text(&q, 0);
800 const char *zUuid = db_column_text(&q,1);
801 double mtime = db_column_double(&q,2);
802 if( nD>0 && (fossil_strncmp(zName, zD, nD-1)!=0 || zName[nD-1]!='/') ){
803

Keyboard Shortcuts

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