Lines Matching refs:pX
474 Expr *pX /* The IN expression to be reduced */ in removeUnindexableInClauseTerms() argument
478 pNew = sqlite3ExprDup(db, pX, 0); in removeUnindexableInClauseTerms()
493 if( pLoop->aLTerm[i]->pExpr==pX ){ in removeUnindexableInClauseTerms()
535 sqlite3TreeViewExpr(0, pX, 0); in removeUnindexableInClauseTerms()
567 Expr *pX = pTerm->pExpr; in codeEqualityTerm() local
573 if( pX->op==TK_EQ || pX->op==TK_IS ){ in codeEqualityTerm()
574 iReg = sqlite3ExprCodeTarget(pParse, pX->pRight, iTarget); in codeEqualityTerm()
575 }else if( pX->op==TK_ISNULL ){ in codeEqualityTerm()
596 assert( pX->op==TK_IN ); in codeEqualityTerm()
600 if( pLoop->aLTerm[i] && pLoop->aLTerm[i]->pExpr==pX ){ in codeEqualityTerm()
607 if( pLoop->aLTerm[i]->pExpr==pX ) nEq++; in codeEqualityTerm()
611 if( !ExprUseXSelect(pX) || pX->x.pSelect->pEList->nExpr==1 ){ in codeEqualityTerm()
612 eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, 0, &iTab); in codeEqualityTerm()
617 pX = removeUnindexableInClauseTerms(pParse, iEq, pLoop, pX); in codeEqualityTerm()
620 eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, aiMap,&iTab); in codeEqualityTerm()
623 sqlite3ExprDelete(db, pX); in codeEqualityTerm()
625 int n = sqlite3ExprVectorSize(pX->pLeft); in codeEqualityTerm()
627 eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, aiMap, &iTab); in codeEqualityTerm()
629 pX = pExpr; in codeEqualityTerm()
660 if( pLoop->aLTerm[i]->pExpr==pX ){ in codeEqualityTerm()
1583 Expr *pX; /* The expression that defines the start bound */ in sqlite3WhereCodeOneLoopStart() local
1602 pX = pStart->pExpr; in sqlite3WhereCodeOneLoopStart()
1603 assert( pX!=0 ); in sqlite3WhereCodeOneLoopStart()
1605 if( sqlite3ExprIsVector(pX->pRight) ){ in sqlite3WhereCodeOneLoopStart()
1607 codeExprOrVector(pParse, pX->pRight, r1, 1); in sqlite3WhereCodeOneLoopStart()
1608 testcase( pX->op==TK_GT ); in sqlite3WhereCodeOneLoopStart()
1609 testcase( pX->op==TK_GE ); in sqlite3WhereCodeOneLoopStart()
1610 testcase( pX->op==TK_LT ); in sqlite3WhereCodeOneLoopStart()
1611 testcase( pX->op==TK_LE ); in sqlite3WhereCodeOneLoopStart()
1612 op = aMoveOp[((pX->op - TK_GT - 1) & 0x3) | 0x1]; in sqlite3WhereCodeOneLoopStart()
1613 assert( pX->op!=TK_GT || op==OP_SeekGE ); in sqlite3WhereCodeOneLoopStart()
1614 assert( pX->op!=TK_GE || op==OP_SeekGE ); in sqlite3WhereCodeOneLoopStart()
1615 assert( pX->op!=TK_LT || op==OP_SeekLE ); in sqlite3WhereCodeOneLoopStart()
1616 assert( pX->op!=TK_LE || op==OP_SeekLE ); in sqlite3WhereCodeOneLoopStart()
1618 r1 = sqlite3ExprCodeTemp(pParse, pX->pRight, &rTemp); in sqlite3WhereCodeOneLoopStart()
1620 op = aMoveOp[(pX->op - TK_GT)]; in sqlite3WhereCodeOneLoopStart()
1624 VdbeCoverageIf(v, pX->op==TK_GT); in sqlite3WhereCodeOneLoopStart()
1625 VdbeCoverageIf(v, pX->op==TK_LE); in sqlite3WhereCodeOneLoopStart()
1626 VdbeCoverageIf(v, pX->op==TK_LT); in sqlite3WhereCodeOneLoopStart()
1627 VdbeCoverageIf(v, pX->op==TK_GE); in sqlite3WhereCodeOneLoopStart()
1635 Expr *pX; in sqlite3WhereCodeOneLoopStart() local
1636 pX = pEnd->pExpr; in sqlite3WhereCodeOneLoopStart()
1637 assert( pX!=0 ); in sqlite3WhereCodeOneLoopStart()
1642 codeExprOrVector(pParse, pX->pRight, memEndValue, 1); in sqlite3WhereCodeOneLoopStart()
1643 if( 0==sqlite3ExprIsVector(pX->pRight) in sqlite3WhereCodeOneLoopStart()
1644 && (pX->op==TK_LT || pX->op==TK_GT) in sqlite3WhereCodeOneLoopStart()
1650 if( 0==sqlite3ExprIsVector(pX->pRight) ){ in sqlite3WhereCodeOneLoopStart()