aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordan <dan@noemail.net>2017-04-20 17:35:46 +0000
committerdan <dan@noemail.net>2017-04-20 17:35:46 +0000
commitc42a0056d7817f629d78de5d285e2df189ceb10e (patch)
tree80269bfa40a3837a9b99fe062257f9779217df4a /src/expr.c
parentac33c0343f54bca37411b9f4b11115f7a583b241 (diff)
parentdc62daca866006c4afa4c32c405d1a327dc7334f (diff)
downloadsqlite-c42a0056d7817f629d78de5d285e2df189ceb10e.tar.gz
sqlite-c42a0056d7817f629d78de5d285e2df189ceb10e.zip
Merge latest trunk changes into this branch.
FossilOrigin-Name: b1533bc455f52f570c0f4b8aaa0da802757dc89b0e45b9a9b31aa591a44bf7bd
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/expr.c b/src/expr.c
index ad17c5f22..873911633 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -3889,6 +3889,17 @@ int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target){
break;
}
+ case TK_IF_NULL_ROW: {
+ int addrINR;
+ addrINR = sqlite3VdbeAddOp1(v, OP_IfNullRow, pExpr->iTable);
+ sqlite3ExprCachePush(pParse);
+ inReg = sqlite3ExprCodeTarget(pParse, pExpr->pLeft, target);
+ sqlite3ExprCachePop(pParse);
+ sqlite3VdbeJumpHere(v, addrINR);
+ sqlite3VdbeChangeP3(v, addrINR, inReg);
+ break;
+ }
+
/*
** Form A:
** CASE x WHEN e1 THEN r1 WHEN e2 THEN r2 ... WHEN eN THEN rN ELSE y END