Lines Matching refs:pColl

16501     CollSeq *pColl;        /* Used when p4type is P4_COLLSEQ */  member
86743 CollSeq *pColl = pKeyInfo->aColl[j];
86744 const char *zColl = pColl ? pColl->zName : "";
86762 CollSeq *pColl = pOp->p4.pColl;
86763 assert( pColl->enc<4 );
86764 sqlite3_str_appendf(&x, "%.18s-%s", pColl->zName,
86765 encnames[pColl->enc]);
89261 const CollSeq *pColl,
89264 if( pMem1->enc==pColl->enc ){
89267 return pColl->xCmp(pColl->pUser,pMem1->n,pMem1->z,pMem2->n,pMem2->z);
89277 v1 = sqlite3ValueText((sqlite3_value*)&c1, pColl->enc);
89278 v2 = sqlite3ValueText((sqlite3_value*)&c2, pColl->enc);
89283 rc = pColl->xCmp(pColl->pUser, c1.n, v1, c2.n, v2);
89386 SQLITE_PRIVATE int sqlite3MemCompare(const Mem *pMem1, const Mem *pMem2, const CollSeq *pColl){
89464 assert( !pColl || pColl->xCmp );
89466 if( pColl ){
89467 return vdbeCompareMemString(pMem1, pMem2, pColl, 0);
95437 assert( pOp->p4type==P4_COLLSEQ || pOp->p4.pColl==0 );
95438 res = sqlite3MemCompare(pIn3, pIn1, pOp->p4.pColl);
95551 CollSeq *pColl; /* Collating sequence to use on this term */
95588 pColl = pKeyInfo->aColl[i];
95590 iCompare = sqlite3MemCompare(&aMem[p1+idx], &aMem[p2+idx], pColl);
109257 CollSeq *pColl = 0;
109270 pColl = sqlite3FindCollSeq(db, ENC(db), zColl, 0);
109285 pColl = sqlite3GetCollSeq(pParse, ENC(db), 0, p->u.zToken);
109310 if( sqlite3CheckCollSeq(pParse, pColl) ){
109311 pColl = 0;
109313 return pColl;
109434 CollSeq *pColl;
109437 pColl = sqlite3ExprCollSeq(pParse, pLeft);
109439 pColl = sqlite3ExprCollSeq(pParse, pRight);
109441 pColl = sqlite3ExprCollSeq(pParse, pLeft);
109442 if( !pColl ){
109443 pColl = sqlite3ExprCollSeq(pParse, pRight);
109446 return pColl;
111708 CollSeq *pColl = sqlite3ExprNNCollSeq(pWalker->pParse, p);
111709 if( sqlite3IsBinary(pColl) ){
112896 CollSeq *pColl;
112903 pColl = sqlite3ExprCollSeq(pParse, pExpr->pLeft);
112917 (void*)pColl, P4_COLLSEQ);
112927 (void*)pColl, P4_COLLSEQ);
113016 CollSeq *pColl;
113019 pColl = sqlite3ExprCollSeq(pParse, p);
113022 (void*)pColl, P4_COLLSEQ);
113912 CollSeq *pColl = 0; /* A collating sequence */
113957 if( (pDef->funcFlags & SQLITE_FUNC_NEEDCOLL)!=0 && !pColl ){
113958 pColl = sqlite3ExprCollSeq(pParse, pFarg->a[i].pExpr);
114015 if( !pColl ) pColl = db->pDfltColl;
114016 sqlite3VdbeAddOp4(v, OP_CollSeq, 0, 0, 0, (char *)pColl, P4_COLLSEQ);
119645 char *pColl = (char*)sqlite3LocateCollSeq(pParse, pIdx->azColl[i]);
119650 sqlite3VdbeAddOp4(v, OP_Ne, regTemp, 0, regPrev+i, pColl, P4_COLLSEQ);
126857 CollSeq *pColl; /* Collating sequence to be reindexed, or NULL */
126880 pColl = sqlite3FindCollSeq(db, ENC(db), zColl, 0);
126881 if( pColl ){
127126 static int synthCollSeq(sqlite3 *db, CollSeq *pColl){
127128 char *z = pColl->zName;
127134 memcpy(pColl, pColl2, sizeof(CollSeq));
127135 pColl->xDel = 0; /* Do not copy the destructor */
127153 SQLITE_PRIVATE int sqlite3CheckCollSeq(Parse *pParse, CollSeq *pColl){
127154 if( pColl && pColl->xCmp==0 ){
127155 const char *zName = pColl->zName;
127157 CollSeq *p = sqlite3GetCollSeq(pParse, ENC(db), pColl, zName);
127161 assert( p==pColl );
127186 CollSeq *pColl;
127187 pColl = sqlite3HashFind(&db->aCollSeq, zName);
127189 if( 0==pColl && create ){
127191 pColl = sqlite3DbMallocZero(db, 3*sizeof(*pColl) + nName);
127192 if( pColl ){
127194 pColl[0].zName = (char*)&pColl[3];
127195 pColl[0].enc = SQLITE_UTF8;
127196 pColl[1].zName = (char*)&pColl[3];
127197 pColl[1].enc = SQLITE_UTF16LE;
127198 pColl[2].zName = (char*)&pColl[3];
127199 pColl[2].enc = SQLITE_UTF16BE;
127200 memcpy(pColl[0].zName, zName, nName);
127201 pDel = sqlite3HashInsert(&db->aCollSeq, pColl[0].zName, pColl);
127207 assert( pDel==0 || pDel==pColl );
127211 pColl = 0;
127215 return pColl;
127239 CollSeq *pColl;
127243 pColl = findCollSeqEntry(db, zName, create);
127244 if( pColl ) pColl += enc-1;
127246 pColl = db->pDfltColl;
127248 return pColl;
127282 CollSeq *pColl, /* Collating sequence with native encoding, or NULL */
127288 p = pColl;
127334 CollSeq *pColl;
127336 pColl = sqlite3FindCollSeq(db, enc, zName, initbusy);
127337 if( !initbusy && (!pColl || !pColl->xCmp) ){
127338 pColl = sqlite3GetCollSeq(pParse, enc, pColl, zName);
127341 return pColl;
128681 return pOp->p4.pColl;
128705 CollSeq *pColl;
128709 pColl = sqlite3GetFuncCollSeq(context);
128710 assert( pColl );
128716 if( (sqlite3MemCompare(argv[iBest], argv[i], pColl)^mask)>=0 ){
129631 CollSeq *pColl = sqlite3GetFuncCollSeq(context);
129633 if( sqlite3MemCompare(argv[0], argv[1], pColl)!=0 ){
130654 CollSeq *pColl = sqlite3GetFuncCollSeq(context);
130664 cmp = sqlite3MemCompare(pBest, pArg, pColl);
140165 CollSeq *pColl = (CollSeq *)sqliteHashData(p);
140166 sqlite3VdbeMultiLoad(v, 1, "is", i++, pColl->zName);
143813 CollSeq *pColl = sqlite3ExprCollSeq(pParse, pEList->a[i].pExpr);
143821 sqlite3VdbeChangeP4(v, -1, (const char *)pColl, P4_COLLSEQ);
145211 CollSeq *pColl;
145283 pColl = sqlite3ExprCollSeq(pParse, p);
145284 if( pColl ){
145286 sqlite3ColumnSetColl(db, pCol, pColl->zName);
145458 CollSeq *pColl;
145461 pColl = sqlite3ExprCollSeq(pParse, pTerm);
145463 pColl = multiSelectCollSeq(pParse, p, pItem->u.x.iOrderByCol-1);
145464 if( pColl==0 ) pColl = db->pDfltColl;
145466 sqlite3ExprAddCollateString(pParse, pTerm, pColl->zName);
145469 pRet->aColl[i] = pColl;
146804 CollSeq *pColl = sqlite3ExprCollSeq(pSubst->pParse,
146807 if( pNat!=pColl || (pExpr->op!=TK_COLUMN && pExpr->op!=TK_COLLATE) ){
146809 (pColl ? pColl->zName : "BINARY")
148093 CollSeq *pColl = sqlite3ExprCollSeq(pParse, pList->a[ii].pExpr);
148094 if( !sqlite3IsBinary(pColl) ){
149816 CollSeq *pColl = 0;
149820 for(j=0, pItem=pList->a; !pColl && j<nArg; j++, pItem++){
149821 pColl = sqlite3ExprCollSeq(pParse, pItem->pExpr);
149823 if( !pColl ){
149824 pColl = pParse->db->pDfltColl;
149828 (char *)pColl, P4_COLLSEQ);
161156 CollSeq *pColl;
161167 pColl = sqlite3ExprCompareCollSeq(pParse, pExpr);
161168 if( sqlite3IsBinary(pColl) ) return 1;
162516 CollSeq *pColl;
162521 pColl = sqlite3ExprCompareCollSeq(pParse, pX);
162522 zCollName = pColl ? pColl->zName : sqlite3StrBINARY;
162712 CollSeq *pColl = sqlite3ExprNNCollSeq(pParse, pList->a[i].pExpr);
162713 if( 0==sqlite3StrICmp(pColl->zName, zColl) ){
163068 CollSeq *pColl; /* Collating sequence to on a column */
163183 pColl = sqlite3ExprCompareCollSeq(pParse, pX);
163184 assert( pColl!=0 || pParse->nErr>0 ); /* TH3 collate01.800 */
163185 pIdx->azColl[n] = pColl ? pColl->zName : sqlite3StrBINARY;
163979 CollSeq *pColl;
163985 pColl = sqlite3LocateCollSeq(pParse, p->azColl[nEq]);
164001 int res = sqlite3MemCompare(p1, pVal, pColl);
164005 int res = sqlite3MemCompare(p2, pVal, pColl);
165044 CollSeq *pColl; /* Comparison collation sequence */
165073 pColl = sqlite3BinaryCompareCollSeq(pParse, pLhs, pRhs);
165074 if( pColl==0 ) break;
165075 if( sqlite3StrICmp(pColl->zName, pIdx->azColl[i+nEq]) ) break;
166923 CollSeq *pColl; /* COLLATE function from an ORDER BY clause term */
167143 pColl = sqlite3ExprNNCollSeq(pWInfo->pParse, pOrderBy->a[i].pExpr);
167144 if( sqlite3StrICmp(pColl->zName, pIndex->azColl[j])!=0 ) continue;
171087 CollSeq *pColl;
171090 pColl = sqlite3ExprNNCollSeq(pParse, pWin->pOwner->x.pList->a[0].pExpr);
171091 sqlite3VdbeAddOp4(v, OP_CollSeq, 0,0,0, (const char*)pColl, P4_COLLSEQ);
171461 CollSeq *pColl;
171554 pColl = sqlite3ExprNNCollSeq(pParse, pOrderBy->a[0].pExpr);
171555 sqlite3VdbeAppendP4(v, (void*)pColl, P4_COLLSEQ);
181192 CollSeq *pColl = (CollSeq *)sqliteHashData(i);
181195 if( pColl[j].xDel ){
181196 pColl[j].xDel(pColl[j].pUser);
181199 sqlite3DbFree(db, pColl);
182549 CollSeq *pColl;
182572 pColl = sqlite3FindCollSeq(db, (u8)enc2, zName, 0);
182573 if( pColl && pColl->xCmp ){
182587 if( (pColl->enc & ~SQLITE_UTF16_ALIGNED)==enc2 ){
182592 if( p->enc==pColl->enc ){
182602 pColl = sqlite3FindCollSeq(db, (u8)enc2, zName, 1);
182603 if( pColl==0 ) return SQLITE_NOMEM_BKPT;
182604 pColl->xCmp = xCompare;
182605 pColl->pUser = pCtx;
182606 pColl->xDel = xDel;
182607 pColl->enc = (u8)(enc2 | (enc & SQLITE_UTF16_ALIGNED));