Lines Matching refs:pMaskSet
167641 static Bitmask exprSelectUsage(WhereMaskSet *pMaskSet, Select *pS){ argument
167645 mask |= sqlite3WhereExprListUsage(pMaskSet, pS->pEList);
167646 mask |= sqlite3WhereExprListUsage(pMaskSet, pS->pGroupBy);
167647 mask |= sqlite3WhereExprListUsage(pMaskSet, pS->pOrderBy);
167648 mask |= sqlite3WhereExprUsage(pMaskSet, pS->pWhere);
167649 mask |= sqlite3WhereExprUsage(pMaskSet, pS->pHaving);
167654 mask |= exprSelectUsage(pMaskSet, pSrc->a[i].u4.pSubq->pSelect);
167657 mask |= sqlite3WhereExprUsage(pMaskSet, pSrc->a[i].u3.pOn);
167660 mask |= sqlite3WhereExprListUsage(pMaskSet, pSrc->a[i].u1.pFuncArg);
167772 WhereMaskSet *pMaskSet; /* Set of table index masks */ local
167794 pMaskSet = &pWInfo->sMaskSet;
167798 pMaskSet->bVarSelect = 0;
167799 prereqLeft = sqlite3WhereExprUsage(pMaskSet, pExpr->pLeft);
167805 pTerm->prereqRight = exprSelectUsage(pMaskSet, pExpr->x.pSelect);
167807 pTerm->prereqRight = sqlite3WhereExprListUsage(pMaskSet, pExpr->x.pList);
167811 pTerm->prereqRight = sqlite3WhereExprUsage(pMaskSet, pExpr->pRight);
167816 prereqAll = sqlite3WhereExprUsageNN(pMaskSet, pExpr);
167821 if( pMaskSet->bVarSelect ) pTerm->wtFlags |= TERM_VARSELECT;
167824 if( prereqAll!=sqlite3WhereExprUsageNN(pMaskSet, pExpr) ){
167832 Bitmask x = sqlite3WhereGetMask(pMaskSet, pExpr->w.iJoin);
168181 prereqExpr = sqlite3WhereExprUsage(pMaskSet, pRight);
168182 prereqColumn = sqlite3WhereExprUsage(pMaskSet, pLeft);
168468 WhereMaskSet *pMaskSet, argument
168472 mask = (p->op==TK_IF_NULL_ROW) ? sqlite3WhereGetMask(pMaskSet, p->iTable) : 0;
168473 if( p->pLeft ) mask |= sqlite3WhereExprUsageNN(pMaskSet, p->pLeft);
168475 mask |= sqlite3WhereExprUsageNN(pMaskSet, p->pRight);
168478 if( ExprHasProperty(p, EP_VarSelect) ) pMaskSet->bVarSelect = 1;
168479 mask |= exprSelectUsage(pMaskSet, p->x.pSelect);
168481 mask |= sqlite3WhereExprListUsage(pMaskSet, p->x.pList);
168486 mask |= sqlite3WhereExprListUsage(pMaskSet, p->y.pWin->pPartition);
168487 mask |= sqlite3WhereExprListUsage(pMaskSet, p->y.pWin->pOrderBy);
168488 mask |= sqlite3WhereExprUsage(pMaskSet, p->y.pWin->pFilter);
168493 SQLITE_PRIVATE Bitmask sqlite3WhereExprUsageNN(WhereMaskSet *pMaskSet, Expr *p){ argument
168495 return sqlite3WhereGetMask(pMaskSet, p->iTable);
168500 return sqlite3WhereExprUsageFull(pMaskSet, p);
168502 SQLITE_PRIVATE Bitmask sqlite3WhereExprUsage(WhereMaskSet *pMaskSet, Expr *p){ argument
168503 return p ? sqlite3WhereExprUsageNN(pMaskSet,p) : 0;
168505 SQLITE_PRIVATE Bitmask sqlite3WhereExprListUsage(WhereMaskSet *pMaskSet, ExprList *pList){ argument
168510 mask |= sqlite3WhereExprUsage(pMaskSet, pList->a[i].pExpr);
168835 SQLITE_PRIVATE Bitmask sqlite3WhereGetMask(WhereMaskSet *pMaskSet, int iCursor){ argument
168837 assert( pMaskSet->n<=(int)sizeof(Bitmask)*8 );
168838 assert( pMaskSet->n>0 || pMaskSet->ix[0]<0 );
168840 if( pMaskSet->ix[0]==iCursor ){
168843 for(i=1; i<pMaskSet->n; i++){
168844 if( pMaskSet->ix[i]==iCursor ){
168883 static void createMask(WhereMaskSet *pMaskSet, int iCursor){ argument
168884 assert( pMaskSet->n < ArraySize(pMaskSet->ix) );
168885 pMaskSet->ix[pMaskSet->n++] = iCursor;
175435 WhereMaskSet *pMaskSet; /* The expression mask set */ local
175512 pMaskSet = &pWInfo->sMaskSet;
175513 pMaskSet->n = 0;
175514 pMaskSet->ix[0] = -99; /* Initialize ix[0] to a value that can never be
175563 createMask(pMaskSet, pTabList->a[ii].iCursor);
175570 Bitmask m = sqlite3WhereGetMask(pMaskSet, pTabList->a[ii].iCursor);