aboutsummaryrefslogtreecommitdiff
path: root/src/trigger.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/trigger.c')
-rw-r--r--src/trigger.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/trigger.c b/src/trigger.c
index 96e9b2958..54129dd7d 100644
--- a/src/trigger.c
+++ b/src/trigger.c
@@ -237,10 +237,14 @@ void sqlite3FinishTrigger(
{ OP_String8, 0, 0, 0 }, /* 6: SQL */
{ OP_Concat, 0, 0, 0 },
{ OP_MakeRecord, 5, 0, 0 }, /* 8: "aaada" */
+ { OP_MemStore, 0, 1, 0 }, /* 9: Store data */
+ { OP_MemStore, 0, 1, 0 }, /* 10: Store key */
{ OP_Insert, 0, 0, 0 },
};
int addr;
Vdbe *v;
+ int iKey = pParse->nMem++;
+ int iData = pParse->nMem++;
/* Make an entry in the sqlite_master table */
v = sqlite3GetVdbe(pParse);
@@ -254,6 +258,10 @@ void sqlite3FinishTrigger(
sqlite3VdbeChangeP4(v, addr+5, "CREATE TRIGGER ", P4_STATIC);
sqlite3VdbeChangeP4(v, addr+6, (char*)pAll->z, pAll->n);
sqlite3VdbeChangeP4(v, addr+8, "aaada", P4_STATIC);
+ sqlite3VdbeChangeP1(v, addr+9, iData);
+ sqlite3VdbeChangeP2(v, addr+11, iData);
+ sqlite3VdbeChangeP1(v, addr+10, iKey);
+ sqlite3VdbeChangeP3(v, addr+11, iKey);
sqlite3ChangeCookie(db, v, iDb);
sqlite3VdbeAddOp2(v, OP_Close, 0, 0);
sqlite3VdbeAddOp4(v, OP_ParseSchema, iDb, 0, 0, sqlite3MPrintf(