]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Do not set the P3 parameter on OP_RowCell when copying an index btree, as
authordrh <drh@noemail.net>
Tue, 29 Dec 2020 15:06:26 +0000 (15:06 +0000)
committerdrh <drh@noemail.net>
Tue, 29 Dec 2020 15:06:26 +0000 (15:06 +0000)
P3 is not used in that case.

FossilOrigin-Name: eef070a4aadf02a845d0ed00767be049d3b76e811e24797a116776fa836d1b03

manifest
manifest.uuid
src/insert.c
src/vdbe.c

index 28ec51ccf2a7734c82a9e866d478cd6960025ad3..8a1fc0f31ff325bd2c362a2b505ec5f45ad4960a 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\smissing\scomma\sin\sctime.c\sthat\swould\scause\sthe\sENABLE_MATH_FUNCTIONS\noutput\srw\sto\smerge\swith\swhatever\srow\sfollowed.\s\sProblem\sreported\sin\n[forum:/forumpost/aacac97680|forum\spost\saacac97680].
-D 2020-12-28T21:42:38.075
+C Do\snot\sset\sthe\sP3\sparameter\son\sOP_RowCell\swhen\scopying\san\sindex\sbtree,\sas\nP3\sis\snot\sused\sin\sthat\scase.
+D 2020-12-29T15:06:26.440
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -501,7 +501,7 @@ F src/hash.c 8d7dda241d0ebdafb6ffdeda3149a412d7df75102cecfc1021c98d6219823b19
 F src/hash.h 9d56a9079d523b648774c1784b74b89bd93fac7b365210157482e4319a468f38
 F src/hwtime.h cb1d7e3e1ed94b7aa6fde95ae2c2daccc3df826be26fc9ed7fd90d1750ae6144
 F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71
-F src/insert.c 74d8c23c9a94d0ebe46084e9b29c3c242485ccbad6c646f3829f73111d0758c2
+F src/insert.c 81b7ee72cd754b5d0018659d5593355f2d61b3d80f07f200167c4826846e907d
 F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
 F src/loadext.c 8c9c8cd2bd8eecdb06d9b6e89de7e9e65bae45cc8fc33609cc74023a5c296067
 F src/main.c 97e9f137354bc1f76dc9bb60a0a24f8c45cf73b33e80d3ee4c64155336fb820d
@@ -612,7 +612,7 @@ F src/upsert.c df8f1727d62b5987c4fd302cd4d7c0c84ae57cd65683c5a34a740dfe24039235
 F src/utf.c ee39565f0843775cc2c81135751ddd93eceb91a673ea2c57f61c76f288b041a0
 F src/util.c c0c7977de7ef9b8cb10f6c85f2d0557889a658f817b0455909a49179ba4c8002
 F src/vacuum.c 492422c1463c076473bae1858799c7a0a5fe87a133d1223239447c422cd26286
-F src/vdbe.c 808c1503dd183578d7ebcf0e517e636c6005f783daadc9a27305b10597c1142e
+F src/vdbe.c 67de20067fa3a2ee8566342c751e941a2fe3fd88940fd9886ca5115f04165cce
 F src/vdbe.h 83603854bfa5851af601fc0947671eb260f4363e62e960e8a994fb9bbcd2aaa1
 F src/vdbeInt.h 3ca5e9fd6e095a8b6cf6bc3587a46fc93499503b2fe48951e1034ba9e2ce2f6e
 F src/vdbeapi.c c5e7cb2ab89a24d7f723e87b508f21bfb1359a04db5277d8a99fd1e015c12eb9
@@ -1894,7 +1894,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 823f75c2e448b649cbe9e174be21524ae3f580beedced65701ad49a2dcc5ee19
-R 4cea6028a24f1360fba1c7d5e36beba8
+P 328bc4a01dd67096be49c8b5a656109ad2839a7959d1b00c02a96bfbcb44ec18
+R 781b48b7ecdc86b8a50d5d0b6180469c
 U drh
-Z 164f7b84f32a08eccc89b53be84f4226
+Z 7a280581b61c05a6f5da0fb16cf85e09
index 09aa60792cdd7270c285e9e8986f972c4ac800dd..7aff062ebd308e4a9c963121e7119e55da42cbbc 100644 (file)
@@ -1 +1 @@
-328bc4a01dd67096be49c8b5a656109ad2839a7959d1b00c02a96bfbcb44ec18
\ No newline at end of file
+eef070a4aadf02a845d0ed00767be049d3b76e811e24797a116776fa836d1b03
\ No newline at end of file
index bc8a7f5b25fbda2b9733a2b11c7da4c139a4a742..0e52ee7a0049c56ccda7cdb0853810589ab8e26f 100644 (file)
@@ -2991,7 +2991,7 @@ static int xferOptimization(
       if( i==pSrcIdx->nColumn ){
         idxInsFlags = OPFLAG_USESEEKRESULT|OPFLAG_PREFORMAT;
         sqlite3VdbeAddOp1(v, OP_SeekEnd, iDest);
-        sqlite3VdbeAddOp3(v, OP_RowCell, iDest, iSrc, regData);
+        sqlite3VdbeAddOp2(v, OP_RowCell, iDest, iSrc);
       }
     }else if( !HasRowid(pSrc) && pDestIdx->idxType==SQLITE_IDXTYPE_PRIMARYKEY ){
       idxInsFlags |= OPFLAG_NCHANGE;
index 904b5e2bc04dab18985be744baf3183b83d72ef0..8e107a8a567bb536245ae78b7fafbd96927061df 100644 (file)
@@ -5160,6 +5160,8 @@ case OP_RowCell: {
   VdbeCursor *pSrc;               /* Cursor to read from */
   i64 iKey;                       /* Rowid value to insert with */
   assert( pOp[1].opcode==OP_Insert || pOp[1].opcode==OP_IdxInsert );
+  assert( pOp[1].opcode==OP_Insert    || pOp->p3==0 );
+  assert( pOp[1].opcode==OP_IdxInsert || pOp->p3>0 );
   assert( pOp[1].p5 & OPFLAG_PREFORMAT );
   pDest = p->apCsr[pOp->p1];
   pSrc = p->apCsr[pOp->p2];