Fossil SCM
Faster tree-view query.
Commit
3cd0b26414efb87b0c7855d619144ff492de51707899c055ea540d823cae9653
Parent
7bf929984a46ab6…
1 file changed
+7
-6
+7
-6
| --- src/browse.c | ||
| +++ src/browse.c | ||
| @@ -786,16 +786,17 @@ | ||
| 786 | 786 | } |
| 787 | 787 | db_finalize(&q); |
| 788 | 788 | }else{ |
| 789 | 789 | Stmt q; |
| 790 | 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"); | |
| 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;"); | |
| 797 | 798 | while( db_step(&q)==SQLITE_ROW ){ |
| 798 | 799 | const char *zName = db_column_text(&q, 0); |
| 799 | 800 | const char *zUuid = db_column_text(&q,1); |
| 800 | 801 | double mtime = db_column_double(&q,2); |
| 801 | 802 | if( nD>0 && (fossil_strncmp(zName, zD, nD-1)!=0 || zName[nD-1]!='/') ){ |
| 802 | 803 |
| --- 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 |