pWInfo           95810 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo;     /* Information about the WHERE clause */
pWInfo           95984 ext/sqlite3/libsqlite/sqlite3.c     pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, 0, 0, 
pWInfo           95987 ext/sqlite3/libsqlite/sqlite3.c     if( pWInfo==0 ) goto delete_from_cleanup;
pWInfo           95988 ext/sqlite3/libsqlite/sqlite3.c     okOnePass = sqlite3WhereOkOnePass(pWInfo, aiCurOnePass);
pWInfo           96016 ext/sqlite3/libsqlite/sqlite3.c         sqlite3WhereEnd(pWInfo);
pWInfo           96039 ext/sqlite3/libsqlite/sqlite3.c     sqlite3WhereEnd(pWInfo);
pWInfo           98778 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo;              /* Context used by sqlite3WhereXXX() */
pWInfo           98861 ext/sqlite3/libsqlite/sqlite3.c   pWInfo = sqlite3WhereBegin(pParse, pSrc, pWhere, 0, 0, 0, 0);
pWInfo           98863 ext/sqlite3/libsqlite/sqlite3.c   if( pWInfo ){
pWInfo           98864 ext/sqlite3/libsqlite/sqlite3.c     sqlite3WhereEnd(pWInfo);
pWInfo           111178 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo;     /* Return from sqlite3WhereBegin() */
pWInfo           111464 ext/sqlite3/libsqlite/sqlite3.c     pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, sSort.pOrderBy,
pWInfo           111466 ext/sqlite3/libsqlite/sqlite3.c     if( pWInfo==0 ) goto select_end;
pWInfo           111467 ext/sqlite3/libsqlite/sqlite3.c     if( sqlite3WhereOutputRowCount(pWInfo) < p->nSelectRow ){
pWInfo           111468 ext/sqlite3/libsqlite/sqlite3.c       p->nSelectRow = sqlite3WhereOutputRowCount(pWInfo);
pWInfo           111470 ext/sqlite3/libsqlite/sqlite3.c     if( sDistinct.isTnct && sqlite3WhereIsDistinct(pWInfo) ){
pWInfo           111471 ext/sqlite3/libsqlite/sqlite3.c       sDistinct.eTnctType = sqlite3WhereIsDistinct(pWInfo);
pWInfo           111474 ext/sqlite3/libsqlite/sqlite3.c       sSort.nOBSat = sqlite3WhereIsOrdered(pWInfo);
pWInfo           111490 ext/sqlite3/libsqlite/sqlite3.c                     sqlite3WhereContinueLabel(pWInfo),
pWInfo           111491 ext/sqlite3/libsqlite/sqlite3.c                     sqlite3WhereBreakLabel(pWInfo));
pWInfo           111495 ext/sqlite3/libsqlite/sqlite3.c     sqlite3WhereEnd(pWInfo);
pWInfo           111621 ext/sqlite3/libsqlite/sqlite3.c       pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, pGroupBy, 0,
pWInfo           111624 ext/sqlite3/libsqlite/sqlite3.c       if( pWInfo==0 ) goto select_end;
pWInfo           111625 ext/sqlite3/libsqlite/sqlite3.c       if( sqlite3WhereIsOrdered(pWInfo)==pGroupBy->nExpr ){
pWInfo           111679 ext/sqlite3/libsqlite/sqlite3.c         sqlite3WhereEnd(pWInfo);
pWInfo           111698 ext/sqlite3/libsqlite/sqlite3.c        && (groupBySort || sqlite3WhereIsSorted(pWInfo))
pWInfo           111758 ext/sqlite3/libsqlite/sqlite3.c         sqlite3WhereEnd(pWInfo);
pWInfo           111914 ext/sqlite3/libsqlite/sqlite3.c         pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, pMinMax,0,flag,0);
pWInfo           111915 ext/sqlite3/libsqlite/sqlite3.c         if( pWInfo==0 ){
pWInfo           111921 ext/sqlite3/libsqlite/sqlite3.c         if( sqlite3WhereIsOrdered(pWInfo)>0 ){
pWInfo           111922 ext/sqlite3/libsqlite/sqlite3.c           sqlite3VdbeAddOp2(v, OP_Goto, 0, sqlite3WhereBreakLabel(pWInfo));
pWInfo           111926 ext/sqlite3/libsqlite/sqlite3.c         sqlite3WhereEnd(pWInfo);
pWInfo           113497 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo;     /* Information about the WHERE clause */
pWInfo           113747 ext/sqlite3/libsqlite/sqlite3.c     pWInfo = sqlite3WhereBegin(
pWInfo           113750 ext/sqlite3/libsqlite/sqlite3.c     if( pWInfo==0 ) goto update_cleanup;
pWInfo           113751 ext/sqlite3/libsqlite/sqlite3.c     okOnePass = sqlite3WhereOkOnePass(pWInfo, aiCurOnePass);
pWInfo           113762 ext/sqlite3/libsqlite/sqlite3.c     sqlite3WhereEnd(pWInfo);
pWInfo           113777 ext/sqlite3/libsqlite/sqlite3.c     pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, 0, 0, 
pWInfo           113779 ext/sqlite3/libsqlite/sqlite3.c     if( pWInfo==0 ) goto update_cleanup;
pWInfo           113780 ext/sqlite3/libsqlite/sqlite3.c     okOnePass = sqlite3WhereOkOnePass(pWInfo, aiCurOnePass);
pWInfo           113794 ext/sqlite3/libsqlite/sqlite3.c     sqlite3WhereEnd(pWInfo);
pWInfo           116034 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo;       /* WHERE clause processing context */
pWInfo           116100 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo;        /* Information about this WHERE */
pWInfo           116199 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE u64 sqlite3WhereOutputRowCount(WhereInfo *pWInfo){
pWInfo           116200 ext/sqlite3/libsqlite/sqlite3.c   return sqlite3LogEstToInt(pWInfo->nRowOut);
pWInfo           116207 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3WhereIsDistinct(WhereInfo *pWInfo){
pWInfo           116208 ext/sqlite3/libsqlite/sqlite3.c   return pWInfo->eDistinct;
pWInfo           116215 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3WhereIsOrdered(WhereInfo *pWInfo){
pWInfo           116216 ext/sqlite3/libsqlite/sqlite3.c   return pWInfo->nOBSat;
pWInfo           116223 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3WhereContinueLabel(WhereInfo *pWInfo){
pWInfo           116224 ext/sqlite3/libsqlite/sqlite3.c   assert( pWInfo->iContinue!=0 );
pWInfo           116225 ext/sqlite3/libsqlite/sqlite3.c   return pWInfo->iContinue;
pWInfo           116232 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3WhereBreakLabel(WhereInfo *pWInfo){
pWInfo           116233 ext/sqlite3/libsqlite/sqlite3.c   return pWInfo->iBreak;
pWInfo           116251 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3WhereOkOnePass(WhereInfo *pWInfo, int *aiCur){
pWInfo           116252 ext/sqlite3/libsqlite/sqlite3.c   memcpy(aiCur, pWInfo->aiCurOnePass, sizeof(int)*2);
pWInfo           116253 ext/sqlite3/libsqlite/sqlite3.c   return pWInfo->okOnePass;
pWInfo           116309 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo        /* The WHERE processing context */
pWInfo           116311 ext/sqlite3/libsqlite/sqlite3.c   pWC->pWInfo = pWInfo;
pWInfo           116344 ext/sqlite3/libsqlite/sqlite3.c   sqlite3 *db = pWC->pWInfo->pParse->db;
pWInfo           116385 ext/sqlite3/libsqlite/sqlite3.c     sqlite3 *db = pWC->pWInfo->pParse->db;
pWInfo           116651 ext/sqlite3/libsqlite/sqlite3.c               Parse *pParse = pWC->pWInfo->pParse;
pWInfo           117012 ext/sqlite3/libsqlite/sqlite3.c   db = pWC->pWInfo->pParse->db;
pWInfo           117114 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo = pWC->pWInfo;        /* WHERE clause processing context */
pWInfo           117115 ext/sqlite3/libsqlite/sqlite3.c   Parse *pParse = pWInfo->pParse;         /* Parser context */
pWInfo           117137 ext/sqlite3/libsqlite/sqlite3.c   whereClauseInit(pOrWc, pWInfo);
pWInfo           117163 ext/sqlite3/libsqlite/sqlite3.c         whereClauseInit(pAndWC, pWC->pWInfo);
pWInfo           117172 ext/sqlite3/libsqlite/sqlite3.c               b |= getMask(&pWInfo->sMaskSet, pAndTerm->leftCursor);
pWInfo           117183 ext/sqlite3/libsqlite/sqlite3.c       b = getMask(&pWInfo->sMaskSet, pOrTerm->leftCursor);
pWInfo           117186 ext/sqlite3/libsqlite/sqlite3.c         b |= getMask(&pWInfo->sMaskSet, pOther->leftCursor);
pWInfo           117262 ext/sqlite3/libsqlite/sqlite3.c         if( (chngToIN & getMask(&pWInfo->sMaskSet, pOrTerm->leftCursor))==0 ){
pWInfo           117281 ext/sqlite3/libsqlite/sqlite3.c         assert( chngToIN==getMask(&pWInfo->sMaskSet, iCursor) );
pWInfo           117328 ext/sqlite3/libsqlite/sqlite3.c         pList = sqlite3ExprListAppend(pWInfo->pParse, pList, pDup);
pWInfo           117376 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo = pWC->pWInfo; /* WHERE clause processing context */
pWInfo           117387 ext/sqlite3/libsqlite/sqlite3.c   Parse *pParse = pWInfo->pParse;  /* Parsing context */
pWInfo           117394 ext/sqlite3/libsqlite/sqlite3.c   pMaskSet = &pWInfo->sMaskSet;
pWInfo           119407 ext/sqlite3/libsqlite/sqlite3.c             || pTerm->pWC->pWInfo->pParse->db->mallocFailed );
pWInfo           119418 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo,   /* Complete information about the WHERE clause */
pWInfo           119440 ext/sqlite3/libsqlite/sqlite3.c   pParse = pWInfo->pParse;
pWInfo           119442 ext/sqlite3/libsqlite/sqlite3.c   pWC = &pWInfo->sWC;
pWInfo           119444 ext/sqlite3/libsqlite/sqlite3.c   pLevel = &pWInfo->a[iLevel];
pWInfo           119446 ext/sqlite3/libsqlite/sqlite3.c   pTabItem = &pWInfo->pTabList->a[pLevel->iFrom];
pWInfo           119448 ext/sqlite3/libsqlite/sqlite3.c   pLevel->notReady = notReady & ~getMask(&pWInfo->sMaskSet, iCur);
pWInfo           119449 ext/sqlite3/libsqlite/sqlite3.c   bRev = (pWInfo->revMask>>iLevel)&1;
pWInfo           119451 ext/sqlite3/libsqlite/sqlite3.c            && (pWInfo->wctrlFlags & WHERE_FORCE_TABLE)==0;
pWInfo           119722 ext/sqlite3/libsqlite/sqlite3.c     assert( pWInfo->pOrderBy==0
pWInfo           119723 ext/sqlite3/libsqlite/sqlite3.c          || pWInfo->pOrderBy->nExpr==1
pWInfo           119724 ext/sqlite3/libsqlite/sqlite3.c          || (pWInfo->wctrlFlags&WHERE_ORDERBY_MIN)==0 );
pWInfo           119725 ext/sqlite3/libsqlite/sqlite3.c     if( (pWInfo->wctrlFlags&WHERE_ORDERBY_MIN)!=0
pWInfo           119726 ext/sqlite3/libsqlite/sqlite3.c      && pWInfo->nOBSat>0
pWInfo           119995 ext/sqlite3/libsqlite/sqlite3.c     if( pWInfo->nLevel>1 ){
pWInfo           119998 ext/sqlite3/libsqlite/sqlite3.c       nNotReady = pWInfo->nLevel - iLevel - 1;
pWInfo           120005 ext/sqlite3/libsqlite/sqlite3.c       origSrc = pWInfo->pTabList->a;
pWInfo           120010 ext/sqlite3/libsqlite/sqlite3.c       pOrTab = pWInfo->pTabList;
pWInfo           120025 ext/sqlite3/libsqlite/sqlite3.c     if( (pWInfo->wctrlFlags & WHERE_DUPLICATES_OK)==0 ){
pWInfo           120105 ext/sqlite3/libsqlite/sqlite3.c           if( (pWInfo->wctrlFlags & WHERE_DUPLICATES_OK)==0 ){
pWInfo           120204 ext/sqlite3/libsqlite/sqlite3.c     if( pWInfo->nLevel>1 ) sqlite3StackFree(db, pOrTab);
pWInfo           120244 ext/sqlite3/libsqlite/sqlite3.c       testcase( pWInfo->untestedTerms==0
pWInfo           120245 ext/sqlite3/libsqlite/sqlite3.c                && (pWInfo->wctrlFlags & WHERE_ONETABLE_ONLY)!=0 );
pWInfo           120246 ext/sqlite3/libsqlite/sqlite3.c       pWInfo->untestedTerms = 1;
pWInfo           120310 ext/sqlite3/libsqlite/sqlite3.c         assert( pWInfo->untestedTerms );
pWInfo           120348 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo = pWC->pWInfo;
pWInfo           120349 ext/sqlite3/libsqlite/sqlite3.c   int nb = 1+(pWInfo->pTabList->nSrc+7)/8;
pWInfo           120350 ext/sqlite3/libsqlite/sqlite3.c   struct SrcList_item *pItem = pWInfo->pTabList->a + p->iTab;
pWInfo           120477 ext/sqlite3/libsqlite/sqlite3.c static void whereInfoFree(sqlite3 *db, WhereInfo *pWInfo){
pWInfo           120478 ext/sqlite3/libsqlite/sqlite3.c   if( ALWAYS(pWInfo) ){
pWInfo           120480 ext/sqlite3/libsqlite/sqlite3.c     for(i=0; i<pWInfo->nLevel; i++){
pWInfo           120481 ext/sqlite3/libsqlite/sqlite3.c       WhereLevel *pLevel = &pWInfo->a[i];
pWInfo           120486 ext/sqlite3/libsqlite/sqlite3.c     whereClauseClear(&pWInfo->sWC);
pWInfo           120487 ext/sqlite3/libsqlite/sqlite3.c     while( pWInfo->pLoops ){
pWInfo           120488 ext/sqlite3/libsqlite/sqlite3.c       WhereLoop *p = pWInfo->pLoops;
pWInfo           120489 ext/sqlite3/libsqlite/sqlite3.c       pWInfo->pLoops = p->pNextLoop;
pWInfo           120492 ext/sqlite3/libsqlite/sqlite3.c     sqlite3DbFree(db, pWInfo);
pWInfo           120676 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo = pBuilder->pWInfo;
pWInfo           120677 ext/sqlite3/libsqlite/sqlite3.c   sqlite3 *db = pWInfo->pParse->db;
pWInfo           120700 ext/sqlite3/libsqlite/sqlite3.c   whereLoopAdjustCost(pWInfo->pLoops, pTemplate);
pWInfo           120701 ext/sqlite3/libsqlite/sqlite3.c   ppPrev = whereLoopFindLesser(&pWInfo->pLoops, pTemplate);
pWInfo           120870 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo = pBuilder->pWInfo;  /* WHERE analyse context */
pWInfo           120871 ext/sqlite3/libsqlite/sqlite3.c   Parse *pParse = pWInfo->pParse;        /* Parsing context */
pWInfo           121152 ext/sqlite3/libsqlite/sqlite3.c   if( (pOB = pBuilder->pWInfo->pOrderBy)==0 ) return 0;
pWInfo           121241 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo;          /* WHERE analysis context */
pWInfo           121258 ext/sqlite3/libsqlite/sqlite3.c   pWInfo = pBuilder->pWInfo;
pWInfo           121259 ext/sqlite3/libsqlite/sqlite3.c   pTabList = pWInfo->pTabList;
pWInfo           121300 ext/sqlite3/libsqlite/sqlite3.c    && (pWInfo->wctrlFlags & WHERE_NO_AUTOINDEX)==0
pWInfo           121301 ext/sqlite3/libsqlite/sqlite3.c    && (pWInfo->pParse->db->flags & SQLITE_AutoIndex)!=0
pWInfo           121366 ext/sqlite3/libsqlite/sqlite3.c     assert( (pWInfo->wctrlFlags & WHERE_ONEPASS_DESIRED)==0 || b==0 );
pWInfo           121396 ext/sqlite3/libsqlite/sqlite3.c          && (pWInfo->wctrlFlags & WHERE_ONEPASS_DESIRED)==0
pWInfo           121398 ext/sqlite3/libsqlite/sqlite3.c          && OptimizationEnabled(pWInfo->pParse->db, SQLITE_CoverIdxScan)
pWInfo           121442 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo;           /* WHERE analysis context */
pWInfo           121461 ext/sqlite3/libsqlite/sqlite3.c   pWInfo = pBuilder->pWInfo;
pWInfo           121462 ext/sqlite3/libsqlite/sqlite3.c   pParse = pWInfo->pParse;
pWInfo           121466 ext/sqlite3/libsqlite/sqlite3.c   pSrc = &pWInfo->pTabList->a[pNew->iTab];
pWInfo           121607 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo = pBuilder->pWInfo;
pWInfo           121622 ext/sqlite3/libsqlite/sqlite3.c   pItem = pWInfo->pTabList->a + pNew->iTab;
pWInfo           121644 ext/sqlite3/libsqlite/sqlite3.c           tempWC.pWInfo = pWC->pWInfo;
pWInfo           121728 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo = pBuilder->pWInfo;
pWInfo           121732 ext/sqlite3/libsqlite/sqlite3.c   SrcList *pTabList = pWInfo->pTabList;
pWInfo           121734 ext/sqlite3/libsqlite/sqlite3.c   sqlite3 *db = pWInfo->pParse->db;
pWInfo           121735 ext/sqlite3/libsqlite/sqlite3.c   int nTabList = pWInfo->nLevel;
pWInfo           121745 ext/sqlite3/libsqlite/sqlite3.c     pNew->maskSelf = getMask(&pWInfo->sMaskSet, pItem->iCursor);
pWInfo           121783 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo,    /* The WHERE clause */
pWInfo           121809 ext/sqlite3/libsqlite/sqlite3.c   sqlite3 *db = pWInfo->pParse->db;  /* Database connection */
pWInfo           121854 ext/sqlite3/libsqlite/sqlite3.c     iCur = pWInfo->pTabList->a[pLoop->iTab].iCursor;
pWInfo           121866 ext/sqlite3/libsqlite/sqlite3.c       pTerm = findTerm(&pWInfo->sWC, iCur, pOBExpr->iColumn,
pWInfo           121871 ext/sqlite3/libsqlite/sqlite3.c         pColl = sqlite3ExprCollSeq(pWInfo->pParse, pOrderBy->a[i].pExpr);
pWInfo           121874 ext/sqlite3/libsqlite/sqlite3.c         pColl = sqlite3ExprCollSeq(pWInfo->pParse, pTerm->pExpr);
pWInfo           121955 ext/sqlite3/libsqlite/sqlite3.c             pColl = sqlite3ExprCollSeq(pWInfo->pParse, pOrderBy->a[i].pExpr);
pWInfo           122002 ext/sqlite3/libsqlite/sqlite3.c         mTerm = exprTableUsage(&pWInfo->sMaskSet,p);
pWInfo           122045 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE int sqlite3WhereIsSorted(WhereInfo *pWInfo){
pWInfo           122046 ext/sqlite3/libsqlite/sqlite3.c   assert( pWInfo->wctrlFlags & WHERE_GROUPBY );
pWInfo           122047 ext/sqlite3/libsqlite/sqlite3.c   assert( pWInfo->wctrlFlags & WHERE_SORTBYGROUP );
pWInfo           122048 ext/sqlite3/libsqlite/sqlite3.c   return pWInfo->sorted;
pWInfo           122069 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo,
pWInfo           122095 ext/sqlite3/libsqlite/sqlite3.c   if( pWInfo->wctrlFlags & WHERE_WANT_DISTINCT ){
pWInfo           122114 ext/sqlite3/libsqlite/sqlite3.c static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){
pWInfo           122136 ext/sqlite3/libsqlite/sqlite3.c   pParse = pWInfo->pParse;
pWInfo           122138 ext/sqlite3/libsqlite/sqlite3.c   nLoop = pWInfo->nLevel;
pWInfo           122143 ext/sqlite3/libsqlite/sqlite3.c   assert( nLoop<=pWInfo->pTabList->nSrc );
pWInfo           122151 ext/sqlite3/libsqlite/sqlite3.c   if( pWInfo->pOrderBy==0 || nRowEst==0 ){
pWInfo           122154 ext/sqlite3/libsqlite/sqlite3.c     nOrderBy = pWInfo->pOrderBy->nExpr;
pWInfo           122206 ext/sqlite3/libsqlite/sqlite3.c       for(pWLoop=pWInfo->pLoops; pWLoop; pWLoop=pWLoop->pNextLoop){
pWInfo           122223 ext/sqlite3/libsqlite/sqlite3.c           isOrdered = wherePathSatisfiesOrderBy(pWInfo,
pWInfo           122224 ext/sqlite3/libsqlite/sqlite3.c                        pWInfo->pOrderBy, pFrom, pWInfo->wctrlFlags,
pWInfo           122232 ext/sqlite3/libsqlite/sqlite3.c                 pWInfo, nRowEst, nOrderBy, isOrdered
pWInfo           122394 ext/sqlite3/libsqlite/sqlite3.c   assert( pWInfo->nLevel==nLoop );
pWInfo           122397 ext/sqlite3/libsqlite/sqlite3.c     WhereLevel *pLevel = pWInfo->a + iLoop;
pWInfo           122400 ext/sqlite3/libsqlite/sqlite3.c     pLevel->iTabCur = pWInfo->pTabList->a[pLevel->iFrom].iCursor;
pWInfo           122402 ext/sqlite3/libsqlite/sqlite3.c   if( (pWInfo->wctrlFlags & WHERE_WANT_DISTINCT)!=0
pWInfo           122403 ext/sqlite3/libsqlite/sqlite3.c    && (pWInfo->wctrlFlags & WHERE_DISTINCTBY)==0
pWInfo           122404 ext/sqlite3/libsqlite/sqlite3.c    && pWInfo->eDistinct==WHERE_DISTINCT_NOOP
pWInfo           122408 ext/sqlite3/libsqlite/sqlite3.c     int rc = wherePathSatisfiesOrderBy(pWInfo, pWInfo->pResultSet, pFrom,
pWInfo           122410 ext/sqlite3/libsqlite/sqlite3.c     if( rc==pWInfo->pResultSet->nExpr ){
pWInfo           122411 ext/sqlite3/libsqlite/sqlite3.c       pWInfo->eDistinct = WHERE_DISTINCT_ORDERED;
pWInfo           122414 ext/sqlite3/libsqlite/sqlite3.c   if( pWInfo->pOrderBy ){
pWInfo           122415 ext/sqlite3/libsqlite/sqlite3.c     if( pWInfo->wctrlFlags & WHERE_DISTINCTBY ){
pWInfo           122416 ext/sqlite3/libsqlite/sqlite3.c       if( pFrom->isOrdered==pWInfo->pOrderBy->nExpr ){
pWInfo           122417 ext/sqlite3/libsqlite/sqlite3.c         pWInfo->eDistinct = WHERE_DISTINCT_ORDERED;
pWInfo           122420 ext/sqlite3/libsqlite/sqlite3.c       pWInfo->nOBSat = pFrom->isOrdered;
pWInfo           122421 ext/sqlite3/libsqlite/sqlite3.c       if( pWInfo->nOBSat<0 ) pWInfo->nOBSat = 0;
pWInfo           122422 ext/sqlite3/libsqlite/sqlite3.c       pWInfo->revMask = pFrom->revLoop;
pWInfo           122424 ext/sqlite3/libsqlite/sqlite3.c     if( (pWInfo->wctrlFlags & WHERE_SORTBYGROUP)
pWInfo           122425 ext/sqlite3/libsqlite/sqlite3.c         && pWInfo->nOBSat==pWInfo->pOrderBy->nExpr && nLoop>0
pWInfo           122428 ext/sqlite3/libsqlite/sqlite3.c       int nOrder = wherePathSatisfiesOrderBy(pWInfo, pWInfo->pOrderBy, 
pWInfo           122431 ext/sqlite3/libsqlite/sqlite3.c       assert( pWInfo->sorted==0 );
pWInfo           122432 ext/sqlite3/libsqlite/sqlite3.c       if( nOrder==pWInfo->pOrderBy->nExpr ){
pWInfo           122433 ext/sqlite3/libsqlite/sqlite3.c         pWInfo->sorted = 1;
pWInfo           122434 ext/sqlite3/libsqlite/sqlite3.c         pWInfo->revMask = revMask;
pWInfo           122440 ext/sqlite3/libsqlite/sqlite3.c   pWInfo->nRowOut = pFrom->nRow;
pWInfo           122459 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo;
pWInfo           122469 ext/sqlite3/libsqlite/sqlite3.c   pWInfo = pBuilder->pWInfo;
pWInfo           122470 ext/sqlite3/libsqlite/sqlite3.c   if( pWInfo->wctrlFlags & WHERE_FORCE_TABLE ) return 0;
pWInfo           122471 ext/sqlite3/libsqlite/sqlite3.c   assert( pWInfo->pTabList->nSrc>=1 );
pWInfo           122472 ext/sqlite3/libsqlite/sqlite3.c   pItem = pWInfo->pTabList->a;
pWInfo           122477 ext/sqlite3/libsqlite/sqlite3.c   pWC = &pWInfo->sWC;
pWInfo           122516 ext/sqlite3/libsqlite/sqlite3.c     pWInfo->a[0].pWLoop = pLoop;
pWInfo           122517 ext/sqlite3/libsqlite/sqlite3.c     pLoop->maskSelf = getMask(&pWInfo->sMaskSet, iCur);
pWInfo           122518 ext/sqlite3/libsqlite/sqlite3.c     pWInfo->a[0].iTabCur = iCur;
pWInfo           122519 ext/sqlite3/libsqlite/sqlite3.c     pWInfo->nRowOut = 1;
pWInfo           122520 ext/sqlite3/libsqlite/sqlite3.c     if( pWInfo->pOrderBy ) pWInfo->nOBSat =  pWInfo->pOrderBy->nExpr;
pWInfo           122521 ext/sqlite3/libsqlite/sqlite3.c     if( pWInfo->wctrlFlags & WHERE_WANT_DISTINCT ){
pWInfo           122522 ext/sqlite3/libsqlite/sqlite3.c       pWInfo->eDistinct = WHERE_DISTINCT_UNIQUE;
pWInfo           122631 ext/sqlite3/libsqlite/sqlite3.c   WhereInfo *pWInfo;         /* Will become the return value of this function */
pWInfo           122682 ext/sqlite3/libsqlite/sqlite3.c   pWInfo = sqlite3DbMallocZero(db, nByteWInfo + sizeof(WhereLoop));
pWInfo           122684 ext/sqlite3/libsqlite/sqlite3.c     sqlite3DbFree(db, pWInfo);
pWInfo           122685 ext/sqlite3/libsqlite/sqlite3.c     pWInfo = 0;
pWInfo           122688 ext/sqlite3/libsqlite/sqlite3.c   pWInfo->aiCurOnePass[0] = pWInfo->aiCurOnePass[1] = -1;
pWInfo           122689 ext/sqlite3/libsqlite/sqlite3.c   pWInfo->nLevel = nTabList;
pWInfo           122690 ext/sqlite3/libsqlite/sqlite3.c   pWInfo->pParse = pParse;
pWInfo           122691 ext/sqlite3/libsqlite/sqlite3.c   pWInfo->pTabList = pTabList;
pWInfo           122692 ext/sqlite3/libsqlite/sqlite3.c   pWInfo->pOrderBy = pOrderBy;
pWInfo           122693 ext/sqlite3/libsqlite/sqlite3.c   pWInfo->pResultSet = pResultSet;
pWInfo           122694 ext/sqlite3/libsqlite/sqlite3.c   pWInfo->iBreak = pWInfo->iContinue = sqlite3VdbeMakeLabel(v);
pWInfo           122695 ext/sqlite3/libsqlite/sqlite3.c   pWInfo->wctrlFlags = wctrlFlags;
pWInfo           122696 ext/sqlite3/libsqlite/sqlite3.c   pWInfo->savedNQueryLoop = pParse->nQueryLoop;
pWInfo           122697 ext/sqlite3/libsqlite/sqlite3.c   pMaskSet = &pWInfo->sMaskSet;
pWInfo           122698 ext/sqlite3/libsqlite/sqlite3.c   sWLB.pWInfo = pWInfo;
pWInfo           122699 ext/sqlite3/libsqlite/sqlite3.c   sWLB.pWC = &pWInfo->sWC;
pWInfo           122700 ext/sqlite3/libsqlite/sqlite3.c   sWLB.pNew = (WhereLoop*)(((char*)pWInfo)+nByteWInfo);
pWInfo           122711 ext/sqlite3/libsqlite/sqlite3.c   whereClauseInit(&pWInfo->sWC, pWInfo);
pWInfo           122712 ext/sqlite3/libsqlite/sqlite3.c   whereSplit(&pWInfo->sWC, pWhere, TK_AND);
pWInfo           122719 ext/sqlite3/libsqlite/sqlite3.c       sqlite3ExprIfFalse(pParse, sWLB.pWC->a[ii].pExpr, pWInfo->iBreak,
pWInfo           122728 ext/sqlite3/libsqlite/sqlite3.c     if( pOrderBy ) pWInfo->nOBSat = pOrderBy->nExpr;
pWInfo           122730 ext/sqlite3/libsqlite/sqlite3.c       pWInfo->eDistinct = WHERE_DISTINCT_UNIQUE;
pWInfo           122769 ext/sqlite3/libsqlite/sqlite3.c   exprAnalyzeAll(pTabList, &pWInfo->sWC);
pWInfo           122775 ext/sqlite3/libsqlite/sqlite3.c     if( isDistinctRedundant(pParse, pTabList, &pWInfo->sWC, pResultSet) ){
pWInfo           122777 ext/sqlite3/libsqlite/sqlite3.c       pWInfo->eDistinct = WHERE_DISTINCT_UNIQUE;
pWInfo           122780 ext/sqlite3/libsqlite/sqlite3.c       pWInfo->wctrlFlags |= WHERE_DISTINCTBY;
pWInfo           122781 ext/sqlite3/libsqlite/sqlite3.c       pWInfo->pOrderBy = pResultSet;
pWInfo           122808 ext/sqlite3/libsqlite/sqlite3.c       for(p=pWInfo->pLoops, i=0; p; p=p->pNextLoop, i++){
pWInfo           122815 ext/sqlite3/libsqlite/sqlite3.c     wherePathSolver(pWInfo, 0);
pWInfo           122817 ext/sqlite3/libsqlite/sqlite3.c     if( pWInfo->pOrderBy ){
pWInfo           122818 ext/sqlite3/libsqlite/sqlite3.c        wherePathSolver(pWInfo, pWInfo->nRowOut+1);
pWInfo           122822 ext/sqlite3/libsqlite/sqlite3.c   if( pWInfo->pOrderBy==0 && (db->flags & SQLITE_ReverseOrder)!=0 ){
pWInfo           122823 ext/sqlite3/libsqlite/sqlite3.c      pWInfo->revMask = (Bitmask)(-1);
pWInfo           122830 ext/sqlite3/libsqlite/sqlite3.c     sqlite3DebugPrintf("---- Solution nRow=%d", pWInfo->nRowOut);
pWInfo           122831 ext/sqlite3/libsqlite/sqlite3.c     if( pWInfo->nOBSat>0 ){
pWInfo           122832 ext/sqlite3/libsqlite/sqlite3.c       sqlite3DebugPrintf(" ORDERBY=%d,0x%llx", pWInfo->nOBSat, pWInfo->revMask);
pWInfo           122834 ext/sqlite3/libsqlite/sqlite3.c     switch( pWInfo->eDistinct ){
pWInfo           122849 ext/sqlite3/libsqlite/sqlite3.c     for(ii=0; ii<pWInfo->nLevel; ii++){
pWInfo           122850 ext/sqlite3/libsqlite/sqlite3.c       whereLoopPrint(pWInfo->a[ii].pWLoop, sWLB.pWC);
pWInfo           122855 ext/sqlite3/libsqlite/sqlite3.c   if( pWInfo->nLevel>=2
pWInfo           122861 ext/sqlite3/libsqlite/sqlite3.c     while( pWInfo->nLevel>=2 ){
pWInfo           122863 ext/sqlite3/libsqlite/sqlite3.c       pLoop = pWInfo->a[pWInfo->nLevel-1].pWLoop;
pWInfo           122864 ext/sqlite3/libsqlite/sqlite3.c       if( (pWInfo->pTabList->a[pLoop->iTab].jointype & JT_LEFT)==0 ) break;
pWInfo           122881 ext/sqlite3/libsqlite/sqlite3.c       pWInfo->nLevel--;
pWInfo           122886 ext/sqlite3/libsqlite/sqlite3.c   pWInfo->pParse->nQueryLoop += pWInfo->nRowOut;
pWInfo           122893 ext/sqlite3/libsqlite/sqlite3.c   assert( (wctrlFlags & WHERE_ONEPASS_DESIRED)==0 || pWInfo->nLevel==1 );
pWInfo           122895 ext/sqlite3/libsqlite/sqlite3.c    && (pWInfo->a[0].pWLoop->wsFlags & WHERE_ONEROW)!=0 ){
pWInfo           122896 ext/sqlite3/libsqlite/sqlite3.c     pWInfo->okOnePass = 1;
pWInfo           122898 ext/sqlite3/libsqlite/sqlite3.c       pWInfo->a[0].pWLoop->wsFlags &= ~WHERE_IDX_ONLY;
pWInfo           122906 ext/sqlite3/libsqlite/sqlite3.c   for(ii=0, pLevel=pWInfo->a; ii<nTabList; ii++, pLevel++){
pWInfo           122930 ext/sqlite3/libsqlite/sqlite3.c       if( pWInfo->okOnePass ){
pWInfo           122932 ext/sqlite3/libsqlite/sqlite3.c         pWInfo->aiCurOnePass[0] = pTabItem->iCursor;
pWInfo           122936 ext/sqlite3/libsqlite/sqlite3.c       testcase( !pWInfo->okOnePass && pTab->nCol==BMS-1 );
pWInfo           122937 ext/sqlite3/libsqlite/sqlite3.c       testcase( !pWInfo->okOnePass && pTab->nCol==BMS );
pWInfo           122938 ext/sqlite3/libsqlite/sqlite3.c       if( !pWInfo->okOnePass && pTab->nCol<BMS && HasRowid(pTab) ){
pWInfo           122954 ext/sqlite3/libsqlite/sqlite3.c       assert( iIdxCur!=0 || (pWInfo->wctrlFlags & WHERE_ONEPASS_DESIRED)==0 );
pWInfo           122962 ext/sqlite3/libsqlite/sqlite3.c       }else if( pWInfo->okOnePass ){
pWInfo           122971 ext/sqlite3/libsqlite/sqlite3.c         pWInfo->aiCurOnePass[1] = iIndexCur;
pWInfo           122986 ext/sqlite3/libsqlite/sqlite3.c          && (pWInfo->wctrlFlags&WHERE_ORDERBY_MIN)==0
pWInfo           122994 ext/sqlite3/libsqlite/sqlite3.c     notReady &= ~getMask(&pWInfo->sMaskSet, pTabItem->iCursor);
pWInfo           122996 ext/sqlite3/libsqlite/sqlite3.c   pWInfo->iTop = sqlite3VdbeCurrentAddr(v);
pWInfo           123007 ext/sqlite3/libsqlite/sqlite3.c     pLevel = &pWInfo->a[ii];
pWInfo           123011 ext/sqlite3/libsqlite/sqlite3.c       constructAutomaticIndex(pParse, &pWInfo->sWC,
pWInfo           123020 ext/sqlite3/libsqlite/sqlite3.c     notReady = codeOneLoopStart(pWInfo, ii, notReady);
pWInfo           123021 ext/sqlite3/libsqlite/sqlite3.c     pWInfo->iContinue = pLevel->addrCont;
pWInfo           123029 ext/sqlite3/libsqlite/sqlite3.c   return pWInfo;
pWInfo           123033 ext/sqlite3/libsqlite/sqlite3.c   if( pWInfo ){
pWInfo           123034 ext/sqlite3/libsqlite/sqlite3.c     pParse->nQueryLoop = pWInfo->savedNQueryLoop;
pWInfo           123035 ext/sqlite3/libsqlite/sqlite3.c     whereInfoFree(db, pWInfo);
pWInfo           123044 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){
pWInfo           123045 ext/sqlite3/libsqlite/sqlite3.c   Parse *pParse = pWInfo->pParse;
pWInfo           123050 ext/sqlite3/libsqlite/sqlite3.c   SrcList *pTabList = pWInfo->pTabList;
pWInfo           123057 ext/sqlite3/libsqlite/sqlite3.c   for(i=pWInfo->nLevel-1; i>=0; i--){
pWInfo           123059 ext/sqlite3/libsqlite/sqlite3.c     pLevel = &pWInfo->a[i];
pWInfo           123118 ext/sqlite3/libsqlite/sqlite3.c                      pWInfo->pTabList->a[pLevel->iFrom].pTab->zName));
pWInfo           123124 ext/sqlite3/libsqlite/sqlite3.c   sqlite3VdbeResolveLabel(v, pWInfo->iBreak);
pWInfo           123126 ext/sqlite3/libsqlite/sqlite3.c   assert( pWInfo->nLevel<=pTabList->nSrc );
pWInfo           123127 ext/sqlite3/libsqlite/sqlite3.c   for(i=0, pLevel=pWInfo->a; i<pWInfo->nLevel; i++, pLevel++){
pWInfo           123167 ext/sqlite3/libsqlite/sqlite3.c      && (pWInfo->wctrlFlags & WHERE_OMIT_OPEN_CLOSE)==0
pWInfo           123170 ext/sqlite3/libsqlite/sqlite3.c       if( !pWInfo->okOnePass && (ws & WHERE_IDX_ONLY)==0 ){
pWInfo           123175 ext/sqlite3/libsqlite/sqlite3.c        && pLevel->iIdxCur!=pWInfo->aiCurOnePass[1]
pWInfo           123226 ext/sqlite3/libsqlite/sqlite3.c   pParse->nQueryLoop = pWInfo->savedNQueryLoop;
pWInfo           123227 ext/sqlite3/libsqlite/sqlite3.c   whereInfoFree(db, pWInfo);