If an update does not modify any child or parent key columns, omit foreign key processing for the statement.
FossilOrigin-Name: edff3500058eb8ad2381f855ef7a09ecb680f7b8
diff --git a/src/insert.c b/src/insert.c
index d714074..94b741a 100644
--- a/src/insert.c
+++ b/src/insert.c
@@ -979,7 +979,7 @@
sqlite3GenerateConstraintChecks(pParse, pTab, baseCur, regIns, aRegIdx,
keyColumn>=0, 0, onError, endOfLoop, &isReplace
);
- sqlite3FkCheck(pParse, pTab, 0, 0, regIns);
+ sqlite3FkCheck(pParse, pTab, 0, regIns);
sqlite3CompleteInsertion(
pParse, pTab, baseCur, regIns, aRegIdx, 0, appendFlag, isReplace==0
);
@@ -1271,7 +1271,7 @@
pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0);
}
sqlite3MultiWrite(pParse);
- if( pTrigger || sqlite3FkRequired(pParse, pTab, 0) ){
+ if( pTrigger || sqlite3FkRequired(pParse, pTab, 0, 0) ){
sqlite3GenerateRowDelete(
pParse, pTab, baseCur, regRowid, 0, pTrigger, OE_Replace
);