diff options
author | drh <drh@noemail.net> | 2014-02-08 01:40:27 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2014-02-08 01:40:27 +0000 |
commit | aceb31b1205c01e933619b05a5f11b0280e2faed (patch) | |
tree | 3503d2ab689ef8186eb3f12dbc6b829ca2b93dac /src/trigger.c | |
parent | 642364a48b21341a5b23ef9b0cc771cba4f2d7c2 (diff) | |
download | sqlite-aceb31b1205c01e933619b05a5f11b0280e2faed.tar.gz sqlite-aceb31b1205c01e933619b05a5f11b0280e2faed.zip |
Change the OP_Trace opcode to OP_Init and give it the ability to jump to the
initialization code at the bottom of the program, thus avoiding the need for
an extra OP_Goto.
FossilOrigin-Name: 192dea97316144f15f6dd0eabff08a0bf9ef203e
Diffstat (limited to 'src/trigger.c')
-rw-r--r-- | src/trigger.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/src/trigger.c b/src/trigger.c index fdc2a0388..cbc87abf4 100644 --- a/src/trigger.c +++ b/src/trigger.c @@ -726,15 +726,7 @@ static int codeTriggerProgram( ** INSERT OR IGNORE INTO t1 ... ; -- insert into t2 uses IGNORE policy */ pParse->eOrconf = (orconf==OE_Default)?pStep->orconf:(u8)orconf; - - /* Clear the cookieGoto flag. When coding triggers, the cookieGoto - ** variable is used as a flag to indicate to sqlite3ExprCodeConstants() - ** that it is not safe to refactor constants (this happens after the - ** start of the first loop in the SQL statement is coded - at that - ** point code may be conditionally executed, so it is no longer safe to - ** initialize constant register values). */ - assert( pParse->cookieGoto==0 || pParse->cookieGoto==-1 ); - pParse->cookieGoto = 0; + assert( pParse->okConstFactor==0 ); switch( pStep->op ){ case TK_UPDATE: { |