pIdx             53227 ext/sqlite3/libsqlite/sqlite3.c       Index *pIdx = (Index *)sqliteHashData(p);
pIdx             53228 ext/sqlite3/libsqlite/sqlite3.c       if( pIdx->tnum==(int)iRoot ){
pIdx             53235 ext/sqlite3/libsqlite/sqlite3.c         iTab = pIdx->pTable->tnum;
pIdx             54373 ext/sqlite3/libsqlite/sqlite3.c static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){
pIdx             54413 ext/sqlite3/libsqlite/sqlite3.c       *pIdx = (int)(pSpace - data);
pIdx             54441 ext/sqlite3/libsqlite/sqlite3.c   *pIdx = top;
pIdx             64167 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;
pIdx             64189 ext/sqlite3/libsqlite/sqlite3.c       Index *pIdx = p->pIdx;      /* Index being probed */
pIdx             64192 ext/sqlite3/libsqlite/sqlite3.c       int nCol = pIdx->nColumn;   /* Number of index columns including rowid */
pIdx             64197 ext/sqlite3/libsqlite/sqlite3.c         pRec->pKeyInfo = sqlite3KeyInfoOfIndex(p->pParse, pIdx);
pIdx             64636 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx,                    /* Index being probed */
pIdx             64648 ext/sqlite3/libsqlite/sqlite3.c   alloc.pIdx = pIdx;
pIdx             65650 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3VdbeSetP4KeyInfo(Parse *pParse, Index *pIdx){
pIdx             65653 ext/sqlite3/libsqlite/sqlite3.c   assert( pIdx!=0 );
pIdx             65654 ext/sqlite3/libsqlite/sqlite3.c   sqlite3VdbeChangeP4(v, -1, (char*)sqlite3KeyInfoOfIndex(pParse, pIdx),
pIdx             77651 ext/sqlite3/libsqlite/sqlite3.c       Index *pIdx;
pIdx             77669 ext/sqlite3/libsqlite/sqlite3.c       for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             77671 ext/sqlite3/libsqlite/sqlite3.c         for(j=0; j<pIdx->nKeyCol; j++){
pIdx             77672 ext/sqlite3/libsqlite/sqlite3.c           if( pIdx->aiColumn[j]==iCol ){
pIdx             84532 ext/sqlite3/libsqlite/sqlite3.c       Index *pIdx;                         /* Iterator variable */
pIdx             84545 ext/sqlite3/libsqlite/sqlite3.c       for(pIdx=pTab->pIndex; pIdx && eType==0 && affinity_ok; pIdx=pIdx->pNext){
pIdx             84546 ext/sqlite3/libsqlite/sqlite3.c         if( (pIdx->aiColumn[0]==iCol)
pIdx             84547 ext/sqlite3/libsqlite/sqlite3.c          && sqlite3FindCollSeq(db, ENC(db), pIdx->azColl[0], 0)==pReq
pIdx             84548 ext/sqlite3/libsqlite/sqlite3.c          && (!mustBeUnique || (pIdx->nKeyCol==1 && IsUniqueIndex(pIdx)))
pIdx             84551 ext/sqlite3/libsqlite/sqlite3.c           sqlite3VdbeAddOp3(v, OP_OpenRead, iTab, pIdx->tnum, iDb);
pIdx             84552 ext/sqlite3/libsqlite/sqlite3.c           sqlite3VdbeSetP4KeyInfo(pParse, pIdx);
pIdx             84553 ext/sqlite3/libsqlite/sqlite3.c           VdbeComment((v, "%s", pIdx->zName));
pIdx             84555 ext/sqlite3/libsqlite/sqlite3.c           eType = IN_INDEX_INDEX_ASC + pIdx->aSortOrder[0];
pIdx             89025 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;                 /* An index to being analyzed */
pIdx             89080 ext/sqlite3/libsqlite/sqlite3.c   for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             89087 ext/sqlite3/libsqlite/sqlite3.c     if( pOnlyIdx && pOnlyIdx!=pIdx ) continue;
pIdx             89088 ext/sqlite3/libsqlite/sqlite3.c     if( pIdx->pPartIdxWhere==0 ) needTableCnt = 0;
pIdx             89089 ext/sqlite3/libsqlite/sqlite3.c     if( !HasRowid(pTab) && IsPrimaryKeyIndex(pIdx) ){
pIdx             89090 ext/sqlite3/libsqlite/sqlite3.c       nCol = pIdx->nKeyCol;
pIdx             89094 ext/sqlite3/libsqlite/sqlite3.c       nCol = pIdx->nColumn;
pIdx             89095 ext/sqlite3/libsqlite/sqlite3.c       zIdxName = pIdx->zName;
pIdx             89096 ext/sqlite3/libsqlite/sqlite3.c       nColTest = pIdx->uniqNotNull ? pIdx->nKeyCol-1 : nCol-1;
pIdx             89142 ext/sqlite3/libsqlite/sqlite3.c     assert( iDb==sqlite3SchemaToIndex(db, pIdx->pSchema) );
pIdx             89143 ext/sqlite3/libsqlite/sqlite3.c     sqlite3VdbeAddOp3(v, OP_OpenRead, iIdxCur, pIdx->tnum, iDb);
pIdx             89144 ext/sqlite3/libsqlite/sqlite3.c     sqlite3VdbeSetP4KeyInfo(pParse, pIdx);
pIdx             89145 ext/sqlite3/libsqlite/sqlite3.c     VdbeComment((v, "%s", pIdx->zName));
pIdx             89161 ext/sqlite3/libsqlite/sqlite3.c     sqlite3VdbeAddOp2(v, OP_Integer, pIdx->nKeyCol, regStat4+2);
pIdx             89197 ext/sqlite3/libsqlite/sqlite3.c       if( nColTest==1 && pIdx->nKeyCol==1 && IsUniqueIndex(pIdx) ){
pIdx             89205 ext/sqlite3/libsqlite/sqlite3.c         char *pColl = (char*)sqlite3LocateCollSeq(pParse, pIdx->azColl[i]);
pIdx             89245 ext/sqlite3/libsqlite/sqlite3.c       Index *pPk = sqlite3PrimaryKeyIndex(pIdx->pTable);
pIdx             89249 ext/sqlite3/libsqlite/sqlite3.c         k = sqlite3ColumnOfIndex(pIdx, pPk->aiColumn[j]);
pIdx             89300 ext/sqlite3/libsqlite/sqlite3.c                                       pIdx->aiColumn[0], regSample);
pIdx             89303 ext/sqlite3/libsqlite/sqlite3.c         i16 iCol = pIdx->aiColumn[i];
pIdx             89417 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;
pIdx             89443 ext/sqlite3/libsqlite/sqlite3.c         if( (pIdx = sqlite3FindIndex(db, z, 0))!=0 ){
pIdx             89444 ext/sqlite3/libsqlite/sqlite3.c           analyzeTable(pParse, pIdx->pTable, pIdx);
pIdx             89458 ext/sqlite3/libsqlite/sqlite3.c         if( (pIdx = sqlite3FindIndex(db, z, zDb))!=0 ){
pIdx             89459 ext/sqlite3/libsqlite/sqlite3.c           analyzeTable(pParse, pIdx->pTable, pIdx);
pIdx             89615 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3DeleteIndexSamples(sqlite3 *db, Index *pIdx){
pIdx             89617 ext/sqlite3/libsqlite/sqlite3.c   if( pIdx->aSample ){
pIdx             89619 ext/sqlite3/libsqlite/sqlite3.c     for(j=0; j<pIdx->nSample; j++){
pIdx             89620 ext/sqlite3/libsqlite/sqlite3.c       IndexSample *p = &pIdx->aSample[j];
pIdx             89623 ext/sqlite3/libsqlite/sqlite3.c     sqlite3DbFree(db, pIdx->aSample);
pIdx             89626 ext/sqlite3/libsqlite/sqlite3.c     pIdx->nSample = 0;
pIdx             89627 ext/sqlite3/libsqlite/sqlite3.c     pIdx->aSample = 0;
pIdx             89631 ext/sqlite3/libsqlite/sqlite3.c   UNUSED_PARAMETER(pIdx);
pIdx             89640 ext/sqlite3/libsqlite/sqlite3.c static void initAvgEq(Index *pIdx){
pIdx             89641 ext/sqlite3/libsqlite/sqlite3.c   if( pIdx ){
pIdx             89642 ext/sqlite3/libsqlite/sqlite3.c     IndexSample *aSample = pIdx->aSample;
pIdx             89643 ext/sqlite3/libsqlite/sqlite3.c     IndexSample *pFinal = &aSample[pIdx->nSample-1];
pIdx             89646 ext/sqlite3/libsqlite/sqlite3.c     if( pIdx->nSampleCol>1 ){
pIdx             89651 ext/sqlite3/libsqlite/sqlite3.c       nCol = pIdx->nSampleCol-1;
pIdx             89652 ext/sqlite3/libsqlite/sqlite3.c       pIdx->aAvgEq[nCol] = 1;
pIdx             89655 ext/sqlite3/libsqlite/sqlite3.c       int nSample = pIdx->nSample;
pIdx             89663 ext/sqlite3/libsqlite/sqlite3.c       if( !pIdx->aiRowEst || iCol>=pIdx->nKeyCol || pIdx->aiRowEst[iCol+1]==0 ){
pIdx             89668 ext/sqlite3/libsqlite/sqlite3.c         nRow = pIdx->aiRowEst[0];
pIdx             89669 ext/sqlite3/libsqlite/sqlite3.c         nDist100 = ((i64)100 * pIdx->aiRowEst[0]) / pIdx->aiRowEst[iCol+1];
pIdx             89671 ext/sqlite3/libsqlite/sqlite3.c       pIdx->nRowEst0 = nRow;
pIdx             89678 ext/sqlite3/libsqlite/sqlite3.c         if( i==(pIdx->nSample-1)
pIdx             89690 ext/sqlite3/libsqlite/sqlite3.c       pIdx->aAvgEq[iCol] = avgEq;
pIdx             89704 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx = sqlite3FindIndex(db, zName, zDb);
pIdx             89705 ext/sqlite3/libsqlite/sqlite3.c   if( pIdx==0 ){
pIdx             89707 ext/sqlite3/libsqlite/sqlite3.c     if( pTab && !HasRowid(pTab) ) pIdx = sqlite3PrimaryKeyIndex(pTab);
pIdx             89709 ext/sqlite3/libsqlite/sqlite3.c   return pIdx;
pIdx             89751 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx;    /* Pointer to the index object */
pIdx             89760 ext/sqlite3/libsqlite/sqlite3.c     pIdx = findIndexOrPrimaryKey(db, zIndex, zDb);
pIdx             89761 ext/sqlite3/libsqlite/sqlite3.c     assert( pIdx==0 || bStat3 || pIdx->nSample==0 );
pIdx             89764 ext/sqlite3/libsqlite/sqlite3.c     if( pIdx==0 || pIdx->nSample ) continue;
pIdx             89766 ext/sqlite3/libsqlite/sqlite3.c       assert( !HasRowid(pIdx->pTable) || pIdx->nColumn==pIdx->nKeyCol+1 );
pIdx             89767 ext/sqlite3/libsqlite/sqlite3.c       if( !HasRowid(pIdx->pTable) && IsPrimaryKeyIndex(pIdx) ){
pIdx             89768 ext/sqlite3/libsqlite/sqlite3.c         nIdxCol = pIdx->nKeyCol;
pIdx             89770 ext/sqlite3/libsqlite/sqlite3.c         nIdxCol = pIdx->nColumn;
pIdx             89773 ext/sqlite3/libsqlite/sqlite3.c     pIdx->nSampleCol = nIdxCol;
pIdx             89778 ext/sqlite3/libsqlite/sqlite3.c     pIdx->aSample = sqlite3DbMallocZero(db, nByte);
pIdx             89779 ext/sqlite3/libsqlite/sqlite3.c     if( pIdx->aSample==0 ){
pIdx             89783 ext/sqlite3/libsqlite/sqlite3.c     pSpace = (tRowcnt*)&pIdx->aSample[nSample];
pIdx             89784 ext/sqlite3/libsqlite/sqlite3.c     pIdx->aAvgEq = pSpace; pSpace += nIdxCol;
pIdx             89786 ext/sqlite3/libsqlite/sqlite3.c       pIdx->aSample[i].anEq = pSpace; pSpace += nIdxCol;
pIdx             89787 ext/sqlite3/libsqlite/sqlite3.c       pIdx->aSample[i].anLt = pSpace; pSpace += nIdxCol;
pIdx             89788 ext/sqlite3/libsqlite/sqlite3.c       pIdx->aSample[i].anDLt = pSpace; pSpace += nIdxCol;
pIdx             89790 ext/sqlite3/libsqlite/sqlite3.c     assert( ((u8*)pSpace)-nByte==(u8*)(pIdx->aSample) );
pIdx             89805 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx;                  /* Pointer to the index object */
pIdx             89810 ext/sqlite3/libsqlite/sqlite3.c     pIdx = findIndexOrPrimaryKey(db, zIndex, zDb);
pIdx             89811 ext/sqlite3/libsqlite/sqlite3.c     if( pIdx==0 ) continue;
pIdx             89814 ext/sqlite3/libsqlite/sqlite3.c     nCol = pIdx->nSampleCol;
pIdx             89816 ext/sqlite3/libsqlite/sqlite3.c     if( pIdx!=pPrevIdx ){
pIdx             89818 ext/sqlite3/libsqlite/sqlite3.c       pPrevIdx = pIdx;
pIdx             89820 ext/sqlite3/libsqlite/sqlite3.c     pSample = &pIdx->aSample[pIdx->nSample];
pIdx             89838 ext/sqlite3/libsqlite/sqlite3.c     pIdx->nSample++;
pIdx             89905 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx = sqliteHashData(i);
pIdx             89906 ext/sqlite3/libsqlite/sqlite3.c     sqlite3DefaultRowEst(pIdx);
pIdx             89908 ext/sqlite3/libsqlite/sqlite3.c     sqlite3DeleteIndexSamples(db, pIdx);
pIdx             89909 ext/sqlite3/libsqlite/sqlite3.c     pIdx->aSample = 0;
pIdx             89940 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx = sqliteHashData(i);
pIdx             89941 ext/sqlite3/libsqlite/sqlite3.c     sqlite3_free(pIdx->aiRowEst);
pIdx             89942 ext/sqlite3/libsqlite/sqlite3.c     pIdx->aiRowEst = 0;
pIdx             91615 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE i16 sqlite3ColumnOfIndex(Index *pIdx, i16 iCol){
pIdx             91617 ext/sqlite3/libsqlite/sqlite3.c   for(i=0; i<pIdx->nColumn; i++){
pIdx             91618 ext/sqlite3/libsqlite/sqlite3.c     if( iCol==pIdx->aiColumn[i] ) return i;
pIdx             92189 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx;
pIdx             92197 ext/sqlite3/libsqlite/sqlite3.c     for(pIdx=p->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             92198 ext/sqlite3/libsqlite/sqlite3.c       assert( pIdx->nKeyCol==1 );
pIdx             92199 ext/sqlite3/libsqlite/sqlite3.c       if( pIdx->aiColumn[0]==i ){
pIdx             92200 ext/sqlite3/libsqlite/sqlite3.c         pIdx->azColl[0] = p->aCol[i].zColl;
pIdx             92298 ext/sqlite3/libsqlite/sqlite3.c static void identPut(char *z, int *pIdx, char *zSignedIdent){
pIdx             92301 ext/sqlite3/libsqlite/sqlite3.c   i = *pIdx;
pIdx             92318 ext/sqlite3/libsqlite/sqlite3.c   *pIdx = i;
pIdx             92394 ext/sqlite3/libsqlite/sqlite3.c static int resizeIndexObject(sqlite3 *db, Index *pIdx, int N){
pIdx             92397 ext/sqlite3/libsqlite/sqlite3.c   if( pIdx->nColumn>=N ) return SQLITE_OK;
pIdx             92398 ext/sqlite3/libsqlite/sqlite3.c   assert( pIdx->isResized==0 );
pIdx             92402 ext/sqlite3/libsqlite/sqlite3.c   memcpy(zExtra, pIdx->azColl, sizeof(char*)*pIdx->nColumn);
pIdx             92403 ext/sqlite3/libsqlite/sqlite3.c   pIdx->azColl = (char**)zExtra;
pIdx             92405 ext/sqlite3/libsqlite/sqlite3.c   memcpy(zExtra, pIdx->aiColumn, sizeof(i16)*pIdx->nColumn);
pIdx             92406 ext/sqlite3/libsqlite/sqlite3.c   pIdx->aiColumn = (i16*)zExtra;
pIdx             92408 ext/sqlite3/libsqlite/sqlite3.c   memcpy(zExtra, pIdx->aSortOrder, pIdx->nColumn);
pIdx             92409 ext/sqlite3/libsqlite/sqlite3.c   pIdx->aSortOrder = (u8*)zExtra;
pIdx             92410 ext/sqlite3/libsqlite/sqlite3.c   pIdx->nColumn = N;
pIdx             92411 ext/sqlite3/libsqlite/sqlite3.c   pIdx->isResized = 1;
pIdx             92432 ext/sqlite3/libsqlite/sqlite3.c static void estimateIndexWidth(Index *pIdx){
pIdx             92435 ext/sqlite3/libsqlite/sqlite3.c   const Column *aCol = pIdx->pTable->aCol;
pIdx             92436 ext/sqlite3/libsqlite/sqlite3.c   for(i=0; i<pIdx->nColumn; i++){
pIdx             92437 ext/sqlite3/libsqlite/sqlite3.c     i16 x = pIdx->aiColumn[i];
pIdx             92438 ext/sqlite3/libsqlite/sqlite3.c     assert( x<pIdx->pTable->nCol );
pIdx             92439 ext/sqlite3/libsqlite/sqlite3.c     wIndex += x<0 ? 1 : aCol[pIdx->aiColumn[i]].szEst;
pIdx             92441 ext/sqlite3/libsqlite/sqlite3.c   pIdx->szIdxRow = sqlite3LogEst(wIndex*4);
pIdx             92475 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;
pIdx             92549 ext/sqlite3/libsqlite/sqlite3.c   for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             92551 ext/sqlite3/libsqlite/sqlite3.c     if( IsPrimaryKeyIndex(pIdx) ) continue;
pIdx             92553 ext/sqlite3/libsqlite/sqlite3.c       if( !hasColumn(pIdx->aiColumn, pIdx->nKeyCol, pPk->aiColumn[i]) ) n++;
pIdx             92557 ext/sqlite3/libsqlite/sqlite3.c       pIdx->nColumn = pIdx->nKeyCol;
pIdx             92560 ext/sqlite3/libsqlite/sqlite3.c     if( resizeIndexObject(db, pIdx, pIdx->nKeyCol+n) ) return;
pIdx             92561 ext/sqlite3/libsqlite/sqlite3.c     for(i=0, j=pIdx->nKeyCol; i<nPk; i++){
pIdx             92562 ext/sqlite3/libsqlite/sqlite3.c       if( !hasColumn(pIdx->aiColumn, pIdx->nKeyCol, pPk->aiColumn[i]) ){
pIdx             92563 ext/sqlite3/libsqlite/sqlite3.c         pIdx->aiColumn[j] = pPk->aiColumn[i];
pIdx             92564 ext/sqlite3/libsqlite/sqlite3.c         pIdx->azColl[j] = pPk->azColl[i];
pIdx             92568 ext/sqlite3/libsqlite/sqlite3.c     assert( pIdx->nColumn>=pIdx->nKeyCol+n );
pIdx             92569 ext/sqlite3/libsqlite/sqlite3.c     assert( pIdx->nColumn>=j );
pIdx             92621 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;              /* An implied index of the table */
pIdx             92668 ext/sqlite3/libsqlite/sqlite3.c   for(pIdx=p->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             92669 ext/sqlite3/libsqlite/sqlite3.c     estimateIndexWidth(pIdx);
pIdx             93052 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx = sqliteHashData(pElem);
pIdx             93053 ext/sqlite3/libsqlite/sqlite3.c     if( pIdx->tnum==iFrom ){
pIdx             93054 ext/sqlite3/libsqlite/sqlite3.c       pIdx->tnum = iTo;
pIdx             93096 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;
pIdx             93099 ext/sqlite3/libsqlite/sqlite3.c   for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             93100 ext/sqlite3/libsqlite/sqlite3.c     destroyRootPage(pParse, pIdx->tnum, iDb);
pIdx             93123 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx;
pIdx             93129 ext/sqlite3/libsqlite/sqlite3.c     for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             93130 ext/sqlite3/libsqlite/sqlite3.c       int iIdx = pIdx->tnum;
pIdx             93131 ext/sqlite3/libsqlite/sqlite3.c       assert( pIdx->pSchema==pTab->pSchema );
pIdx             93958 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx;
pIdx             93959 ext/sqlite3/libsqlite/sqlite3.c     for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             93961 ext/sqlite3/libsqlite/sqlite3.c       assert( IsUniqueIndex(pIdx) );
pIdx             93962 ext/sqlite3/libsqlite/sqlite3.c       assert( pIdx->idxType!=SQLITE_IDXTYPE_APPDEF );
pIdx             93965 ext/sqlite3/libsqlite/sqlite3.c       if( pIdx->nKeyCol!=pIndex->nKeyCol ) continue;
pIdx             93966 ext/sqlite3/libsqlite/sqlite3.c       for(k=0; k<pIdx->nKeyCol; k++){
pIdx             93969 ext/sqlite3/libsqlite/sqlite3.c         if( pIdx->aiColumn[k]!=pIndex->aiColumn[k] ) break;
pIdx             93970 ext/sqlite3/libsqlite/sqlite3.c         z1 = pIdx->azColl[k];
pIdx             93974 ext/sqlite3/libsqlite/sqlite3.c       if( k==pIdx->nKeyCol ){
pIdx             93975 ext/sqlite3/libsqlite/sqlite3.c         if( pIdx->onError!=pIndex->onError ){
pIdx             93983 ext/sqlite3/libsqlite/sqlite3.c           if( !(pIdx->onError==OE_Default || pIndex->onError==OE_Default) ){
pIdx             93987 ext/sqlite3/libsqlite/sqlite3.c           if( pIdx->onError==OE_Default ){
pIdx             93988 ext/sqlite3/libsqlite/sqlite3.c             pIdx->onError = pIndex->onError;
pIdx             93991 ext/sqlite3/libsqlite/sqlite3.c         pRet = pIdx;
pIdx             94133 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE void sqlite3DefaultRowEst(Index *pIdx){
pIdx             94136 ext/sqlite3/libsqlite/sqlite3.c   LogEst *a = pIdx->aiRowLogEst;
pIdx             94137 ext/sqlite3/libsqlite/sqlite3.c   int nCopy = MIN(ArraySize(aVal), pIdx->nKeyCol);
pIdx             94143 ext/sqlite3/libsqlite/sqlite3.c   a[0] = pIdx->pTable->nRowLogEst;
pIdx             94149 ext/sqlite3/libsqlite/sqlite3.c   for(i=nCopy+1; i<=pIdx->nKeyCol; i++){
pIdx             94154 ext/sqlite3/libsqlite/sqlite3.c   if( IsUniqueIndex(pIdx) ) a[pIdx->nKeyCol] = 0;
pIdx             94247 ext/sqlite3/libsqlite/sqlite3.c   int *pIdx         /* Write the index of a new slot here */
pIdx             94255 ext/sqlite3/libsqlite/sqlite3.c       *pIdx = -1;
pIdx             94262 ext/sqlite3/libsqlite/sqlite3.c   *pIdx = n;
pIdx             94823 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx       /* The index that triggers the constraint */
pIdx             94828 ext/sqlite3/libsqlite/sqlite3.c   Table *pTab = pIdx->pTable;
pIdx             94831 ext/sqlite3/libsqlite/sqlite3.c   for(j=0; j<pIdx->nKeyCol; j++){
pIdx             94832 ext/sqlite3/libsqlite/sqlite3.c     char *zCol = pTab->aCol[pIdx->aiColumn[j]].zName;
pIdx             94840 ext/sqlite3/libsqlite/sqlite3.c     IsPrimaryKeyIndex(pIdx) ? SQLITE_CONSTRAINT_PRIMARYKEY 
pIdx             95007 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoOfIndex(Parse *pParse, Index *pIdx){
pIdx             95009 ext/sqlite3/libsqlite/sqlite3.c   int nCol = pIdx->nColumn;
pIdx             95010 ext/sqlite3/libsqlite/sqlite3.c   int nKey = pIdx->nKeyCol;
pIdx             95013 ext/sqlite3/libsqlite/sqlite3.c   if( pIdx->uniqNotNull ){
pIdx             95021 ext/sqlite3/libsqlite/sqlite3.c       char *zColl = pIdx->azColl[i];
pIdx             95025 ext/sqlite3/libsqlite/sqlite3.c       pKey->aSortOrder[i] = pIdx->aSortOrder[i];
pIdx             95811 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;           /* For looping over indices of the table */
pIdx             95895 ext/sqlite3/libsqlite/sqlite3.c   for(nIdx=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, nIdx++){
pIdx             95955 ext/sqlite3/libsqlite/sqlite3.c     for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             95956 ext/sqlite3/libsqlite/sqlite3.c       assert( pIdx->pSchema==pTab->pSchema );
pIdx             95957 ext/sqlite3/libsqlite/sqlite3.c       sqlite3VdbeAddOp2(v, OP_Clear, pIdx->tnum, iDb);
pIdx             96112 ext/sqlite3/libsqlite/sqlite3.c       for(i=0, pIdx=pTab->pIndex; pIdx; i++, pIdx=pIdx->pNext){
pIdx             96312 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;       /* Current index */
pIdx             96319 ext/sqlite3/libsqlite/sqlite3.c   for(i=0, pIdx=pTab->pIndex; pIdx; i++, pIdx=pIdx->pNext){
pIdx             96320 ext/sqlite3/libsqlite/sqlite3.c     assert( iIdxCur+i!=iDataCur || pPk==pIdx );
pIdx             96322 ext/sqlite3/libsqlite/sqlite3.c     if( pIdx==pPk ) continue;
pIdx             96323 ext/sqlite3/libsqlite/sqlite3.c     VdbeModuleComment((v, "GenRowIdxDel for %s", pIdx->zName));
pIdx             96324 ext/sqlite3/libsqlite/sqlite3.c     r1 = sqlite3GenerateIndexKey(pParse, pIdx, iDataCur, 0, 1,
pIdx             96327 ext/sqlite3/libsqlite/sqlite3.c                       pIdx->uniqNotNull ? pIdx->nKeyCol : pIdx->nColumn);
pIdx             96329 ext/sqlite3/libsqlite/sqlite3.c     pPrior = pIdx;
pIdx             96366 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx,         /* The index for which to generate a key */
pIdx             96376 ext/sqlite3/libsqlite/sqlite3.c   Table *pTab = pIdx->pTable;
pIdx             96381 ext/sqlite3/libsqlite/sqlite3.c     if( pIdx->pPartIdxWhere ){
pIdx             96385 ext/sqlite3/libsqlite/sqlite3.c       sqlite3ExprIfFalse(pParse, pIdx->pPartIdxWhere, *piPartIdxLabel, 
pIdx             96391 ext/sqlite3/libsqlite/sqlite3.c   nCol = (prefixOnly && pIdx->uniqNotNull) ? pIdx->nKeyCol : pIdx->nColumn;
pIdx             96395 ext/sqlite3/libsqlite/sqlite3.c     if( pPrior && pPrior->aiColumn[j]==pIdx->aiColumn[j] ) continue;
pIdx             96396 ext/sqlite3/libsqlite/sqlite3.c     sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur, pIdx->aiColumn[j],
pIdx             98417 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx = 0;                    /* Value to return via *ppIdx */
pIdx             98454 ext/sqlite3/libsqlite/sqlite3.c   for(pIdx=pParent->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             98455 ext/sqlite3/libsqlite/sqlite3.c     if( pIdx->nKeyCol==nCol && IsUniqueIndex(pIdx) ){ 
pIdx             98464 ext/sqlite3/libsqlite/sqlite3.c         if( IsPrimaryKeyIndex(pIdx) ){
pIdx             98478 ext/sqlite3/libsqlite/sqlite3.c           i16 iCol = pIdx->aiColumn[i];     /* Index of column in parent tbl */
pIdx             98489 ext/sqlite3/libsqlite/sqlite3.c           if( sqlite3StrICmp(pIdx->azColl[i], zDfltColl) ) break;
pIdx             98505 ext/sqlite3/libsqlite/sqlite3.c   if( !pIdx ){
pIdx             98515 ext/sqlite3/libsqlite/sqlite3.c   *ppIdx = pIdx;
pIdx             98549 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx,          /* Unique index on parent key columns in pTab */
pIdx             98578 ext/sqlite3/libsqlite/sqlite3.c     if( pIdx==0 ){
pIdx             98613 ext/sqlite3/libsqlite/sqlite3.c       sqlite3VdbeAddOp3(v, OP_OpenRead, iCur, pIdx->tnum, iDb);
pIdx             98614 ext/sqlite3/libsqlite/sqlite3.c       sqlite3VdbeSetP4KeyInfo(pParse, pIdx);
pIdx             98633 ext/sqlite3/libsqlite/sqlite3.c           int iParent = pIdx->aiColumn[i]+1+regData;
pIdx             98635 ext/sqlite3/libsqlite/sqlite3.c           if( pIdx->aiColumn[i]==pTab->iPKey ){
pIdx             98646 ext/sqlite3/libsqlite/sqlite3.c                         sqlite3IndexAffinityStr(v,pIdx), nCol);
pIdx             98768 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx,                    /* Index on parent covering the foreign key */
pIdx             98782 ext/sqlite3/libsqlite/sqlite3.c   assert( pIdx==0 || pIdx->pTable==pTab );
pIdx             98783 ext/sqlite3/libsqlite/sqlite3.c   assert( pIdx==0 || pIdx->nKeyCol==pFKey->nCol );
pIdx             98784 ext/sqlite3/libsqlite/sqlite3.c   assert( pIdx!=0 || pFKey->nCol==1 );
pIdx             98785 ext/sqlite3/libsqlite/sqlite3.c   assert( pIdx!=0 || HasRowid(pTab) );
pIdx             98807 ext/sqlite3/libsqlite/sqlite3.c     iCol = pIdx ? pIdx->aiColumn[i] : -1;
pIdx             98839 ext/sqlite3/libsqlite/sqlite3.c       assert( pIdx!=0 );
pIdx             98841 ext/sqlite3/libsqlite/sqlite3.c         i16 iCol = pIdx->aiColumn[i];
pIdx             99105 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx = 0;              /* Index on key columns in pTo */
pIdx             99128 ext/sqlite3/libsqlite/sqlite3.c     if( !pTo || sqlite3FkLocateIndex(pParse, pTo, pFKey, &pIdx, &aiFree) ){
pIdx             99149 ext/sqlite3/libsqlite/sqlite3.c     assert( pFKey->nCol==1 || (aiFree && pIdx) );
pIdx             99167 ext/sqlite3/libsqlite/sqlite3.c         char *zCol = pTo->aCol[pIdx ? pIdx->aiColumn[i] : pTo->iPKey].zName;
pIdx             99184 ext/sqlite3/libsqlite/sqlite3.c       fkLookupParent(pParse, iDb, pTo, pIdx, pFKey, aiCol, regOld, -1, bIgnore);
pIdx             99195 ext/sqlite3/libsqlite/sqlite3.c       fkLookupParent(pParse, iDb, pTo, pIdx, pFKey, aiCol, regNew, +1, bIgnore);
pIdx             99204 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx = 0;              /* Foreign key index for pFKey */
pIdx             99221 ext/sqlite3/libsqlite/sqlite3.c     if( sqlite3FkLocateIndex(pParse, pTab, pFKey, &pIdx, &aiCol) ){
pIdx             99238 ext/sqlite3/libsqlite/sqlite3.c         fkScanChildren(pParse, pSrc, pTab, pIdx, pFKey, aiCol, regNew, -1);
pIdx             99242 ext/sqlite3/libsqlite/sqlite3.c         fkScanChildren(pParse, pSrc, pTab, pIdx, pFKey, aiCol, regOld, 1);
pIdx             99289 ext/sqlite3/libsqlite/sqlite3.c       Index *pIdx = 0;
pIdx             99290 ext/sqlite3/libsqlite/sqlite3.c       sqlite3FkLocateIndex(pParse, pTab, p, &pIdx, 0);
pIdx             99291 ext/sqlite3/libsqlite/sqlite3.c       if( pIdx ){
pIdx             99292 ext/sqlite3/libsqlite/sqlite3.c         for(i=0; i<pIdx->nKeyCol; i++) mask |= COLUMN_MASK(pIdx->aiColumn[i]);
pIdx             99392 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx = 0;              /* Parent key index for this FK */
pIdx             99401 ext/sqlite3/libsqlite/sqlite3.c     if( sqlite3FkLocateIndex(pParse, pTab, pFKey, &pIdx, &aiCol) ) return 0;
pIdx             99414 ext/sqlite3/libsqlite/sqlite3.c       assert( pIdx!=0 || (pTab->iPKey>=0 && pTab->iPKey<pTab->nCol) );
pIdx             99415 ext/sqlite3/libsqlite/sqlite3.c       tToCol.z = pTab->aCol[pIdx ? pIdx->aiColumn[i] : pTab->iPKey].zName;
pIdx             99702 ext/sqlite3/libsqlite/sqlite3.c SQLITE_PRIVATE const char *sqlite3IndexAffinityStr(Vdbe *v, Index *pIdx){
pIdx             99703 ext/sqlite3/libsqlite/sqlite3.c   if( !pIdx->zColAff ){
pIdx             99713 ext/sqlite3/libsqlite/sqlite3.c     Table *pTab = pIdx->pTable;
pIdx             99715 ext/sqlite3/libsqlite/sqlite3.c     pIdx->zColAff = (char *)sqlite3DbMallocRaw(0, pIdx->nColumn+1);
pIdx             99716 ext/sqlite3/libsqlite/sqlite3.c     if( !pIdx->zColAff ){
pIdx             99720 ext/sqlite3/libsqlite/sqlite3.c     for(n=0; n<pIdx->nColumn; n++){
pIdx             99721 ext/sqlite3/libsqlite/sqlite3.c       i16 x = pIdx->aiColumn[n];
pIdx             99722 ext/sqlite3/libsqlite/sqlite3.c       pIdx->zColAff[n] = x<0 ? SQLITE_AFF_INTEGER : pTab->aCol[x].affinity;
pIdx             99724 ext/sqlite3/libsqlite/sqlite3.c     pIdx->zColAff[n] = 0;
pIdx             99727 ext/sqlite3/libsqlite/sqlite3.c   return pIdx->zColAff;
pIdx             100082 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;          /* For looping over indices of the table */
pIdx             100630 ext/sqlite3/libsqlite/sqlite3.c     for(idx=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, idx++){
pIdx             100773 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;         /* Pointer to one of the indices */
pIdx             100913 ext/sqlite3/libsqlite/sqlite3.c       for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             100914 ext/sqlite3/libsqlite/sqlite3.c         if( pIdx->onError==OE_Ignore || pIdx->onError==OE_Fail ){
pIdx             100996 ext/sqlite3/libsqlite/sqlite3.c   for(ix=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, ix++){
pIdx             101011 ext/sqlite3/libsqlite/sqlite3.c     if( pIdx->pPartIdxWhere ){
pIdx             101014 ext/sqlite3/libsqlite/sqlite3.c       sqlite3ExprIfFalse(pParse, pIdx->pPartIdxWhere, addrUniqueOk,
pIdx             101022 ext/sqlite3/libsqlite/sqlite3.c     regIdx = sqlite3GetTempRange(pParse, pIdx->nColumn);
pIdx             101023 ext/sqlite3/libsqlite/sqlite3.c     for(i=0; i<pIdx->nColumn; i++){
pIdx             101024 ext/sqlite3/libsqlite/sqlite3.c       int iField = pIdx->aiColumn[i];
pIdx             101029 ext/sqlite3/libsqlite/sqlite3.c         regRowid =  pIdx->pPartIdxWhere ? -1 : regIdx+i;
pIdx             101036 ext/sqlite3/libsqlite/sqlite3.c     sqlite3VdbeAddOp3(v, OP_MakeRecord, regIdx, pIdx->nColumn, aRegIdx[ix]);
pIdx             101037 ext/sqlite3/libsqlite/sqlite3.c     VdbeComment((v, "for %s", pIdx->zName));
pIdx             101038 ext/sqlite3/libsqlite/sqlite3.c     sqlite3ExprCacheAffinityChange(pParse, regIdx, pIdx->nColumn);
pIdx             101044 ext/sqlite3/libsqlite/sqlite3.c     if( isUpdate && pPk==pIdx && pkChng==0 ){
pIdx             101050 ext/sqlite3/libsqlite/sqlite3.c     onError = pIdx->onError;
pIdx             101052 ext/sqlite3/libsqlite/sqlite3.c       sqlite3ReleaseTempRange(pParse, regIdx, pIdx->nColumn);
pIdx             101064 ext/sqlite3/libsqlite/sqlite3.c                          regIdx, pIdx->nKeyCol); VdbeCoverage(v);
pIdx             101067 ext/sqlite3/libsqlite/sqlite3.c     regR = (pIdx==pPk) ? regIdx : sqlite3GetTempRange(pParse, nPkField);
pIdx             101082 ext/sqlite3/libsqlite/sqlite3.c         if( pIdx!=pPk ){
pIdx             101084 ext/sqlite3/libsqlite/sqlite3.c             x = sqlite3ColumnOfIndex(pIdx, pPk->aiColumn[i]);
pIdx             101100 ext/sqlite3/libsqlite/sqlite3.c           int regCmp = (IsPrimaryKeyIndex(pIdx) ? regIdx : regR);
pIdx             101127 ext/sqlite3/libsqlite/sqlite3.c         sqlite3UniqueConstraint(pParse, onError, pIdx);
pIdx             101142 ext/sqlite3/libsqlite/sqlite3.c                                  regR, nPkField, 0, OE_Replace, pIdx==pPk);
pIdx             101148 ext/sqlite3/libsqlite/sqlite3.c     sqlite3ReleaseTempRange(pParse, regIdx, pIdx->nColumn);
pIdx             101181 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;        /* An index being inserted or updated */
pIdx             101191 ext/sqlite3/libsqlite/sqlite3.c   for(i=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, i++){
pIdx             101194 ext/sqlite3/libsqlite/sqlite3.c     if( pIdx->pPartIdxWhere ){
pIdx             101201 ext/sqlite3/libsqlite/sqlite3.c     if( IsPrimaryKeyIndex(pIdx) && !HasRowid(pTab) ){
pIdx             101265 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;
pIdx             101287 ext/sqlite3/libsqlite/sqlite3.c   for(i=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, i++){
pIdx             101289 ext/sqlite3/libsqlite/sqlite3.c     assert( pIdx->pSchema==pTab->pSchema );
pIdx             101290 ext/sqlite3/libsqlite/sqlite3.c     if( IsPrimaryKeyIndex(pIdx) && !HasRowid(pTab) && piDataCur ){
pIdx             101294 ext/sqlite3/libsqlite/sqlite3.c       sqlite3VdbeAddOp3(v, op, iIdxCur, pIdx->tnum, iDb);
pIdx             101295 ext/sqlite3/libsqlite/sqlite3.c       sqlite3VdbeSetP4KeyInfo(pParse, pIdx);
pIdx             101296 ext/sqlite3/libsqlite/sqlite3.c       VdbeComment((v, "%s", pIdx->zName));
pIdx             104646 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx;
pIdx             104665 ext/sqlite3/libsqlite/sqlite3.c       for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             104666 ext/sqlite3/libsqlite/sqlite3.c         sqlite3VdbeAddOp4(v, OP_String8, 0, 2, 0, pIdx->zName, 0);
pIdx             104668 ext/sqlite3/libsqlite/sqlite3.c                              (int)sqlite3LogEstToInt(pIdx->szIdxRow), 3);
pIdx             104670 ext/sqlite3/libsqlite/sqlite3.c             (int)sqlite3LogEstToInt(pIdx->aiRowLogEst[0]), 4);
pIdx             104678 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx;
pIdx             104680 ext/sqlite3/libsqlite/sqlite3.c     pIdx = sqlite3FindIndex(db, zRight, zDb);
pIdx             104681 ext/sqlite3/libsqlite/sqlite3.c     if( pIdx ){
pIdx             104686 ext/sqlite3/libsqlite/sqlite3.c         mx = pIdx->nColumn;
pIdx             104690 ext/sqlite3/libsqlite/sqlite3.c         mx = pIdx->nKeyCol;
pIdx             104693 ext/sqlite3/libsqlite/sqlite3.c       pTab = pIdx->pTable;
pIdx             104705 ext/sqlite3/libsqlite/sqlite3.c         i16 cnum = pIdx->aiColumn[i];
pIdx             104714 ext/sqlite3/libsqlite/sqlite3.c           sqlite3VdbeAddOp2(v, OP_Integer, pIdx->aSortOrder[i], 4);
pIdx             104715 ext/sqlite3/libsqlite/sqlite3.c           sqlite3VdbeAddOp4(v, OP_String8, 0, 5, 0, pIdx->azColl[i], 0);
pIdx             104716 ext/sqlite3/libsqlite/sqlite3.c           sqlite3VdbeAddOp2(v, OP_Integer, i<pIdx->nKeyCol, 6);
pIdx             104725 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx;
pIdx             104739 ext/sqlite3/libsqlite/sqlite3.c       for(pIdx=pTab->pIndex, i=0; pIdx; pIdx=pIdx->pNext, i++){
pIdx             104742 ext/sqlite3/libsqlite/sqlite3.c         sqlite3VdbeAddOp4(v, OP_String8, 0, 2, 0, pIdx->zName, 0);
pIdx             104743 ext/sqlite3/libsqlite/sqlite3.c         sqlite3VdbeAddOp2(v, OP_Integer, IsUniqueIndex(pIdx), 3);
pIdx             104744 ext/sqlite3/libsqlite/sqlite3.c         sqlite3VdbeAddOp4(v, OP_String8, 0, 4, 0, azOrigin[pIdx->idxType], 0);
pIdx             104745 ext/sqlite3/libsqlite/sqlite3.c         sqlite3VdbeAddOp2(v, OP_Integer, pIdx->pPartIdxWhere!=0, 5);
pIdx             104841 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx;           /* Index in the parent table */
pIdx             104882 ext/sqlite3/libsqlite/sqlite3.c         pIdx = 0;
pIdx             104884 ext/sqlite3/libsqlite/sqlite3.c         x = sqlite3FkLocateIndex(pParse, pParent, pFK, &pIdx, 0);
pIdx             104886 ext/sqlite3/libsqlite/sqlite3.c           if( pIdx==0 ){
pIdx             104889 ext/sqlite3/libsqlite/sqlite3.c             sqlite3VdbeAddOp3(v, OP_OpenRead, i, pIdx->tnum, iDb);
pIdx             104890 ext/sqlite3/libsqlite/sqlite3.c             sqlite3VdbeSetP4KeyInfo(pParse, pIdx);
pIdx             104903 ext/sqlite3/libsqlite/sqlite3.c         pIdx = 0;
pIdx             104906 ext/sqlite3/libsqlite/sqlite3.c           x = sqlite3FkLocateIndex(pParse, pParent, pFK, &pIdx, &aiCols);
pIdx             104910 ext/sqlite3/libsqlite/sqlite3.c         if( pParent && pIdx==0 ){
pIdx             104933 ext/sqlite3/libsqlite/sqlite3.c                               sqlite3IndexAffinityStr(v,pIdx), pFK->nCol);
pIdx             105054 ext/sqlite3/libsqlite/sqlite3.c         Index *pIdx;
pIdx             105060 ext/sqlite3/libsqlite/sqlite3.c         for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             105061 ext/sqlite3/libsqlite/sqlite3.c           sqlite3VdbeAddOp2(v, OP_Integer, pIdx->tnum, 2+cnt);
pIdx             105062 ext/sqlite3/libsqlite/sqlite3.c           VdbeComment((v, "%s", pIdx->zName));
pIdx             105086 ext/sqlite3/libsqlite/sqlite3.c         Index *pIdx, *pPk;
pIdx             105102 ext/sqlite3/libsqlite/sqlite3.c         for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){
pIdx             105128 ext/sqlite3/libsqlite/sqlite3.c         for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){
pIdx             105131 ext/sqlite3/libsqlite/sqlite3.c           if( pPk==pIdx ) continue;
pIdx             105132 ext/sqlite3/libsqlite/sqlite3.c           r1 = sqlite3GenerateIndexKey(pParse, pIdx, iDataCur, 0, 0, &jmp3,
pIdx             105134 ext/sqlite3/libsqlite/sqlite3.c           pPrior = pIdx;
pIdx             105138 ext/sqlite3/libsqlite/sqlite3.c                                       pIdx->nColumn); VdbeCoverage(v);
pIdx             105146 ext/sqlite3/libsqlite/sqlite3.c                                    pIdx->zName, P4_TRANSIENT);
pIdx             105155 ext/sqlite3/libsqlite/sqlite3.c           if( IsUniqueIndex(pIdx) ){
pIdx             105159 ext/sqlite3/libsqlite/sqlite3.c             for(kk=0; kk<pIdx->nKeyCol; kk++){
pIdx             105160 ext/sqlite3/libsqlite/sqlite3.c               int iCol = pIdx->aiColumn[kk];
pIdx             105170 ext/sqlite3/libsqlite/sqlite3.c                                  pIdx->nKeyCol); VdbeCoverage(v);
pIdx             105185 ext/sqlite3/libsqlite/sqlite3.c         for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){
pIdx             105186 ext/sqlite3/libsqlite/sqlite3.c           if( pPk==pIdx ) continue;
pIdx             105194 ext/sqlite3/libsqlite/sqlite3.c           sqlite3VdbeAddOp4(v, OP_String8, 0, 3, 0, pIdx->zName, P4_TRANSIENT);
pIdx             110281 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx;
pIdx             110282 ext/sqlite3/libsqlite/sqlite3.c     for(pIdx=pTab->pIndex; 
pIdx             110283 ext/sqlite3/libsqlite/sqlite3.c         pIdx && sqlite3StrICmp(pIdx->zName, zIndex); 
pIdx             110284 ext/sqlite3/libsqlite/sqlite3.c         pIdx=pIdx->pNext
pIdx             110286 ext/sqlite3/libsqlite/sqlite3.c     if( !pIdx ){
pIdx             110291 ext/sqlite3/libsqlite/sqlite3.c     pFrom->pIndex = pIdx;
pIdx             111141 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx                     /* Index used to optimize scan, or NULL */
pIdx             111144 ext/sqlite3/libsqlite/sqlite3.c     int bCover = (pIdx!=0 && (HasRowid(pTab) || !IsPrimaryKeyIndex(pIdx)));
pIdx             111148 ext/sqlite3/libsqlite/sqlite3.c         bCover ? pIdx->zName : ""
pIdx             111822 ext/sqlite3/libsqlite/sqlite3.c         Index *pIdx;                         /* Iterator variable */
pIdx             111840 ext/sqlite3/libsqlite/sqlite3.c         for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             111841 ext/sqlite3/libsqlite/sqlite3.c           if( pIdx->bUnordered==0
pIdx             111842 ext/sqlite3/libsqlite/sqlite3.c            && pIdx->szIdxRow<pTab->szTabRow
pIdx             111843 ext/sqlite3/libsqlite/sqlite3.c            && pIdx->pPartIdxWhere==0
pIdx             111844 ext/sqlite3/libsqlite/sqlite3.c            && (!pBest || pIdx->szIdxRow<pBest->szIdxRow)
pIdx             111846 ext/sqlite3/libsqlite/sqlite3.c             pBest = pIdx;
pIdx             113499 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;           /* For looping over indices */
pIdx             113587 ext/sqlite3/libsqlite/sqlite3.c   for(nIdx=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, nIdx++){
pIdx             113588 ext/sqlite3/libsqlite/sqlite3.c     if( IsPrimaryKeyIndex(pIdx) && pPk!=0 ){
pIdx             113675 ext/sqlite3/libsqlite/sqlite3.c   for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){
pIdx             113677 ext/sqlite3/libsqlite/sqlite3.c     if( chngKey || hasFK || pIdx->pPartIdxWhere || pIdx==pPk ){
pIdx             113681 ext/sqlite3/libsqlite/sqlite3.c       for(i=0; i<pIdx->nKeyCol; i++){
pIdx             113682 ext/sqlite3/libsqlite/sqlite3.c         if( aXRef[pIdx->aiColumn[i]]>=0 ){
pIdx             113815 ext/sqlite3/libsqlite/sqlite3.c       for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             113816 ext/sqlite3/libsqlite/sqlite3.c         if( pIdx->onError==OE_Replace ){
pIdx             114033 ext/sqlite3/libsqlite/sqlite3.c   for(i=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, i++){
pIdx             116708 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx             /* Must be compatible with this index */
pIdx             116715 ext/sqlite3/libsqlite/sqlite3.c   if( pIdx && iColumn>=0 ){
pIdx             116716 ext/sqlite3/libsqlite/sqlite3.c     pScan->idxaff = pIdx->pTable->aCol[iColumn].affinity;
pIdx             116717 ext/sqlite3/libsqlite/sqlite3.c     for(j=0; pIdx->aiColumn[j]!=iColumn; j++){
pIdx             116718 ext/sqlite3/libsqlite/sqlite3.c       if( NEVER(j>pIdx->nColumn) ) return 0;
pIdx             116720 ext/sqlite3/libsqlite/sqlite3.c     pScan->zCollName = pIdx->azColl[j];
pIdx             116763 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx           /* Must be compatible with this index, if not NULL */
pIdx             116769 ext/sqlite3/libsqlite/sqlite3.c   p = whereScanInit(&scan, pWC, iCur, iColumn, op, pIdx);
pIdx             117697 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx,                    /* Index to match column of */
pIdx             117701 ext/sqlite3/libsqlite/sqlite3.c   const char *zColl = pIdx->azColl[iCol];
pIdx             117706 ext/sqlite3/libsqlite/sqlite3.c      && p->iColumn==pIdx->aiColumn[iCol]
pIdx             117733 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;
pIdx             117766 ext/sqlite3/libsqlite/sqlite3.c   for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             117767 ext/sqlite3/libsqlite/sqlite3.c     if( !IsUniqueIndex(pIdx) ) continue;
pIdx             117768 ext/sqlite3/libsqlite/sqlite3.c     for(i=0; i<pIdx->nKeyCol; i++){
pIdx             117769 ext/sqlite3/libsqlite/sqlite3.c       i16 iCol = pIdx->aiColumn[i];
pIdx             117770 ext/sqlite3/libsqlite/sqlite3.c       if( 0==findTerm(pWC, iBase, iCol, ~(Bitmask)0, WO_EQ, pIdx) ){
pIdx             117771 ext/sqlite3/libsqlite/sqlite3.c         int iIdxCol = findIndexCol(pParse, pDistinct, iBase, pIdx, i);
pIdx             117777 ext/sqlite3/libsqlite/sqlite3.c     if( i==pIdx->nKeyCol ){
pIdx             117878 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;                /* Object describing the transient index */
pIdx             117966 ext/sqlite3/libsqlite/sqlite3.c   pIdx = sqlite3AllocateIndexObject(pParse->db, nKeyCol+1, 0, &zNotUsed);
pIdx             117967 ext/sqlite3/libsqlite/sqlite3.c   if( pIdx==0 ) goto end_auto_index_create;
pIdx             117968 ext/sqlite3/libsqlite/sqlite3.c   pLoop->u.btree.pIndex = pIdx;
pIdx             117969 ext/sqlite3/libsqlite/sqlite3.c   pIdx->zName = "auto-index";
pIdx             117970 ext/sqlite3/libsqlite/sqlite3.c   pIdx->pTable = pTable;
pIdx             117982 ext/sqlite3/libsqlite/sqlite3.c         pIdx->aiColumn[n] = pTerm->u.leftColumn;
pIdx             117984 ext/sqlite3/libsqlite/sqlite3.c         pIdx->azColl[n] = pColl ? pColl->zName : "BINARY";
pIdx             117995 ext/sqlite3/libsqlite/sqlite3.c       pIdx->aiColumn[n] = i;
pIdx             117996 ext/sqlite3/libsqlite/sqlite3.c       pIdx->azColl[n] = "BINARY";
pIdx             118002 ext/sqlite3/libsqlite/sqlite3.c       pIdx->aiColumn[n] = i;
pIdx             118003 ext/sqlite3/libsqlite/sqlite3.c       pIdx->azColl[n] = "BINARY";
pIdx             118008 ext/sqlite3/libsqlite/sqlite3.c   pIdx->aiColumn[n] = -1;
pIdx             118009 ext/sqlite3/libsqlite/sqlite3.c   pIdx->azColl[n] = "BINARY";
pIdx             118015 ext/sqlite3/libsqlite/sqlite3.c   sqlite3VdbeSetP4KeyInfo(pParse, pIdx);
pIdx             118027 ext/sqlite3/libsqlite/sqlite3.c   sqlite3GenerateIndexKey(pParse, pIdx, pLevel->iTabCur, regRecord, 0, 0, 0, 0);
pIdx             118217 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx,                /* Index to consider domain of */
pIdx             118222 ext/sqlite3/libsqlite/sqlite3.c   IndexSample *aSample = pIdx->aSample;
pIdx             118236 ext/sqlite3/libsqlite/sqlite3.c   assert( pIdx->nSample>0 );
pIdx             118237 ext/sqlite3/libsqlite/sqlite3.c   assert( pRec->nField>0 && pRec->nField<=pIdx->nSampleCol );
pIdx             118285 ext/sqlite3/libsqlite/sqlite3.c   iSample = pIdx->nSample * nField;
pIdx             118326 ext/sqlite3/libsqlite/sqlite3.c       assert( i<pIdx->nSample );
pIdx             118336 ext/sqlite3/libsqlite/sqlite3.c       assert( i<=pIdx->nSample && i>=0 );
pIdx             118338 ext/sqlite3/libsqlite/sqlite3.c       assert( i==pIdx->nSample 
pIdx             118370 ext/sqlite3/libsqlite/sqlite3.c     if( i>=pIdx->nSample ){
pIdx             118371 ext/sqlite3/libsqlite/sqlite3.c       iUpper = sqlite3LogEstToInt(pIdx->aiRowLogEst[0]);
pIdx             118387 ext/sqlite3/libsqlite/sqlite3.c     aStat[1] = pIdx->aAvgEq[iCol];
pIdx             119084 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;                  /* The index being used for this loop */
pIdx             119097 ext/sqlite3/libsqlite/sqlite3.c   pIdx = pLoop->u.btree.pIndex;
pIdx             119098 ext/sqlite3/libsqlite/sqlite3.c   assert( pIdx!=0 );
pIdx             119106 ext/sqlite3/libsqlite/sqlite3.c   zAff = sqlite3DbStrDup(pParse->db, sqlite3IndexAffinityStr(v, pIdx));
pIdx             119116 ext/sqlite3/libsqlite/sqlite3.c     VdbeComment((v, "begin skip-scan on %s", pIdx->zName));
pIdx             119125 ext/sqlite3/libsqlite/sqlite3.c       assert( pIdx->aiColumn[j]>=0 );
pIdx             119126 ext/sqlite3/libsqlite/sqlite3.c       VdbeComment((v, "%s", pIdx->pTable->aCol[pIdx->aiColumn[j]].zName));
pIdx             119293 ext/sqlite3/libsqlite/sqlite3.c       Index *pIdx;
pIdx             119296 ext/sqlite3/libsqlite/sqlite3.c       pIdx = pLoop->u.btree.pIndex;
pIdx             119298 ext/sqlite3/libsqlite/sqlite3.c       if( !HasRowid(pItem->pTab) && IsPrimaryKeyIndex(pIdx) ){
pIdx             119313 ext/sqlite3/libsqlite/sqlite3.c         sqlite3XPrintf(&str, 0, zFmt, pIdx->zName);
pIdx             119701 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx;                 /* The index we will be using */
pIdx             119710 ext/sqlite3/libsqlite/sqlite3.c     pIdx = pLoop->u.btree.pIndex;
pIdx             119727 ext/sqlite3/libsqlite/sqlite3.c      && (pIdx->nKeyCol>nEq)
pIdx             119753 ext/sqlite3/libsqlite/sqlite3.c         testcase( pIdx->aSortOrder[nEq]==SQLITE_SO_DESC );
pIdx             119755 ext/sqlite3/libsqlite/sqlite3.c                           bRev ^ (pIdx->aSortOrder[nEq]==SQLITE_SO_DESC),
pIdx             119761 ext/sqlite3/libsqlite/sqlite3.c        && (j = pIdx->aiColumn[nEq])>=0 
pIdx             119762 ext/sqlite3/libsqlite/sqlite3.c        && pIdx->pTable->aCol[j].notNull==0
pIdx             119782 ext/sqlite3/libsqlite/sqlite3.c     if( (nEq<pIdx->nKeyCol && bRev==(pIdx->aSortOrder[nEq]==SQLITE_SO_ASC))
pIdx             119783 ext/sqlite3/libsqlite/sqlite3.c      || (bRev && pIdx->nKeyCol==nEq)
pIdx             119887 ext/sqlite3/libsqlite/sqlite3.c     }else if( HasRowid(pIdx->pTable) ){
pIdx             119893 ext/sqlite3/libsqlite/sqlite3.c       Index *pPk = sqlite3PrimaryKeyIndex(pIdx->pTable);
pIdx             119896 ext/sqlite3/libsqlite/sqlite3.c         k = sqlite3ColumnOfIndex(pIdx, pPk->aiColumn[j]);
pIdx             121170 ext/sqlite3/libsqlite/sqlite3.c static Bitmask columnsInIndex(Index *pIdx){
pIdx             121173 ext/sqlite3/libsqlite/sqlite3.c   for(j=pIdx->nColumn-1; j>=0; j--){
pIdx             121174 ext/sqlite3/libsqlite/sqlite3.c     int x = pIdx->aiColumn[j];
pIdx             122467 ext/sqlite3/libsqlite/sqlite3.c   Index *pIdx;
pIdx             122490 ext/sqlite3/libsqlite/sqlite3.c     for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
pIdx             122492 ext/sqlite3/libsqlite/sqlite3.c       if( !IsUniqueIndex(pIdx)
pIdx             122493 ext/sqlite3/libsqlite/sqlite3.c        || pIdx->pPartIdxWhere!=0 
pIdx             122494 ext/sqlite3/libsqlite/sqlite3.c        || pIdx->nKeyCol>ArraySize(pLoop->aLTermSpace) 
pIdx             122496 ext/sqlite3/libsqlite/sqlite3.c       for(j=0; j<pIdx->nKeyCol; j++){
pIdx             122497 ext/sqlite3/libsqlite/sqlite3.c         pTerm = findTerm(pWC, iCur, pIdx->aiColumn[j], 0, WO_EQ, pIdx);
pIdx             122501 ext/sqlite3/libsqlite/sqlite3.c       if( j!=pIdx->nKeyCol ) continue;
pIdx             122503 ext/sqlite3/libsqlite/sqlite3.c       if( pIdx->isCovering || (pItem->colUsed & ~columnsInIndex(pIdx))==0 ){
pIdx             122508 ext/sqlite3/libsqlite/sqlite3.c       pLoop->u.btree.pIndex = pIdx;
pIdx             123130 ext/sqlite3/libsqlite/sqlite3.c     Index *pIdx = 0;
pIdx             123193 ext/sqlite3/libsqlite/sqlite3.c       pIdx = pLoop->u.btree.pIndex;
pIdx             123195 ext/sqlite3/libsqlite/sqlite3.c       pIdx = pLevel->u.pCovidx;
pIdx             123197 ext/sqlite3/libsqlite/sqlite3.c     if( pIdx && !db->mallocFailed ){
pIdx             123205 ext/sqlite3/libsqlite/sqlite3.c           assert( pIdx->pTable==pTab );
pIdx             123210 ext/sqlite3/libsqlite/sqlite3.c           x = sqlite3ColumnOfIndex(pIdx, x);