pKeyInfo 9680 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo; /* Used when p4type is P4_KEYINFO */ pKeyInfo 11695 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo; /* Collation and sort-order information */ pKeyInfo 14567 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo; /* Info about index keys needed by index cursors */ pKeyInfo 52588 ext/sqlite3/libsqlite/sqlite3.c struct KeyInfo *pKeyInfo; /* Argument passed to comparison function */ pKeyInfo 53778 ext/sqlite3/libsqlite/sqlite3.c pCur->pKeyInfo, aSpace, sizeof(aSpace), &pFree pKeyInfo 53781 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeRecordUnpack(pCur->pKeyInfo, (int)nKey, pKey, pIdxKey); pKeyInfo 53783 ext/sqlite3/libsqlite/sqlite3.c sqlite3DbFree(pCur->pKeyInfo->db, pFree); pKeyInfo 53791 ext/sqlite3/libsqlite/sqlite3.c sqlite3DbFree(pCur->pKeyInfo->db, pFree); pKeyInfo 56883 ext/sqlite3/libsqlite/sqlite3.c struct KeyInfo *pKeyInfo, /* First arg to comparison function */ pKeyInfo 56895 ext/sqlite3/libsqlite/sqlite3.c assert( hasSharedCacheTableLock(p, iTable, pKeyInfo!=0, wrFlag+1) ); pKeyInfo 56919 ext/sqlite3/libsqlite/sqlite3.c pCur->pKeyInfo = pKeyInfo; pKeyInfo 56936 ext/sqlite3/libsqlite/sqlite3.c struct KeyInfo *pKeyInfo, /* First arg to xCompare() */ pKeyInfo 56941 ext/sqlite3/libsqlite/sqlite3.c rc = btreeCursor(p, iTable, wrFlag, pKeyInfo, pCur); pKeyInfo 57693 ext/sqlite3/libsqlite/sqlite3.c if( pRoot->isInit==0 || (pCur->pKeyInfo==0)!=pRoot->intKey ){ pKeyInfo 57875 ext/sqlite3/libsqlite/sqlite3.c assert( (pIdxKey==0)==(pCur->pKeyInfo==0) ); pKeyInfo 60626 ext/sqlite3/libsqlite/sqlite3.c assert( hasSharedCacheTableLock(p, pCur->pgnoRoot, pCur->pKeyInfo!=0, 2) ); pKeyInfo 60633 ext/sqlite3/libsqlite/sqlite3.c assert( (pKey==0)==(pCur->pKeyInfo==0) ); pKeyInfo 60649 ext/sqlite3/libsqlite/sqlite3.c if( pCur->pKeyInfo==0 ){ pKeyInfo 60763 ext/sqlite3/libsqlite/sqlite3.c assert( hasSharedCacheTableLock(p, pCur->pgnoRoot, pCur->pKeyInfo!=0, 2) ); pKeyInfo 60800 ext/sqlite3/libsqlite/sqlite3.c if( pCur->pKeyInfo==0 ){ pKeyInfo 64197 ext/sqlite3/libsqlite/sqlite3.c pRec->pKeyInfo = sqlite3KeyInfoOfIndex(p->pParse, pIdx); pKeyInfo 64198 ext/sqlite3/libsqlite/sqlite3.c if( pRec->pKeyInfo ){ pKeyInfo 64199 ext/sqlite3/libsqlite/sqlite3.c assert( pRec->pKeyInfo->nField+pRec->pKeyInfo->nXField==nCol ); pKeyInfo 64200 ext/sqlite3/libsqlite/sqlite3.c assert( pRec->pKeyInfo->enc==ENC(db) ); pKeyInfo 64733 ext/sqlite3/libsqlite/sqlite3.c int nCol = pRec->pKeyInfo->nField+pRec->pKeyInfo->nXField; pKeyInfo 64739 ext/sqlite3/libsqlite/sqlite3.c sqlite3KeyInfoUnref(pRec->pKeyInfo); pKeyInfo 65834 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo = pOp->p4.pKeyInfo; pKeyInfo 65835 ext/sqlite3/libsqlite/sqlite3.c assert( pKeyInfo->aSortOrder!=0 ); pKeyInfo 65836 ext/sqlite3/libsqlite/sqlite3.c sqlite3_snprintf(nTemp, zTemp, "k(%d", pKeyInfo->nField); pKeyInfo 65838 ext/sqlite3/libsqlite/sqlite3.c for(j=0; j<pKeyInfo->nField; j++){ pKeyInfo 65839 ext/sqlite3/libsqlite/sqlite3.c CollSeq *pColl = pKeyInfo->aColl[j]; pKeyInfo 65851 ext/sqlite3/libsqlite/sqlite3.c if( pKeyInfo->aSortOrder[j] ){ pKeyInfo 67967 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo, /* Description of the record */ pKeyInfo 67981 ext/sqlite3/libsqlite/sqlite3.c nByte = ROUND8(sizeof(UnpackedRecord)) + sizeof(Mem)*(pKeyInfo->nField+1); pKeyInfo 67983 ext/sqlite3/libsqlite/sqlite3.c p = (UnpackedRecord *)sqlite3DbMallocRaw(pKeyInfo->db, nByte); pKeyInfo 67992 ext/sqlite3/libsqlite/sqlite3.c assert( pKeyInfo->aSortOrder!=0 ); pKeyInfo 67993 ext/sqlite3/libsqlite/sqlite3.c p->pKeyInfo = pKeyInfo; pKeyInfo 67994 ext/sqlite3/libsqlite/sqlite3.c p->nField = pKeyInfo->nField + 1; pKeyInfo 68004 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo, /* Information about the record format */ pKeyInfo 68025 ext/sqlite3/libsqlite/sqlite3.c pMem->enc = pKeyInfo->enc; pKeyInfo 68026 ext/sqlite3/libsqlite/sqlite3.c pMem->db = pKeyInfo->db; pKeyInfo 68033 ext/sqlite3/libsqlite/sqlite3.c assert( u<=pKeyInfo->nField + 1 ); pKeyInfo 68060 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo; pKeyInfo 68063 ext/sqlite3/libsqlite/sqlite3.c pKeyInfo = pPKey2->pKeyInfo; pKeyInfo 68064 ext/sqlite3/libsqlite/sqlite3.c if( pKeyInfo->db==0 ) return 1; pKeyInfo 68065 ext/sqlite3/libsqlite/sqlite3.c mem1.enc = pKeyInfo->enc; pKeyInfo 68066 ext/sqlite3/libsqlite/sqlite3.c mem1.db = pKeyInfo->db; pKeyInfo 68081 ext/sqlite3/libsqlite/sqlite3.c assert( pKeyInfo->nField+pKeyInfo->nXField>=pPKey2->nField || CORRUPT_DB ); pKeyInfo 68082 ext/sqlite3/libsqlite/sqlite3.c assert( pKeyInfo->aSortOrder!=0 ); pKeyInfo 68083 ext/sqlite3/libsqlite/sqlite3.c assert( pKeyInfo->nField>0 ); pKeyInfo 68109 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3MemCompare(&mem1, &pPKey2->aMem[i], pKeyInfo->aColl[i]); pKeyInfo 68112 ext/sqlite3/libsqlite/sqlite3.c if( pKeyInfo->aSortOrder[i] ){ pKeyInfo 68136 ext/sqlite3/libsqlite/sqlite3.c if( pKeyInfo->db->mallocFailed ) return 1; pKeyInfo 68155 ext/sqlite3/libsqlite/sqlite3.c const KeyInfo *pKeyInfo /* Compare size with this KeyInfo */ pKeyInfo 68171 ext/sqlite3/libsqlite/sqlite3.c assert( nField <= pKeyInfo->nField+pKeyInfo->nXField ); pKeyInfo 68388 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo = pPKey2->pKeyInfo; pKeyInfo 68413 ext/sqlite3/libsqlite/sqlite3.c assert( pPKey2->pKeyInfo->nField+pPKey2->pKeyInfo->nXField>=pPKey2->nField pKeyInfo 68415 ext/sqlite3/libsqlite/sqlite3.c assert( pPKey2->pKeyInfo->aSortOrder!=0 ); pKeyInfo 68416 ext/sqlite3/libsqlite/sqlite3.c assert( pPKey2->pKeyInfo->nField>0 ); pKeyInfo 68487 ext/sqlite3/libsqlite/sqlite3.c }else if( pKeyInfo->aColl[i] ){ pKeyInfo 68488 ext/sqlite3/libsqlite/sqlite3.c mem1.enc = pKeyInfo->enc; pKeyInfo 68489 ext/sqlite3/libsqlite/sqlite3.c mem1.db = pKeyInfo->db; pKeyInfo 68493 ext/sqlite3/libsqlite/sqlite3.c &mem1, pRhs, pKeyInfo->aColl[i], &pPKey2->errCode pKeyInfo 68531 ext/sqlite3/libsqlite/sqlite3.c if( pKeyInfo->aSortOrder[i] ){ pKeyInfo 68555 ext/sqlite3/libsqlite/sqlite3.c || pKeyInfo->db->mallocFailed pKeyInfo 68588 ext/sqlite3/libsqlite/sqlite3.c vdbeAssertFieldCountWithinLimits(nKey1, pKey1, pPKey2->pKeyInfo); pKeyInfo 68676 ext/sqlite3/libsqlite/sqlite3.c vdbeAssertFieldCountWithinLimits(nKey1, pKey1, pPKey2->pKeyInfo); pKeyInfo 68717 ext/sqlite3/libsqlite/sqlite3.c || pPKey2->pKeyInfo->db->mallocFailed pKeyInfo 68741 ext/sqlite3/libsqlite/sqlite3.c if( (p->pKeyInfo->nField + p->pKeyInfo->nXField)<=13 ){ pKeyInfo 68743 ext/sqlite3/libsqlite/sqlite3.c if( p->pKeyInfo->aSortOrder[0] ){ pKeyInfo 68756 ext/sqlite3/libsqlite/sqlite3.c if( (flags & (MEM_Real|MEM_Null|MEM_Blob))==0 && p->pKeyInfo->aColl[0]==0 ){ pKeyInfo 72872 ext/sqlite3/libsqlite/sqlite3.c const KeyInfo *pKeyInfo; pKeyInfo 72879 ext/sqlite3/libsqlite/sqlite3.c pKeyInfo = pOp->p4.pKeyInfo; pKeyInfo 72881 ext/sqlite3/libsqlite/sqlite3.c assert( pKeyInfo!=0 ); pKeyInfo 72901 ext/sqlite3/libsqlite/sqlite3.c assert( i<pKeyInfo->nField ); pKeyInfo 72902 ext/sqlite3/libsqlite/sqlite3.c pColl = pKeyInfo->aColl[i]; pKeyInfo 72903 ext/sqlite3/libsqlite/sqlite3.c bRev = pKeyInfo->aSortOrder[i]; pKeyInfo 74103 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo; pKeyInfo 74135 ext/sqlite3/libsqlite/sqlite3.c pKeyInfo = 0; pKeyInfo 74170 ext/sqlite3/libsqlite/sqlite3.c pKeyInfo = pOp->p4.pKeyInfo; pKeyInfo 74171 ext/sqlite3/libsqlite/sqlite3.c assert( pKeyInfo->enc==ENC(db) ); pKeyInfo 74172 ext/sqlite3/libsqlite/sqlite3.c assert( pKeyInfo->db==db ); pKeyInfo 74173 ext/sqlite3/libsqlite/sqlite3.c nField = pKeyInfo->nField+pKeyInfo->nXField; pKeyInfo 74185 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeCursor(pX, p2, wrFlag, pKeyInfo, pCur->pCursor); pKeyInfo 74186 ext/sqlite3/libsqlite/sqlite3.c pCur->pKeyInfo = pKeyInfo; pKeyInfo 74230 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo; pKeyInfo 74255 ext/sqlite3/libsqlite/sqlite3.c if( (pKeyInfo = pOp->p4.pKeyInfo)!=0 ){ pKeyInfo 74261 ext/sqlite3/libsqlite/sqlite3.c assert( pKeyInfo->db==db ); pKeyInfo 74262 ext/sqlite3/libsqlite/sqlite3.c assert( pKeyInfo->enc==ENC(db) ); pKeyInfo 74263 ext/sqlite3/libsqlite/sqlite3.c pCx->pKeyInfo = pKeyInfo; pKeyInfo 74264 ext/sqlite3/libsqlite/sqlite3.c rc = sqlite3BtreeCursor(pCx->pBt, pgno, 1, pKeyInfo, pCx->pCursor); pKeyInfo 74293 ext/sqlite3/libsqlite/sqlite3.c pCx->pKeyInfo = pOp->p4.pKeyInfo; pKeyInfo 74294 ext/sqlite3/libsqlite/sqlite3.c assert( pCx->pKeyInfo->db==db ); pKeyInfo 74295 ext/sqlite3/libsqlite/sqlite3.c assert( pCx->pKeyInfo->enc==ENC(db) ); pKeyInfo 74526 ext/sqlite3/libsqlite/sqlite3.c r.pKeyInfo = pC->pKeyInfo; pKeyInfo 74700 ext/sqlite3/libsqlite/sqlite3.c r.pKeyInfo = pC->pKeyInfo; pKeyInfo 74713 ext/sqlite3/libsqlite/sqlite3.c pC->pKeyInfo, aTempRec, sizeof(aTempRec), &pFree pKeyInfo 74718 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeRecordUnpack(pC->pKeyInfo, pIn3->n, pIn3->z, pIdxKey); pKeyInfo 75641 ext/sqlite3/libsqlite/sqlite3.c r.pKeyInfo = pC->pKeyInfo; pKeyInfo 75760 ext/sqlite3/libsqlite/sqlite3.c r.pKeyInfo = pC->pKeyInfo; pKeyInfo 78223 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo; /* How to compare records */ pKeyInfo 78663 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeRecordUnpack(pTask->pSorter->pKeyInfo, nKey2, pKey2, r2); pKeyInfo 78690 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeRecordUnpack(pTask->pSorter->pKeyInfo, nKey2, pKey2, r2); pKeyInfo 78724 ext/sqlite3/libsqlite/sqlite3.c if( pTask->pSorter->pKeyInfo->nField>1 ){ pKeyInfo 78730 ext/sqlite3/libsqlite/sqlite3.c if( pTask->pSorter->pKeyInfo->aSortOrder[0] ){ pKeyInfo 78794 ext/sqlite3/libsqlite/sqlite3.c if( pTask->pSorter->pKeyInfo->nField>1 ){ pKeyInfo 78799 ext/sqlite3/libsqlite/sqlite3.c }else if( pTask->pSorter->pKeyInfo->aSortOrder[0] ){ pKeyInfo 78834 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo; /* Copy of pCsr->pKeyInfo with db==0 */ pKeyInfo 78861 ext/sqlite3/libsqlite/sqlite3.c assert( pCsr->pKeyInfo && pCsr->pBt==0 ); pKeyInfo 78862 ext/sqlite3/libsqlite/sqlite3.c szKeyInfo = sizeof(KeyInfo) + (pCsr->pKeyInfo->nField-1)*sizeof(CollSeq*); pKeyInfo 78870 ext/sqlite3/libsqlite/sqlite3.c pSorter->pKeyInfo = pKeyInfo = (KeyInfo*)((u8*)pSorter + sz); pKeyInfo 78871 ext/sqlite3/libsqlite/sqlite3.c memcpy(pKeyInfo, pCsr->pKeyInfo, szKeyInfo); pKeyInfo 78872 ext/sqlite3/libsqlite/sqlite3.c pKeyInfo->db = 0; pKeyInfo 78874 ext/sqlite3/libsqlite/sqlite3.c pKeyInfo->nXField += (pKeyInfo->nField - nField); pKeyInfo 78875 ext/sqlite3/libsqlite/sqlite3.c pKeyInfo->nField = nField; pKeyInfo 78906 ext/sqlite3/libsqlite/sqlite3.c if( (pKeyInfo->nField+pKeyInfo->nXField)<13 pKeyInfo 78907 ext/sqlite3/libsqlite/sqlite3.c && (pKeyInfo->aColl[0]==0 || pKeyInfo->aColl[0]==db->pDfltColl) pKeyInfo 79219 ext/sqlite3/libsqlite/sqlite3.c pTask->pSorter->pKeyInfo, 0, 0, &pFree pKeyInfo 79223 ext/sqlite3/libsqlite/sqlite3.c pTask->pUnpacked->nField = pTask->pSorter->pKeyInfo->nField; pKeyInfo 80599 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo = pCsr->pKeyInfo; pKeyInfo 80605 ext/sqlite3/libsqlite/sqlite3.c r2 = pSorter->pUnpacked = sqlite3VdbeAllocUnpackedRecord(pKeyInfo,0,0,&p); pKeyInfo 80613 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeRecordUnpack(pKeyInfo, nKey, pKey, r2); pKeyInfo 84676 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo = 0; /* Key information */ pKeyInfo 84695 ext/sqlite3/libsqlite/sqlite3.c pKeyInfo = isRowid ? 0 : sqlite3KeyInfoAlloc(pParse->db, 1, 1); pKeyInfo 84713 ext/sqlite3/libsqlite/sqlite3.c testcase( pKeyInfo==0 ); /* Caused by OOM in sqlite3KeyInfoAlloc() */ pKeyInfo 84715 ext/sqlite3/libsqlite/sqlite3.c sqlite3KeyInfoUnref(pKeyInfo); pKeyInfo 84719 ext/sqlite3/libsqlite/sqlite3.c assert( pKeyInfo!=0 ); /* OOM will cause exit after sqlite3Select() */ pKeyInfo 84722 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3KeyInfoIsWriteable(pKeyInfo) ); pKeyInfo 84723 ext/sqlite3/libsqlite/sqlite3.c pKeyInfo->aColl[0] = sqlite3BinaryCompareCollSeq(pParse, pExpr->pLeft, pKeyInfo 84741 ext/sqlite3/libsqlite/sqlite3.c if( pKeyInfo ){ pKeyInfo 84742 ext/sqlite3/libsqlite/sqlite3.c assert( sqlite3KeyInfoIsWriteable(pKeyInfo) ); pKeyInfo 84743 ext/sqlite3/libsqlite/sqlite3.c pKeyInfo->aColl[0] = sqlite3ExprCollSeq(pParse, pExpr->pLeft); pKeyInfo 84784 ext/sqlite3/libsqlite/sqlite3.c if( pKeyInfo ){ pKeyInfo 84785 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeChangeP4(v, addr, (void *)pKeyInfo, P4_KEYINFO); pKeyInfo 107009 ext/sqlite3/libsqlite/sqlite3.c pKI = pOp->p4.pKeyInfo; pKeyInfo 107013 ext/sqlite3/libsqlite/sqlite3.c pOp->p4.pKeyInfo = keyInfoFromExprList(pParse, pSort->pOrderBy, nOBSat, pKeyInfo 108473 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo = multiSelectOrderByKeyInfo(pParse, p, 1); pKeyInfo 108475 ext/sqlite3/libsqlite/sqlite3.c (char*)pKeyInfo, P4_KEYINFO); pKeyInfo 108948 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo; /* Collating sequence for the result set */ pKeyInfo 108955 ext/sqlite3/libsqlite/sqlite3.c pKeyInfo = sqlite3KeyInfoAlloc(db, nCol, 1); pKeyInfo 108956 ext/sqlite3/libsqlite/sqlite3.c if( !pKeyInfo ){ pKeyInfo 108960 ext/sqlite3/libsqlite/sqlite3.c for(i=0, apColl=pKeyInfo->aColl; i<nCol; i++, apColl++){ pKeyInfo 108977 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeChangeP4(v, addr, (char*)sqlite3KeyInfoRef(pKeyInfo), pKeyInfo 108982 ext/sqlite3/libsqlite/sqlite3.c sqlite3KeyInfoUnref(pKeyInfo); pKeyInfo 109020 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo, /* For comparing with previous entry */ pKeyInfo 109036 ext/sqlite3/libsqlite/sqlite3.c (char*)sqlite3KeyInfoRef(pKeyInfo), P4_KEYINFO); pKeyInfo 111027 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo = keyInfoFromExprList(pParse, pE->x.pList, 0, 0); pKeyInfo 111029 ext/sqlite3/libsqlite/sqlite3.c (char*)pKeyInfo, P4_KEYINFO); pKeyInfo 111417 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo; pKeyInfo 111418 ext/sqlite3/libsqlite/sqlite3.c pKeyInfo = keyInfoFromExprList(pParse, sSort.pOrderBy, 0, pEList->nExpr); pKeyInfo 111423 ext/sqlite3/libsqlite/sqlite3.c (char*)pKeyInfo, P4_KEYINFO pKeyInfo 111576 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo; /* Keying information for the group by clause */ pKeyInfo 111592 ext/sqlite3/libsqlite/sqlite3.c pKeyInfo = keyInfoFromExprList(pParse, pGroupBy, 0, sAggInfo.nColumn); pKeyInfo 111595 ext/sqlite3/libsqlite/sqlite3.c 0, (char*)pKeyInfo, P4_KEYINFO); pKeyInfo 111723 ext/sqlite3/libsqlite/sqlite3.c (char*)sqlite3KeyInfoRef(pKeyInfo), P4_KEYINFO); pKeyInfo 111823 ext/sqlite3/libsqlite/sqlite3.c KeyInfo *pKeyInfo = 0; /* Keyinfo for scanned index */ pKeyInfo 111851 ext/sqlite3/libsqlite/sqlite3.c pKeyInfo = sqlite3KeyInfoOfIndex(pParse, pBest); pKeyInfo 111856 ext/sqlite3/libsqlite/sqlite3.c if( pKeyInfo ){ pKeyInfo 111857 ext/sqlite3/libsqlite/sqlite3.c sqlite3VdbeChangeP4(v, -1, (char *)pKeyInfo, P4_KEYINFO);