From: dan Date: Mon, 22 Jun 2026 11:02:28 +0000 (+0000) Subject: Add the BTREE_HINT_TABLECURSOR cursor-hint. This is not currently used by stock SQLite. X-Git-Url: http://git.ipfire.org/index.cgi?a=commitdiff_plain;h=HEAD;p=thirdparty%2Fsqlite.git Add the BTREE_HINT_TABLECURSOR cursor-hint. This is not currently used by stock SQLite. FossilOrigin-Name: 35b3ff4007fc1abd36233a6b3b75bb6a123edc062f36437247c3dfe779868b70 --- eb6eac655e8650627d47497e642b0c9a83e2dae4 diff --cc manifest index 681084b20f,8d04d6dbc6..6b6af0e084 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C Correct\stest\sfrom\s[96a48a15760a]\s-\sthat\sjournal\swas\sindeed\scorrupt,\sbut\snot\sin\sthe\sintended\smanner.\sAdd\sa\sverification\sthat\sthe\sbad\sjournal\sgets\sreplaced\safter\sa\swrite. - D 2026-06-21T11:38:05.728 -C After\sopening\sa\snon-covering\sindex\scursor,\spass\sthe\scorresponding\stable\scursor\sto\sthe\simplementation\svia\ssqlite3BtreeCursorHint(). -D 2026-06-16T18:06:46.153 ++C Add\sthe\sBTREE_HINT_TABLECURSOR\scursor-hint.\sThis\sis\snot\scurrently\sused\sby\sstock\sSQLite. ++D 2026-06-22T11:02:28.169 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea @@@ -677,10 -677,10 +677,10 @@@ F src/auth.c b5ece4e1edccad082c0332fa00 F src/backup.c 6ebe22ccbedfcb92423833992130e8d65824be4e6599c3a03f540ab38fc7d13c F src/bitvec.c e242d4496774dfc88fa278177dd23b607dce369ccafb3f61b41638eea2c9b399 F src/btmutex.c 30dada73a819a1ef5b7583786370dce1842e12e1ad941e4d05ac29695528daea - F src/btree.c c9b13797b0b68e0c057ec796976b1ab1e8b4e766d1a7c7f919b2d8a1d2193a80 - F src/btree.h e823c46d87f63d904d735a24b76146d19f51f04445ea561f71cc3382fd1307f0 - F src/btreeInt.h 9c0f9ea5c9b5f4dcaea18111d43efe95f2ac276cd86d770dce10fd99ccc93886 + F src/btree.c 515cf62220ceb483ba9a31ebb3d7565ea9d63ffc3d61bb974b2815fef393df0e -F src/btree.h 2886ff5e136ed6472edc77515896892e3f9105436f191d95320a15d967ac4889 ++F src/btree.h d19e634e0fafd63d13b198df3a6306317a88a0d3daef7af8686e24a014933837 + F src/btreeInt.h 4f512ad31083216b6789762d4c345b73367985d3b39421c9ba7c0902d09fb38b -F src/build.c 866e584cdf40fbc83f530af9fd4d0991582a6fdbd8a9911b7cdbbea5f26a4a9e +F src/build.c 09946336c3011c2ae2faccdf04e33336e1cd51fd836651be0cd7eb5814f7f6a0 F src/callback.c 3605bbf02bd7ed46c79cd48346db4a32fc51d67624400539c0532f4eead804ad F src/carray.c 3efe3982d5fb323334c29328a4e189ccaef6b95612a6084ad5fa124fd5db1179 F src/complete.c f216b970ce99c5a657556cf1f17e7ddd494515d3beb63df426bf59ff43bd3d9a @@@ -804,11 -804,11 +804,11 @@@ F src/upsert.c dd9f0fcccbfb4f20e1026a21 F src/utf.c 7267c3fb9e2467020507601af3354c2446c61f444387e094c779dccd5ca62165 F src/util.c 98cf12c8ba65623a76c1eb6e6afa98ff40107c9919bf79af42f4bfc70e654232 F src/vacuum.c d3d35d8ae893d419ade5fa196d761a83bddcbb62137a1a157ae751ef38b26e82 - F src/vdbe.c 39658ee12b9d6bf5fc546e1ede20b307d86d9e988ae709c9b461249a8312513d + F src/vdbe.c 6397694fa506aa1841dc8bb6a17c514aa602a4ad2515024fcd5880558c1ef57f F src/vdbe.h 70e862ac8a11b590f8c1eaac17a0078429d42bc4ea3f757a9af0f451dd966a71 F src/vdbeInt.h c31ba4dc8d280c2b1dc89c6fcee68f2555e3813ab34279552c20b964c0e338b1 -F src/vdbeapi.c 6cdcbe5c7afa754c998e73d2d5d2805556268362914b952811bdfb9c78a37cf1 -F src/vdbeaux.c bd3aaf77593a5590f617ce173e8677a21eca18522eadc1c4bc81b53f6d1c7e19 +F src/vdbeapi.c 15c55a4be8edc06055502e15f60f444c8fc5cb6134e38b8486742e89670d5e8f +F src/vdbeaux.c a052c43fcf342651f655e6771003c175d49b237a9473c3c4d79d44725f494dae F src/vdbeblob.c b3f0640db9642fbdc88bd6ebcc83d6009514cafc98f062f675f2c8d505d82692 F src/vdbemem.c 6e7ad67507c9a8e625b46256a9c003929331d6a27b99bbe139b8f0dab636e1f2 F src/vdbesort.c b69220f4ea9ffea5fdef34d968c60305444eea909252a81933b54c296d9cca70 @@@ -819,11 -819,11 +819,11 @@@ F src/vxworks.h 9d18819c5235b49c2340a8a F src/wal.c abfd99239725a258af4f733681b24dd7a9ee298babe389a36d29c197e2443ebf F src/wal.h ba252daaa94f889f4b2c17c027e823d9be47ce39da1d3799886bbd51f0490452 F src/walker.c d5006d6b005e4ea7302ad390957a8d41ed83faa177e412f89bc5600a7462a014 - F src/where.c 33e4a6558ee69f33d6a4e7069e3a40a55959d14e5653a9a83926e70305d471f3 + F src/where.c e76636ee3a58a3fc84e6a0362c69dd61234c24a77cfc9219b8db8cc2278ae5b7 F src/whereInt.h 8d94cb116c9e06205c3d5ac87af065fc044f8cf08bfdccd94b6ea1c1308e65da F src/wherecode.c bc39ccbe3648f01157038b16cc55bdbff128590972b7185521b5526dc2815765 -F src/whereexpr.c a1e22cf9f6cb59770d9652c757dcf1924078ad2d48a9da89e254be9327677465 -F src/window.c c0a38cd32473e8e8e7bc435039f914a36ca42465506dc491c65870c01ddac9fb +F src/whereexpr.c 00e778c829a6ac6bf2bb8899cd1e39ccc48670d665b5891e99632180a2768a15 +F src/window.c 0d7dacdf2e84c6ee8ff498d5cc881dd245fcb2f14f6c5976e97e112ce96e90dc F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2 F test/affinity2.test 4d7a34d328e58ca2a2d78fd76c27614a41ca7ddf4312ded9c68c04f430b3b47d F test/affinity3.test 9b7d1133e11d5edd7805573c4ab6f3ba73b0b74a1f280d5b130d4bf3506a93ff @@@ -1513,7 -1513,7 +1513,7 @@@ F test/pcache.test c8acbedd3b6fd0f9a7ca F test/pcache2.test 8a801d2b8e4b0ebb99701f026a67a9e84634c8aa24799a842c44003b93250da1 F test/pendingrace.test e99efc5ab3584da3dfc8cd6a0ec4e5a42214820574f5ea24ee93f1d84655f463 F test/percentile.test fd78896fa882fa4fbf693640097859721f3629926c2ccf804af5bcb7001fd35b --F test/permutations.test 99c5e11130387da85c216a839412b882a779596f3f2e0ecb7e0703c564182cdb ++F test/permutations.test bebee370ac995125bbc1b44e3781f7d329a99d341326cc77c1f8f87ff781c653 F test/pg_common.tcl 3b27542224db1e713ae387459b5d117c836a5f6e328846922993b6d2b7640d9f F test/pragma.test 7d07b7bb76e273215d6a20c4f83c3062cc28976c737ccb70a686025801e86c8f F test/pragma2.test e5d5c176360c321344249354c0c16aec46214c9f @@@ -2208,8 -2208,11 +2208,9 @@@ F tool/warnings-clang.sh bbf6a1e685e534 F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c - P bd6bbd0e84226c90d864c28ac4d6acd908c4f06bfe63dcfd6fa6b8d17105b338 - R 2de10755edf1cb1f73f8df94023358e4 - U stephan - Z ab5ef0b4ce9e85fe36d53f715231baac -P 3f3fb9b638f59ad982beafb7c117f24ddd3da612e62c862510805fa672ffae06 -R 237ea409b5f47403026e3eec6a17c3ca -T *branch * cursor-hint-tblcsr -T *sym-cursor-hint-tblcsr * -T -sym-trunk * ++P c9171221160f241b450d425f41bb53b42362dccfad4c3fdf64dd5c3562ed4096 d48c6d2dcd50128f35bba8931371e708d24b63f2ea7a5988af8864d18ef5d14e ++R ac3180d079383592c198cf1b45b910ff ++T +closed d48c6d2dcd50128f35bba8931371e708d24b63f2ea7a5988af8864d18ef5d14e + U dan -Z 8b75c7202ab01c7d8eacb5d6b04a0202 ++Z 136a44434452d883960fef6aa0671265 # Remove this line to create a well-formed Fossil manifest. diff --cc manifest.uuid index 0da7bdc61f,e5e445823a..1af266994a --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - c9171221160f241b450d425f41bb53b42362dccfad4c3fdf64dd5c3562ed4096 -d48c6d2dcd50128f35bba8931371e708d24b63f2ea7a5988af8864d18ef5d14e ++35b3ff4007fc1abd36233a6b3b75bb6a123edc062f36437247c3dfe779868b70 diff --cc src/btree.h index 96f4c4c607,5139dfad5d..6b2ff6e3fb --- a/src/btree.h +++ b/src/btree.h @@@ -182,6 -182,6 +182,12 @@@ int sqlite3BtreeNewDb(Btree *p) ** implementations with limits on what needs to be prefetched and thereby ** reduce network bandwidth. ** ++** BTREE_HINT_TABLECURSOR (arguments: BtCursor*) ++** ++** This hint is invoked on a non-covering index cursor soon after it ++** is opened. The only argument is a pointer to the table cursor used to ++** obtain non-covered fields from the database. ++** ** Note that BTREE_HINT_FLAGS with BTREE_BULKLOAD is the only hint used by ** standard SQLite. The other hints are provided for extensions that use ** the SQLite parser and code generator but substitute their own storage diff --cc test/permutations.test index 6acd9a2391,6acd9a2391..617d760871 --- a/test/permutations.test +++ b/test/permutations.test @@@ -142,7 -142,7 +142,7 @@@ set allquicktests [test_set $alltests - writecrash.test view3.test fts5dlidx.test fts5ac.test fts4merge3.test fts5prefix.test -- fts5bigtok2.test ++ fts5bigtok2.test fts5secure7.test sessionB.test }] if {[info exists ::env(QUICKTEST_INCLUDE)]} {