Lines Matching refs:pColl
52 static int synthCollSeq(sqlite3 *db, CollSeq *pColl){ in synthCollSeq() argument
54 char *z = pColl->zName; in synthCollSeq()
60 memcpy(pColl, pColl2, sizeof(CollSeq)); in synthCollSeq()
61 pColl->xDel = 0; /* Do not copy the destructor */ in synthCollSeq()
79 int sqlite3CheckCollSeq(Parse *pParse, CollSeq *pColl){ in sqlite3CheckCollSeq() argument
80 if( pColl && pColl->xCmp==0 ){ in sqlite3CheckCollSeq()
81 const char *zName = pColl->zName; in sqlite3CheckCollSeq()
83 CollSeq *p = sqlite3GetCollSeq(pParse, ENC(db), pColl, zName); in sqlite3CheckCollSeq()
87 assert( p==pColl ); in sqlite3CheckCollSeq()
112 CollSeq *pColl; in findCollSeqEntry() local
113 pColl = sqlite3HashFind(&db->aCollSeq, zName); in findCollSeqEntry()
115 if( 0==pColl && create ){ in findCollSeqEntry()
117 pColl = sqlite3DbMallocZero(db, 3*sizeof(*pColl) + nName); in findCollSeqEntry()
118 if( pColl ){ in findCollSeqEntry()
120 pColl[0].zName = (char*)&pColl[3]; in findCollSeqEntry()
121 pColl[0].enc = SQLITE_UTF8; in findCollSeqEntry()
122 pColl[1].zName = (char*)&pColl[3]; in findCollSeqEntry()
123 pColl[1].enc = SQLITE_UTF16LE; in findCollSeqEntry()
124 pColl[2].zName = (char*)&pColl[3]; in findCollSeqEntry()
125 pColl[2].enc = SQLITE_UTF16BE; in findCollSeqEntry()
126 memcpy(pColl[0].zName, zName, nName); in findCollSeqEntry()
127 pDel = sqlite3HashInsert(&db->aCollSeq, pColl[0].zName, pColl); in findCollSeqEntry()
133 assert( pDel==0 || pDel==pColl ); in findCollSeqEntry()
137 pColl = 0; in findCollSeqEntry()
141 return pColl; in findCollSeqEntry()
165 CollSeq *pColl; in sqlite3FindCollSeq() local
169 pColl = findCollSeqEntry(db, zName, create); in sqlite3FindCollSeq()
170 if( pColl ) pColl += enc-1; in sqlite3FindCollSeq()
172 pColl = db->pDfltColl; in sqlite3FindCollSeq()
174 return pColl; in sqlite3FindCollSeq()
207 CollSeq *pColl, /* Collating sequence with native encoding, or NULL */ in sqlite3GetCollSeq() argument
213 p = pColl; in sqlite3GetCollSeq()
259 CollSeq *pColl; in sqlite3LocateCollSeq() local
261 pColl = sqlite3FindCollSeq(db, enc, zName, initbusy); in sqlite3LocateCollSeq()
262 if( !initbusy && (!pColl || !pColl->xCmp) ){ in sqlite3LocateCollSeq()
263 pColl = sqlite3GetCollSeq(pParse, enc, pColl, zName); in sqlite3LocateCollSeq()
266 return pColl; in sqlite3LocateCollSeq()