mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-12 13:01:09 +03:00
Have the OP_ReleaseReg opcode also invalidate the registers if P5 is non-zero.
FossilOrigin-Name: 937be22106f7e3f08712febd342d6cb81d129f2d5ab24ce80b3a5c3f9bbde54e
This commit is contained in:
@@ -4140,7 +4140,7 @@ expr_code_doover:
|
||||
if( constMask==0 ){
|
||||
sqlite3ReleaseTempRange(pParse, r1, nFarg);
|
||||
}else{
|
||||
sqlite3VdbeReleaseRegisters(pParse, r1, nFarg, constMask);
|
||||
sqlite3VdbeReleaseRegisters(pParse, r1, nFarg, constMask, 1);
|
||||
}
|
||||
}
|
||||
return target;
|
||||
@@ -5799,7 +5799,7 @@ int sqlite3GetTempReg(Parse *pParse){
|
||||
*/
|
||||
void sqlite3ReleaseTempReg(Parse *pParse, int iReg){
|
||||
if( iReg ){
|
||||
sqlite3VdbeReleaseRegisters(pParse, iReg, 1, 0);
|
||||
sqlite3VdbeReleaseRegisters(pParse, iReg, 1, 0, 0);
|
||||
if( pParse->nTempReg<ArraySize(pParse->aTempReg) ){
|
||||
pParse->aTempReg[pParse->nTempReg++] = iReg;
|
||||
}
|
||||
@@ -5828,7 +5828,7 @@ void sqlite3ReleaseTempRange(Parse *pParse, int iReg, int nReg){
|
||||
sqlite3ReleaseTempReg(pParse, iReg);
|
||||
return;
|
||||
}
|
||||
sqlite3VdbeReleaseRegisters(pParse, iReg, nReg, 0);
|
||||
sqlite3VdbeReleaseRegisters(pParse, iReg, nReg, 0, 0);
|
||||
if( nReg>pParse->nRangeReg ){
|
||||
pParse->nRangeReg = nReg;
|
||||
pParse->iRangeReg = iReg;
|
||||
|
||||
Reference in New Issue
Block a user