Lines Matching refs:pColl
15076 CollSeq *pColl; /* Used when p4type is P4_COLLSEQ */ member
80822 CollSeq *pColl = pKeyInfo->aColl[j];
80823 const char *zColl = pColl ? pColl->zName : "";
80841 CollSeq *pColl = pOp->p4.pColl;
80842 assert( pColl->enc<4 );
80843 sqlite3_str_appendf(&x, "%.18s-%s", pColl->zName,
80844 encnames[pColl->enc]);
83396 const CollSeq *pColl,
83399 if( pMem1->enc==pColl->enc ){
83402 return pColl->xCmp(pColl->pUser,pMem1->n,pMem1->z,pMem2->n,pMem2->z);
83412 v1 = sqlite3ValueText((sqlite3_value*)&c1, pColl->enc);
83413 v2 = sqlite3ValueText((sqlite3_value*)&c2, pColl->enc);
83418 rc = pColl->xCmp(pColl->pUser, c1.n, v1, c2.n, v2);
83509 SQLITE_PRIVATE int sqlite3MemCompare(const Mem *pMem1, const Mem *pMem2, const CollSeq *pColl){
83587 assert( !pColl || pColl->xCmp );
83589 if( pColl ){
83590 return vdbeCompareMemString(pMem1, pMem2, pColl, 0);
88855 assert( pOp->p4type==P4_COLLSEQ || pOp->p4.pColl==0 );
88856 res = sqlite3MemCompare(pIn3, pIn1, pOp->p4.pColl);
88966 CollSeq *pColl; /* Collating sequence to use on this term */
89003 pColl = pKeyInfo->aColl[i];
89005 iCompare = sqlite3MemCompare(&aMem[p1+idx], &aMem[p2+idx], pColl);
101810 CollSeq *pColl = 0;
101823 pColl = sqlite3FindCollSeq(db, ENC(db), zColl, 0);
101839 pColl = sqlite3GetCollSeq(pParse, ENC(db), 0, p->u.zToken);
101865 if( sqlite3CheckCollSeq(pParse, pColl) ){
101866 pColl = 0;
101868 return pColl;
101989 CollSeq *pColl;
101992 pColl = sqlite3ExprCollSeq(pParse, pLeft);
101994 pColl = sqlite3ExprCollSeq(pParse, pRight);
101996 pColl = sqlite3ExprCollSeq(pParse, pLeft);
101997 if( !pColl ){
101998 pColl = sqlite3ExprCollSeq(pParse, pRight);
102001 return pColl;
103936 CollSeq *pColl = sqlite3ExprNNCollSeq(pWalker->pParse, p);
103937 if( sqlite3IsBinary(pColl) ){
105086 CollSeq *pColl;
105093 pColl = sqlite3ExprCollSeq(pParse, pExpr->pLeft);
105107 (void*)pColl, P4_COLLSEQ);
105117 (void*)pColl, P4_COLLSEQ);
105207 CollSeq *pColl;
105210 pColl = sqlite3ExprCollSeq(pParse, p);
105213 (void*)pColl, P4_COLLSEQ);
105977 CollSeq *pColl = 0; /* A collating sequence */
106020 if( (pDef->funcFlags & SQLITE_FUNC_NEEDCOLL)!=0 && !pColl ){
106021 pColl = sqlite3ExprCollSeq(pParse, pFarg->a[i].pExpr);
106076 if( !pColl ) pColl = db->pDfltColl;
106077 sqlite3VdbeAddOp4(v, OP_CollSeq, 0, 0, 0, (char *)pColl, P4_COLLSEQ);
111399 char *pColl = (char*)sqlite3LocateCollSeq(pParse, pIdx->azColl[i]);
111404 sqlite3VdbeAddOp4(v, OP_Ne, regTemp, 0, regPrev+i, pColl, P4_COLLSEQ);
118450 CollSeq *pColl; /* Collating sequence to be reindexed, or NULL */
118473 pColl = sqlite3FindCollSeq(db, ENC(db), zColl, 0);
118474 if( pColl ){
118715 static int synthCollSeq(sqlite3 *db, CollSeq *pColl){
118717 char *z = pColl->zName;
118723 memcpy(pColl, pColl2, sizeof(CollSeq));
118724 pColl->xDel = 0; /* Do not copy the destructor */
118742 SQLITE_PRIVATE int sqlite3CheckCollSeq(Parse *pParse, CollSeq *pColl){
118743 if( pColl && pColl->xCmp==0 ){
118744 const char *zName = pColl->zName;
118746 CollSeq *p = sqlite3GetCollSeq(pParse, ENC(db), pColl, zName);
118750 assert( p==pColl );
118775 CollSeq *pColl;
118776 pColl = sqlite3HashFind(&db->aCollSeq, zName);
118778 if( 0==pColl && create ){
118780 pColl = sqlite3DbMallocZero(db, 3*sizeof(*pColl) + nName);
118781 if( pColl ){
118783 pColl[0].zName = (char*)&pColl[3];
118784 pColl[0].enc = SQLITE_UTF8;
118785 pColl[1].zName = (char*)&pColl[3];
118786 pColl[1].enc = SQLITE_UTF16LE;
118787 pColl[2].zName = (char*)&pColl[3];
118788 pColl[2].enc = SQLITE_UTF16BE;
118789 memcpy(pColl[0].zName, zName, nName);
118790 pDel = sqlite3HashInsert(&db->aCollSeq, pColl[0].zName, pColl);
118796 assert( pDel==0 || pDel==pColl );
118800 pColl = 0;
118804 return pColl;
118828 CollSeq *pColl;
118832 pColl = findCollSeqEntry(db, zName, create);
118833 if( pColl ) pColl += enc-1;
118835 pColl = db->pDfltColl;
118837 return pColl;
118870 CollSeq *pColl, /* Collating sequence with native encoding, or NULL */
118876 p = pColl;
118922 CollSeq *pColl;
118924 pColl = sqlite3FindCollSeq(db, enc, zName, initbusy);
118925 if( !initbusy && (!pColl || !pColl->xCmp) ){
118926 pColl = sqlite3GetCollSeq(pParse, enc, pColl, zName);
118929 return pColl;
120212 return pOp->p4.pColl;
120236 CollSeq *pColl;
120240 pColl = sqlite3GetFuncCollSeq(context);
120241 assert( pColl );
120247 if( (sqlite3MemCompare(argv[iBest], argv[i], pColl)^mask)>=0 ){
121102 CollSeq *pColl = sqlite3GetFuncCollSeq(context);
121104 if( sqlite3MemCompare(argv[0], argv[1], pColl)!=0 ){
121853 CollSeq *pColl = sqlite3GetFuncCollSeq(context);
121863 cmp = sqlite3MemCompare(pBest, pArg, pColl);
130907 CollSeq *pColl = (CollSeq *)sqliteHashData(p);
130908 sqlite3VdbeMultiLoad(v, 1, "is", i++, pColl->zName);
134075 CollSeq *pColl = sqlite3ExprCollSeq(pParse, pEList->a[i].pExpr);
134083 sqlite3VdbeChangeP4(v, -1, (const char *)pColl, P4_COLLSEQ);
135441 CollSeq *pColl;
135474 pColl = sqlite3ExprCollSeq(pParse, p);
135475 if( pColl ){
135477 sqlite3ColumnSetColl(db, pCol, pColl->zName);
135649 CollSeq *pColl;
135652 pColl = sqlite3ExprCollSeq(pParse, pTerm);
135654 pColl = multiSelectCollSeq(pParse, p, pItem->u.x.iOrderByCol-1);
135655 if( pColl==0 ) pColl = db->pDfltColl;
135657 sqlite3ExprAddCollateString(pParse, pTerm, pColl->zName);
135660 pRet->aColl[i] = pColl;
136940 CollSeq *pColl = sqlite3ExprCollSeq(pSubst->pParse, pExpr);
136942 (pColl ? pColl->zName : "BINARY")
139272 CollSeq *pColl = 0;
139276 for(j=0, pItem=pList->a; !pColl && j<nArg; j++, pItem++){
139277 pColl = sqlite3ExprCollSeq(pParse, pItem->pExpr);
139279 if( !pColl ){
139280 pColl = pParse->db->pDfltColl;
139283 sqlite3VdbeAddOp4(v, OP_CollSeq, regHit, 0, 0, (char *)pColl, P4_COLLSEQ);
149895 CollSeq *pColl;
149906 pColl = sqlite3ExprCompareCollSeq(pParse, pExpr);
149907 if( sqlite3IsBinary(pColl) ) return 1;
150957 CollSeq *pColl;
150964 pColl = sqlite3ExprCompareCollSeq(pParse, pX);
150965 if( pColl==0 ) pColl = pParse->db->pDfltColl;
150966 if( sqlite3StrICmp(pColl->zName, pScan->zCollName) ){
151153 CollSeq *pColl = sqlite3ExprNNCollSeq(pParse, pList->a[i].pExpr);
151154 if( 0==sqlite3StrICmp(pColl->zName, zColl) ){
151404 CollSeq *pColl; /* Collating sequence to on a column */
151509 pColl = sqlite3ExprCompareCollSeq(pParse, pX);
151510 assert( pColl!=0 || pParse->nErr>0 ); /* TH3 collate01.800 */
151511 pIdx->azColl[n] = pColl ? pColl->zName : sqlite3StrBINARY;
152062 CollSeq *pColl;
152068 pColl = sqlite3LocateCollSeq(pParse, p->azColl[nEq]);
152084 int res = sqlite3MemCompare(p1, pVal, pColl);
152088 int res = sqlite3MemCompare(p2, pVal, pColl);
153071 CollSeq *pColl; /* Comparison collation sequence */
153100 pColl = sqlite3BinaryCompareCollSeq(pParse, pLhs, pRhs);
153101 if( pColl==0 ) break;
153102 if( sqlite3StrICmp(pColl->zName, pIdx->azColl[i+nEq]) ) break;
154455 CollSeq *pColl; /* COLLATE function from an ORDER BY clause term */
154673 pColl = sqlite3ExprNNCollSeq(pWInfo->pParse, pOrderBy->a[i].pExpr);
154674 if( sqlite3StrICmp(pColl->zName, pIndex->azColl[j])!=0 ) continue;
158095 CollSeq *pColl;
158098 pColl = sqlite3ExprNNCollSeq(pParse, pWin->pOwner->x.pList->a[0].pExpr);
158099 sqlite3VdbeAddOp4(v, OP_CollSeq, 0,0,0, (const char*)pColl, P4_COLLSEQ);
158469 CollSeq *pColl;
158563 pColl = sqlite3ExprNNCollSeq(pParse, pOrderBy->a[0].pExpr);
158564 sqlite3VdbeAppendP4(v, (void*)pColl, P4_COLLSEQ);
167958 CollSeq *pColl = (CollSeq *)sqliteHashData(i);
167961 if( pColl[j].xDel ){
167962 pColl[j].xDel(pColl[j].pUser);
167965 sqlite3DbFree(db, pColl);
169278 CollSeq *pColl;
169301 pColl = sqlite3FindCollSeq(db, (u8)enc2, zName, 0);
169302 if( pColl && pColl->xCmp ){
169316 if( (pColl->enc & ~SQLITE_UTF16_ALIGNED)==enc2 ){
169321 if( p->enc==pColl->enc ){
169331 pColl = sqlite3FindCollSeq(db, (u8)enc2, zName, 1);
169332 if( pColl==0 ) return SQLITE_NOMEM_BKPT;
169333 pColl->xCmp = xCompare;
169334 pColl->pUser = pCtx;
169335 pColl->xDel = xDel;
169336 pColl->enc = (u8)(enc2 | (enc & SQLITE_UTF16_ALIGNED));