aboutsummaryrefslogtreecommitdiff
path: root/src/insert.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2015-09-14 14:45:50 +0000
committerdrh <drh@noemail.net>2015-09-14 14:45:50 +0000
commitb0264eeca104038cc8d99270be0d38ab159e21a0 (patch)
treee92fffecb5737f7ad8664f25479ee5b5ee76c8f8 /src/insert.c
parent66336f3755fa6f37212b6cb3218c61d44945ea78 (diff)
downloadsqlite-b0264eeca104038cc8d99270be0d38ab159e21a0.tar.gz
sqlite-b0264eeca104038cc8d99270be0d38ab159e21a0.zip
Use symbolic names ONEPASS_OFF, ONEPASS_SINGLE, and ONEPASS_MULTI for the
various modes of the one-pass optimization. FossilOrigin-Name: 16e56bdadef903c6439a487f2683388aeeb0c625
Diffstat (limited to 'src/insert.c')
-rw-r--r--src/insert.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/insert.c b/src/insert.c
index 21e1a2577..613277835 100644
--- a/src/insert.c
+++ b/src/insert.c
@@ -1347,7 +1347,8 @@ void sqlite3GenerateConstraintChecks(
if( pTrigger || sqlite3FkRequired(pParse, pTab, 0, 0) ){
sqlite3MultiWrite(pParse);
sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur,
- regNewData, 1, 0, OE_Replace, 1, -1);
+ regNewData, 1, 0, OE_Replace,
+ ONEPASS_SINGLE, -1);
}else if( pTab->pIndex ){
sqlite3MultiWrite(pParse);
sqlite3GenerateRowIndexDelete(pParse, pTab, iDataCur, iIdxCur, 0, -1);
@@ -1528,7 +1529,8 @@ void sqlite3GenerateConstraintChecks(
pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0);
}
sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur,
- regR, nPkField, 0, OE_Replace, pIdx==pPk, -1);
+ regR, nPkField, 0, OE_Replace,
+ (pIdx==pPk ? ONEPASS_SINGLE : ONEPASS_OFF), -1);
seenReplace = 1;
break;
}