Fossil SCM
Use a CROSS JOIN to fix an inefficient query in the indexed full-text search.
Commit
005ba1e28f029efda7eea1a9de3c6c565e668b80
Parent
23d659de2fbd11c…
1 file changed
+1
-1
+1
-1
| --- src/search.c | ||
| +++ src/search.c | ||
| @@ -745,11 +745,11 @@ | ||
| 745 | 745 | " SELECT ftsdocs.label," |
| 746 | 746 | " ftsdocs.url," |
| 747 | 747 | " rank(matchinfo(ftsidx,'pcsx'))," |
| 748 | 748 | " datetime(ftsdocs.mtime)," |
| 749 | 749 | " snippet(ftsidx,'<mark>','</mark>',' ... ')" |
| 750 | - " FROM ftsidx, ftsdocs" | |
| 750 | + " FROM ftsidx CROSS JOIN ftsdocs" | |
| 751 | 751 | " WHERE ftsidx MATCH %Q" |
| 752 | 752 | " AND ftsdocs.rowid=ftsidx.docid", |
| 753 | 753 | zPattern |
| 754 | 754 | ); |
| 755 | 755 | if( srchFlags!=SRCH_ALL ){ |
| 756 | 756 |
| --- src/search.c | |
| +++ src/search.c | |
| @@ -745,11 +745,11 @@ | |
| 745 | " SELECT ftsdocs.label," |
| 746 | " ftsdocs.url," |
| 747 | " rank(matchinfo(ftsidx,'pcsx'))," |
| 748 | " datetime(ftsdocs.mtime)," |
| 749 | " snippet(ftsidx,'<mark>','</mark>',' ... ')" |
| 750 | " FROM ftsidx, ftsdocs" |
| 751 | " WHERE ftsidx MATCH %Q" |
| 752 | " AND ftsdocs.rowid=ftsidx.docid", |
| 753 | zPattern |
| 754 | ); |
| 755 | if( srchFlags!=SRCH_ALL ){ |
| 756 |
| --- src/search.c | |
| +++ src/search.c | |
| @@ -745,11 +745,11 @@ | |
| 745 | " SELECT ftsdocs.label," |
| 746 | " ftsdocs.url," |
| 747 | " rank(matchinfo(ftsidx,'pcsx'))," |
| 748 | " datetime(ftsdocs.mtime)," |
| 749 | " snippet(ftsidx,'<mark>','</mark>',' ... ')" |
| 750 | " FROM ftsidx CROSS JOIN ftsdocs" |
| 751 | " WHERE ftsidx MATCH %Q" |
| 752 | " AND ftsdocs.rowid=ftsidx.docid", |
| 753 | zPattern |
| 754 | ); |
| 755 | if( srchFlags!=SRCH_ALL ){ |
| 756 |