1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-08 03:22:21 +03:00

Modify OP_VUpdate to read arguments from a range of memory cells instead of from the stack. (CVS 4668)

FossilOrigin-Name: 955b15a020e9ea6401fe03a36f5139a03ea80b8a
This commit is contained in:
danielk1977
2008-01-03 17:31:44 +00:00
parent 2dca4ac1d3
commit 2a339ff677
7 changed files with 56 additions and 34 deletions

View File

@@ -12,7 +12,7 @@
** This file contains C code routines that are called by the parser
** to handle UPDATE statements.
**
** $Id: update.c,v 1.152 2008/01/03 09:51:55 danielk1977 Exp $
** $Id: update.c,v 1.153 2008/01/03 17:31:45 danielk1977 Exp $
*/
#include "sqliteInt.h"
@@ -647,8 +647,10 @@ static void updateVirtualTable(
sqlite3VdbeAddOp2(v, OP_Column, ephemTab, i+1+(pRowid!=0));
}
pParse->pVirtualLock = pTab;
sqlite3VdbeAddOp4(v, OP_VUpdate, 0, pTab->nCol+2, 0,
(const char*)pTab->pVtab, P4_VTAB);
sqlite3VdbeAddOp4(v, OP_VUpdate, 0, pTab->nCol+2,
sqlite3StackToReg(pParse, pTab->nCol+2),
(const char*)pTab->pVtab, P4_VTAB
);
sqlite3VdbeAddOp2(v, OP_Next, ephemTab, addr);
sqlite3VdbeJumpHere(v, addr-1);
sqlite3VdbeAddOp2(v, OP_Close, ephemTab, 0);