Lines Matching refs:pWInfo
81788 WhereInfo *pWInfo; /* Information about the WHERE clause */
81929 pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere,0,WHERE_DUPLICATES_OK);
81930 if( pWInfo==0 ) goto delete_from_cleanup;
81936 sqlite3WhereEnd(pWInfo);
84296 WhereInfo *pWInfo; /* Context used by sqlite3WhereXXX() */
84376 pWInfo = sqlite3WhereBegin(pParse, pSrc, pWhere, 0, 0);
84381 if( pWInfo ){
84382 sqlite3WhereEnd(pWInfo);
94181 WhereInfo *pWInfo; /* Return from sqlite3WhereBegin() */
94392 pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, &pOrderBy, 0);
94393 if( pWInfo==0 ) goto select_end;
94394 if( pWInfo->nRowOut < p->nSelectRow ) p->nSelectRow = pWInfo->nRowOut;
94409 pWInfo->iContinue, pWInfo->iBreak);
94413 sqlite3WhereEnd(pWInfo);
94518 pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, &pGroupBy, 0);
94519 if( pWInfo==0 ) goto select_end;
94575 sqlite3WhereEnd(pWInfo);
94632 sqlite3WhereEnd(pWInfo);
94780 pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, &pMinMax, flag);
94781 if( pWInfo==0 ){
94787 sqlite3VdbeAddOp2(v, OP_Goto, 0, pWInfo->iBreak);
94791 sqlite3WhereEnd(pWInfo);
96347 WhereInfo *pWInfo; /* Information about the WHERE clause */
96562 pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere,0, WHERE_ONEPASS_DESIRED);
96563 if( pWInfo==0 ) goto update_cleanup;
96564 okOnePass = pWInfo->okOnePass;
96576 sqlite3WhereEnd(pWInfo);
101922 WhereInfo *pWInfo, /* Complete information about the WHERE clause */
101943 pParse = pWInfo->pParse;
101945 pWC = pWInfo->pWC;
101946 pLevel = &pWInfo->a[iLevel];
101947 pTabItem = &pWInfo->pTabList->a[pLevel->iFrom];
102421 if( pWInfo->nLevel>1 ){
102424 nNotReady = pWInfo->nLevel - iLevel - 1;
102431 origSrc = pWInfo->pTabList->a;
102436 pOrTab = pWInfo->pTabList;
102495 if( pWInfo->nLevel>1 ) sqlite3StackFree(pParse->db, pOrTab);
102528 testcase( pWInfo->untestedTerms==0
102529 && (pWInfo->wctrlFlags & WHERE_ONETABLE_ONLY)!=0 );
102530 pWInfo->untestedTerms = 1;
102555 assert( pWInfo->untestedTerms );
102584 static void whereInfoFree(sqlite3 *db, WhereInfo *pWInfo){
102585 if( ALWAYS(pWInfo) ){
102587 for(i=0; i<pWInfo->nLevel; i++){
102588 sqlite3_index_info *pInfo = pWInfo->a[i].pIdxInfo;
102596 if( pWInfo->a[i].plan.wsFlags & WHERE_TEMP_INDEX ){
102597 Index *pIdx = pWInfo->a[i].plan.u.pIdx;
102604 whereClauseClear(pWInfo->pWC);
102605 sqlite3DbFree(db, pWInfo);
102708 WhereInfo *pWInfo; /* Will become the return value of this function */
102744 pWInfo = sqlite3DbMallocZero(db,
102750 sqlite3DbFree(db, pWInfo);
102751 pWInfo = 0;
102754 pWInfo->nLevel = nTabList;
102755 pWInfo->pParse = pParse;
102756 pWInfo->pTabList = pTabList;
102757 pWInfo->iBreak = sqlite3VdbeMakeLabel(v);
102758 pWInfo->pWC = pWC = (WhereClause *)&((u8 *)pWInfo)[nByteWInfo];
102759 pWInfo->wctrlFlags = wctrlFlags;
102760 pWInfo->savedNQueryLoop = pParse->nQueryLoop;
102775 sqlite3ExprIfFalse(pParse, pWhere, pWInfo->iBreak, SQLITE_JUMPIFNULL);
102848 for(i=iFrom=0, pLevel=pWInfo->a; i<nTabList; i++, pLevel++){
102930 sqlite3_index_info **pp = &pWInfo->a[j].pIdxInfo;
102994 bestJ, pLevel-pWInfo->a, bestPlan.rCost, bestPlan.plan.nRow));
103048 assert( (wctrlFlags & WHERE_ONEPASS_DESIRED)==0 || pWInfo->nLevel==1 );
103050 pWInfo->okOnePass = 1;
103051 pWInfo->a[0].plan.wsFlags &= ~WHERE_IDX_ONLY;
103059 pWInfo->nRowOut = (double)1;
103060 for(i=0, pLevel=pWInfo->a; i<nTabList; i++, pLevel++){
103067 pWInfo->nRowOut *= pLevel->plan.nRow;
103081 int op = pWInfo->okOnePass ? OP_OpenWrite : OP_OpenRead;
103085 if( !pWInfo->okOnePass && pTab->nCol<BMS ){
103114 pWInfo->iTop = sqlite3VdbeCurrentAddr(v);
103123 pLevel = &pWInfo->a[i];
103125 notReady = codeOneLoopStart(pWInfo, i, wctrlFlags, notReady);
103126 pWInfo->iContinue = pLevel->addrCont;
103139 pLevel = &pWInfo->a[i];
103181 return pWInfo;
103185 if( pWInfo ){
103186 pParse->nQueryLoop = pWInfo->savedNQueryLoop;
103187 whereInfoFree(db, pWInfo);
103196 SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){
103197 Parse *pParse = pWInfo->pParse;
103201 SrcList *pTabList = pWInfo->pTabList;
103207 for(i=pWInfo->nLevel-1; i>=0; i--){
103208 pLevel = &pWInfo->a[i];
103249 sqlite3VdbeResolveLabel(v, pWInfo->iBreak);
103253 assert( pWInfo->nLevel==1 || pWInfo->nLevel==pTabList->nSrc );
103254 for(i=0, pLevel=pWInfo->a; i<pWInfo->nLevel; i++, pLevel++){
103260 && (pWInfo->wctrlFlags & WHERE_OMIT_CLOSE)==0
103263 if( !pWInfo->okOnePass && (ws & WHERE_IDX_ONLY)==0 ){
103290 pOp = sqlite3VdbeGetOp(v, pWInfo->iTop);
103292 for(k=pWInfo->iTop; k<last; k++, pOp++){
103314 pParse->nQueryLoop = pWInfo->savedNQueryLoop;
103315 whereInfoFree(db, pWInfo);