aboutsummaryrefslogtreecommitdiff
path: root/src/build.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2009-09-14 23:47:24 +0000
committerdrh <drh@noemail.net>2009-09-14 23:47:24 +0000
commit3492dd71dd57d91d89b9571d80e22e563aff055d (patch)
tree1dac8fd466334f840b0d73a8eb0c05e44bec4ff2 /src/build.c
parent323eb204640f5b21af54fba89739c54c2cba9ed6 (diff)
downloadsqlite-3492dd71dd57d91d89b9571d80e22e563aff055d.tar.gz
sqlite-3492dd71dd57d91d89b9571d80e22e563aff055d.zip
Make sure sufficient space is allocated for at least one VDBE cursor when
autoincrement is used. Ticket [a696379c1f088]. FossilOrigin-Name: 2b2a1ef74e24857b8d18f6370894588fc2aa5ebb
Diffstat (limited to 'src/build.c')
-rw-r--r--src/build.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/build.c b/src/build.c
index f4f62ea82..c23d92fb9 100644
--- a/src/build.c
+++ b/src/build.c
@@ -196,6 +196,9 @@ void sqlite3FinishCoding(Parse *pParse){
sqlite3VdbeTrace(v, trace);
#endif
assert( pParse->iCacheLevel==0 ); /* Disables and re-enables match */
+ /* A minimum of one cursor is required if autoincrement is used
+ * See ticket [a696379c1f08866] */
+ if( pParse->pAinc!=0 && pParse->nTab==0 ) pParse->nTab = 1;
sqlite3VdbeMakeReady(v, pParse->nVar, pParse->nMem,
pParse->nTab, pParse->nMaxArg, pParse->explain,
pParse->isMultiWrite && pParse->mayAbort);