Lines Matching refs:pKeyInfo

15079     KeyInfo *pKeyInfo;     /* Used when p4type is P4_KEYINFO */  member
17457 KeyInfo *pKeyInfo; /* Collation and sort-order information */ member
21795 KeyInfo *pKeyInfo; /* Info about index keys needed by index cursors */
65095 struct KeyInfo *pKeyInfo; /* Arg passed to comparison function */
66397 KeyInfo *pKeyInfo = pCur->pKeyInfo;
66399 pIdxKey = sqlite3VdbeAllocUnpackedRecord(pKeyInfo);
66401 sqlite3VdbeRecordUnpack(pKeyInfo, (int)nKey, pKey, pIdxKey);
66402 if( pIdxKey->nField==0 || pIdxKey->nField>pKeyInfo->nAllField ){
66407 sqlite3DbFree(pCur->pKeyInfo->db, pIdxKey);
70008 struct KeyInfo *pKeyInfo, /* First arg to comparison function */
70024 assert( hasSharedCacheTableLock(p, iTable, pKeyInfo!=0, (wrFlag?2:1))
70051 pCur->pKeyInfo = pKeyInfo;
70073 struct KeyInfo *pKeyInfo, /* First arg to comparison function */
70078 rc = btreeCursor(p, iTable, wrFlag, pKeyInfo, pCur);
70086 struct KeyInfo *pKeyInfo, /* First arg to xCompare() */
70090 return btreeCursorWithLock(p, iTable, wrFlag, pKeyInfo, pCur);
70092 return btreeCursor(p, iTable, wrFlag, pKeyInfo, pCur);
70879 if( pRoot->isInit==0 || (pCur->pKeyInfo==0)!=pRoot->intKey ){
71057 assert( pCur->pKeyInfo==0 );
71226 assert( pCur->pKeyInfo!=0 );
74392 assert( (flags & BTREE_PREFORMAT)==0 || seekResult || pCur->pKeyInfo==0 );
74403 assert( hasSharedCacheTableLock(p, pCur->pgnoRoot, pCur->pKeyInfo!=0, 2) );
74410 assert( (flags & BTREE_PREFORMAT) || (pX->pKey==0)==(pCur->pKeyInfo==0) );
74436 if( pCur->pKeyInfo==0 ){
74495 r.pKeyInfo = pCur->pKeyInfo;
74650 if( pCur->pKeyInfo ){
74694 if( pDest->pKeyInfo==0 ) aOut += putVarint(aOut, iKey);
74810 assert( hasSharedCacheTableLock(p, pCur->pgnoRoot, pCur->pKeyInfo!=0, 2) );
74876 if( pCur->pKeyInfo==0 && p->hasIncrblobCur ){
78599 pRec->pKeyInfo = sqlite3KeyInfoOfIndex(p->pParse, pIdx);
78600 if( pRec->pKeyInfo ){
78601 assert( pRec->pKeyInfo->nAllField==nCol );
78602 assert( pRec->pKeyInfo->enc==ENC(db) );
79116 int nCol = pRec->pKeyInfo->nAllField;
79122 sqlite3KeyInfoUnref(pRec->pKeyInfo);
80541 KeyInfo *pKeyInfo;
80544 pKeyInfo = sqlite3KeyInfoOfIndex(pParse, pIdx);
80545 if( pKeyInfo ) sqlite3VdbeAppendP4(v, pKeyInfo, P4_KEYINFO);
80818 KeyInfo *pKeyInfo = pOp->p4.pKeyInfo;
80819 assert( pKeyInfo->aSortFlags!=0 );
80820 sqlite3_str_appendf(&x, "k(%d", pKeyInfo->nKeyField);
80821 for(j=0; j<pKeyInfo->nKeyField; j++){
80822 CollSeq *pColl = pKeyInfo->aColl[j];
80826 (pKeyInfo->aSortFlags[j] & KEYINFO_ORDER_DESC) ? "-" : "",
80827 (pKeyInfo->aSortFlags[j] & KEYINFO_ORDER_BIGNULL)? "N." : "",
83179 KeyInfo *pKeyInfo /* Description of the record */
83183 nByte = ROUND8(sizeof(UnpackedRecord)) + sizeof(Mem)*(pKeyInfo->nKeyField+1);
83184 p = (UnpackedRecord *)sqlite3DbMallocRaw(pKeyInfo->db, nByte);
83187 assert( pKeyInfo->aSortFlags!=0 );
83188 p->pKeyInfo = pKeyInfo;
83189 p->nField = pKeyInfo->nKeyField + 1;
83199 KeyInfo *pKeyInfo, /* Information about the record format */
83220 pMem->enc = pKeyInfo->enc;
83221 pMem->db = pKeyInfo->db;
83236 assert( u<=pKeyInfo->nKeyField + 1 );
83263 KeyInfo *pKeyInfo;
83266 pKeyInfo = pPKey2->pKeyInfo;
83267 if( pKeyInfo->db==0 ) return 1;
83268 mem1.enc = pKeyInfo->enc;
83269 mem1.db = pKeyInfo->db;
83285 assert( pKeyInfo->nAllField>=pPKey2->nField || CORRUPT_DB );
83286 assert( pKeyInfo->aSortFlags!=0 );
83287 assert( pKeyInfo->nKeyField>0 );
83314 pKeyInfo->nAllField>i ? pKeyInfo->aColl[i] : 0);
83317 if( (pKeyInfo->aSortFlags[i] & KEYINFO_ORDER_BIGNULL)
83322 if( pKeyInfo->aSortFlags[i] & KEYINFO_ORDER_DESC ){
83346 if( pKeyInfo->db->mallocFailed ) return 1;
83365 const KeyInfo *pKeyInfo /* Compare size with this KeyInfo */
83381 assert( nField <= pKeyInfo->nAllField );
83674 KeyInfo *pKeyInfo;
83699 assert( pPKey2->pKeyInfo->nAllField>=pPKey2->nField
83701 assert( pPKey2->pKeyInfo->aSortFlags!=0 );
83702 assert( pPKey2->pKeyInfo->nKeyField>0 );
83769 || (pKeyInfo = pPKey2->pKeyInfo)->nAllField<=i
83773 }else if( pKeyInfo->aColl[i] ){
83774 mem1.enc = pKeyInfo->enc;
83775 mem1.db = pKeyInfo->db;
83779 &mem1, pRhs, pKeyInfo->aColl[i], &pPKey2->errCode
83824 int sortFlags = pPKey2->pKeyInfo->aSortFlags[i];
83855 || pPKey2->pKeyInfo->db->mallocFailed
83889 vdbeAssertFieldCountWithinLimits(nKey1, pKey1, pPKey2->pKeyInfo);
83980 vdbeAssertFieldCountWithinLimits(nKey1, pKey1, pPKey2->pKeyInfo);
84025 || pPKey2->pKeyInfo->db->mallocFailed
84049 if( p->pKeyInfo->nAllField<=13 ){
84051 if( p->pKeyInfo->aSortFlags[0] ){
84052 if( p->pKeyInfo->aSortFlags[0] & KEYINFO_ORDER_BIGNULL ){
84068 && p->pKeyInfo->aColl[0]==0
86249 KeyInfo *pKeyInfo,
86255 pRet = sqlite3VdbeAllocUnpackedRecord(pKeyInfo);
86257 memset(pRet->aMem, 0, sizeof(Mem)*(pKeyInfo->nKeyField+1));
86258 sqlite3VdbeRecordUnpack(pKeyInfo, nKey, pKey, pRet);
88964 const KeyInfo *pKeyInfo;
88980 pKeyInfo = pOp->p4.pKeyInfo;
88982 assert( pKeyInfo!=0 );
89002 assert( i<pKeyInfo->nKeyField );
89003 pColl = pKeyInfo->aColl[i];
89004 bRev = (pKeyInfo->aSortFlags[i] & KEYINFO_ORDER_DESC);
89007 if( (pKeyInfo->aSortFlags[i] & KEYINFO_ORDER_BIGNULL)
90624 KeyInfo *pKeyInfo;
90657 pKeyInfo = 0;
90691 pKeyInfo = pOp->p4.pKeyInfo;
90692 assert( pKeyInfo->enc==ENC(db) );
90693 assert( pKeyInfo->db==db );
90694 nField = pKeyInfo->nAllField;
90709 rc = sqlite3BtreeCursor(pX, p2, wrFlag, pKeyInfo, pCur->uc.pCursor);
90710 pCur->pKeyInfo = pKeyInfo;
90748 pCx->pKeyInfo = pOrig->pKeyInfo;
90756 pCx->pKeyInfo, pCx->uc.pCursor);
90801 KeyInfo *pKeyInfo;
90844 if( (pCx->pKeyInfo = pKeyInfo = pOp->p4.pKeyInfo)!=0 ){
90850 assert( pKeyInfo->db==db );
90851 assert( pKeyInfo->enc==ENC(db) );
90853 pKeyInfo, pCx->uc.pCursor);
90891 pCx->pKeyInfo = pOp->p4.pKeyInfo;
90892 assert( pCx->pKeyInfo->db==db );
90893 assert( pCx->pKeyInfo->enc==ENC(db) );
91188 r.pKeyInfo = pC->pKeyInfo;
91347 r.pKeyInfo = pC->pKeyInfo;
91594 r.pKeyInfo = pC->pKeyInfo;
91611 pFree = pIdxKey = sqlite3VdbeAllocUnpackedRecord(pC->pKeyInfo);
91613 sqlite3VdbeRecordUnpack(pC->pKeyInfo, pIn3->n, pIn3->z, pIdxKey);
92790 r.pKeyInfo = pC->pKeyInfo;
92971 r.pKeyInfo = pC->pKeyInfo;
96018 KeyInfo *pKeyInfo; /* How to compare records */
96458 sqlite3VdbeRecordUnpack(pTask->pSorter->pKeyInfo, nKey2, pKey2, r2);
96485 sqlite3VdbeRecordUnpack(pTask->pSorter->pKeyInfo, nKey2, pKey2, r2);
96519 if( pTask->pSorter->pKeyInfo->nKeyField>1 ){
96525 assert( !(pTask->pSorter->pKeyInfo->aSortFlags[0]&KEYINFO_ORDER_BIGNULL) );
96526 if( pTask->pSorter->pKeyInfo->aSortFlags[0] ){
96589 if( pTask->pSorter->pKeyInfo->nKeyField>1 ){
96594 }else if( pTask->pSorter->pKeyInfo->aSortFlags[0] ){
96595 assert( !(pTask->pSorter->pKeyInfo->aSortFlags[0]&KEYINFO_ORDER_BIGNULL) );
96629 KeyInfo *pKeyInfo; /* Copy of pCsr->pKeyInfo with db==0 */
96656 assert( pCsr->pKeyInfo && pCsr->pBtx==0 );
96658 szKeyInfo = sizeof(KeyInfo) + (pCsr->pKeyInfo->nKeyField-1)*sizeof(CollSeq*);
96667 pSorter->pKeyInfo = pKeyInfo = (KeyInfo*)((u8*)pSorter + sz);
96668 memcpy(pKeyInfo, pCsr->pKeyInfo, szKeyInfo);
96669 pKeyInfo->db = 0;
96671 pKeyInfo->nKeyField = nField;
96711 if( pKeyInfo->nAllField<13
96712 && (pKeyInfo->aColl[0]==0 || pKeyInfo->aColl[0]==db->pDfltColl)
96713 && (pKeyInfo->aSortFlags[0] & KEYINFO_ORDER_BIGNULL)==0
97026 pTask->pUnpacked = sqlite3VdbeAllocUnpackedRecord(pTask->pSorter->pKeyInfo);
97028 pTask->pUnpacked->nField = pTask->pSorter->pKeyInfo->nKeyField;
98432 KeyInfo *pKeyInfo;
98439 pKeyInfo = pCsr->pKeyInfo;
98441 r2 = pSorter->pUnpacked = sqlite3VdbeAllocUnpackedRecord(pKeyInfo);
98448 sqlite3VdbeRecordUnpack(pKeyInfo, nKey, pKey, r2);
104638 KeyInfo *pKeyInfo = 0; /* Key information */
104702 pKeyInfo = sqlite3KeyInfoAlloc(pParse->db, nVal, 1);
104727 testcase( pKeyInfo==0 ); /* Caused by OOM in sqlite3KeyInfoAlloc() */
104733 sqlite3KeyInfoUnref(pKeyInfo);
104736 assert( pKeyInfo!=0 ); /* OOM will cause exit after sqlite3Select() */
104739 assert( sqlite3KeyInfoIsWriteable(pKeyInfo) );
104742 pKeyInfo->aColl[i] = sqlite3BinaryCompareCollSeq(
104766 if( pKeyInfo ){
104767 assert( sqlite3KeyInfoIsWriteable(pKeyInfo) );
104768 pKeyInfo->aColl[0] = sqlite3ExprCollSeq(pParse, pExpr->pLeft);
104796 if( pKeyInfo ){
104797 sqlite3VdbeChangeP4(v, addr, (void *)pKeyInfo, P4_KEYINFO);
133932 pKI = pOp->p4.pKeyInfo;
133936 pOp->p4.pKeyInfo = sqlite3KeyInfoFromExprList(pParse,pSort->pOrderBy,nOBSat,
134359 pOp->p4.pKeyInfo->nAllField += (pExtra->nExpr - pSort->nDefer);
135774 KeyInfo *pKeyInfo = multiSelectOrderByKeyInfo(pParse, p, 1);
135776 (char*)pKeyInfo, P4_KEYINFO);
136256 KeyInfo *pKeyInfo; /* Collating sequence for the result set */
136264 pKeyInfo = sqlite3KeyInfoAlloc(db, nCol, 1);
136265 if( !pKeyInfo ){
136269 for(i=0, apColl=pKeyInfo->aColl; i<nCol; i++, apColl++){
136286 sqlite3VdbeChangeP4(v, addr, (char*)sqlite3KeyInfoRef(pKeyInfo),
136291 sqlite3KeyInfoUnref(pKeyInfo);
136347 KeyInfo *pKeyInfo, /* For comparing with previous entry */
136363 (char*)sqlite3KeyInfoRef(pKeyInfo), P4_KEYINFO);
139175 KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pE->x.pList,0,0);
139177 pFunc->iDistinct, 0, 0, (char*)pKeyInfo, P4_KEYINFO);
140073 KeyInfo *pKeyInfo;
140074 pKeyInfo = sqlite3KeyInfoFromExprList(
140080 (char*)pKeyInfo, P4_KEYINFO
140336 KeyInfo *pKeyInfo; /* Keying information for the group by clause */
140368 pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pGroupBy,
140372 0, (char*)pKeyInfo, P4_KEYINFO);
140497 (char*)sqlite3KeyInfoRef(pKeyInfo), P4_KEYINFO);
140604 KeyInfo *pKeyInfo = 0; /* Keyinfo for scanned index */
140634 pKeyInfo = sqlite3KeyInfoOfIndex(pParse, pBest);
140639 if( pKeyInfo ){
140640 sqlite3VdbeChangeP4(v, -1, (char *)pKeyInfo, P4_KEYINFO);
143088 KeyInfo *pKeyInfo = sqlite3KeyInfoOfIndex(pParse, pPk);
143089 if( pKeyInfo ){
143090 pKeyInfo->nAllField = nEphCol;
143091 sqlite3VdbeAppendP4(v, pKeyInfo, P4_KEYINFO);
157790 KeyInfo *pKeyInfo;
157793 pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pList, 0, 0);
157797 if( pKeyInfo && pWin->pFunc->zName[1]=='i' ){
157798 assert( pKeyInfo->aSortFlags[0]==0 );
157799 pKeyInfo->aSortFlags[0] = KEYINFO_ORDER_DESC;
157802 sqlite3VdbeAppendP4(v, pKeyInfo, P4_KEYINFO);
158218 KeyInfo *pKeyInfo = 0;
158221 pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pMWin->pOrderBy, 0, 0);
158227 if( pKeyInfo ){
158230 sqlite3VdbeAppendP4(v, (void*)pKeyInfo, P4_KEYINFO);
158416 KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pOrderBy, 0, 0);
158418 sqlite3VdbeAppendP4(v, (void*)pKeyInfo, P4_KEYINFO);
159270 KeyInfo *pKeyInfo = sqlite3KeyInfoFromExprList(pParse, pPart, 0, 0);
159274 sqlite3VdbeAppendP4(v, (void*)pKeyInfo, P4_KEYINFO);