Lines Matching refs:wsFlags
9999 ** Within the union, pIdx is only used when wsFlags&WHERE_INDEXED is true.
10000 ** pTerm is only used when wsFlags&WHERE_MULTI_OR is true. And pVtabIdx
10001 ** is only used when wsFlags&WHERE_VIRTUALTABLE is true. It is never the
10005 u32 wsFlags; /* WHERE_* flags that describe the strategy */
10040 union { /* Information that depends on plan.wsFlags */
10047 } in; /* Used when plan.wsFlags&WHERE_IN_ABLE */
95736 ** Value for wsFlags returned by bestIndex() and stored in
95737 ** WhereLevel.wsFlags. These flags determine which search
95741 ** The WhereLevel.wsFlags field is usually set to WO_IN|WO_EQ|WO_ISNULL.
95742 ** But if the table is the right table of a left join, WhereLevel.wsFlags
95743 ** is set to WO_IN|WO_EQ. The WhereLevel.wsFlags field can then be used as
97163 pCost->plan.wsFlags = flags;
97219 if( (pCost->plan.wsFlags & WHERE_NOT_FULLSCAN)!=0 ){
97247 pCost->plan.wsFlags = WHERE_TEMP_INDEX;
97337 pLevel->plan.wsFlags |= WHERE_COLUMN_EQ | WHERE_IDX_ONLY | WO_EQ;
97599 /* Make sure wsFlags is initialized to some sane value. Otherwise, if the
97601 ** wsFlags in an uninitialized state, the caller may behave unpredictably.
97604 pCost->plan.wsFlags = WHERE_VIRTUALTABLE;
97707 pCost->plan.wsFlags |= WHERE_ORDERBY;
98061 int wsFlags = 0;
98135 wsFlags |= (WHERE_COLUMN_EQ|WHERE_ROWID_EQ);
98138 wsFlags |= WHERE_COLUMN_IN;
98146 wsFlags |= WHERE_COLUMN_NULL;
98160 wsFlags |= WHERE_TOP_LIMIT;
98165 wsFlags |= WHERE_BTM_LIMIT;
98168 wsFlags |= (WHERE_COLUMN_RANGE|WHERE_ROWID_RANGE);
98171 testcase( wsFlags & WHERE_COLUMN_IN );
98172 testcase( wsFlags & WHERE_COLUMN_NULL );
98173 if( (wsFlags & (WHERE_COLUMN_IN|WHERE_COLUMN_NULL))==0 ){
98174 wsFlags |= WHERE_UNIQUE;
98180 ** in wsFlags. Otherwise, if there is an ORDER BY clause but the index
98183 if( (wsFlags & (WHERE_COLUMN_IN|WHERE_COLUMN_NULL))==0
98186 wsFlags |= WHERE_ROWID_RANGE|WHERE_COLUMN_RANGE|WHERE_ORDERBY;
98187 wsFlags |= (rev ? WHERE_REVERSE : 0);
98197 ** wsFlags. Otherwise, set the bLookup variable to true. */
98198 if( pIdx && wsFlags ){
98208 wsFlags |= WHERE_IDX_ONLY;
98307 "%s(%s): nEq=%d nInMul=%d estBound=%d bSort=%d bLookup=%d wsFlags=0x%x\n"
98310 nEq, nInMul, estBound, bSort, bLookup, wsFlags,
98317 if( (!pIdx || wsFlags)
98323 pCost->plan.wsFlags = (wsFlags&wsFlagMask);
98343 pCost->plan.wsFlags |= WHERE_REVERSE;
98346 assert( pOrderBy || (pCost->plan.wsFlags&WHERE_ORDERBY)==0 );
98347 assert( pCost->plan.u.pIdx==0 || (pCost->plan.wsFlags&WHERE_ROWID_EQ)==0 );
98354 ((pCost->plan.wsFlags & WHERE_NOT_FULLSCAN)==0 ? "none" :
98360 pCost->plan.wsFlags |= eqTermMask;
98512 assert( pLevel->plan.wsFlags & WHERE_IN_ABLE );
98597 assert( pLevel->plan.wsFlags & WHERE_INDEXED );
98617 pTerm = findTerm(pWC, iCur, k, notReady, pLevel->plan.wsFlags, pIdx);
98700 if( nEq==0 && (pPlan->wsFlags & (WHERE_BTM_LIMIT|WHERE_TOP_LIMIT))==0 ){
98711 if( pPlan->wsFlags&WHERE_BTM_LIMIT ){
98714 if( pPlan->wsFlags&WHERE_TOP_LIMIT ){
98736 u32 flags = pLevel->plan.wsFlags;
98838 bRev = (pLevel->plan.wsFlags & WHERE_REVERSE)!=0;
98839 omitTable = (pLevel->plan.wsFlags & WHERE_IDX_ONLY)!=0
98866 if( (pLevel->plan.wsFlags & WHERE_VIRTUALTABLE)!=0 ){
98909 if( pLevel->plan.wsFlags & WHERE_ROWID_EQ ){
98929 }else if( pLevel->plan.wsFlags & WHERE_ROWID_RANGE ){
99006 }else if( pLevel->plan.wsFlags & (WHERE_COLUMN_RANGE|WHERE_COLUMN_EQ) ){
99083 && (pLevel->plan.wsFlags&WHERE_ORDERBY)
99095 if( pLevel->plan.wsFlags & WHERE_TOP_LIMIT ){
99099 if( pLevel->plan.wsFlags & WHERE_BTM_LIMIT ){
99211 testcase( pLevel->plan.wsFlags & WHERE_BTM_LIMIT );
99212 testcase( pLevel->plan.wsFlags & WHERE_TOP_LIMIT );
99213 if( (pLevel->plan.wsFlags & (WHERE_BTM_LIMIT|WHERE_TOP_LIMIT))!=0 ){
99237 if( pLevel->plan.wsFlags & WHERE_MULTI_OR ){
99479 if( pWInfo->a[i].plan.wsFlags & WHERE_TEMP_INDEX ){
99718 ** pWInfo->a[].wsFlags WHERE_xxx flags associated with pIdx
99723 ** pWInfo->a[].pTerm When wsFlags==WO_OR, the OR-clause term
99829 || (sCost.plan.wsFlags & WHERE_NOT_FULLSCAN)==0
99832 if( isOptimal && (sCost.plan.wsFlags & WHERE_NOT_FULLSCAN)==0 ){
99858 || (sCost.plan.wsFlags & WHERE_NOT_FULLSCAN)!=0)
99860 || NEVER((sCost.plan.wsFlags & WHERE_NOT_FULLSCAN)!=0))
99879 if( (bestPlan.plan.wsFlags & WHERE_ORDERBY)!=0 ){
99882 andFlags &= bestPlan.plan.wsFlags;
99884 testcase( bestPlan.plan.wsFlags & WHERE_INDEXED );
99885 testcase( bestPlan.plan.wsFlags & WHERE_TEMP_INDEX );
99886 if( bestPlan.plan.wsFlags & (WHERE_INDEXED|WHERE_TEMP_INDEX) ){
99904 if( (bestPlan.plan.wsFlags
99935 pWInfo->a[0].plan.wsFlags &= ~WHERE_IDX_ONLY;
99957 if( (pLevel->plan.wsFlags & WHERE_VIRTUALTABLE)!=0 ){
99963 if( (pLevel->plan.wsFlags & WHERE_IDX_ONLY)==0
99981 if( (pLevel->plan.wsFlags & WHERE_TEMP_INDEX)!=0 ){
99985 if( (pLevel->plan.wsFlags & WHERE_INDEXED)!=0 ){
100029 if( pLevel->plan.wsFlags & WHERE_IDX_ONLY ){
100038 testcase( pLevel->plan.wsFlags & WHERE_ROWID_EQ );
100039 testcase( pLevel->plan.wsFlags & WHERE_ROWID_RANGE );
100040 if( pLevel->plan.wsFlags & (WHERE_ROWID_EQ|WHERE_ROWID_RANGE) ){
100043 }else if( (pLevel->plan.wsFlags & WHERE_INDEXED)!=0 ){
100098 if( pLevel->plan.wsFlags & WHERE_IN_ABLE && pLevel->u.in.nIn>0 ){
100113 assert( (pLevel->plan.wsFlags & WHERE_IDX_ONLY)==0
100114 || (pLevel->plan.wsFlags & WHERE_INDEXED)!=0 );
100115 if( (pLevel->plan.wsFlags & WHERE_IDX_ONLY)==0 ){
100146 int ws = pLevel->plan.wsFlags;
100168 if( (pLevel->plan.wsFlags & WHERE_INDEXED)!=0 && !db->mallocFailed){
100186 assert( (pLevel->plan.wsFlags & WHERE_IDX_ONLY)==0