From: dan Date: Mon, 26 Oct 2015 20:11:24 +0000 (+0000) Subject: Merge the BTREE_FORDELETE enhancement with this branch. X-Git-Tag: version-3.10.0~191^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c5dc3dcd6e78d05ac640b871f45c253fc1fe6381;p=thirdparty%2Fsqlite.git Merge the BTREE_FORDELETE enhancement with this branch. FossilOrigin-Name: 20da0849ce910ceb445954dfc5f985acf9a02695 --- c5dc3dcd6e78d05ac640b871f45c253fc1fe6381 diff --cc manifest index a66f2b7f81,173858da0a..289ffeb941 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C Merge\sin\sall\strunk\schanges\sprior\sto\sthe\sBTREE_FORDELETE\senhancement. - D 2015-10-26T18:51:09.614 -C Capture\sBTREE_FORDELETE\stest\scases\sthat\swere\smistakenly\somitted\sfrom\sthe\nprevious\smerge. -D 2015-10-26T18:01:36.030 ++C Merge\sthe\sBTREE_FORDELETE\senhancement\swith\sthis\sbranch. ++D 2015-10-26T20:11:24.886 F Makefile.in 2ea961bc09e441874eb3d1bf7398e04feb24f3ee F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 702d3e98f3afc6587a78481257f3c4c900efc3a4 @@@ -280,8 -280,8 +280,8 @@@ F src/auth.c b56c78ebe40a2110fd361379f7 F src/backup.c c3a9c4209439b806c44cf30daf466955727bf46c F src/bitvec.c d1f21d7d91690747881f03940584f4cc548c9d3d F src/btmutex.c 45a968cc85afed9b5e6cf55bf1f42f8d18107f79 - F src/btree.c 6e7cafdb9f245e0670c3478136a3c0c39ff5cf7b - F src/btree.h 9cc758f0f1e0002049d9eb0232f9783f21f25ac5 -F src/btree.c 9d684e19f84633323de7a767da2e2b8cf51fa600 -F src/btree.h cf936d962b3f4179948d53ea58f3580de9b2ed0c ++F src/btree.c 8022201b3008c9ff151cf56cf2c36a0db93689fd ++F src/btree.h 1957827f808875473750026cf60ca0c2b3676c98 F src/btreeInt.h 8177c9ab90d772d6d2c6c517e05bed774b7c92c0 F src/build.c d6162335d690396dfc5c4bd59e8b2b0c14ba6285 F src/callback.c 7b44ce59674338ad48b0e84e7b72f935ea4f68b0 @@@ -289,8 -289,8 +289,8 @@@ F src/complete.c addcd8160b081131005d5b F src/ctime.c 509ef9c64d1321f42448f111da86400b1799218a F src/date.c fb1c99172017dcc8e237339132c91a21a0788584 F src/dbstat.c e637e7a7ff40ef32132a418c6fdf1cfb63aa27c7 - F src/delete.c 35c939eb8bacc9dd8a6715964e5f69feb8c20e44 + F src/delete.c c4c6fb9da78b946fcba2a6aac5b24bc5c15e752a -F src/expr.c d9896fda47a8f67d0ed203e1fa981444424200c6 +F src/expr.c ea3e0c2981ffc7bd358714fa6d5132cb2cd5fc3a F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb F src/fkey.c 31900763094a3736a5fc887469202eb579fef2d0 F src/func.c ecdd69ec6a1e406f04cc73324be2ebbf6354197f @@@ -343,7 -343,7 +343,7 @@@ F src/shell.c d25df04168d6ba5a4fa05bdbf F src/sqlite.h.in 839c818e16ea68703d90d17bd2bb3607191debce F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad F src/sqlite3ext.h 4b66e3e3435da4b4c8c83696d0349f0c503b3924 - F src/sqliteInt.h af76837cad8fb696e6527ec2745f175de7cb9093 -F src/sqliteInt.h 835fce874a55144491d441f22c21a954bd17a1f3 ++F src/sqliteInt.h b1e72ffe282c91ae30a2bf403319126dbaebd556 F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46 F src/status.c 70912d7be68e9e2dbc4010c93d344af61d4c59ba F src/table.c 51b46b2a62d1b3a959633d593b89bab5e2c9155e @@@ -401,11 -401,11 +401,11 @@@ F src/update.c 40e51cd0883cb5bfd6abb7d8 F src/utf.c fc6b889ba0779b7722634cdeaa25f1930d93820c F src/util.c fc612367108b74573c5fd13a85d0a23027f438bd F src/vacuum.c 2ddd5cad2a7b9cef7f9e431b8c7771634c6b1701 - F src/vdbe.c 10d66354fec90acb5fc908ad36da404ef9796170 -F src/vdbe.c 3f22833a67dbee98f5b8d7acac0f5097ecc4dcb5 -F src/vdbe.h 4bc88bd0e06f8046ee6ab7487c0015e85ad949ad -F src/vdbeInt.h 777dd76d513347acb1a71d94df2be00516add637 ++F src/vdbe.c 1cdfa13e37dba217916112fffc639dee83406192 +F src/vdbe.h efb7a8c1459e31f3ea4377824c6a7e4cb5068637 +F src/vdbeInt.h 33403622c6a8feaaac5f0f3f17f5d1bf6df42286 F src/vdbeapi.c 020681b943e77766b32ae1cddf86d7831b7374ca -F src/vdbeaux.c 906bc74ea90707b57a23e4264727fff7b48d0cb5 +F src/vdbeaux.c 717bc2ae9cc0b58ef398fff44bd9164bfd96772a F src/vdbeblob.c 565fabd302f5fca3bdf3d56cac330483616a39b6 F src/vdbemem.c fdd1578e47bea61390d472de53c565781d81e045 F src/vdbesort.c 8b23930a1289526f6d2a3a9f2e965bcc963e4a68 @@@ -415,9 -415,9 +415,9 @@@ F src/vxworks.h c18586c8edc1bddbc15c004 F src/wal.c 18b0ed49830cf04fe2d68224b41838a73ac6cd24 F src/wal.h df01efe09c5cb8c8e391ff1715cca294f89668a4 F src/walker.c 2e14d17f592d176b6dc879c33fbdec4fbccaa2ba - F src/where.c 51cca249502ee71fb77b425687dac611277925b2 -F src/where.c 0a3badc48bb89b1d80ead96081e4a9aa85e65e95 ++F src/where.c 6aceb72cc58dc06922a9e1604d559c8ca4c3e728 F src/whereInt.h 7892bb54cf9ca0ae5c7e6094491b94c9286dc647 -F src/wherecode.c b924b78acd9e623fb69bfa2cb65cd7d542166dd3 +F src/wherecode.c 9aa2043685ec3eb73e87fa6f50aa4ec092f197dd F src/whereexpr.c e63244ca06c503e5f3c5b7f3c9aea0db826089ed F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2 F test/affinity2.test a6d901b436328bd67a79b41bb0ac2663918fe3bd @@@ -1392,7 -1392,8 +1393,7 @@@ F tool/vdbe_profile.tcl 246d0da094856d7 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f - P 26fa091d68e89a0b6af61ba706d23a9f37e8025a 138783b553602a055b3efdeac5947cf5ccd76b5d - R 4b723e99df9abf57da690efface1cef0 -P 871b1c78bcbea1cb03d482f2f424c4e012633695 7849662ef94fa48fe53177db5623f46b3cb401e8 -R 410be704ee6d7da9328468f968a33ccc -T +closed 7849662ef94fa48fe53177db5623f46b3cb401e8 --U drh - Z 936e93924f01554045ee6552abb7ef82 -Z 490c42bd7c47e077e17c4d7082be3a75 ++P 53d5a4add6b60722ad77daf98b6b8983b081e16a de6972515f65c5cf5da7cfdf876a05718299e9b8 ++R eb548650b5c16f458e4886ea4649dc57 ++U dan ++Z 682420f21bcc754cb8ec9b887c5ab3d8 diff --cc manifest.uuid index 13182502f3,e61d0eb32a..02251806a8 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 53d5a4add6b60722ad77daf98b6b8983b081e16a -de6972515f65c5cf5da7cfdf876a05718299e9b8 ++20da0849ce910ceb445954dfc5f985acf9a02695 diff --cc src/where.c index 365a376aa0,96c8a2f3e8..1c87706ea2 --- a/src/where.c +++ b/src/where.c @@@ -4314,9 -4319,6 +4318,14 @@@ WhereInfo *sqlite3WhereBegin SQLITE_INT_TO_PTR(n), P4_INT32); assert( n<=pTab->nCol ); } +#ifdef SQLITE_ENABLE_CURSOR_HINTS - if( pLoop->u.btree.pIndex!=0 ) sqlite3VdbeChangeP5(v, OPFLAG_SEEKEQ); ++ if( pLoop->u.btree.pIndex!=0 ){ ++ sqlite3VdbeChangeP5(v, OPFLAG_SEEKEQ|bFordelete); ++ }else +#endif ++ { ++ sqlite3VdbeChangeP5(v, bFordelete); ++ } #ifdef SQLITE_ENABLE_COLUMN_USED_MASK sqlite3VdbeAddOp4Dup8(v, OP_ColumnsUsed, pTabItem->iCursor, 0, 0, (const u8*)&pTabItem->colUsed, P4_INT64);