Lines Matching refs:pParse
122 Parse *pParse, /* Parse context */ in sqlite3WhereExplainOneScan() argument
129 if( sqlite3ParseToplevel(pParse)->explain==2 ) in sqlite3WhereExplainOneScan()
133 Vdbe *v = pParse->pVdbe; /* VM being constructed */ in sqlite3WhereExplainOneScan()
134 sqlite3 *db = pParse->db; /* Database handle */ in sqlite3WhereExplainOneScan()
221 pParse->addrExplain, 0, zMsg,P4_DYNAMIC); in sqlite3WhereExplainOneScan()
237 const Parse *pParse, /* Parse context */ in sqlite3WhereExplainBloomFilter() argument
243 Vdbe *v = pParse->pVdbe; /* VM being constructed */ in sqlite3WhereExplainBloomFilter()
244 sqlite3 *db = pParse->db; /* Database handle */ in sqlite3WhereExplainBloomFilter()
272 pParse->addrExplain, 0, zMsg,P4_DYNAMIC); in sqlite3WhereExplainBloomFilter()
387 static void codeApplyAffinity(Parse *pParse, int base, int n, char *zAff){ in codeApplyAffinity() argument
388 Vdbe *v = pParse->pVdbe; in codeApplyAffinity()
390 assert( pParse->db->mallocFailed ); in codeApplyAffinity()
471 Parse *pParse, /* The parsing context */ in removeUnindexableInClauseTerms() argument
476 sqlite3 *db = pParse->db; in removeUnindexableInClauseTerms()
498 pRhs = sqlite3ExprListAppend(pParse, pRhs, pOrigRhs->a[iField].pExpr); in removeUnindexableInClauseTerms()
501 pLhs = sqlite3ExprListAppend(pParse, pLhs, pOrigLhs->a[iField].pExpr); in removeUnindexableInClauseTerms()
560 Parse *pParse, /* The parsing context */ in codeEqualityTerm() argument
568 Vdbe *v = pParse->pVdbe; in codeEqualityTerm()
574 iReg = sqlite3ExprCodeTarget(pParse, pX->pRight, iTarget); in codeEqualityTerm()
612 eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, 0, &iTab); in codeEqualityTerm()
616 sqlite3 *db = pParse->db; in codeEqualityTerm()
617 pX = removeUnindexableInClauseTerms(pParse, iEq, pLoop, pX); in codeEqualityTerm()
619 aiMap = (int*)sqlite3DbMallocZero(pParse->db, sizeof(int)*nEq); in codeEqualityTerm()
620 eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, aiMap,&iTab); in codeEqualityTerm()
626 aiMap = (int*)sqlite3DbMallocZero(pParse->db, sizeof(int)*MAX(nEq,n)); in codeEqualityTerm()
627 eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, aiMap, &iTab); in codeEqualityTerm()
643 pLevel->addrNxt = sqlite3VdbeMakeLabel(pParse); in codeEqualityTerm()
695 sqlite3DbFree(pParse->db, aiMap); in codeEqualityTerm()
763 Parse *pParse, /* Parsing context */ in codeAllEqualityTerms() argument
771 Vdbe *v = pParse->pVdbe; /* The vm under construction */ in codeAllEqualityTerms()
790 regBase = pParse->nMem + 1; in codeAllEqualityTerms()
792 pParse->nMem += nReg; in codeAllEqualityTerms()
794 zAff = sqlite3DbStrDup(pParse->db,sqlite3IndexAffinityStr(pParse->db,pIdx)); in codeAllEqualityTerms()
795 assert( zAff!=0 || pParse->db->mallocFailed ); in codeAllEqualityTerms()
829 r1 = codeEqualityTerm(pParse, pTerm, pLevel, j, bRev, regBase+j); in codeAllEqualityTerms()
832 sqlite3ReleaseTempReg(pParse, regBase); in codeAllEqualityTerms()
855 if( pParse->nErr==0 ){ in codeAllEqualityTerms()
856 assert( pParse->db->mallocFailed==0 ); in codeAllEqualityTerms()
899 || pTerm->pWC->pWInfo->pParse->db->mallocFailed ); in whereLikeOptimizationStringFixup()
962 if( 0==sqlite3IsLikeFunction(pWalker->pParse->db, pExpr, &d1, d2) ){ in codeCursorHintIsOrFunction()
993 int reg = ++pWalker->pParse->nMem; /* Register for column value */ in codeCursorHintFixExpr()
994 sqlite3ExprCode(pWalker->pParse, pExpr, reg); in codeCursorHintFixExpr()
1024 Parse *pParse = pWInfo->pParse; in codeCursorHint() local
1025 sqlite3 *db = pParse->db; in codeCursorHint()
1026 Vdbe *v = pParse->pVdbe; in codeCursorHint()
1043 sWalker.pParse = pParse; in codeCursorHint()
1108 pExpr = sqlite3ExprAnd(pParse, pExpr, sqlite3ExprDup(db, pTerm->pExpr, 0)); in codeCursorHint()
1154 Parse *pParse = pWInfo->pParse; /* Parse context */ in codeDeferredSeek() local
1155 Vdbe *v = pParse->pVdbe; /* Vdbe to generate code within */ in codeDeferredSeek()
1163 && DbMaskAllZero(sqlite3ParseToplevel(pParse)->writeMask) in codeDeferredSeek()
1167 u32 *ai = (u32*)sqlite3DbMallocZero(pParse->db, sizeof(u32)*(pTab->nCol+1)); in codeDeferredSeek()
1192 static void codeExprOrVector(Parse *pParse, Expr *p, int iReg, int nReg){ in codeExprOrVector() argument
1197 Vdbe *v = pParse->pVdbe; in codeExprOrVector()
1200 iSelect = sqlite3CodeSubselect(pParse, p); in codeExprOrVector()
1211 sqlite3ExprCode(pParse, pList->a[i].pExpr, iReg+i); in codeExprOrVector()
1215 assert( nReg==1 || pParse->nErr ); in codeExprOrVector()
1216 sqlite3ExprCode(pParse, p, iReg); in codeExprOrVector()
1264 Parse *pParse, /* Parsing context */ in filterPullDown() argument
1286 regRowid = sqlite3GetTempReg(pParse); in filterPullDown()
1287 regRowid = codeEqualityTerm(pParse, pTerm, pLevel, 0, 0, regRowid); in filterPullDown()
1288 sqlite3VdbeAddOp2(pParse->pVdbe, OP_MustBeInt, regRowid, addrNxt); in filterPullDown()
1289 VdbeCoverage(pParse->pVdbe); in filterPullDown()
1290 sqlite3VdbeAddOp4Int(pParse->pVdbe, OP_Filter, pLevel->regFilter, in filterPullDown()
1292 VdbeCoverage(pParse->pVdbe); in filterPullDown()
1300 r1 = codeAllEqualityTerms(pParse,pLevel,0,0,&zStartAff); in filterPullDown()
1301 codeApplyAffinity(pParse, r1, nEq, zStartAff); in filterPullDown()
1302 sqlite3DbFree(pParse->db, zStartAff); in filterPullDown()
1303 sqlite3VdbeAddOp4Int(pParse->pVdbe, OP_Filter, pLevel->regFilter, in filterPullDown()
1305 VdbeCoverage(pParse->pVdbe); in filterPullDown()
1317 Parse *pParse, /* Parsing context */ in sqlite3WhereCodeOneLoopStart() argument
1342 db = pParse->db; in sqlite3WhereCodeOneLoopStart()
1375 addrBrk = pLevel->addrBrk = pLevel->addrNxt = sqlite3VdbeMakeLabel(pParse); in sqlite3WhereCodeOneLoopStart()
1376 addrCont = pLevel->addrCont = sqlite3VdbeMakeLabel(pParse); in sqlite3WhereCodeOneLoopStart()
1386 pLevel->iLeftJoin = ++pParse->nMem; in sqlite3WhereCodeOneLoopStart()
1418 iReg = sqlite3GetTempRange(pParse, nConstraint+2); in sqlite3WhereCodeOneLoopStart()
1426 int iTab = pParse->nTab++; in sqlite3WhereCodeOneLoopStart()
1427 int iCache = ++pParse->nMem; in sqlite3WhereCodeOneLoopStart()
1428 sqlite3CodeRhsOfIN(pParse, pTerm->pExpr, iTab); in sqlite3WhereCodeOneLoopStart()
1431 codeEqualityTerm(pParse, pTerm, pLevel, j, bRev, iTarget); in sqlite3WhereCodeOneLoopStart()
1436 codeExprOrVector(pParse, pRight, iTarget, 1); in sqlite3WhereCodeOneLoopStart()
1497 pCompare = sqlite3PExpr(pParse, TK_EQ, 0, 0); in sqlite3WhereCodeOneLoopStart()
1514 pParse, pCompare, pLevel->addrCont, SQLITE_JUMPIFNULL in sqlite3WhereCodeOneLoopStart()
1546 iReleaseReg = ++pParse->nMem; in sqlite3WhereCodeOneLoopStart()
1547 iRowidReg = codeEqualityTerm(pParse, pTerm, pLevel, 0, bRev, iReleaseReg); in sqlite3WhereCodeOneLoopStart()
1548 if( iRowidReg!=iReleaseReg ) sqlite3ReleaseTempReg(pParse, iReleaseReg); in sqlite3WhereCodeOneLoopStart()
1556 filterPullDown(pParse, pWInfo, iLevel, addrNxt, notReady); in sqlite3WhereCodeOneLoopStart()
1606 r1 = rTemp = sqlite3GetTempReg(pParse); in sqlite3WhereCodeOneLoopStart()
1607 codeExprOrVector(pParse, pX->pRight, r1, 1); in sqlite3WhereCodeOneLoopStart()
1618 r1 = sqlite3ExprCodeTemp(pParse, pX->pRight, &rTemp); in sqlite3WhereCodeOneLoopStart()
1628 sqlite3ReleaseTempReg(pParse, rTemp); in sqlite3WhereCodeOneLoopStart()
1641 memEndValue = ++pParse->nMem; in sqlite3WhereCodeOneLoopStart()
1642 codeExprOrVector(pParse, pX->pRight, memEndValue, 1); in sqlite3WhereCodeOneLoopStart()
1660 iRowidReg = ++pParse->nMem; in sqlite3WhereCodeOneLoopStart()
1760 pLevel->iLikeRepCntr = (u32)++pParse->nMem; in sqlite3WhereCodeOneLoopStart()
1797 pLevel->regBignull = regBignull = ++pParse->nMem; in sqlite3WhereCodeOneLoopStart()
1801 pLevel->addrBignull = sqlite3VdbeMakeLabel(pParse); in sqlite3WhereCodeOneLoopStart()
1825 regBase = codeAllEqualityTerms(pParse,pLevel,bRev,nExtraReg,&zStartAff); in sqlite3WhereCodeOneLoopStart()
1844 codeExprOrVector(pParse, pRight, regBase+nEq, nBtm); in sqlite3WhereCodeOneLoopStart()
1873 codeApplyAffinity(pParse, regBase, nConstraint - bSeekPastNull, zStartAff); in sqlite3WhereCodeOneLoopStart()
1887 filterPullDown(pParse, pWInfo, iLevel, addrNxt, notReady); in sqlite3WhereCodeOneLoopStart()
1955 codeExprOrVector(pParse, pRight, regBase+nEq, nTop); in sqlite3WhereCodeOneLoopStart()
1965 codeApplyAffinity(pParse, regBase+nEq, nTop, zEndAff); in sqlite3WhereCodeOneLoopStart()
1967 assert( pParse->db->mallocFailed ); in sqlite3WhereCodeOneLoopStart()
2037 iRowidReg = sqlite3GetTempRange(pParse, pPk->nKeyCol); in sqlite3WhereCodeOneLoopStart()
2131 int iCovCur = pParse->nTab++; /* Cursor used for index scans (if any) */ in sqlite3WhereCodeOneLoopStart()
2133 int regReturn = ++pParse->nMem; /* Register used with OP_Gosub */ in sqlite3WhereCodeOneLoopStart()
2136 int iLoopBody = sqlite3VdbeMakeLabel(pParse);/* Start of loop body */ in sqlite3WhereCodeOneLoopStart()
2187 regRowset = ++pParse->nMem; in sqlite3WhereCodeOneLoopStart()
2191 regRowset = pParse->nTab++; in sqlite3WhereCodeOneLoopStart()
2193 sqlite3VdbeSetP4KeyInfo(pParse, pPk); in sqlite3WhereCodeOneLoopStart()
2195 regRowid = ++pParse->nMem; in sqlite3WhereCodeOneLoopStart()
2241 pAndExpr = sqlite3ExprAnd(pParse, pAndExpr, pExpr); in sqlite3WhereCodeOneLoopStart()
2249 pAndExpr = sqlite3PExpr(pParse, TK_AND|0x10000, 0, pAndExpr); in sqlite3WhereCodeOneLoopStart()
2257 ExplainQueryPlan((pParse, 1, "MULTI-INDEX OR")); in sqlite3WhereCodeOneLoopStart()
2278 ExplainQueryPlan((pParse, 1, "INDEX %d", ii+1)); in sqlite3WhereCodeOneLoopStart()
2280 pSubWInfo = sqlite3WhereBegin(pParse, pOrTab, pOrExpr, 0, 0, 0, in sqlite3WhereCodeOneLoopStart()
2282 assert( pSubWInfo || pParse->nErr ); in sqlite3WhereCodeOneLoopStart()
2286 pParse, pOrTab, &pSubWInfo->a[0], 0 in sqlite3WhereCodeOneLoopStart()
2309 r = sqlite3GetTempRange(pParse, nPk); in sqlite3WhereCodeOneLoopStart()
2338 sqlite3ReleaseTempRange(pParse, r, nPk); in sqlite3WhereCodeOneLoopStart()
2385 ExplainQueryPlanPop(pParse); in sqlite3WhereCodeOneLoopStart()
2390 ExplainQueryPlanPop(pParse); in sqlite3WhereCodeOneLoopStart()
2526 sqlite3ExprIfFalse(pParse, pE, addrCont, SQLITE_JUMPIFNULL); in sqlite3WhereCodeOneLoopStart()
2575 sqlite3ExprIfFalse(pParse, &sEAlt, addrCont, SQLITE_JUMPIFNULL); in sqlite3WhereCodeOneLoopStart()
2596 r = sqlite3GetTempRange(pParse, 2); in sqlite3WhereCodeOneLoopStart()
2603 r = sqlite3GetTempRange(pParse, nPk+1); in sqlite3WhereCodeOneLoopStart()
2617 sqlite3ReleaseTempRange(pParse, r, nPk+1); in sqlite3WhereCodeOneLoopStart()
2642 assert( pParse->withinRJSubrtn < 255 ); in sqlite3WhereCodeOneLoopStart()
2643 pParse->withinRJSubrtn++; in sqlite3WhereCodeOneLoopStart()
2661 sqlite3ExprIfFalse(pParse, pTerm->pExpr, addrCont, SQLITE_JUMPIFNULL); in sqlite3WhereCodeOneLoopStart()
2689 Parse *pParse = pWInfo->pParse; in sqlite3WhereRightJoinLoop() local
2690 Vdbe *v = pParse->pVdbe; in sqlite3WhereRightJoinLoop()
2701 ExplainQueryPlan((pParse, 1, "RIGHT-JOIN %s", pTabItem->pTab->zName)); in sqlite3WhereRightJoinLoop()
2724 pSubWhere = sqlite3ExprAnd(pParse, pSubWhere, in sqlite3WhereRightJoinLoop()
2725 sqlite3ExprDup(pParse->db, pTerm->pExpr, 0)); in sqlite3WhereRightJoinLoop()
2732 assert( pParse->withinRJSubrtn < 100 ); in sqlite3WhereRightJoinLoop()
2733 pParse->withinRJSubrtn++; in sqlite3WhereRightJoinLoop()
2734 pSubWInfo = sqlite3WhereBegin(pParse, &sFrom, pSubWhere, 0, 0, 0, in sqlite3WhereRightJoinLoop()
2738 int r = ++pParse->nMem; in sqlite3WhereRightJoinLoop()
2750 pParse->nMem += nPk - 1; in sqlite3WhereRightJoinLoop()
2764 sqlite3ExprDelete(pParse->db, pSubWhere); in sqlite3WhereRightJoinLoop()
2765 ExplainQueryPlanPop(pParse); in sqlite3WhereRightJoinLoop()
2766 assert( pParse->withinRJSubrtn>0 ); in sqlite3WhereRightJoinLoop()
2767 pParse->withinRJSubrtn--; in sqlite3WhereRightJoinLoop()