]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a problem with fts3 auxiliary functions and one or more NEAR expressions ORed...
authordan <Dan Kennedy>
Wed, 25 Jan 2023 15:45:45 +0000 (15:45 +0000)
committerdan <Dan Kennedy>
Wed, 25 Jan 2023 15:45:45 +0000 (15:45 +0000)
FossilOrigin-Name: de4690a10ad4631e7452ccbb05b177a821d9dda387a854d216a6c54c7a189ead

ext/fts3/fts3.c
manifest
manifest.uuid
test/fts3defer2.test

index da4528273e654008293ae700afda38e19aa46935..c2067020c1031cd61a5bd7cbcfe225969f30b0fb 100644 (file)
@@ -5287,9 +5287,8 @@ static void fts3EvalNextRow(
   Fts3Expr *pExpr,                /* Expr. to advance to next matching row */
   int *pRc                        /* IN/OUT: Error code */
 ){
-  if( *pRc==SQLITE_OK ){
+  if( *pRc==SQLITE_OK && pExpr->bEof==0 ){
     int bDescDoclist = pCsr->bDesc;         /* Used by DOCID_CMP() macro */
-    assert( pExpr->bEof==0 );
     pExpr->bStart = 1;
 
     switch( pExpr->eType ){
index 841559336ab6fb9c5d7e949b96b01ee794b69833..917c5a29eb3571e19b7773b30a5af9779cb777fb 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sanother\sproblem\swith\sfts3/4\sauxiliary\sfunctions\sand\sNEAR\sexpressions\sthat\sconsist\sentirely\sof\sdeferred\stokens.
-D 2023-01-25T13:42:55.473
+C Fix\sa\sproblem\swith\sfts3\sauxiliary\sfunctions\sand\sone\sor\smore\sNEAR\sexpressions\sORed\stogether.
+D 2023-01-25T15:45:45.110
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -58,7 +58,7 @@ F ext/fts3/README.content b9078d0843a094d86af0d48dffbff13c906702b4c3558012e67b9c
 F ext/fts3/README.syntax a19711dc5458c20734b8e485e75fb1981ec2427a
 F ext/fts3/README.tokenizers b92bdeb8b46503f0dd301d364efc5ef59ef9fa8e2758b8e742f39fa93a2e422d
 F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d
-F ext/fts3/fts3.c a613b81b208a330ce155b5f41ee038358aa4ddbae8b12fe9d07d7b399bf57dc8
+F ext/fts3/fts3.c 4b75c00b6c3024959cc4d549422ebd4445c899efda277df9497a05af56550650
 F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe
 F ext/fts3/fts3Int.h e573c6d881f7238d77cc3fd2396cbb9b2fe13efef7d2ad295a155151c4e7efbd
 F ext/fts3/fts3_aux.c f0dc9bd98582615b7750218899bd0c729879b6bbf94d1be57ca1833ff49afc6f
@@ -1067,7 +1067,7 @@ F test/fts3corrupt6.test f417c910254f32c0bc9ead7affa991a1d5aec35b3b32a183ffb05ee
 F test/fts3cov.test 7eacdbefd756cfa4dc2241974e3db2834e9b372ca215880e00032222f32194cf
 F test/fts3d.test 2bd8c97bcb9975f2334147173b4872505b6a41359a4f9068960a36afe07a679f
 F test/fts3defer.test f4c20e4c7153d20a98ee49ee5f3faef624fefc9a067f8d8d629db380c4d9f1de
-F test/fts3defer2.test 356c980bc28cdf4b14dbd3d7599929d3e54ecf9a37760c037bb895f614918459
+F test/fts3defer2.test 3bbe54a7fca7d548bb7ac4f59447ee591070bfbe0c9f3e279defa0b898e9afbb
 F test/fts3defer3.test dd53fc13223c6d8264a98244e9b19abd35ed71cd
 F test/fts3drop.test 1b906e293d6773812587b3dc458cb9e8f3f0c297
 F test/fts3dropmod.test 7de242ea1c8a713a8b143ea54468f4b1c4953fa068349e23ac178e2c90c59889
@@ -2044,8 +2044,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 890e9629a7480138c9c1d3acc2d1e7b3c05e0d156e5c5fba428bc1aeb790fbfb
-R 1da822a94c4b832d6a6cd41c425e2e73
+P a8c91c132f6157b7e3649f57a799984b1d7f8a18fd434515c875617d4195db29
+R 73fe2e4893136a6f2210fe51205c8c54
 U dan
-Z 20acb0606f0068559b373b7ba0fbeacf
+Z 9784b836281b1acdf9581aedf7823d6d
 # Remove this line to create a well-formed Fossil manifest.
index 64202b80968801ef1d1e9ce9380dd07f0349b8d7..7a9a9e5eee4364603ffcedb487c374f4268b486d 100644 (file)
@@ -1 +1 @@
-a8c91c132f6157b7e3649f57a799984b1d7f8a18fd434515c875617d4195db29
\ No newline at end of file
+de4690a10ad4631e7452ccbb05b177a821d9dda387a854d216a6c54c7a189ead
\ No newline at end of file
index eff8dd95dbc2c44e33ad339329182a398fe589f7..51d2afc49fd63ed4db916af2493193f02f880a7e 100644 (file)
@@ -184,5 +184,10 @@ do_execsql_test 2.11 {
   SELECT rowid, length(matchinfo(t3)) FROM t3 WHERE t3 MATCH '(a NEAR b)';
 } {1 32 3 32 11 32}
 
+do_execsql_test 2.12 {
+  SELECT rowid, length(matchinfo(t3)) FROM t3 
+  WHERE t3 MATCH '(a NEAR b NEAR a NEAR b NEAR a)'
+} {1 68 3 68 11 68}
+
 
 finish_test