diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/select.c | 2 | ||||
-rw-r--r-- | src/vdbe.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/src/select.c b/src/select.c index eabbcc8c9..efb6e4173 100644 --- a/src/select.c +++ b/src/select.c @@ -3213,6 +3213,8 @@ static Expr *substExpr( pExpr = pNew; } } + }else if( pExpr->op==TK_IF_NULL_ROW && pExpr->iTable==pSubst->iTable ){ + pExpr->iTable = pSubst->iNewTable; }else{ pExpr->pLeft = substExpr(pSubst, pExpr->pLeft); pExpr->pRight = substExpr(pSubst, pExpr->pRight); diff --git a/src/vdbe.c b/src/vdbe.c index 495cec219..61b2e4e9e 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -2441,6 +2441,7 @@ case OP_NotNull: { /* same as TK_NOTNULL, jump, in1 */ */ case OP_IfNullRow: { /* jump */ assert( pOp->p1>=0 && pOp->p1<p->nCursor ); + assert( p->apCsr[pOp->p1]!=0 ); if( p->apCsr[pOp->p1]->nullRow ){ sqlite3VdbeMemSetNull(aMem + pOp->p3); goto jump_to_p2; |