diff options
author | dan <dan@noemail.net> | 2017-04-20 17:35:46 +0000 |
---|---|---|
committer | dan <dan@noemail.net> | 2017-04-20 17:35:46 +0000 |
commit | c42a0056d7817f629d78de5d285e2df189ceb10e (patch) | |
tree | 80269bfa40a3837a9b99fe062257f9779217df4a /src/expr.c | |
parent | ac33c0343f54bca37411b9f4b11115f7a583b241 (diff) | |
parent | dc62daca866006c4afa4c32c405d1a327dc7334f (diff) | |
download | sqlite-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.c | 11 |
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 |