aboutsummaryrefslogtreecommitdiff
path: root/src/insert.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2017-01-04 20:13:51 +0000
committerdan <dan@noemail.net>2017-01-04 20:13:51 +0000
commit4e1f0efb4de9a6bb53b0979d9a5b700a77253277 (patch)
tree49e948d16c6dc7bb2a077771c3a2635750aa84ef /src/insert.c
parent87e1e56b5b4a748f55f16eae5f7ea7789e959516 (diff)
downloadsqlite-4e1f0efb4de9a6bb53b0979d9a5b700a77253277.tar.gz
sqlite-4e1f0efb4de9a6bb53b0979d9a5b700a77253277.zip
Possible fix for 30027b61. There may still be problems surrounding foreign key
processing. FossilOrigin-Name: 71ccb1f4c490fdebc7008e884384e7809b849742
Diffstat (limited to 'src/insert.c')
-rw-r--r--src/insert.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/insert.c b/src/insert.c
index 27e05d4de..2cc0457a9 100644
--- a/src/insert.c
+++ b/src/insert.c
@@ -1550,8 +1550,12 @@ void sqlite3GenerateConstraintChecks(
}
if( ix==0 && pPk==pIdx && onError==OE_Replace && pPk->pNext==0 ){
- sqlite3VdbeResolveLabel(v, addrUniqueOk);
- continue;
+ if( 0==(db->flags&SQLITE_RecTriggers)
+ || 0==sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0)
+ ){
+ sqlite3VdbeResolveLabel(v, addrUniqueOk);
+ continue;
+ }
}