]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a problem in cursor-hints for WITHOUT ROWID tables.
authordrh <>
Sat, 25 Mar 2023 02:02:10 +0000 (02:02 +0000)
committerdrh <>
Sat, 25 Mar 2023 02:02:10 +0000 (02:02 +0000)
FossilOrigin-Name: fc8ec188d943245ce10595aecf4095d3077f5fbafdeef7de8183afe9ad26eaf7

manifest
manifest.uuid
src/where.c
test/cursorhint.test

index c6bd692402c01619532bb01a097e7a6ba22a6c20..ccc0cf2fe2a1ac59a5afc2d25a494d44d1ff1d7b 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\sCLI\snon-handling\sof\sOOM.
-D 2023-03-25T01:50:07.026
+C Fix\sa\sproblem\sin\scursor-hints\sfor\sWITHOUT\sROWID\stables.
+D 2023-03-25T02:02:10.028
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -706,7 +706,7 @@ F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
 F src/wal.c b9df133a705093da8977da5eb202eaadb844839f1c7297c08d33471f5491843d
 F src/wal.h c3aa7825bfa2fe0d85bef2db94655f99870a285778baa36307c0a16da32b226a
 F src/walker.c f890a3298418d7cba3b69b8803594fdc484ea241206a8dfa99db6dd36f8cbb3b
-F src/where.c a016443c4f4853175f939dd4658e236922b14f926f06c5ee60dedeb259684bda
+F src/where.c 5cd8ce282d29160fb855abf54c46826a19e2942252de6740c00641769175d958
 F src/whereInt.h e25203e5bfee149f5f1225ae0166cfb4f1e65490c998a024249e98bb0647377c
 F src/wherecode.c b82d0d33315e1526904b95155e55e61149c4462147668e1cc4567c812735eff1
 F src/whereexpr.c 16d1eefd95f69843b45aba6d04fe2b63fc4f51584dff85ae380f5c20718f3c75
@@ -907,7 +907,7 @@ F test/createtab.test 85cdfdae5c3de331cd888d6c66e1aba575b47c2e3c3cc4a1d6f5414069
 F test/cse.test 00b3aea44b16828833c94fbe92475fd6977583fcb064ae0bc590986812b38d0c
 F test/csv01.test 2ab5514005fd308995c8910bc313e47f0368b94213b9d6c27f9a2da78796a091
 F test/ctime.test 340f362f41f92972bbd71f44e10569a5cc694062b692231bd08aa6fe6c1c4773
-F test/cursorhint.test 0175e4404181ace3ceca8b114eb0a98eae600d565aa4e2705abbe6614c7fe201
+F test/cursorhint.test 096c8a210b31934a1964d45d7fb2aedf1e09e91773b0942abd039285b9953906
 F test/cursorhint2.test 6f3aa9cb19e7418967a10ec6905209bcbb5968054da855fc36c8beee9ae9c42f
 F test/dataversion1.test 6e5e86ac681f0782e766ebcb56c019ae001522d114e0e111e5ebf68ccf2a7bb8
 F test/date.test 118e04db8c8b4efeb885542b4918c7b869a34c460a6bebbfe927dfd75706b80d
@@ -2045,9 +2045,9 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 74d14900afd10d0284981f648047e781c7a468bc6b292aa3bb6678fbd19fbd4d
-Q +6f6a0fd63b13cb827d6a402de01a701eb5b3f92954032ea80e78ec864861a26c
-R dbdfa4ae68669b3e7000e12b952e73a3
+P 44c76f001af0d4e48b3e3a8d6a5bc1dedec5afee82d4d3a37562a330a79cc052
+Q +221fdcec964f8317b2c23e926cc23799615cd3b4239a8a9ff87a83588d05bc64
+R bd3db02ba21acb1cbc091ad4a1a1c885
 U drh
-Z 20b3c6fae12ce7f143e01e38c4dd6624
+Z a7ed5b2895ab0c71f3df263f01aabca7
 # Remove this line to create a well-formed Fossil manifest.
index 3b90747ffc23c56a3ef5bc8acb9fc9827a303216..5d835bcfebe4e74478c4fd0f9c44a21dbd573318 100644 (file)
@@ -1 +1 @@
-44c76f001af0d4e48b3e3a8d6a5bc1dedec5afee82d4d3a37562a330a79cc052
\ No newline at end of file
+fc8ec188d943245ce10595aecf4095d3077f5fbafdeef7de8183afe9ad26eaf7
\ No newline at end of file
index 448c9557637ada065739cbc60c303af3f6972561..f41d5d4ae397ce4855032ced4e7bd114dd9e1f23 100644 (file)
@@ -6226,7 +6226,7 @@ WhereInfo *sqlite3WhereBegin(
         assert( n<=pTab->nCol );
       }
 #ifdef SQLITE_ENABLE_CURSOR_HINTS
-      if( pLoop->u.btree.pIndex!=0 ){
+      if( pLoop->u.btree.pIndex!=0 && (pTab->tabFlags & TF_WithoutRowid)==0 ){
         sqlite3VdbeChangeP5(v, OPFLAG_SEEKEQ|bFordelete);
       }else
 #endif
index a3397b867328a1eb1e77408eb56272f09d6405ac..16e26fecd4718019bd7eee053ac897779b3bcb25 100644 (file)
@@ -159,4 +159,13 @@ do_test 4.6desc {
   }
 } {AND(AND(EQ(c0,22),GE(c1,10)),LE(c1,20))}
 
+# 2023-03-24 https://sqlite.org/forum/forumpost/591006b1cc
+#
+reset_db
+do_execsql_test 5.0 {
+  CREATE TABLE t1(x TEXT PRIMARY KEY) WITHOUT ROWID;
+  CREATE VIEW t2 AS SELECT 0 FROM t1 WHERE x>='a' OR x='1';
+  SELECT * FROM t2 RIGHT JOIN t1 ON true;
+}
+
 finish_test