summaryrefslogtreecommitdiff
path: root/ext/sqlite/libsqlite/src/trigger.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sqlite/libsqlite/src/trigger.c')
-rw-r--r--ext/sqlite/libsqlite/src/trigger.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/ext/sqlite/libsqlite/src/trigger.c b/ext/sqlite/libsqlite/src/trigger.c
index 97891b2cb9..82b679755a 100644
--- a/ext/sqlite/libsqlite/src/trigger.c
+++ b/ext/sqlite/libsqlite/src/trigger.c
@@ -83,6 +83,7 @@ void sqliteBeginTrigger(
}
zName = sqliteStrNDup(pName->z, pName->n);
+ sqliteDequote(zName);
if( sqliteHashFind(&(db->aDb[iDb].trigHash), zName,pName->n+1) ){
sqliteErrorMsg(pParse, "trigger %T already exists", pName);
goto trigger_cleanup;
@@ -450,14 +451,15 @@ void sqliteDropTriggerPtr(Parse *pParse, Trigger *pTrigger, int nested){
if( pTable!=0 && !nested && (v = sqliteGetVdbe(pParse))!=0 ){
int base;
static VdbeOp dropTrigger[] = {
- { OP_Rewind, 0, ADDR(8), 0},
+ { OP_Rewind, 0, ADDR(9), 0},
{ OP_String, 0, 0, 0}, /* 1 */
- { OP_MemStore, 1, 1, 0},
- { OP_MemLoad, 1, 0, 0}, /* 3 */
{ OP_Column, 0, 1, 0},
- { OP_Ne, 0, ADDR(7), 0},
+ { OP_Ne, 0, ADDR(8), 0},
+ { OP_String, 0, 0, "trigger"},
+ { OP_Column, 0, 0, 0},
+ { OP_Ne, 0, ADDR(8), 0},
{ OP_Delete, 0, 0, 0},
- { OP_Next, 0, ADDR(3), 0}, /* 7 */
+ { OP_Next, 0, ADDR(1), 0}, /* 8 */
};
sqliteBeginWriteOperation(pParse, 0, 0);