• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt/router/sqlite/

Lines Matching refs:pColl

7418     CollSeq *pColl;        /* Used when p4type is P4_COLLSEQ */
9098 #define TF_NeedMetadata 0x20 /* aCol[].zType and aCol[].pColl missing */
9448 CollSeq *pColl; /* The collation type of the column or 0 */
11868 CollSeq *pColl; /* Collating sequence */
54038 ** sequence pColl and finally blob's ordered by memcmp().
54042 SQLITE_PRIVATE int sqlite3MemCompare(const Mem *pMem1, const Mem *pMem2, const CollSeq *pColl){
54113 assert( !pColl || pColl->xCmp );
54115 if( pColl ){
54116 if( pMem1->enc==pColl->enc ){
54119 return pColl->xCmp(pColl->pUser,pMem1->n,pMem1->z,pMem2->n,pMem2->z);
54129 v1 = sqlite3ValueText((sqlite3_value*)&c1, pColl->enc);
54131 v2 = sqlite3ValueText((sqlite3_value*)&c2, pColl->enc);
54133 rc = pColl->xCmp(pColl->pUser, n1, v1, n2, v2);
55255 CollSeq *pColl = pKeyInfo->aColl[j];
55256 if( pColl ){
55257 int n = sqlite3Strlen30(pColl->zName);
55266 memcpy(&zTemp[i], pColl->zName,n+1);
55279 CollSeq *pColl = pOp->p4.pColl;
55280 sqlite3_snprintf(nTemp, zTemp, "collseq(%.20s)", pColl->zName);
59701 CollSeq *pColl; /* Collating sequence to use on this term */
60869 u.ag.ctx.pColl = pOp[-1].p4.pColl;
61242 assert( pOp->p4type==P4_COLLSEQ || pOp->p4.pColl==0 );
61245 u.ai.res = sqlite3MemCompare(pIn3, pIn1, pOp->p4.pColl);
61309 CollSeq *pColl; /* Collating sequence to use on this term */
61335 u.aj.pColl = u.aj.pKeyInfo->aColl[u.aj.i];
61337 iCompare = sqlite3MemCompare(&aMem[u.aj.p1+u.aj.idx], &aMem[u.aj.p2+u.aj.idx], u.aj.pColl);
64687 u.cb.ctx.pColl = 0;
64692 u.cb.ctx.pColl = pOp[-1].p4.pColl;
66574 pDup->pColl = pExpr->pColl;
67276 CollSeq *pColl = pE->pColl;
67281 pE->pColl = pColl;
67755 SQLITE_PRIVATE Expr *sqlite3ExprSetColl(Expr *pExpr, CollSeq *pColl){
67756 if( pExpr && pColl ){
67757 pExpr->pColl = pColl;
67772 CollSeq *pColl;
67775 pColl = sqlite3LocateCollSeq(pParse, zColl);
67776 sqlite3ExprSetColl(pExpr, pColl);
67786 CollSeq *pColl = 0;
67790 pColl = p->pColl;
67791 if( pColl ) break;
67803 pColl = sqlite3FindCollSeq(db, ENC(db), zColl, 0);
67804 pExpr->pColl = pColl;
67813 if( sqlite3CheckCollSeq(pParse, pColl) ){
67814 pColl = 0;
67816 return pColl;
67913 CollSeq *pColl;
67916 assert( pLeft->pColl );
67917 pColl = pLeft->pColl;
67919 assert( pRight->pColl );
67920 pColl = pRight->pColl;
67922 pColl = sqlite3ExprCollSeq(pParse, pLeft);
67923 if( !pColl ){
67924 pColl = sqlite3ExprCollSeq(pParse, pRight);
67927 return pColl;
68150 pRoot->pColl = pRight->pColl;
68157 pRoot->pColl = pLeft->pColl;
68379 if( p->pLeft || p->pRight || p->pColl || p->x.pList ){
70282 CollSeq *pColl = 0; /* A collating sequence */
70353 if( (pDef->flags & SQLITE_FUNC_NEEDCOLL)!=0 && !pColl ){
70354 pColl = sqlite3ExprCollSeq(pParse, pFarg->a[i].pExpr);
70358 if( !pColl ) pColl = db->pDfltColl;
70359 sqlite3VdbeAddOp4(v, OP_CollSeq, 0, 0, 0, (char *)pColl, P4_COLLSEQ);
71187 if( (pA->flags & EP_ExpCollate)!=0 && pA->pColl!=pB->pColl ) return 2;
74969 CollSeq *pColl;
74971 pColl = sqlite3FindCollSeq(db, enc, zName, initbusy);
74972 if( !initbusy && (!pColl || !pColl->xCmp) ){
74973 pColl = sqlite3GetCollSeq(db, enc, pColl, zName);
74974 if( !pColl ){
74979 return pColl;
76258 CollSeq *pColl = pExpr->pColl;
76259 /* Either pColl!=0 or there was an OOM failure. But if an OOM
76261 if( ALWAYS(pColl) ){
76262 nExtra += (1 + sqlite3Strlen30(pColl->zName));
76331 /* Justification of the ALWAYS(pListItem->pExpr->pColl): Because of
76333 ** if pListItem->pExpr is not null then either pListItem->pExpr->pColl
76336 if( pListItem->pExpr && ALWAYS(pListItem->pExpr->pColl) ){
76338 zColl = pListItem->pExpr->pColl->zName;
77255 ** Check to see if pIndex uses the collating sequence pColl. Return
77274 ** Recompute all indices of pTab that use the collating sequence pColl.
77275 ** If pColl==0 then recompute all indices of pTab.
77293 ** indices use the collating sequence pColl. If pColl==0 then recompute
77329 CollSeq *pColl; /* Collating sequence to be reindexed, or NULL */
77352 pColl = sqlite3FindCollSeq(db, ENC(db), zColl, 0);
77353 if( pColl ){
77471 static int synthCollSeq(sqlite3 *db, CollSeq *pColl){
77473 char *z = pColl->zName;
77479 memcpy(pColl, pColl2, sizeof(CollSeq));
77480 pColl->xDel = 0; /* Do not copy the destructor */
77492 ** If it is not NULL, then pColl must point to the database native encoding
77504 CollSeq *pColl, /* Collating sequence with native encoding, or NULL */
77509 p = pColl;
77538 SQLITE_PRIVATE int sqlite3CheckCollSeq(Parse *pParse, CollSeq *pColl){
77539 if( pColl ){
77540 const char *zName = pColl->zName;
77542 CollSeq *p = sqlite3GetCollSeq(db, ENC(db), pColl, zName);
77548 assert( p==pColl );
77573 CollSeq *pColl;
77575 pColl = sqlite3HashFind(&db->aCollSeq, zName, nName);
77577 if( 0==pColl && create ){
77578 pColl = sqlite3DbMallocZero(db, 3*sizeof(*pColl) + nName + 1 );
77579 if( pColl ){
77581 pColl[0].zName = (char*)&pColl[3];
77582 pColl[0].enc = SQLITE_UTF8;
77583 pColl[1].zName = (char*)&pColl[3];
77584 pColl[1].enc = SQLITE_UTF16LE;
77585 pColl[2].zName = (char*)&pColl[3];
77586 pColl[2].enc = SQLITE_UTF16BE;
77587 memcpy(pColl[0].zName, zName, nName);
77588 pColl[0].zName[nName] = 0;
77589 pDel = sqlite3HashInsert(&db->aCollSeq, pColl[0].zName, nName, pColl);
77592 ** return the pColl pointer to be deleted (because it wasn't added
77595 assert( pDel==0 || pDel==pColl );
77599 pColl = 0;
77603 return pColl;
77627 CollSeq *pColl;
77629 pColl = findCollSeqEntry(db, zName, create);
77631 pColl = db->pDfltColl;
77635 if( pColl ) pColl += enc-1;
77636 return pColl;
78536 return context->pColl;
78550 CollSeq *pColl;
78554 pColl = sqlite3GetFuncCollSeq(context);
78555 assert( pColl );
78561 if( (sqlite3MemCompare(argv[iBest], argv[i], pColl)^mask)>=0 ){
79247 CollSeq *pColl = sqlite3GetFuncCollSeq(context);
79249 if( sqlite3MemCompare(argv[0], argv[1], pColl)!=0 ){
79844 CollSeq *pColl = sqlite3GetFuncCollSeq(context);
79854 cmp = sqlite3MemCompare(pBest, pArg, pColl);
80613 pLeft->pColl = sqlite3LocateCollSeq(pParse, pCol->zColl);
85250 CollSeq *pColl = (CollSeq *)sqliteHashData(p);
85252 sqlite3VdbeAddOp4(v, OP_String8, 0, 2, 0, pColl->zName, 0);
87406 CollSeq *pColl;
87407 pColl = sqlite3ExprCollSeq(pParse, pItem->pExpr);
87408 if( !pColl ){
87409 pColl = db->pDfltColl;
87411 pInfo->aColl[i] = pColl;
87898 CollSeq *pColl;
87915 pColl = sqlite3ExprCollSeq(pParse, p);
87916 if( pColl ){
87917 pCol->zColl = sqlite3DbStrDup(db, pColl->zName);
88777 CollSeq *pColl;
88780 pColl = pTerm->pColl;
88782 pColl = multiSelectCollSeq(pParse, p, aPermute[i]);
88784 pTerm->pColl = pColl;
88786 pKeyMerge->aColl[i] = pColl;
89050 if( pNew && pExpr->pColl ){
89051 pNew->pColl = pExpr->pColl;
90121 CollSeq *pColl = 0;
90125 for(j=0, pItem=pList->a; !pColl && j<nArg; j++, pItem++){
90126 pColl = sqlite3ExprCollSeq(pParse, pItem->pExpr);
90128 if( !pColl ){
90129 pColl = pParse->db->pDfltColl;
90131 sqlite3VdbeAddOp4(v, OP_CollSeq, 0, 0, 0, (char *)pColl, P4_COLLSEQ);
94710 pExpr->pRight->pColl = sqlite3ExprCollSeq(pParse, pExpr->pRight);
94711 pExpr->pLeft->pColl = sqlite3ExprCollSeq(pParse, pExpr->pLeft);
94712 SWAP(CollSeq*,pExpr->pRight->pColl,pExpr->pLeft->pColl);
94776 CollSeq *pColl;
94786 ** value in variable pColl.
94789 pColl = sqlite3BinaryCompareCollSeq(pParse, pX->pLeft, pX->pRight);
94790 assert(pColl || pParse->nErr);
94795 if( pColl && sqlite3StrICmp(pColl->zName, pIdx->azColl[j]) ) continue;
95442 CollSeq *pColl; /* Collating sequence to use */
95464 pColl = sqlite3FindCollSeq(db, SQLITE_UTF8, noCase ? "NOCASE" : "BINARY",0);
95466 sqlite3ExprSetColl(sqlite3ExprDup(db,pLeft,0), pColl),
95472 sqlite3ExprSetColl(sqlite3ExprDup(db,pLeft,0), pColl),
95602 CollSeq *pColl; /* The collating sequence of pExpr */
95614 pColl = sqlite3ExprCollSeq(pParse, pExpr);
95615 if( !pColl ){
95616 pColl = db->pDfltColl;
95628 zColl = pColl->zName;
95630 if( pExpr->iColumn!=iColumn || sqlite3StrICmp(pColl->zName, zColl) ){
95961 CollSeq *pColl; /* Collating sequence to on a column */
96038 pColl = sqlite3BinaryCompareCollSeq(pParse, pX->pLeft, pX->pRight);
96039 pIdx->azColl[n] = pColl->zName;
96428 CollSeq *pColl;
96437 pColl = db->pDfltColl;
96438 assert( pColl->enc==SQLITE_UTF8 );
96440 pColl = sqlite3GetCollSeq(db, SQLITE_UTF8, 0, *pIdx->azColl);
96441 if( pColl==0 ){
96446 z = (const u8 *)sqlite3ValueText(pVal, pColl->enc);
96450 assert( z && pColl && pColl->xCmp );
96452 n = sqlite3ValueBytes(pVal, pColl->enc);
96460 if( pColl->enc!=SQLITE_UTF8 ){
96463 db, pColl->enc, aSample[i].u.z, aSample[i].nByte, &nSample
96469 r = pColl->xCmp(pColl->pUser, nSample, zSample, n, z);
96474 r = pColl->xCmp(pColl->pUser, aSample[i].nByte, aSample[i].u.z, n, z);
104019 CollSeq *pColl = (CollSeq *)sqliteHashData(i);
104022 if( pColl[j].xDel ){
104023 pColl[j].xDel(pColl[j].pUser);
104026 sqlite3DbFree(db, pColl);
104858 CollSeq *pColl;
104882 pColl = sqlite3FindCollSeq(db, (u8)enc2, zName, 0);
104883 if( pColl && pColl->xCmp ){
104891 /* If collation sequence pColl was created directly by a call to
104897 if( (pColl->enc & ~SQLITE_UTF16_ALIGNED)==enc2 ){
104902 if( p->enc==pColl->enc ){
104912 pColl = sqlite3FindCollSeq(db, (u8)enc2, zName, 1);
104913 if( pColl ){
104914 pColl->xCmp = xCompare;
104915 pColl->pUser = pCtx;
104916 pColl->xDel = xDel;
104917 pColl->enc = (u8)(enc2 | (enc & SQLITE_UTF16_ALIGNED));
104918 pColl->type = collType;