Lines Matching refs:pColl
16932 CollSeq *pColl; /* Used when p4type is P4_COLLSEQ */ member
87812 CollSeq *pColl = pKeyInfo->aColl[j]; local
87813 const char *zColl = pColl ? pColl->zName : "";
87831 CollSeq *pColl = pOp->p4.pColl; local
87832 assert( pColl->enc<4 );
87833 sqlite3_str_appendf(&x, "%.18s-%s", pColl->zName,
87834 encnames[pColl->enc]);
90343 const CollSeq *pColl,
90346 if( pMem1->enc==pColl->enc ){
90349 return pColl->xCmp(pColl->pUser,pMem1->n,pMem1->z,pMem2->n,pMem2->z);
90359 v1 = sqlite3ValueText((sqlite3_value*)&c1, pColl->enc);
90360 v2 = sqlite3ValueText((sqlite3_value*)&c2, pColl->enc);
90365 rc = pColl->xCmp(pColl->pUser, c1.n, v1, c2.n, v2);
90461 SQLITE_PRIVATE int sqlite3MemCompare(const Mem *pMem1, const Mem *pMem2, const CollSeq *pColl){
90539 assert( !pColl || pColl->xCmp );
90541 if( pColl ){
90542 return vdbeCompareMemString(pMem1, pMem2, pColl, 0);
96688 assert( pOp->p4type==P4_COLLSEQ || pOp->p4.pColl==0 );
96689 res = sqlite3MemCompare(pIn3, pIn1, pOp->p4.pColl);
96802 CollSeq *pColl; /* Collating sequence to use on this term */
96839 pColl = pKeyInfo->aColl[i];
96841 iCompare = sqlite3MemCompare(&aMem[p1+idx], &aMem[p2+idx], pColl);
110595 CollSeq *pColl = 0;
110608 pColl = sqlite3FindCollSeq(db, ENC(db), zColl, 0);
110625 pColl = sqlite3GetCollSeq(pParse, ENC(db), 0, p->u.zToken);
110650 if( sqlite3CheckCollSeq(pParse, pColl) ){
110651 pColl = 0;
110653 return pColl;
110774 CollSeq *pColl;
110777 pColl = sqlite3ExprCollSeq(pParse, pLeft);
110779 pColl = sqlite3ExprCollSeq(pParse, pRight);
110781 pColl = sqlite3ExprCollSeq(pParse, pLeft);
110782 if( !pColl ){
110783 pColl = sqlite3ExprCollSeq(pParse, pRight);
110786 return pColl;
113054 CollSeq *pColl = sqlite3ExprNNCollSeq(pWalker->pParse, p);
113055 if( sqlite3IsBinary(pColl) ){
114348 CollSeq *pColl;
114355 pColl = sqlite3ExprCollSeq(pParse, pExpr->pLeft);
114369 (void*)pColl, P4_COLLSEQ);
114379 (void*)pColl, P4_COLLSEQ);
114477 CollSeq *pColl;
114480 pColl = sqlite3ExprCollSeq(pParse, p);
114483 (void*)pColl, P4_COLLSEQ);
115447 CollSeq *pColl = 0; /* A collating sequence */
115492 if( (pDef->funcFlags & SQLITE_FUNC_NEEDCOLL)!=0 && !pColl ){
115493 pColl = sqlite3ExprCollSeq(pParse, pFarg->a[i].pExpr);
115550 if( !pColl ) pColl = db->pDfltColl;
115551 sqlite3VdbeAddOp4(v, OP_CollSeq, 0, 0, 0, (char *)pColl, P4_COLLSEQ);
121290 char *pColl = (char*)sqlite3LocateCollSeq(pParse, pIdx->azColl[i]);
121295 sqlite3VdbeAddOp4(v, OP_Ne, regTemp, 0, regPrev+i, pColl, P4_COLLSEQ);
128581 CollSeq *pColl; /* Collating sequence to be reindexed, or NULL */
128604 pColl = sqlite3FindCollSeq(db, ENC(db), zColl, 0);
128605 if( pColl ){
128849 static int synthCollSeq(sqlite3 *db, CollSeq *pColl){
128851 char *z = pColl->zName;
128857 memcpy(pColl, pColl2, sizeof(CollSeq));
128858 pColl->xDel = 0; /* Do not copy the destructor */
128876 SQLITE_PRIVATE int sqlite3CheckCollSeq(Parse *pParse, CollSeq *pColl){
128877 if( pColl && pColl->xCmp==0 ){
128878 const char *zName = pColl->zName;
128880 CollSeq *p = sqlite3GetCollSeq(pParse, ENC(db), pColl, zName);
128884 assert( p==pColl );
128909 CollSeq *pColl;
128910 pColl = sqlite3HashFind(&db->aCollSeq, zName);
128912 if( 0==pColl && create ){
128914 pColl = sqlite3DbMallocZero(db, 3*sizeof(*pColl) + nName);
128915 if( pColl ){
128917 pColl[0].zName = (char*)&pColl[3];
128918 pColl[0].enc = SQLITE_UTF8;
128919 pColl[1].zName = (char*)&pColl[3];
128920 pColl[1].enc = SQLITE_UTF16LE;
128921 pColl[2].zName = (char*)&pColl[3];
128922 pColl[2].enc = SQLITE_UTF16BE;
128923 memcpy(pColl[0].zName, zName, nName);
128924 pDel = sqlite3HashInsert(&db->aCollSeq, pColl[0].zName, pColl);
128930 assert( pDel==0 || pDel==pColl );
128934 pColl = 0;
128938 return pColl;
128962 CollSeq *pColl;
128966 pColl = findCollSeqEntry(db, zName, create);
128967 if( pColl ) pColl += enc-1;
128969 pColl = db->pDfltColl;
128971 return pColl;
129005 CollSeq *pColl, /* Collating sequence with native encoding, or NULL */
129011 p = pColl;
129057 CollSeq *pColl;
129059 pColl = sqlite3FindCollSeq(db, enc, zName, initbusy);
129060 if( !initbusy && (!pColl || !pColl->xCmp) ){
129061 pColl = sqlite3GetCollSeq(pParse, enc, pColl, zName);
129064 return pColl;
130412 return pOp->p4.pColl;
130436 CollSeq *pColl;
130440 pColl = sqlite3GetFuncCollSeq(context);
130441 assert( pColl );
130447 if( (sqlite3MemCompare(argv[iBest], argv[i], pColl)^mask)>=0 ){
131362 CollSeq *pColl = sqlite3GetFuncCollSeq(context);
131364 if( sqlite3MemCompare(argv[0], argv[1], pColl)!=0 ){
132491 CollSeq *pColl = sqlite3GetFuncCollSeq(context);
132501 cmp = sqlite3MemCompare(pBest, pArg, pColl);
142107 CollSeq *pColl = (CollSeq *)sqliteHashData(p);
142108 sqlite3VdbeMultiLoad(v, 1, "is", i++, pColl->zName);
145794 CollSeq *pColl = sqlite3ExprCollSeq(pParse, pEList->a[i].pExpr);
145802 sqlite3VdbeChangeP4(v, -1, (const char *)pColl, P4_COLLSEQ);
147202 CollSeq *pColl;
147274 pColl = sqlite3ExprCollSeq(pParse, p);
147275 if( pColl ){
147277 sqlite3ColumnSetColl(db, pCol, pColl->zName);
147449 CollSeq *pColl;
147452 pColl = sqlite3ExprCollSeq(pParse, pTerm);
147454 pColl = multiSelectCollSeq(pParse, p, pItem->u.x.iOrderByCol-1);
147455 if( pColl==0 ) pColl = db->pDfltColl;
147457 sqlite3ExprAddCollateString(pParse, pTerm, pColl->zName);
147460 pRet->aColl[i] = pColl;
148795 CollSeq *pColl = sqlite3ExprCollSeq(pSubst->pParse,
148798 if( pNat!=pColl || (pNew->op!=TK_COLUMN && pNew->op!=TK_COLLATE) ){
148800 (pColl ? pColl->zName : "BINARY")
150109 CollSeq *pColl = sqlite3ExprCollSeq(pParse, pList->a[ii].pExpr);
150110 if( !sqlite3IsBinary(pColl) ){
151849 CollSeq *pColl = 0;
151853 for(j=0, pItem=pList->a; !pColl && j<nArg; j++, pItem++){
151854 pColl = sqlite3ExprCollSeq(pParse, pItem->pExpr);
151856 if( !pColl ){
151857 pColl = pParse->db->pDfltColl;
151861 (char *)pColl, P4_COLLSEQ);
163488 CollSeq *pColl;
163506 pColl = sqlite3ExprCompareCollSeq(pParse, pExpr);
163507 if( !sqlite3IsBinary(pColl)
164872 CollSeq *pColl;
164877 pColl = sqlite3ExprCompareCollSeq(pParse, pX);
164878 zCollName = pColl ? pColl->zName : sqlite3StrBINARY;
165068 CollSeq *pColl = sqlite3ExprNNCollSeq(pParse, pList->a[i].pExpr);
165069 if( 0==sqlite3StrICmp(pColl->zName, zColl) ){
165472 CollSeq *pColl; /* Collating sequence to on a column */
165603 pColl = sqlite3ExprCompareCollSeq(pParse, pX);
165604 assert( pColl!=0 || pParse->nErr>0 ); /* TH3 collate01.800 */
165605 pIdx->azColl[n] = pColl ? pColl->zName : sqlite3StrBINARY;
166454 CollSeq *pColl;
166460 pColl = sqlite3LocateCollSeq(pParse, p->azColl[nEq]);
166476 int res = sqlite3MemCompare(p1, pVal, pColl);
166480 int res = sqlite3MemCompare(p2, pVal, pColl);
167529 CollSeq *pColl; /* Comparison collation sequence */
167558 pColl = sqlite3BinaryCompareCollSeq(pParse, pLhs, pRhs);
167559 if( pColl==0 ) break;
167560 if( sqlite3StrICmp(pColl->zName, pIdx->azColl[i+nEq]) ) break;
169511 CollSeq *pColl; /* COLLATE function from an ORDER BY clause term */
169738 pColl = sqlite3ExprNNCollSeq(pWInfo->pParse, pOrderBy->a[i].pExpr);
169739 if( sqlite3StrICmp(pColl->zName, pIndex->azColl[j])!=0 ) continue;
173899 CollSeq *pColl;
173902 pColl = sqlite3ExprNNCollSeq(pParse, pWin->pOwner->x.pList->a[0].pExpr);
173903 sqlite3VdbeAddOp4(v, OP_CollSeq, 0,0,0, (const char*)pColl, P4_COLLSEQ);
174274 CollSeq *pColl;
174367 pColl = sqlite3ExprNNCollSeq(pParse, pOrderBy->a[0].pExpr);
174368 sqlite3VdbeAppendP4(v, (void*)pColl, P4_COLLSEQ);
184063 CollSeq *pColl = (CollSeq *)sqliteHashData(i);
184066 if( pColl[j].xDel ){
184067 pColl[j].xDel(pColl[j].pUser);
184070 sqlite3DbFree(db, pColl);
185457 CollSeq *pColl;
185480 pColl = sqlite3FindCollSeq(db, (u8)enc2, zName, 0);
185481 if( pColl && pColl->xCmp ){
185495 if( (pColl->enc & ~SQLITE_UTF16_ALIGNED)==enc2 ){
185500 if( p->enc==pColl->enc ){
185510 pColl = sqlite3FindCollSeq(db, (u8)enc2, zName, 1);
185511 if( pColl==0 ) return SQLITE_NOMEM_BKPT;
185512 pColl->xCmp = xCompare;
185513 pColl->pUser = pCtx;
185514 pColl->xDel = xDel;
185515 pColl->enc = (u8)(enc2 | (enc & SQLITE_UTF16_ALIGNED));