1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-11 01:42:22 +03:00

Have the OP_ReleaseReg opcode also invalidate the registers if P5 is non-zero.

FossilOrigin-Name: 937be22106f7e3f08712febd342d6cb81d129f2d5ab24ce80b3a5c3f9bbde54e
This commit is contained in:
drh
2020-01-02 17:46:02 +00:00
parent 9f3e6fadde
commit 3aef2fb1b4
7 changed files with 37 additions and 25 deletions

View File

@@ -1020,7 +1020,7 @@ void sqlite3Insert(
** goto C
** D: ...
*/
sqlite3VdbeReleaseRegisters(pParse, regData, pTab->nCol, 0);
sqlite3VdbeReleaseRegisters(pParse, regData, pTab->nCol, 0, 0);
addrInsTop = addrCont = sqlite3VdbeAddOp1(v, OP_Yield, dest.iSDParm);
VdbeCoverage(v);
if( ipkColumn>=0 ){
@@ -1976,7 +1976,7 @@ void sqlite3GenerateConstraintChecks(
sqlite3SetMakeRecordP5(v, pIdx->pTable);
}
#endif
sqlite3VdbeReleaseRegisters(pParse, regIdx, pIdx->nColumn, 0);
sqlite3VdbeReleaseRegisters(pParse, regIdx, pIdx->nColumn, 0, 0);
/* In an UPDATE operation, if this index is the PRIMARY KEY index
** of a WITHOUT ROWID table and there has been no change the