aboutsummaryrefslogtreecommitdiff
path: root/src/insert.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2008-04-28 18:46:43 +0000
committerdrh <drh@noemail.net>2008-04-28 18:46:43 +0000
commit4f3dd1502e052b7dd3f1581aec32f294710a84d9 (patch)
treee4eb1c0c94156658870aeb25f039f66cee405a34 /src/insert.c
parent952856ad3a297443dfd175655f1988e275296ff5 (diff)
downloadsqlite-4f3dd1502e052b7dd3f1581aec32f294710a84d9.tar.gz
sqlite-4f3dd1502e052b7dd3f1581aec32f294710a84d9.zip
Make sure that transactions are started on all virtual tables that
changes in a single statement, not just the first. Ticket #3083. Need to add test cases. (CVS 5063) FossilOrigin-Name: 133b7ee50ea6012739ebe0e334374c5d9b1fcc7f
Diffstat (limited to 'src/insert.c')
-rw-r--r--src/insert.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/insert.c b/src/insert.c
index 5a97a8a18..2640763a6 100644
--- a/src/insert.c
+++ b/src/insert.c
@@ -12,7 +12,7 @@
** This file contains C code routines that are called by the parser
** to handle INSERT statements in SQLite.
**
-** $Id: insert.c,v 1.237 2008/04/27 18:40:12 drh Exp $
+** $Id: insert.c,v 1.238 2008/04/28 18:46:43 drh Exp $
*/
#include "sqliteInt.h"
@@ -846,7 +846,7 @@ void sqlite3Insert(
*/
#ifndef SQLITE_OMIT_VIRTUALTABLE
if( IsVirtual(pTab) ){
- pParse->pVirtualLock = pTab;
+ sqlite3VtabMakeWritable(pParse, pTab);
sqlite3VdbeAddOp4(v, OP_VUpdate, 1, pTab->nCol+2, regIns,
(const char*)pTab->pVtab, P4_VTAB);
}else