diff options
author | drh <drh@noemail.net> | 2009-06-23 20:28:53 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2009-06-23 20:28:53 +0000 |
commit | 0b9f50d8aa4fb27d6f514efa9badc6b92045a862 (patch) | |
tree | 032eecb27e24be02f6919c89b6470474a6190407 /src/delete.c | |
parent | 1c3d2bf9cf3df965835cf8916b1331bcdac0705b (diff) | |
download | sqlite-0b9f50d8aa4fb27d6f514efa9badc6b92045a862.tar.gz sqlite-0b9f50d8aa4fb27d6f514efa9badc6b92045a862.zip |
Enhance autoincrement so that it works with triggers that also do
autoincrement inserts, even multiple inserts into the same table.
Ticket #3928 (CVS 6807)
FossilOrigin-Name: 1330993de8eae7baeec24100216158063c9bdc19
Diffstat (limited to 'src/delete.c')
-rw-r--r-- | src/delete.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/delete.c b/src/delete.c index 95ef3cef7..cbd8b375e 100644 --- a/src/delete.c +++ b/src/delete.c @@ -12,7 +12,7 @@ ** This file contains C code routines that are called by the parser ** in order to generate code for DELETE FROM statements. ** -** $Id: delete.c,v 1.203 2009/05/28 01:00:55 drh Exp $ +** $Id: delete.c,v 1.204 2009/06/23 20:28:54 drh Exp $ */ #include "sqliteInt.h" @@ -475,6 +475,14 @@ void sqlite3DeleteFrom( } } + /* Update the sqlite_sequence table by storing the content of the + ** maximum rowid counter values recorded while inserting into + ** autoincrement tables. + */ + if( pParse->nested==0 && pParse->trigStack==0 ){ + sqlite3AutoincrementEnd(pParse); + } + /* ** Return the number of rows that were deleted. If this routine is ** generating code because of a call to sqlite3NestedParse(), do not |