1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-18 10:21:03 +03:00

Fix a problem with row-value IN(...) operators and virtual tables.

FossilOrigin-Name: aa57d7abac0bb92d4d5fd4e093a11cf8efc04e4eed748b2a400d01f137250649
This commit is contained in:
dan
2019-10-14 15:15:50 +00:00
parent a0fe5fe54f
commit 2d82269ca8
5 changed files with 130 additions and 10 deletions

View File

@@ -1307,7 +1307,9 @@ Bitmask sqlite3WhereCodeOneLoopStart(
pTerm = pLoop->aLTerm[j];
if( j<16 && (pLoop->u.vtab.omitMask>>j)&1 ){
disableTerm(pLevel, pTerm);
}else if( (pTerm->eOperator & WO_IN)!=0 ){
}else if( (pTerm->eOperator & WO_IN)!=0 &&
sqlite3ExprVectorSize(pTerm->pExpr->pLeft)==1
){
Expr *pCompare; /* The comparison operator */
Expr *pRight; /* RHS of the comparison */
VdbeOp *pOp; /* Opcode to access the value of the IN constraint */