aboutsummaryrefslogtreecommitdiff
path: root/src/expr.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2017-05-25 00:08:48 +0000
committerdrh <drh@noemail.net>2017-05-25 00:08:48 +0000
commitf43ce0b4450965b62e24479db4f21b1917e6bc6d (patch)
tree7969c44db10ad8b4f2de0df156b54a5400ff9110 /src/expr.c
parent831265f96291a195281c088947d550a5a9a54c79 (diff)
downloadsqlite-f43ce0b4450965b62e24479db4f21b1917e6bc6d.tar.gz
sqlite-f43ce0b4450965b62e24479db4f21b1917e6bc6d.zip
The TK_IF_NULL_ROW expression node must be treated as a variable that
references the table Expr.iTable. Proposed fix for ticket [7fde638e94287d2c]. FossilOrigin-Name: 77fc23013cebc7797985864b91d78db5d0e2469511732044ebfaf02b891c979a
Diffstat (limited to 'src/expr.c')
-rw-r--r--src/expr.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/expr.c b/src/expr.c
index 8fc727fcd..201dedcc8 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -1740,10 +1740,12 @@ static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){
testcase( pExpr->op==TK_AGG_COLUMN );
if( pWalker->eCode==3 && pExpr->iTable==pWalker->u.iCur ){
return WRC_Continue;
- }else{
- pWalker->eCode = 0;
- return WRC_Abort;
}
+ /* Fall through */
+ case TK_IF_NULL_ROW:
+ testcase( pExpr->op==TK_IF_NULL_ROW );
+ pWalker->eCode = 0;
+ return WRC_Abort;
case TK_VARIABLE:
if( pWalker->eCode==5 ){
/* Silently convert bound parameters that appear inside of CREATE