Lines Matching refs:pIdx
207 static int dbdataBestIndex(sqlite3_vtab *tab, sqlite3_index_info *pIdx){ in dbdataBestIndex() argument
214 for(i=0; i<pIdx->nConstraint; i++){ in dbdataBestIndex()
215 struct sqlite3_index_constraint *p = &pIdx->aConstraint[i]; in dbdataBestIndex()
228 pIdx->aConstraintUsage[iSchema].argvIndex = 1; in dbdataBestIndex()
229 pIdx->aConstraintUsage[iSchema].omit = 1; in dbdataBestIndex()
232 pIdx->aConstraintUsage[iPgno].argvIndex = 1 + (iSchema>=0); in dbdataBestIndex()
233 pIdx->aConstraintUsage[iPgno].omit = 1; in dbdataBestIndex()
234 pIdx->estimatedCost = 100; in dbdataBestIndex()
235 pIdx->estimatedRows = 50; in dbdataBestIndex()
237 if( pTab->bPtr==0 && pIdx->nOrderBy && pIdx->aOrderBy[0].desc==0 ){ in dbdataBestIndex()
238 int iCol = pIdx->aOrderBy[0].iColumn; in dbdataBestIndex()
239 if( pIdx->nOrderBy==1 ){ in dbdataBestIndex()
240 pIdx->orderByConsumed = (iCol==0 || iCol==1); in dbdataBestIndex()
241 }else if( pIdx->nOrderBy==2 && pIdx->aOrderBy[1].desc==0 && iCol==0 ){ in dbdataBestIndex()
242 pIdx->orderByConsumed = (pIdx->aOrderBy[1].iColumn==1); in dbdataBestIndex()
247 pIdx->estimatedCost = 100000000; in dbdataBestIndex()
248 pIdx->estimatedRows = 1000000000; in dbdataBestIndex()
250 pIdx->idxNum = (iSchema>=0 ? 0x01 : 0x00) | (iPgno>=0 ? 0x02 : 0x00); in dbdataBestIndex()