diff options
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/resolve.c b/src/resolve.c index 3961a2009..bbd1021e0 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -1358,11 +1358,16 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ return WRC_Prune; } #ifndef SQLITE_OMIT_SUBQUERY + case TK_EXISTS: + assert( ExprUseXSelect(pExpr) ); + pParse->bHasExists = 1; + /* no break */ deliberate_fall_through case TK_SELECT: - case TK_EXISTS: testcase( pExpr->op==TK_EXISTS ); #endif case TK_IN: { testcase( pExpr->op==TK_IN ); + testcase( pExpr->op==TK_EXISTS ); + testcase( pExpr->op==TK_SELECT ); if( ExprUseXSelect(pExpr) ){ int nRef = pNC->nRef; testcase( pNC->ncFlags & NC_IsCheck ); |