Lines Matching refs:pIdx

28 static const char *explainIndexColumnName(Index *pIdx, int i){  in explainIndexColumnName()  argument
29 i = pIdx->aiColumn[i]; in explainIndexColumnName()
32 return pIdx->pTable->aCol[i].zCnName; in explainIndexColumnName()
45 Index *pIdx, /* Index to read column names from */ in explainAppendTerm() argument
59 sqlite3_str_appendall(pStr, explainIndexColumnName(pIdx, iTerm+i)); in explainAppendTerm()
155 Index *pIdx; in sqlite3WhereExplainOneScan() local
158 pIdx = pLoop->u.btree.pIndex; in sqlite3WhereExplainOneScan()
160 if( !HasRowid(pItem->pTab) && IsPrimaryKeyIndex(pIdx) ){ in sqlite3WhereExplainOneScan()
175 sqlite3_str_appendf(&str, zFmt, pIdx->zName); in sqlite3WhereExplainOneScan()
772 Index *pIdx; /* The index being used for this loop */ in codeAllEqualityTerms() local
785 pIdx = pLoop->u.btree.pIndex; in codeAllEqualityTerms()
786 assert( pIdx!=0 ); in codeAllEqualityTerms()
794 zAff = sqlite3DbStrDup(pParse->db,sqlite3IndexAffinityStr(pParse->db,pIdx)); in codeAllEqualityTerms()
803 VdbeComment((v, "begin skip-scan on %s", pIdx->zName)); in codeAllEqualityTerms()
813 testcase( pIdx->aiColumn[j]==XN_EXPR ); in codeAllEqualityTerms()
814 VdbeComment((v, "%s", explainIndexColumnName(pIdx, j))); in codeAllEqualityTerms()
917 Index *pIdx; /* The index used to access the table */ member
928 assert( pHint->pIdx!=0 ); in codeCursorHintCheckExpr()
931 && sqlite3TableColumnToIndex(pHint->pIdx, pExpr->iColumn)<0 in codeCursorHintCheckExpr()
997 }else if( pHint->pIdx!=0 ){ in codeCursorHintFixExpr()
999 pExpr->iColumn = sqlite3TableColumnToIndex(pHint->pIdx, pExpr->iColumn); in codeCursorHintFixExpr()
1041 sHint.pIdx = pLoop->u.btree.pIndex; in codeCursorHint()
1100 if( sHint.pIdx!=0 ){ in codeCursorHint()
1114 (sHint.pIdx ? sHint.iIdxCur : sHint.iTabCur), 0, 0, in codeCursorHint()
1150 Index *pIdx, /* Index scan is using */ in codeDeferredSeek() argument
1158 assert( pIdx->aiColumn[pIdx->nColumn-1]==-1 ); in codeDeferredSeek()
1166 Table *pTab = pIdx->pTable; in codeDeferredSeek()
1170 for(i=0; i<pIdx->nColumn-1; i++){ in codeDeferredSeek()
1172 assert( pIdx->aiColumn[i]<pTab->nCol ); in codeDeferredSeek()
1173 x1 = pIdx->aiColumn[i]; in codeDeferredSeek()
1338 Index *pIdx = 0; /* Index used by loop (if any) */ in sqlite3WhereCodeOneLoopStart() local
1738 pIdx = pLoop->u.btree.pIndex; in sqlite3WhereCodeOneLoopStart()
1767 testcase( pIdx->aSortOrder[nEq]==SQLITE_SO_DESC ); in sqlite3WhereCodeOneLoopStart()
1770 pLevel->iLikeRepCntr |= bRev ^ (pIdx->aSortOrder[nEq]==SQLITE_SO_DESC); in sqlite3WhereCodeOneLoopStart()
1774 j = pIdx->aiColumn[nEq]; in sqlite3WhereCodeOneLoopStart()
1775 if( (j>=0 && pIdx->pTable->aCol[j].notNull==0) || j==XN_EXPR ){ in sqlite3WhereCodeOneLoopStart()
1808 if( (nEq<pIdx->nColumn && bRev==(pIdx->aSortOrder[nEq]==SQLITE_SO_ASC)) ){ in sqlite3WhereCodeOneLoopStart()
1903 (pIdx->aiRowLogEst[0]+9)/10); in sqlite3WhereCodeOneLoopStart()
2033 }else if( HasRowid(pIdx->pTable) ){ in sqlite3WhereCodeOneLoopStart()
2034 codeDeferredSeek(pWInfo, pIdx, iCur, iIdxCur); in sqlite3WhereCodeOneLoopStart()
2036 Index *pPk = sqlite3PrimaryKeyIndex(pIdx->pTable); in sqlite3WhereCodeOneLoopStart()
2039 k = sqlite3TableColumnToIndex(pIdx, pPk->aiColumn[j]); in sqlite3WhereCodeOneLoopStart()
2054 if( pIdx->pPartIdxWhere ){ in sqlite3WhereCodeOneLoopStart()
2055 whereApplyPartialIndexConstraints(pIdx->pPartIdxWhere, iCur, pWC); in sqlite3WhereCodeOneLoopStart()
2058 testcase( pIdx->pPartIdxWhere ); in sqlite3WhereCodeOneLoopStart()
2080 if( omitTable ) pIdx = 0; in sqlite3WhereCodeOneLoopStart()
2457 iLoop = (pIdx ? 1 : 2); in sqlite3WhereCodeOneLoopStart()
2490 if( iLoop==1 && !sqlite3ExprCoveredByIndex(pE, pLevel->iTabCur, pIdx) ){ in sqlite3WhereCodeOneLoopStart()