Lines Matching refs:pConfig

215086 static int sqlite3Fts5ConfigDeclareVtab(Fts5Config *pConfig);
215089 Fts5Config *pConfig, /* FTS5 Configuration object */
215237 static int sqlite3Fts5IndexOpen(Fts5Config *pConfig, int bCreate, Fts5Index**, char**);
215414 Fts5Config *pConfig; /* Virtual table configuration */
215550 Fts5Config *pConfig,
215558 Fts5Config *pConfig,
218560 Fts5Config *pConfig, /* Configuration object to update */
218571 if( pConfig->aPrefix==0 ){
218572 pConfig->aPrefix = sqlite3Fts5MallocZero(&rc, nByte);
218593 if( pConfig->nPrefix==FTS5_MAX_PREFIX_INDEXES ){
218612 pConfig->aPrefix[pConfig->nPrefix] = nPre;
218613 pConfig->nPrefix++;
218616 assert( pConfig->nPrefix<=FTS5_MAX_PREFIX_INDEXES );
218628 if( pConfig->pTok ){
218652 (const char**)azArg, (int)nArg, pConfig,
218665 if( pConfig->eContent!=FTS5_CONTENT_NORMAL ){
218670 pConfig->eContent = FTS5_CONTENT_EXTERNAL;
218671 pConfig->zContent = sqlite3Fts5Mprintf(&rc, "%Q.%Q", pConfig->zDb,zArg);
218673 pConfig->eContent = FTS5_CONTENT_NONE;
218680 if( pConfig->zContentRowid ){
218684 pConfig->zContentRowid = sqlite3Fts5Strndup(&rc, zArg, -1);
218694 pConfig->bColumnsize = (zArg[0]=='1');
218707 if( (rc = fts5ConfigSetEnum(aDetail, zArg, &pConfig->eDetail)) ){
218722 static int fts5ConfigDefaultTokenizer(Fts5Global *pGlobal, Fts5Config *pConfig){
218723 assert( pConfig->pTok==0 && pConfig->pTokApi==0 );
218724 return sqlite3Fts5GetTokenizer(pGlobal, 0, 0, pConfig, 0);
218967 static void sqlite3Fts5ConfigFree(Fts5Config *pConfig){
218968 if( pConfig ){
218970 if( pConfig->pTok ){
218971 pConfig->pTokApi->xDelete(pConfig->pTok);
218973 sqlite3_free(pConfig->zDb);
218974 sqlite3_free(pConfig->zName);
218975 for(i=0; i<pConfig->nCol; i++){
218976 sqlite3_free(pConfig->azCol[i]);
218978 sqlite3_free(pConfig->azCol);
218979 sqlite3_free(pConfig->aPrefix);
218980 sqlite3_free(pConfig->zRank);
218981 sqlite3_free(pConfig->zRankArgs);
218982 sqlite3_free(pConfig->zContent);
218983 sqlite3_free(pConfig->zContentRowid);
218984 sqlite3_free(pConfig->zContentExprlist);
218985 sqlite3_free(pConfig);
218994 static int sqlite3Fts5ConfigDeclareVtab(Fts5Config *pConfig){
219000 for(i=0; zSql && i<pConfig->nCol; i++){
219002 zSql = sqlite3Fts5Mprintf(&rc, "%z%s%Q", zSql, zSep, pConfig->azCol[i]);
219005 zSql, pConfig->zName, FTS5_RANK_NAME
219010 rc = sqlite3_declare_vtab(pConfig->db, zSql);
219041 Fts5Config *pConfig, /* FTS5 Configuration object */
219048 return pConfig->pTokApi->xTokenize(
219049 pConfig->pTok, pCtx, flags, pText, nText, xToken
219146 Fts5Config *pConfig,
219161 pConfig->pgsz = pgsz;
219173 pConfig->nHashSize = nHashSize;
219186 pConfig->nAutomerge = nAutomerge;
219198 pConfig->nUsermerge = nUsermerge;
219212 pConfig->nCrisisMerge = nCrisisMerge;
219222 sqlite3_free(pConfig->zRank);
219223 sqlite3_free(pConfig->zRankArgs);
219224 pConfig->zRank = zRank;
219225 pConfig->zRankArgs = zRankArgs;
219239 static int sqlite3Fts5ConfigLoad(Fts5Config *pConfig, int iCookie){
219247 pConfig->pgsz = FTS5_DEFAULT_PAGE_SIZE;
219248 pConfig->nAutomerge = FTS5_DEFAULT_AUTOMERGE;
219249 pConfig->nUsermerge = FTS5_DEFAULT_USERMERGE;
219250 pConfig->nCrisisMerge = FTS5_DEFAULT_CRISISMERGE;
219251 pConfig->nHashSize = FTS5_DEFAULT_HASHSIZE;
219253 zSql = sqlite3Fts5Mprintf(&rc, zSelect, pConfig->zDb, pConfig->zName);
219255 rc = sqlite3_prepare_v2(pConfig->db, zSql, -1, &p, 0);
219268 sqlite3Fts5ConfigSetValue(pConfig, zK, pVal, &bDummy);
219276 if( pConfig->pzErrmsg ){
219277 assert( 0==*pConfig->pzErrmsg );
219278 *pConfig->pzErrmsg = sqlite3_mprintf(
219286 pConfig->iCookie = iCookie;
219334 Fts5Config *pConfig;
219415 Fts5Config *pConfig;
219510 Fts5Config *pConfig, /* FTS5 Configuration */
219530 sParse.pConfig = pConfig;
219540 if( iCol<pConfig->nCol && sParse.pExpr && sParse.rc==SQLITE_OK ){
219567 pNew->pConfig = pConfig;
219591 Fts5Config *pConfig, int bGlob, int iCol, const char *zText, Fts5Expr **pp
219640 if( pConfig->eDetail!=FTS5_DETAIL_FULL ){
219642 if( pConfig->eDetail==FTS5_DETAIL_NONE ){
219643 iCol = pConfig->nCol;
219647 rc = sqlite3Fts5ExprNew(pConfig, bAnd, iCol, zExpr, pp,pConfig->pzErrmsg);
220131 if( pExpr->pConfig->eDetail!=FTS5_DETAIL_FULL ){
220471 if( pExpr->pConfig->eDetail==FTS5_DETAIL_FULL ){
221060 Fts5Config *pConfig = pParse->pConfig;
221074 rc = sqlite3Fts5Tokenize(pConfig, flags, z, n, &sCtx, fts5ParseTokenize);
221171 pNew->pConfig = pExpr->pConfig;
221256 assert( iCol>=0 && iCol<pParse->pConfig->nCol );
221290 int nCol = pParse->pConfig->nCol;
221322 Fts5Config *pConfig = pParse->pConfig;
221324 for(iCol=0; iCol<pConfig->nCol; iCol++){
221325 if( 0==sqlite3_stricmp(pConfig->azCol[iCol], z) ) break;
221327 if( iCol==pConfig->nCol ){
221438 if( pParse->pConfig->eDetail==FTS5_DETAIL_NONE ){
221608 if( pParse->pConfig->eDetail!=FTS5_DETAIL_FULL ){
221758 Fts5Config *pConfig,
221823 char *z = fts5ExprPrintTcl(pConfig, zNearsetCmd, pExpr->apChild[i]);
221836 static char *fts5ExprPrint(Fts5Config *pConfig, Fts5ExprNode *pExpr){
221852 pConfig->azCol[pColset->aiCol[ii]], ii==pColset->nCol-1 ? "" : " "
221904 char *z = fts5ExprPrint(pConfig, pExpr->apChild[i]);
221944 Fts5Config *pConfig = 0;
221978 rc = sqlite3Fts5ConfigParse(pGlobal, db, nConfig, azConfig, &pConfig, &zErr);
221980 rc = sqlite3Fts5ExprNew(pConfig, 0, pConfig->nCol, zExpr, &pExpr, &zErr);
221987 zText = fts5ExprPrintTcl(pConfig, zNearsetCmd, pExpr->pRoot);
221989 zText = fts5ExprPrint(pConfig, pExpr->pRoot);
222008 sqlite3Fts5ConfigFree(pConfig);
222234 Fts5Config *pConfig,
222258 return sqlite3Fts5Tokenize(pConfig,
222336 assert( pExpr->pConfig->eDetail==FTS5_DETAIL_COLUMNS );
222444 static int sqlite3Fts5HashNew(Fts5Config *pConfig, Fts5Hash **ppNew, int *pnByte){
222455 pNew->eDetail = pConfig->eDetail;
223198 Fts5Config *pConfig; /* Virtual table configuration */
223577 Fts5Config *pConfig = p->pConfig;
223578 rc = sqlite3_blob_open(pConfig->db,
223579 pConfig->zDb, p->zDataTbl, "block", iRowid, 0, &p->pReader
223651 p->rc = sqlite3_prepare_v3(p->pConfig->db, zSql, -1,
223670 Fts5Config *pConfig = p->pConfig;
223673 pConfig->zDb, pConfig->zName
223694 Fts5Config *pConfig = p->pConfig;
223697 pConfig->zDb, pConfig->zName
223716 Fts5Config *pConfig = p->pConfig;
223719 pConfig->zDb, pConfig->zName
223960 Fts5Config *pConfig = p->pConfig;
223969 if( p->rc==SQLITE_OK && (pConfig->pgsz==0 || pConfig->iCookie!=iCookie) ){
223970 p->rc = sqlite3Fts5ConfigLoad(pConfig, iCookie);
223988 sqlite3_mprintf("PRAGMA %Q.data_version", p->pConfig->zDb)
224105 iCookie = p->pConfig->iCookie;
224565 if( p->pConfig->eDetail==FTS5_DETAIL_NONE ){
224659 }else if( p->pConfig->eDetail==FTS5_DETAIL_NONE ){
224724 int eDetail = p->pConfig->eDetail;
224860 if( p->pConfig->eDetail!=FTS5_DETAIL_NONE ){
224885 assert( p->pConfig->eDetail==FTS5_DETAIL_NONE );
224961 assert( p->pConfig->eDetail!=FTS5_DETAIL_NONE );
225330 Fts5Config *pConfig = p->pConfig;
225334 pConfig->zDb, pConfig->zName
226053 assert( p->pConfig->eDetail!=FTS5_DETAIL_NONE );
226104 if( p->pConfig->eDetail==FTS5_DETAIL_FULL ){
226195 assert( pIter->pIndex->pConfig->eDetail==FTS5_DETAIL_NONE );
226208 assert( pIter->pIndex->pConfig->eDetail!=FTS5_DETAIL_NONE );
226259 assert( pIter->pIndex->pConfig->eDetail==FTS5_DETAIL_COLUMNS );
226301 assert( pIter->pIndex->pConfig->eDetail==FTS5_DETAIL_FULL );
226325 Fts5Config *pConfig = pIter->pIndex->pConfig;
226326 if( pConfig->eDetail==FTS5_DETAIL_NONE ){
226338 else if( pConfig->eDetail==FTS5_DETAIL_FULL ){
226343 assert( pConfig->eDetail==FTS5_DETAIL_COLUMNS );
226344 if( pConfig->nCol<=100 ){
226346 sqlite3Fts5BufferSize(pRc, &pIter->poslist, pConfig->nCol);
226810 if( pDlidx->buf.n>=p->pConfig->pgsz ){
226919 if( (pPage->buf.n + pPgidx->n + nTerm + 2)>=p->pConfig->pgsz ){
226993 if( (pPage->buf.n + pPage->pgidx.n)>=p->pConfig->pgsz ){
227028 assert( p->pConfig->pgsz>0 );
227030 && (pPage->buf.n + pPage->pgidx.n + n)>=p->pConfig->pgsz
227032 int nReq = p->pConfig->pgsz - pPage->buf.n - pPage->pgidx.n;
227085 const int nBuffer = p->pConfig->pgsz + FTS5_DATA_PADDING;
227103 Fts5Config *pConfig = p->pConfig;
227106 pConfig->zDb, pConfig->zName
227221 int eDetail = p->pConfig->eDetail;
227419 if( p->rc==SQLITE_OK && p->pConfig->nAutomerge>0 && ALWAYS((*ppStruct)!=0) ){
227431 fts5IndexMerge(p, ppStruct, nRem, p->pConfig->nAutomerge);
227439 const int nCrisis = p->pConfig->nCrisisMerge;
227504 const int pgsz = p->pConfig->pgsz;
227505 int eDetail = p->pConfig->eDetail;
227753 int nMin = p->pConfig->nUsermerge;
228134 if( p->pConfig->eDetail==FTS5_DETAIL_NONE ){
228260 p->rc = sqlite3Fts5HashNew(p->pConfig, &p->pHash, &p->nPendingData);
228266 || (p->nPendingData > p->pConfig->nHashSize)
228323 Fts5Config *pConfig,
228333 p->pConfig = pConfig;
228335 p->zDataTbl = sqlite3Fts5Mprintf(&rc, "%s_data", pConfig->zName);
228338 pConfig, "data", "id INTEGER PRIMARY KEY, block BLOB", 0, pzErr
228341 rc = sqlite3Fts5CreateTable(pConfig, "idx",
228443 Fts5Config *pConfig = p->pConfig;
228453 for(i=0; i<pConfig->nPrefix && rc==SQLITE_OK; i++){
228454 const int nChar = pConfig->aPrefix[i];
228478 Fts5Config *pConfig = p->pConfig;
228501 if( pConfig->bPrefixIndex==0 || (flags & FTS5INDEX_QUERY_TEST_NOIDX) ){
228503 iIdx = 1+pConfig->nPrefix;
228508 for(iIdx=1; iIdx<=pConfig->nPrefix; iIdx++){
228509 int nIdxChar = pConfig->aPrefix[iIdx-1];
228515 if( iIdx<=pConfig->nPrefix ){
228629 int nCol = p->pConfig->nCol;
228675 Fts5Config *pConfig = p->pConfig; /* Configuration object */
228682 rc = sqlite3_blob_open(pConfig->db, pConfig->zDb, p->zDataTbl,
228780 int eDetail = p->pConfig->eDetail;
229003 Fts5Config *pConfig = p->pConfig;
229014 pConfig->zDb, pConfig->zName, pSeg->iSegid
229145 int eDetail = p->pConfig->eDetail;
230050 return pTab->p.pConfig->eContent==FTS5_CONTENT_NONE;
230060 sqlite3Fts5ConfigFree(pTab->p.pConfig);
230078 int rc = sqlite3Fts5DropAll(pTab->pConfig);
230108 Fts5Config *pConfig = 0; /* Results of parsing argc/argv */
230114 rc = sqlite3Fts5ConfigParse(pGlobal, db, argc, azConfig, &pConfig, pzErr);
230115 assert( (rc==SQLITE_OK && *pzErr==0) || pConfig==0 );
230118 pTab->p.pConfig = pConfig;
230124 rc = sqlite3Fts5IndexOpen(pConfig, bCreate, &pTab->p.pIndex, pzErr);
230130 pConfig, pTab->p.pIndex, bCreate, &pTab->pStorage, pzErr
230136 rc = sqlite3Fts5ConfigDeclareVtab(pConfig);
230141 assert( pConfig->pzErrmsg==0 );
230142 pConfig->pzErrmsg = pzErr;
230145 pConfig->pzErrmsg = 0;
230210 Fts5Config *pConfig,
230215 if( pConfig->ePattern==FTS5_PATTERN_GLOB && p->op==FTS5_PATTERN_GLOB ){
230218 if( pConfig->ePattern==FTS5_PATTERN_LIKE
230289 Fts5Config *pConfig = pTab->pConfig;
230290 const int nCol = pConfig->nCol;
230311 if( pConfig->bLock ){
230353 if( iCol>=0 && iCol<nCol && fts5UsePatternMatch(pConfig, p) ){
230393 if( iSort==(pConfig->nCol+1) && bSeenMatch ){
230435 Fts5Config *pConfig = pTab->p.pConfig;
230442 nByte = sizeof(Fts5Cursor) + pConfig->nCol * sizeof(int);
230667 Fts5Config *pConfig = ((Fts5Table*)pCursor->pVtab)->pConfig;
230668 pConfig->bLock++;
230670 pConfig->bLock--;
230676 "%s", sqlite3_errmsg(pConfig->db)
230693 Fts5Config *pConfig,
230707 rc = sqlite3_prepare_v3(pConfig->db, zSql, -1,
230710 *pConfig->pzErrmsg = sqlite3_mprintf("%s", sqlite3_errmsg(pConfig->db));
230725 Fts5Config *pConfig = pTab->p.pConfig;
230747 rc = fts5PrepareStatement(&pSorter->pStmt, pConfig,
230749 pConfig->zDb, pConfig->zName, zRank, pConfig->zName,
230838 Fts5Config *pConfig = pTab->p.pConfig;
230848 rc = sqlite3_prepare_v3(pConfig->db, zSql, -1,
230888 Fts5Config *pConfig,
230913 if( pConfig->zRank ){
230914 pCsr->zRank = (char*)pConfig->zRank;
230915 pCsr->zRankArgs = (char*)pConfig->zRankArgs;
230953 Fts5Config *pConfig = pTab->p.pConfig;
230963 char **pzErrmsg = pConfig->pzErrmsg;
230968 if( pConfig->bLock ){
230989 pConfig->pzErrmsg = &pTab->p.base.zErrMsg;
231014 rc = sqlite3Fts5ExprNew(pConfig, 0, iCol, zText, &pExpr, pzErr);
231034 rc = sqlite3Fts5ExprPattern(pConfig, bGlob, iCol, zText, &pExpr);
231094 rc = fts5CursorParseRank(pConfig, pCsr, pRank);
231104 }else if( pConfig->zContent==0 ){
231105 *pConfig->pzErrmsg = sqlite3_mprintf(
231106 "%s: table does not support scanning", pConfig->zName
231130 pConfig->pzErrmsg = pzErrmsg;
231214 pTab->pConfig->bLock++;
231216 pTab->pConfig->bLock--;
231224 }else if( pTab->pConfig->pzErrmsg ){
231225 *pTab->pConfig->pzErrmsg = sqlite3_mprintf(
231226 "%s", sqlite3_errmsg(pTab->pConfig->db)
231262 Fts5Config *pConfig = pTab->p.pConfig;
231267 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
231277 if( pConfig->eContent==FTS5_CONTENT_NONE ){
231295 pConfig->bPrefixIndex = sqlite3_value_int(pVal);
231300 rc = sqlite3Fts5ConfigSetValue(pTab->p.pConfig, zCmd, pVal, &bError);
231363 Fts5Config *pConfig = pTab->p.pConfig;
231371 assert( nArg==1 || nArg==(2+pConfig->nCol+2) );
231375 assert( pTab->p.pConfig->pzErrmsg==0 );
231376 pTab->p.pConfig->pzErrmsg = &pTab->p.base.zErrMsg;
231383 && sqlite3_value_type(apVal[2+pConfig->nCol])!=SQLITE_NULL
231386 const char *z = (const char*)sqlite3_value_text(apVal[2+pConfig->nCol]);
231387 if( pConfig->eContent!=FTS5_CONTENT_NORMAL
231392 rc = fts5SpecialInsert(pTab, z, apVal[2 + pConfig->nCol + 1]);
231407 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
231408 eConflict = sqlite3_vtab_on_conflict(pConfig->db);
231419 (nArg>1 ? "UPDATE" : "DELETE from"), pConfig->zName
231475 pTab->p.pConfig->pzErrmsg = 0;
231486 pTab->p.pConfig->pzErrmsg = &pTab->p.base.zErrMsg;
231489 pTab->p.pConfig->pzErrmsg = 0;
231534 return ((Fts5Table*)(pCsr->base.pVtab))->pConfig->nCol;
231562 pTab->pConfig, FTS5_TOKENIZE_AUX, pText, nText, pUserData, xToken
231605 Fts5Config *pConfig = ((Fts5Table*)(pCsr->base.pVtab))->pConfig;
231611 if( pConfig->eDetail!=FTS5_DETAIL_FULL ){
231616 for(i=0; i<pConfig->nCol && rc==SQLITE_OK; i++){
231621 pConfig, pCsr->pExpr, aPopulator, i, z, n
231634 if( pCsr->pSorter && pConfig->eDetail==FTS5_DETAIL_FULL ){
231655 int nCol = ((Fts5Table*)pCsr->base.pVtab)->pConfig->nCol;
231788 Fts5Config *pConfig = pTab->p.pConfig;
231792 if( pConfig->bColumnsize ){
231795 }else if( pConfig->zContent==0 ){
231797 for(i=0; i<pConfig->nCol; i++){
231798 if( pConfig->abUnindexed[i]==0 ){
231804 for(i=0; rc==SQLITE_OK && i<pConfig->nCol; i++){
231805 if( pConfig->abUnindexed[i]==0 ){
231812 pConfig, FTS5_TOKENIZE_AUX, z, n, p, fts5ColumnSizeCb
231823 for(i=0; i<pConfig->nCol; i++){
231826 }else if( iCol<pConfig->nCol ){
231940 Fts5Config *pConfig = ((Fts5Table*)(pCsr->base.pVtab))->pConfig;
231942 if( pConfig->eDetail==FTS5_DETAIL_COLUMNS ){
231972 Fts5Config *pConfig = ((Fts5Table*)(pCsr->base.pVtab))->pConfig;
231974 if( pConfig->eDetail==FTS5_DETAIL_COLUMNS ){
232161 switch( ((Fts5Table*)(pCsr->base.pVtab))->pConfig->eDetail ){
232217 Fts5Config *pConfig = pTab->p.pConfig;
232224 if( iCol==pConfig->nCol ){
232229 if( iCol==pConfig->nCol ){
232235 }else if( iCol==pConfig->nCol+1 ){
232249 pConfig->pzErrmsg = &pTab->p.base.zErrMsg;
232254 pConfig->pzErrmsg = 0;
232460 Fts5Config *pConfig,
232473 pMod->pUserData, (azArg?&azArg[1]:0), (nArg?nArg-1:0), &pConfig->pTok
232475 pConfig->pTokApi = &pMod->x;
232479 pConfig->ePattern = sqlite3Fts5TokenizerPattern(
232480 pMod->x.xCreate, pConfig->pTok
232486 pConfig->pTokApi = 0;
232487 pConfig->pTok = 0;
232687 Fts5Config *pConfig;
232731 assert( p->pConfig->bColumnsize || (
232755 Fts5Config *pC = p->pConfig;
232808 p->pConfig->bLock++;
232810 p->pConfig->bLock--;
232852 static int sqlite3Fts5DropAll(Fts5Config *pConfig){
232853 int rc = fts5ExecPrintf(pConfig->db, 0,
232857 pConfig->zDb, pConfig->zName,
232858 pConfig->zDb, pConfig->zName,
232859 pConfig->zDb, pConfig->zName
232861 if( rc==SQLITE_OK && pConfig->bColumnsize ){
232862 rc = fts5ExecPrintf(pConfig->db, 0,
232864 pConfig->zDb, pConfig->zName
232867 if( rc==SQLITE_OK && pConfig->eContent==FTS5_CONTENT_NORMAL ){
232868 rc = fts5ExecPrintf(pConfig->db, 0,
232870 pConfig->zDb, pConfig->zName
232877 Fts5Config *pConfig, /* Current FTS5 configuration */
232883 *pRc = fts5ExecPrintf(pConfig->db, 0,
232885 pConfig->zDb, pConfig->zName, zTail, zName, zTail
232891 Fts5Config *pConfig = pStorage->pConfig;
232894 fts5StorageRenameOne(pConfig, &rc, "data", zName);
232895 fts5StorageRenameOne(pConfig, &rc, "idx", zName);
232896 fts5StorageRenameOne(pConfig, &rc, "config", zName);
232897 if( pConfig->bColumnsize ){
232898 fts5StorageRenameOne(pConfig, &rc, "docsize", zName);
232900 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
232901 fts5StorageRenameOne(pConfig, &rc, "content", zName);
232911 Fts5Config *pConfig, /* FTS5 configuration */
232920 rc = fts5ExecPrintf(pConfig->db, &zErr, "CREATE TABLE %Q.'%q_%q'(%s)%s",
232921 pConfig->zDb, pConfig->zName, zPost, zDefn,
232930 pConfig->zName, zPost, zErr
232946 Fts5Config *pConfig,
232957 + pConfig->nCol * sizeof(i64); /* Fts5Storage.aTotalSize[] */
232963 p->pConfig = pConfig;
232967 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
232968 int nDefn = 32 + pConfig->nCol*10;
232969 char *zDefn = sqlite3_malloc64(32 + (sqlite3_int64)pConfig->nCol * 10);
232977 for(i=0; i<pConfig->nCol; i++){
232981 rc = sqlite3Fts5CreateTable(pConfig, "content", zDefn, 0, pzErr);
232986 if( rc==SQLITE_OK && pConfig->bColumnsize ){
232988 pConfig, "docsize", "id INTEGER PRIMARY KEY, sz BLOB", 0, pzErr
232993 pConfig, "config", "k PRIMARY KEY, v", 1, pzErr
233064 Fts5Config *pConfig = p->pConfig;
233083 for(iCol=1; rc==SQLITE_OK && iCol<=pConfig->nCol; iCol++){
233084 if( pConfig->abUnindexed[iCol-1]==0 ){
233099 rc = sqlite3Fts5Tokenize(pConfig, FTS5_TOKENIZE_DOCUMENT,
233134 if( p->pConfig->bColumnsize ){
233175 int nCol = p->pConfig->nCol;
233197 Fts5Config *pConfig = p->pConfig;
233201 assert( pConfig->eContent!=FTS5_CONTENT_NORMAL || apVal==0 );
233210 if( rc==SQLITE_OK && pConfig->bColumnsize ){
233220 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
233238 Fts5Config *pConfig = p->pConfig;
233244 rc = fts5ExecPrintf(pConfig->db, 0,
233247 pConfig->zDb, pConfig->zName,
233248 pConfig->zDb, pConfig->zName
233250 if( rc==SQLITE_OK && pConfig->bColumnsize ){
233251 rc = fts5ExecPrintf(pConfig->db, 0,
233253 pConfig->zDb, pConfig->zName
233270 Fts5Config *pConfig = p->pConfig;
233291 for(ctx.iCol=0; rc==SQLITE_OK && ctx.iCol<pConfig->nCol; ctx.iCol++){
233293 if( pConfig->abUnindexed[ctx.iCol]==0 ){
233296 rc = sqlite3Fts5Tokenize(pConfig,
233346 if( p->pConfig->bColumnsize ){
233356 *piRowid = sqlite3_last_insert_rowid(p->pConfig->db);
233370 Fts5Config *pConfig = p->pConfig;
233374 if( pConfig->eContent!=FTS5_CONTENT_NORMAL ){
233384 for(i=1; rc==SQLITE_OK && i<=pConfig->nCol+1; i++){
233391 *piRowid = sqlite3_last_insert_rowid(pConfig->db);
233405 Fts5Config *pConfig = p->pConfig;
233417 for(ctx.iCol=0; rc==SQLITE_OK && ctx.iCol<pConfig->nCol; ctx.iCol++){
233419 if( pConfig->abUnindexed[ctx.iCol]==0 ){
233422 rc = sqlite3Fts5Tokenize(pConfig,
233444 Fts5Config *pConfig = p->pConfig;
233449 pConfig->zDb, pConfig->zName, zSuffix
233455 rc = sqlite3_prepare_v2(pConfig->db, zSql, -1, &pCnt, 0);
233478 Fts5Config *pConfig;
233508 switch( pCtx->pConfig->eDetail ){
233520 assert( pCtx->pConfig->eDetail==FTS5_DETAIL_NONE );
233533 for(ii=0; rc==SQLITE_OK && ii<pCtx->pConfig->nPrefix; ii++){
233534 const int nChar = pCtx->pConfig->aPrefix[ii];
233556 Fts5Config *pConfig = p->pConfig;
233565 ctx.pConfig = p->pConfig;
233566 aTotalSize = (i64*)sqlite3_malloc64(pConfig->nCol*(sizeof(int)+sizeof(i64)));
233568 aColSize = (int*)&aTotalSize[pConfig->nCol];
233569 memset(aTotalSize, 0, sizeof(i64) * pConfig->nCol);
233571 bUseCksum = (pConfig->eContent==FTS5_CONTENT_NORMAL
233572 || (pConfig->eContent==FTS5_CONTENT_EXTERNAL && iArg)
233584 if( pConfig->bColumnsize ){
233587 if( rc==SQLITE_OK && pConfig->eDetail==FTS5_DETAIL_NONE ){
233590 for(i=0; rc==SQLITE_OK && i<pConfig->nCol; i++){
233591 if( pConfig->abUnindexed[i] ) continue;
233594 if( pConfig->eDetail==FTS5_DETAIL_COLUMNS ){
233600 rc = sqlite3Fts5Tokenize(pConfig,
233607 if( rc==SQLITE_OK && pConfig->bColumnsize && ctx.szCol!=aColSize[i] ){
233611 if( pConfig->eDetail==FTS5_DETAIL_COLUMNS ){
233629 for(i=0; rc==SQLITE_OK && i<pConfig->nCol; i++){
233636 if( rc==SQLITE_OK && pConfig->eContent==FTS5_CONTENT_NORMAL ){
233641 if( rc==SQLITE_OK && pConfig->bColumnsize ){
233726 int nCol = p->pConfig->nCol; /* Number of user columns in table */
233730 assert( p->pConfig->bColumnsize );
233760 for(i=0; i<p->pConfig->nCol; i++){
233763 }else if( iCol<p->pConfig->nCol ){
233791 i64 iLastRowid = sqlite3_last_insert_rowid(p->pConfig->db);
233799 sqlite3_set_last_insert_rowid(p->pConfig->db, iLastRowid);
233828 int iNew = p->pConfig->iCookie + 1;
233831 p->pConfig->iCookie = iNew;
236753 i64 nByte = pFts5->pConfig->nCol * sizeof(i64)*2 + sizeof(Fts5VocabCursor);
236761 pCsr->aDoc = &pCsr->aCnt[pFts5->pConfig->nCol];
236818 int eDetail = pCsr->pFts5->pConfig->eDetail;
236852 int nCol = pCsr->pFts5->pConfig->nCol;
236894 int eDetail = pCsr->pFts5->pConfig->eDetail;
237039 || pCsr->pFts5->pConfig->eDetail!=FTS5_DETAIL_NONE)
237062 int eDetail = pCsr->pFts5->pConfig->eDetail;
237074 const char *z = pCsr->pFts5->pConfig->azCol[pCsr->iCol];
237102 if( ii>=0 && ii<pCsr->pFts5->pConfig->nCol ){
237103 const char *z = pCsr->pFts5->pConfig->azCol[ii];