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

Fix the column cache invalidation logic in the code for ROWID uniqueness

constraint checking in the INSERT command.  This fixes ticket
[c2432ef9089ee73bd].

FossilOrigin-Name: 0b485a571c805a5bc431a231a196ff6034342c6548d92b09c52814dd57c89c75
This commit is contained in:
drh
2018-06-11 18:06:48 +00:00
parent 299bf7c2f0
commit ea64715976
4 changed files with 23 additions and 8 deletions

View File

@@ -1533,6 +1533,7 @@ void sqlite3GenerateConstraintChecks(
sqlite3VdbeVerifyAbortable(v, onError);
sqlite3VdbeAddOp3(v, OP_NotExists, iDataCur, addrRowidOk, regNewData);
VdbeCoverage(v);
sqlite3ExprCachePush(pParse);
switch( onError ){
default: {
@@ -1609,6 +1610,7 @@ void sqlite3GenerateConstraintChecks(
break;
}
}
sqlite3ExprCachePop(pParse);
sqlite3VdbeResolveLabel(v, addrRowidOk);
if( sAddr.ipkTop ){
sAddr.ipkBtm = sqlite3VdbeAddOp0(v, OP_Goto);