aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <>2024-05-08 17:42:13 +0000
committerdrh <>2024-05-08 17:42:13 +0000
commit788ade3487252c4de2da94a2b8f9ec7ebdd83c95 (patch)
treec821b9cd566a89f4d32ea6288d7bd69a35e781ec /src/expr.c
parent538ad6ce58c47e48f2c85abfcb31c968e615fc40 (diff)
downloadsqlite-788ade3487252c4de2da94a2b8f9ec7ebdd83c95.tar.gz
sqlite-788ade3487252c4de2da94a2b8f9ec7ebdd83c95.zip
Allow arbitrary expressions as the second argument to RAISE().
FossilOrigin-Name: 003e1c8c27824cb917b3869bdf9000f32ff0b6887a2aff8516712cfe865cf34d
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/expr.c b/src/expr.c
index a5272df7c..2157cf4ed 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -5306,15 +5306,14 @@ expr_code_doover:
}
assert( !ExprHasProperty(pExpr, EP_IntValue) );
if( pExpr->affExpr==OE_Ignore ){
- sqlite3VdbeAddOp4(
- v, OP_Halt, SQLITE_OK, OE_Ignore, 0, pExpr->u.zToken,0);
+ sqlite3VdbeAddOp2(v, OP_Halt, SQLITE_OK, OE_Ignore);
VdbeCoverage(v);
}else{
- sqlite3HaltConstraint(pParse,
+ r1 = sqlite3ExprCodeTemp(pParse, pExpr->pLeft, &regFree1);
+ sqlite3VdbeAddOp3(v, OP_Halt,
pParse->pTriggerTab ? SQLITE_CONSTRAINT_TRIGGER : SQLITE_ERROR,
- pExpr->affExpr, pExpr->u.zToken, 0, 0);
+ pExpr->affExpr, r1);
}
-
break;
}
#endif