diff options
author | drh <drh@noemail.net> | 2015-09-14 14:45:50 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2015-09-14 14:45:50 +0000 |
commit | b0264eeca104038cc8d99270be0d38ab159e21a0 (patch) | |
tree | e92fffecb5737f7ad8664f25479ee5b5ee76c8f8 /src/insert.c | |
parent | 66336f3755fa6f37212b6cb3218c61d44945ea78 (diff) | |
download | sqlite-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.c | 6 |
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; } |