Lines Matching refs:pKeyInfo

15177     KeyInfo *pKeyInfo;     /* Used when p4type is P4_KEYINFO */  member
17704 KeyInfo *pKeyInfo; /* Collation and sort-order information */ member
20766 KeyInfo *pKeyInfo; /* Info about index keys needed by index cursors */ member
63848 struct KeyInfo *pKeyInfo; /* Arg passed to comparison function */
65136 KeyInfo *pKeyInfo = pCur->pKeyInfo;
65138 pIdxKey = sqlite3VdbeAllocUnpackedRecord(pKeyInfo);
65140 sqlite3VdbeRecordUnpack(pKeyInfo, (int)nKey, pKey, pIdxKey);
65141 if( pIdxKey->nField==0 || pIdxKey->nField>pKeyInfo->nAllField ){
65151 sqlite3DbFree(pCur->pKeyInfo->db, pIdxKey);
68701 struct KeyInfo *pKeyInfo, /* First arg to comparison function */
68717 assert( hasSharedCacheTableLock(p, iTable, pKeyInfo!=0, (wrFlag?2:1))
68744 pCur->pKeyInfo = pKeyInfo;
68766 struct KeyInfo *pKeyInfo, /* First arg to comparison function */
68771 rc = btreeCursor(p, iTable, wrFlag, pKeyInfo, pCur);
68779 struct KeyInfo *pKeyInfo, /* First arg to xCompare() */
68783 return btreeCursorWithLock(p, iTable, wrFlag, pKeyInfo, pCur);
68785 return btreeCursor(p, iTable, wrFlag, pKeyInfo, pCur);
69563 if( pRoot->isInit==0 || (pCur->pKeyInfo==0)!=pRoot->intKey ){
69748 assert( (pIdxKey==0)==(pCur->pKeyInfo==0) );
72979 assert( hasSharedCacheTableLock(p, pCur->pgnoRoot, pCur->pKeyInfo!=0, 2) );
72986 assert( (pX->pKey==0)==(pCur->pKeyInfo==0) );
73004 if( pCur->pKeyInfo==0 ){
73060 r.pKeyInfo = pCur->pKeyInfo;
73197 if( pCur->pKeyInfo ){
73249 assert( hasSharedCacheTableLock(p, pCur->pgnoRoot, pCur->pKeyInfo!=0, 2) );
73309 if( pCur->pKeyInfo==0 ){
76964 pRec->pKeyInfo = sqlite3KeyInfoOfIndex(p->pParse, pIdx);
76965 if( pRec->pKeyInfo ){
76966 assert( pRec->pKeyInfo->nAllField==nCol );
76967 assert( pRec->pKeyInfo->enc==ENC(db) );
77475 int nCol = pRec->pKeyInfo->nAllField;
77481 sqlite3KeyInfoUnref(pRec->pKeyInfo);
78895 KeyInfo *pKeyInfo;
78898 pKeyInfo = sqlite3KeyInfoOfIndex(pParse, pIdx);
78899 if( pKeyInfo ) sqlite3VdbeAppendP4(v, pKeyInfo, P4_KEYINFO);
79175 KeyInfo *pKeyInfo = pOp->p4.pKeyInfo;
79176 assert( pKeyInfo->aSortFlags!=0 );
79177 sqlite3_str_appendf(&x, "k(%d", pKeyInfo->nKeyField);
79178 for(j=0; j<pKeyInfo->nKeyField; j++){
79179 CollSeq *pColl = pKeyInfo->aColl[j];
79183 (pKeyInfo->aSortFlags[j] & KEYINFO_ORDER_DESC) ? "-" : "",
79184 (pKeyInfo->aSortFlags[j] & KEYINFO_ORDER_BIGNULL)? "N." : "",
81525 KeyInfo *pKeyInfo /* Description of the record */
81529 nByte = ROUND8(sizeof(UnpackedRecord)) + sizeof(Mem)*(pKeyInfo->nKeyField+1);
81530 p = (UnpackedRecord *)sqlite3DbMallocRaw(pKeyInfo->db, nByte);
81533 assert( pKeyInfo->aSortFlags!=0 );
81534 p->pKeyInfo = pKeyInfo;
81535 p->nField = pKeyInfo->nKeyField + 1;
81545 KeyInfo *pKeyInfo, /* Information about the record format */
81566 pMem->enc = pKeyInfo->enc;
81567 pMem->db = pKeyInfo->db;
81582 assert( u<=pKeyInfo->nKeyField + 1 );
81609 KeyInfo *pKeyInfo;
81612 pKeyInfo = pPKey2->pKeyInfo;
81613 if( pKeyInfo->db==0 ) return 1;
81614 mem1.enc = pKeyInfo->enc;
81615 mem1.db = pKeyInfo->db;
81631 assert( pKeyInfo->nAllField>=pPKey2->nField || CORRUPT_DB );
81632 assert( pKeyInfo->aSortFlags!=0 );
81633 assert( pKeyInfo->nKeyField>0 );
81660 pKeyInfo->nAllField>i ? pKeyInfo->aColl[i] : 0);
81663 if( (pKeyInfo->aSortFlags[i] & KEYINFO_ORDER_BIGNULL)
81668 if( pKeyInfo->aSortFlags[i] & KEYINFO_ORDER_DESC ){
81692 if( pKeyInfo->db->mallocFailed ) return 1;
81711 const KeyInfo *pKeyInfo /* Compare size with this KeyInfo */
81727 assert( nField <= pKeyInfo->nAllField );
82017 KeyInfo *pKeyInfo;
82042 assert( pPKey2->pKeyInfo->nAllField>=pPKey2->nField
82044 assert( pPKey2->pKeyInfo->aSortFlags!=0 );
82045 assert( pPKey2->pKeyInfo->nKeyField>0 );
82112 || (pKeyInfo = pPKey2->pKeyInfo)->nAllField<=i
82116 }else if( pKeyInfo->aColl[i] ){
82117 mem1.enc = pKeyInfo->enc;
82118 mem1.db = pKeyInfo->db;
82122 &mem1, pRhs, pKeyInfo->aColl[i], &pPKey2->errCode
82167 int sortFlags = pPKey2->pKeyInfo->aSortFlags[i];
82198 || pPKey2->pKeyInfo->db->mallocFailed
82232 vdbeAssertFieldCountWithinLimits(nKey1, pKey1, pPKey2->pKeyInfo);
82323 vdbeAssertFieldCountWithinLimits(nKey1, pKey1, pPKey2->pKeyInfo);
82368 || pPKey2->pKeyInfo->db->mallocFailed
82392 if( p->pKeyInfo->nAllField<=13 ){
82394 if( p->pKeyInfo->aSortFlags[0] ){
82395 if( p->pKeyInfo->aSortFlags[0] & KEYINFO_ORDER_BIGNULL ){
82411 && p->pKeyInfo->aColl[0]==0
84581 KeyInfo *pKeyInfo,
84587 pRet = sqlite3VdbeAllocUnpackedRecord(pKeyInfo);
84589 memset(pRet->aMem, 0, sizeof(Mem)*(pKeyInfo->nKeyField+1));
84590 sqlite3VdbeRecordUnpack(pKeyInfo, nKey, pKey, pRet);
87370 const KeyInfo *pKeyInfo;
87386 pKeyInfo = pOp->p4.pKeyInfo;
87388 assert( pKeyInfo!=0 );
87408 assert( i<pKeyInfo->nKeyField );
87409 pColl = pKeyInfo->aColl[i];
87410 bRev = (pKeyInfo->aSortFlags[i] & KEYINFO_ORDER_DESC);
87413 if( (pKeyInfo->aSortFlags[i] & KEYINFO_ORDER_BIGNULL)
88864 KeyInfo *pKeyInfo;
88895 pKeyInfo = 0;
88929 pKeyInfo = pOp->p4.pKeyInfo;
88930 assert( pKeyInfo->enc==ENC(db) );
88931 assert( pKeyInfo->db==db );
88932 nField = pKeyInfo->nAllField;
88947 rc = sqlite3BtreeCursor(pX, p2, wrFlag, pKeyInfo, pCur->uc.pCursor);
88948 pCur->pKeyInfo = pKeyInfo;
88986 pCx->pKeyInfo = pOrig->pKeyInfo;
88991 pCx->pKeyInfo, pCx->uc.pCursor);
89032 KeyInfo *pKeyInfo;
89066 if( (pCx->pKeyInfo = pKeyInfo = pOp->p4.pKeyInfo)!=0 ){
89072 assert( pKeyInfo->db==db );
89073 assert( pKeyInfo->enc==ENC(db) );
89075 pKeyInfo, pCx->uc.pCursor);
89109 pCx->pKeyInfo = pOp->p4.pKeyInfo;
89110 assert( pCx->pKeyInfo->db==db );
89111 assert( pCx->pKeyInfo->enc==ENC(db) );
89404 r.pKeyInfo = pC->pKeyInfo;
89639 r.pKeyInfo = pC->pKeyInfo;
89656 pFree = pIdxKey = sqlite3VdbeAllocUnpackedRecord(pC->pKeyInfo);
89658 sqlite3VdbeRecordUnpack(pC->pKeyInfo, pIn3->n, pIn3->z, pIdxKey);
90804 r.pKeyInfo = pC->pKeyInfo;
90984 r.pKeyInfo = pC->pKeyInfo;
93982 KeyInfo *pKeyInfo; /* How to compare records */
94422 sqlite3VdbeRecordUnpack(pTask->pSorter->pKeyInfo, nKey2, pKey2, r2);
94449 sqlite3VdbeRecordUnpack(pTask->pSorter->pKeyInfo, nKey2, pKey2, r2);
94483 if( pTask->pSorter->pKeyInfo->nKeyField>1 ){
94489 assert( !(pTask->pSorter->pKeyInfo->aSortFlags[0]&KEYINFO_ORDER_BIGNULL) );
94490 if( pTask->pSorter->pKeyInfo->aSortFlags[0] ){
94553 if( pTask->pSorter->pKeyInfo->nKeyField>1 ){
94558 }else if( pTask->pSorter->pKeyInfo->aSortFlags[0] ){
94559 assert( !(pTask->pSorter->pKeyInfo->aSortFlags[0]&KEYINFO_ORDER_BIGNULL) );
94593 KeyInfo *pKeyInfo; /* Copy of pCsr->pKeyInfo with db==0 */
94620 assert( pCsr->pKeyInfo && pCsr->pBtx==0 );
94622 szKeyInfo = sizeof(KeyInfo) + (pCsr->pKeyInfo->nKeyField-1)*sizeof(CollSeq*);
94630 pSorter->pKeyInfo = pKeyInfo = (KeyInfo*)((u8*)pSorter + sz);
94631 memcpy(pKeyInfo, pCsr->pKeyInfo, szKeyInfo);
94632 pKeyInfo->db = 0;
94634 pKeyInfo->nKeyField = nField;
94672 if( pKeyInfo->nAllField<13
94673 && (pKeyInfo->aColl[0]==0 || pKeyInfo->aColl[0]==db->pDfltColl)
94674 && (pKeyInfo->aSortFlags[0] & KEYINFO_ORDER_BIGNULL)==0
94986 pTask->pUnpacked = sqlite3VdbeAllocUnpackedRecord(pTask->pSorter->pKeyInfo);
94988 pTask->pUnpacked->nField = pTask->pSorter->pKeyInfo->nKeyField;
96391 KeyInfo *pKeyInfo;
96398 pKeyInfo = pCsr->pKeyInfo;
96400 r2 = pSorter->pUnpacked = sqlite3VdbeAllocUnpackedRecord(pKeyInfo);
96407 sqlite3VdbeRecordUnpack(pKeyInfo, nKey, pKey, r2);
102315 KeyInfo *pKeyInfo = 0; /* Key information */
102377 pKeyInfo = sqlite3KeyInfoAlloc(pParse->db, nVal, 1);
102400 testcase( pKeyInfo==0 ); /* Caused by OOM in sqlite3KeyInfoAlloc() */
102403 sqlite3KeyInfoUnref(pKeyInfo);
102407 assert( pKeyInfo!=0 ); /* OOM will cause exit after sqlite3Select() */
102410 assert( sqlite3KeyInfoIsWriteable(pKeyInfo) );
102413 pKeyInfo->aColl[i] = sqlite3BinaryCompareCollSeq(
102437 if( pKeyInfo ){
102438 assert( sqlite3KeyInfoIsWriteable(pKeyInfo) );
102439 pKeyInfo->aColl[0] = sqlite3ExprCollSeq(pParse, pExpr->pLeft);
102467 if( pKeyInfo ){
102468 sqlite3VdbeChangeP4(v, addr, (void *)pKeyInfo, P4_KEYINFO);
129523 pKI = pOp->p4.pKeyInfo;
129527 pOp->p4.pKeyInfo = sqlite3KeyInfoFromExprList(pParse,pSort->pOrderBy,nOBSat,
129819 pOp->p4.pKeyInfo->nAllField += (pExtra->nExpr - pSort->nDefer);
131228 KeyInfo *pKeyInfo = multiSelectOrderByKeyInfo(pParse, p, 1);
131230 (char*)pKeyInfo, P4_KEYINFO);
131686 KeyInfo *pKeyInfo; /* Collating sequence for the result set */
131693 pKeyInfo = sqlite3KeyInfoAlloc(db, nCol, 1);
131694 if( !pKeyInfo ){
131698 for(i=0, apColl=pKeyInfo->aColl; i<nCol; i++, apColl++){
131715 sqlite3VdbeChangeP4(v, addr, (char*)sqlite3KeyInfoRef(pKeyInfo),
131720 sqlite3KeyInfoUnref(pKeyInfo);
131771 KeyInfo *pKeyInfo, /* For comparing with previous entry */
131787 (char*)sqlite3KeyInfoRef(pKeyInfo), P4_KEYINFO);
134233 KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pE->x.pList,0,0);
134235 (char*)pKeyInfo, P4_KEYINFO);
135011 KeyInfo *pKeyInfo;
135012 pKeyInfo = sqlite3KeyInfoFromExprList(
135018 (char*)pKeyInfo, P4_KEYINFO
135258 KeyInfo *pKeyInfo; /* Keying information for the group by clause */
135274 pKeyInfo = sqlite3KeyInfoFromExprList(pParse,pGroupBy,0,sAggInfo.nColumn);
135277 0, (char*)pKeyInfo, P4_KEYINFO);
135396 (char*)sqlite3KeyInfoRef(pKeyInfo), P4_KEYINFO);
135497 KeyInfo *pKeyInfo = 0; /* Keyinfo for scanned index */
135527 pKeyInfo = sqlite3KeyInfoOfIndex(pParse, pBest);
135532 if( pKeyInfo ){
135533 sqlite3VdbeChangeP4(v, -1, (char *)pKeyInfo, P4_KEYINFO);
151753 KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pList, 0, 0);
151757 if( pKeyInfo && pWin->pFunc->zName[1]=='i' ){
151758 assert( pKeyInfo->aSortFlags[0]==0 );
151759 pKeyInfo->aSortFlags[0] = KEYINFO_ORDER_DESC;
151762 sqlite3VdbeAppendP4(v, pKeyInfo, P4_KEYINFO);
152171 KeyInfo *pKeyInfo = 0;
152174 pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pMWin->pOrderBy, 0, 0);
152180 if( pKeyInfo ){
152183 sqlite3VdbeAppendP4(v, (void*)pKeyInfo, P4_KEYINFO);
152368 KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pOrderBy, 0, 0);
152370 sqlite3VdbeAppendP4(v, (void*)pKeyInfo, P4_KEYINFO);
153207 KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pPart, 0, 0);
153211 sqlite3VdbeAppendP4(v, (void*)pKeyInfo, P4_KEYINFO);