Lines Matching full:pindex
8751 Index *pIndex; /* List of SQL indexes on this table. */
9323 Index *pIndex; /* Index structure corresponding to zIndex, if any */
58446 for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
61399 pNewItem->pIndex = pOldItem->pIndex;
61983 for(pIdx=pTab->pIndex; pIdx && eType==0 && affinity_ok; pIdx=pIdx->pNext){
64883 if( pNew->pIndex ){
65170 if( v==0 || NEVER(pTab==0) || pTab->pIndex==0 ){
65188 for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
65203 if( pTab->pIndex==pIdx ){
65211 ** first index in the pTab->pIndex list, then register regLast has
65213 if( pTab->pIndex==pIdx ){
65496 Index *pIndex;
65507 pIndex = sqlite3FindIndex(pInfo->db, argv[0], pInfo->zDatabase);
65508 if( pIndex==0 ){
65512 for(i=0; *z && i<=pIndex->nColumn; i++){
65518 pIndex->aiRowEst[i] = v;
66854 Index *pIndex;
66859 pIndex = sqlite3HashInsert(pHash, zIdxName, len, 0);
66860 if( pIndex ){
66861 if( pIndex->pTable->pIndex==pIndex ){
66862 pIndex->pTable->pIndex = pIndex->pNext;
66867 p = pIndex->pTable->pIndex;
66868 while( ALWAYS(p) && p->pNext!=pIndex ){ p = p->pNext; }
66869 if( ALWAYS(p && p->pNext==pIndex) ){
66870 p->pNext = pIndex->pNext;
66873 freeIndex(pIndex);
66976 Index *pIndex, *pNext;
66992 for(pIndex = pTable->pIndex; pIndex; pIndex=pNext){
66993 pNext = pIndex->pNext;
66994 assert( pIndex->pSchema==pTable->pSchema );
66995 sqlite3DeleteIndex(pIndex);
67698 for(pIdx=p->pIndex; pIdx; pIdx=pIdx->pNext){
68386 for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
68416 for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
68754 ** the root page number of the index is taken from pIndex->tnum.
68756 static void sqlite3RefillIndex(Parse *pParse, Index *pIndex, int memRootPage){
68757 Table *pTab = pIndex->pTable; /* The table that is indexed */
68759 int iIdx = pParse->nTab++; /* Btree cursor used for pIndex */
68767 int iDb = sqlite3SchemaToIndex(db, pIndex->pSchema);
68770 if( sqlite3AuthCheck(pParse, SQLITE_REINDEX, pIndex->zName, 0,
68784 tnum = pIndex->tnum;
68787 pKey = sqlite3IndexKeyinfo(pParse, pIndex);
68796 regIdxKey = sqlite3GenerateIndexKey(pParse, pIndex, iTab, regRecord, 1);
68797 if( pIndex->onError!=OE_None ){
68798 const int regRowid = regIdxKey + pIndex->nColumn;
68828 ** UNIQUE constraint. If pTable and pIndex are NULL, use pParse->pNewTable
68854 Index *pIndex = 0; /* The index to be created */
68978 for(pLoop=pTab->pIndex, n=1; pLoop; pLoop=pLoop->pNext, n++){}
69034 pIndex = sqlite3DbMallocZero(db,
69046 pIndex->azColl = (char**)(&pIndex[1]);
69047 pIndex->aiColumn = (int *)(&pIndex->azColl[nCol]);
69048 pIndex->aiRowEst = (unsigned *)(&pIndex->aiColumn[nCol]);
69049 pIndex->aSortOrder = (u8 *)(&pIndex->aiRowEst[nCol+1]);
69050 pIndex->zName = (char *)(&pIndex->aSortOrder[nCol]);
69051 zExtra = (char *)(&pIndex->zName[nName+1]);
69052 memcpy(pIndex->zName, zName, nName+1);
69053 pIndex->pTable = pTab;
69054 pIndex->nColumn = pList->nExpr;
69055 pIndex->onError = (u8)onError;
69056 pIndex->autoIndex = (u8)(pName==0);
69057 pIndex->pSchema = db->aDb[iDb].pSchema;
69091 pIndex->aiColumn[i] = j;
69115 pIndex->azColl[i] = zColl;
69117 pIndex->aSortOrder[i] = (u8)requestedSortOrder;
69119 sqlite3DefaultRowEst(pIndex);
69144 for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
69148 assert( pIndex->onError!=OE_None );
69150 if( pIdx->nColumn!=pIndex->nColumn ) continue;
69154 if( pIdx->aiColumn[k]!=pIndex->aiColumn[k] ) break;
69156 z2 = pIndex->azColl[k];
69160 if( pIdx->onError!=pIndex->onError ){
69168 if( !(pIdx->onError==OE_Default || pIndex->onError==OE_Default) ){
69173 pIdx->onError = pIndex->onError;
69186 p = sqlite3HashInsert(&pIndex->pSchema->idxHash,
69187 pIndex->zName, sqlite3Strlen30(pIndex->zName),
69188 pIndex);
69190 assert( p==pIndex ); /* Malloc must have failed */
69196 pIndex->tnum = db->init.newTnum;
69250 pIndex->zName,
69261 sqlite3RefillIndex(pParse, pIndex, iMem);
69264 sqlite3MPrintf(db, "name='%q'", pIndex->zName), P4_DYNAMIC);
69276 if( onError!=OE_Replace || pTab->pIndex==0
69277 || pTab->pIndex->onError==OE_Replace){
69278 pIndex->pNext = pTab->pIndex;
69279 pTab->pIndex = pIndex;
69281 Index *pOther = pTab->pIndex;
69285 pIndex->pNext = pOther->pNext;
69286 pOther->pNext = pIndex;
69288 pRet = pIndex;
69289 pIndex = 0;
69294 if( pIndex ){
69295 sqlite3_free(pIndex->zColAff);
69296 sqlite3DbFree(db, pIndex);
69344 Index *pIndex;
69357 pIndex = sqlite3FindIndex(db, pName->a[0].zName, pName->a[0].zDatabase);
69358 if( pIndex==0 ){
69365 if( pIndex->autoIndex ){
69370 iDb = sqlite3SchemaToIndex(db, pIndex->pSchema);
69374 Table *pTab = pIndex->pTable;
69381 if( sqlite3AuthCheck(pParse, code, pIndex->zName, pTab->zName, zDb) ){
69394 pIndex->zName
69399 db->aDb[iDb].zName, pIndex->zName
69403 destroyRootPage(pParse, pIndex->tnum, iDb);
69404 sqlite3VdbeAddOp4(v, OP_DropIndex, iDb, 0, 0, pIndex->zName, 0);
70013 ** Check to see if pIndex uses the collating sequence pColl. Return
70017 static int collationMatch(const char *zColl, Index *pIndex){
70020 for(i=0; i<pIndex->nColumn; i++){
70021 const char *z = pIndex->azColl[i];
70037 Index *pIndex; /* An index associated with pTab */
70039 for(pIndex=pTab->pIndex; pIndex; pIndex=pIndex->pNext){
70040 if( zColl==0 || collationMatch(zColl, pIndex) ){
70043 sqlite3RefillIndex(pParse, pIndex, -1);
70091 Index *pIndex; /* An index associated with pTab */
70129 pIndex = sqlite3FindIndex(db, z, zDb);
70131 if( pIndex ){
70133 sqlite3RefillIndex(pParse, pIndex, -1);
70921 for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
70977 for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
71038 for(i=1, pIdx=pTab->pIndex; pIdx; i++, pIdx=pIdx->pNext){
71216 for(i=1, pIdx=pTab->pIndex; pIdx; i++, pIdx=pIdx->pNext){
73017 for(pIdx=pParent->pIndex; pIdx; pIdx=pIdx->pNext){
74133 Index *pIndex;
74138 for(pIndex=pTab->pIndex; pIndex; pIndex=pIndex->pNext){
74139 if( tnum==pIndex->tnum ){
75000 for(idx=1, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, idx++){
75283 for(iCur=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, iCur++){
75414 for(nIdx=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, nIdx++){}
75469 for(i=1, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, i++){
75691 for(pDestIdx=pDest->pIndex; pDestIdx; pDestIdx=pDestIdx->pNext){
75695 for(pSrcIdx=pSrc->pIndex; pSrcIdx; pSrcIdx=pSrcIdx->pNext){
75726 if( (pDest->iPKey<0 && pDest->pIndex!=0) || destHasUniqueIdx ){
75754 }else if( pDest->pIndex==0 ){
75765 for(pDestIdx=pDest->pIndex; pDestIdx; pDestIdx=pDestIdx->pNext){
75766 for(pSrcIdx=pSrc->pIndex; ALWAYS(pSrcIdx); pSrcIdx=pSrcIdx->pNext){
77842 pIdx = pTab->pIndex;
78031 for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
78061 if( pTab->pIndex==0 ) continue;
78069 for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){
78096 for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){
78478 Index *pIndex;
78479 pIndex = sqlite3FindIndex(db, argv[0], db->aDb[iDb].zName);
78480 if( pIndex==0 ){
78487 }else if( sqlite3GetInt32(argv[1], &pIndex->tnum)==0 ){
82239 ** pFrom->pIndex and return SQLITE_OK.
82246 for(pIdx=pTab->pIndex;
82254 pFrom->pIndex = pIdx;
83301 for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
84984 for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
85044 for(nIdx=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, nIdx++){}
85049 for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){
85154 for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){
85161 for(i=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, i++){
85335 for(i=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, i++){
86080 assert( 0==pTable->pIndex );
88938 ** If there was an INDEXED BY clause (pSrc->pIndex) attached to the table in
88982 if( pSrc->pIndex ){
88984 pIdx = pProbe = pSrc->pIndex;
88998 pFirst = pSrc->pTab->pIndex;
89236 if( pSrc->pIndex ) break;
89254 assert( pSrc->pIndex==0
89256 || pCost->plan.u.pIdx==pSrc->pIndex
90548 pIdx = pTabList->a[bestJ].pIndex;