Do not set the P3 parameter on OP_RowCell when copying an index btree, as
P3 is not used in that case. FossilOrigin-Name: eef070a4aadf02a845d0ed00767be049d3b76e811e24797a116776fa836d1b03
This commit is contained in:
+1
-1
@@ -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;
|
||||
|
||||
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user