diff options
author | drh <drh@noemail.net> | 2013-11-06 19:59:23 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2013-11-06 19:59:23 +0000 |
commit | 2ec2fb22691de00e3da209a77bfac13c446a9cd4 (patch) | |
tree | 830583df7f15ab65a14718994973e1113622f551 /src/delete.c | |
parent | 93889d9335b48edb943424331269b1d47a0c70ab (diff) | |
download | sqlite-2ec2fb22691de00e3da209a77bfac13c446a9cd4.tar.gz sqlite-2ec2fb22691de00e3da209a77bfac13c446a9cd4.zip |
Reference count the KeyInfo object. Cache a copy of an appropriate KeyInfo
for each index in the Index object, and reuse that one copy as much as possible.
FossilOrigin-Name: defd5205a7cc3543cdd18f906f568e943b8b3a2c
Diffstat (limited to 'src/delete.c')
-rw-r--r-- | src/delete.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/delete.c b/src/delete.c index 21bbb0281..a1b626ef4 100644 --- a/src/delete.c +++ b/src/delete.c @@ -382,9 +382,8 @@ void sqlite3DeleteFrom( iKey = ++pParse->nMem; iEph = pParse->nTab++; - sqlite3VdbeAddOp4(v, OP_OpenEphemeral, iEph, nPk, 0, - (char*)sqlite3IndexKeyinfo(pParse, pPk), - P4_KEYINFO_HANDOFF); + sqlite3VdbeAddOp2(v, OP_OpenEphemeral, iEph, nPk); + sqlite3VdbeSetP4KeyInfo(pParse, pPk); pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, 0, 0, 0, 0); if( pWInfo==0 ) goto delete_from_cleanup; for(i=0; i<nPk; i++){ |