Lines Matching refs:pColl
15174 CollSeq *pColl; /* Used when p4type is P4_COLLSEQ */ member
79179 CollSeq *pColl = pKeyInfo->aColl[j];
79180 const char *zColl = pColl ? pColl->zName : "";
79198 CollSeq *pColl = pOp->p4.pColl;
79199 assert( pColl->enc>=0 && pColl->enc<4 );
79200 sqlite3_str_appendf(&x, "%.18s-%s", pColl->zName,
79201 encnames[pColl->enc]);
81742 const CollSeq *pColl,
81745 if( pMem1->enc==pColl->enc ){
81748 return pColl->xCmp(pColl->pUser,pMem1->n,pMem1->z,pMem2->n,pMem2->z);
81758 v1 = sqlite3ValueText((sqlite3_value*)&c1, pColl->enc);
81759 v2 = sqlite3ValueText((sqlite3_value*)&c2, pColl->enc);
81764 rc = pColl->xCmp(pColl->pUser, c1.n, v1, c2.n, v2);
81852 SQLITE_PRIVATE int sqlite3MemCompare(const Mem *pMem1, const Mem *pMem2, const CollSeq *pColl){
81930 assert( !pColl || pColl->xCmp );
81932 if( pColl ){
81933 return vdbeCompareMemString(pMem1, pMem2, pColl, 0);
87231 assert( pOp->p4type==P4_COLLSEQ || pOp->p4.pColl==0 );
87232 res = sqlite3MemCompare(pIn3, pIn1, pOp->p4.pColl);
87372 CollSeq *pColl; /* Collating sequence to use on this term */
87409 pColl = pKeyInfo->aColl[i];
87411 iCompare = sqlite3MemCompare(&aMem[p1+idx], &aMem[p2+idx], pColl);
99641 CollSeq *pColl = 0;
99654 pColl = sqlite3FindCollSeq(db, ENC(db), zColl, 0);
99667 pColl = sqlite3GetCollSeq(pParse, ENC(db), 0, p->u.zToken);
99695 if( sqlite3CheckCollSeq(pParse, pColl) ){
99696 pColl = 0;
99698 return pColl;
99819 CollSeq *pColl;
99822 pColl = sqlite3ExprCollSeq(pParse, pLeft);
99824 pColl = sqlite3ExprCollSeq(pParse, pRight);
99826 pColl = sqlite3ExprCollSeq(pParse, pLeft);
99827 if( !pColl ){
99828 pColl = sqlite3ExprCollSeq(pParse, pRight);
99831 return pColl;
101618 CollSeq *pColl = sqlite3ExprNNCollSeq(pWalker->pParse, p);
101619 if( sqlite3IsBinary(pColl) ){
102747 CollSeq *pColl = sqlite3ExprCollSeq(pParse, pExpr->pLeft);
102766 (void*)pColl, P4_COLLSEQ);
102776 (void*)pColl, P4_COLLSEQ);
102865 CollSeq *pColl;
102868 pColl = sqlite3ExprCollSeq(pParse, p);
102871 (void*)pColl, P4_COLLSEQ);
103621 CollSeq *pColl = 0; /* A collating sequence */
103664 if( (pDef->funcFlags & SQLITE_FUNC_NEEDCOLL)!=0 && !pColl ){
103665 pColl = sqlite3ExprCollSeq(pParse, pFarg->a[i].pExpr);
103720 if( !pColl ) pColl = db->pDfltColl;
103721 sqlite3VdbeAddOp4(v, OP_CollSeq, 0, 0, 0, (char *)pColl, P4_COLLSEQ);
108397 char *pColl = (char*)sqlite3LocateCollSeq(pParse, pIdx->azColl[i]);
108402 sqlite3VdbeAddOp4(v, OP_Ne, regTemp, 0, regPrev+i, pColl, P4_COLLSEQ);
114970 CollSeq *pColl; /* Collating sequence to be reindexed, or NULL */
114993 pColl = sqlite3FindCollSeq(db, ENC(db), zColl, 0);
114994 if( pColl ){
115191 static int synthCollSeq(sqlite3 *db, CollSeq *pColl){
115193 char *z = pColl->zName;
115199 memcpy(pColl, pColl2, sizeof(CollSeq));
115200 pColl->xDel = 0; /* Do not copy the destructor */
115218 SQLITE_PRIVATE int sqlite3CheckCollSeq(Parse *pParse, CollSeq *pColl){
115219 if( pColl && pColl->xCmp==0 ){
115220 const char *zName = pColl->zName;
115222 CollSeq *p = sqlite3GetCollSeq(pParse, ENC(db), pColl, zName);
115226 assert( p==pColl );
115251 CollSeq *pColl;
115252 pColl = sqlite3HashFind(&db->aCollSeq, zName);
115254 if( 0==pColl && create ){
115256 pColl = sqlite3DbMallocZero(db, 3*sizeof(*pColl) + nName);
115257 if( pColl ){
115259 pColl[0].zName = (char*)&pColl[3];
115260 pColl[0].enc = SQLITE_UTF8;
115261 pColl[1].zName = (char*)&pColl[3];
115262 pColl[1].enc = SQLITE_UTF16LE;
115263 pColl[2].zName = (char*)&pColl[3];
115264 pColl[2].enc = SQLITE_UTF16BE;
115265 memcpy(pColl[0].zName, zName, nName);
115266 pDel = sqlite3HashInsert(&db->aCollSeq, pColl[0].zName, pColl);
115272 assert( pDel==0 || pDel==pColl );
115276 pColl = 0;
115280 return pColl;
115304 CollSeq *pColl;
115308 pColl = findCollSeqEntry(db, zName, create);
115309 if( pColl ) pColl += enc-1;
115311 pColl = db->pDfltColl;
115313 return pColl;
115346 CollSeq *pColl, /* Collating sequence with native encoding, or NULL */
115352 p = pColl;
115398 CollSeq *pColl;
115400 pColl = sqlite3FindCollSeq(db, enc, zName, initbusy);
115401 if( !initbusy && (!pColl || !pColl->xCmp) ){
115402 pColl = sqlite3GetCollSeq(pParse, enc, pColl, zName);
115405 return pColl;
116680 return pOp->p4.pColl;
116704 CollSeq *pColl;
116708 pColl = sqlite3GetFuncCollSeq(context);
116709 assert( pColl );
116715 if( (sqlite3MemCompare(argv[iBest], argv[i], pColl)^mask)>=0 ){
117569 CollSeq *pColl = sqlite3GetFuncCollSeq(context);
117571 if( sqlite3MemCompare(argv[0], argv[1], pColl)!=0 ){
118319 CollSeq *pColl = sqlite3GetFuncCollSeq(context);
118329 cmp = sqlite3MemCompare(pBest, pArg, pColl);
126641 CollSeq *pColl = (CollSeq *)sqliteHashData(p);
126642 sqlite3VdbeMultiLoad(v, 1, "is", i++, pColl->zName);
129896 CollSeq *pColl = sqlite3ExprCollSeq(pParse, p->pEList->a[i].pExpr);
129904 sqlite3VdbeChangeP4(v, -1, (const char *)pColl, P4_COLLSEQ);
130901 CollSeq *pColl;
130930 pColl = sqlite3ExprCollSeq(pParse, p);
130931 if( pColl && pCol->zColl==0 ){
130932 pCol->zColl = sqlite3DbStrDup(db, pColl->zName);
131104 CollSeq *pColl;
131107 pColl = sqlite3ExprCollSeq(pParse, pTerm);
131109 pColl = multiSelectCollSeq(pParse, p, pItem->u.x.iOrderByCol-1);
131110 if( pColl==0 ) pColl = db->pDfltColl;
131112 sqlite3ExprAddCollateString(pParse, pTerm, pColl->zName);
131115 pRet->aColl[i] = pColl;
132356 CollSeq *pColl = sqlite3ExprCollSeq(pSubst->pParse, pExpr);
132358 (pColl ? pColl->zName : "BINARY")
134318 CollSeq *pColl = 0;
134322 for(j=0, pItem=pList->a; !pColl && j<nArg; j++, pItem++){
134323 pColl = sqlite3ExprCollSeq(pParse, pItem->pExpr);
134325 if( !pColl ){
134326 pColl = pParse->db->pDfltColl;
134329 sqlite3VdbeAddOp4(v, OP_CollSeq, regHit, 0, 0, (char *)pColl, P4_COLLSEQ);
144109 CollSeq *pColl;
144120 pColl = sqlite3ExprCompareCollSeq(pParse, pExpr);
144121 if( sqlite3IsBinary(pColl) ) return 1;
145106 CollSeq *pColl;
145113 pColl = sqlite3ExprCompareCollSeq(pParse, pX);
145114 if( pColl==0 ) pColl = pParse->db->pDfltColl;
145115 if( sqlite3StrICmp(pColl->zName, pScan->zCollName) ){
145288 CollSeq *pColl = sqlite3ExprNNCollSeq(pParse, pList->a[i].pExpr);
145289 if( 0==sqlite3StrICmp(pColl->zName, zColl) ){
145535 CollSeq *pColl; /* Collating sequence to on a column */
145634 pColl = sqlite3ExprCompareCollSeq(pParse, pX);
145635 assert( pColl!=0 || pParse->nErr>0 ); /* TH3 collate01.800 */
145636 pIdx->azColl[n] = pColl ? pColl->zName : sqlite3StrBINARY;
146185 CollSeq *pColl;
146191 pColl = sqlite3LocateCollSeq(pParse, p->azColl[nEq]);
146207 int res = sqlite3MemCompare(p1, pVal, pColl);
146211 int res = sqlite3MemCompare(p2, pVal, pColl);
147179 CollSeq *pColl; /* Comparison collation sequence */
147205 pColl = sqlite3BinaryCompareCollSeq(pParse, pLhs, pRhs);
147206 if( pColl==0 ) break;
147207 if( sqlite3StrICmp(pColl->zName, pIdx->azColl[i+nEq]) ) break;
148523 CollSeq *pColl; /* COLLATE function from an ORDER BY clause term */
148728 pColl = sqlite3ExprNNCollSeq(pWInfo->pParse, pOrderBy->a[i].pExpr);
148729 if( sqlite3StrICmp(pColl->zName, pIndex->azColl[j])!=0 ) continue;
152049 CollSeq *pColl;
152051 pColl = sqlite3ExprNNCollSeq(pParse, pWin->pOwner->x.pList->a[0].pExpr);
152052 sqlite3VdbeAddOp4(v, OP_CollSeq, 0,0,0, (const char*)pColl, P4_COLLSEQ);
161498 CollSeq *pColl = (CollSeq *)sqliteHashData(i);
161501 if( pColl[j].xDel ){
161502 pColl[j].xDel(pColl[j].pUser);
161505 sqlite3DbFree(db, pColl);
162769 CollSeq *pColl;
162792 pColl = sqlite3FindCollSeq(db, (u8)enc2, zName, 0);
162793 if( pColl && pColl->xCmp ){
162807 if( (pColl->enc & ~SQLITE_UTF16_ALIGNED)==enc2 ){
162812 if( p->enc==pColl->enc ){
162822 pColl = sqlite3FindCollSeq(db, (u8)enc2, zName, 1);
162823 if( pColl==0 ) return SQLITE_NOMEM_BKPT;
162824 pColl->xCmp = xCompare;
162825 pColl->pUser = pCtx;
162826 pColl->xDel = xDel;
162827 pColl->enc = (u8)(enc2 | (enc & SQLITE_UTF16_ALIGNED));