diff options
author | drh <> | 2021-05-24 11:35:16 +0000 |
---|---|---|
committer | drh <> | 2021-05-24 11:35:16 +0000 |
commit | bf7f3a005e1cf4573af2c74f3c3fdb721961ad4d (patch) | |
tree | a835bdd352ea9270031b794487c185dc12a9efd3 /src/expr.c | |
parent | 0542812726e199388fa06e8bdea8a75bb3688721 (diff) | |
download | sqlite-bf7f3a005e1cf4573af2c74f3c3fdb721961ad4d.tar.gz sqlite-bf7f3a005e1cf4573af2c74f3c3fdb721961ad4d.zip |
Fix the TreeView module so that it works with the TK_ERROR exprssion.
Also fix an assert() that was failing due to the recent TK_ERROR addition.
FossilOrigin-Name: dd56fbe0cfb0f7848190ce097b378321dd25ae509c7edf93682b091014824fc6
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/expr.c b/src/expr.c index 93da25ec4..fbfba759f 100644 --- a/src/expr.c +++ b/src/expr.c @@ -445,7 +445,7 @@ int sqlite3ExprVectorSize(Expr *pExpr){ ** been positioned. */ Expr *sqlite3VectorFieldSubexpr(Expr *pVector, int i){ - assert( i<sqlite3ExprVectorSize(pVector) ); + assert( i<sqlite3ExprVectorSize(pVector) || pVector->op==TK_ERROR ); if( sqlite3ExprIsVector(pVector) ){ assert( pVector->op2==0 || pVector->op==TK_REGISTER ); if( pVector->op==TK_SELECT || pVector->op2==TK_SELECT ){ @@ -3178,7 +3178,10 @@ int sqlite3CodeSubselect(Parse *pParse, Expr *pExpr){ } pSel->iLimit = 0; if( sqlite3Select(pParse, pSel, &dest) ){ - if( pParse->nErr ) pExpr->op = TK_ERROR; + if( pParse->nErr ){ + pExpr->op2 = pExpr->op; + pExpr->op = TK_ERROR; + } return 0; } pExpr->iTable = rReg = dest.iSDParm; |