Lines Matching defs:pConfig
212000 static int sqlite3Fts5ConfigDeclareVtab(Fts5Config *pConfig);
212003 Fts5Config *pConfig, /* FTS5 Configuration object */
212151 static int sqlite3Fts5IndexOpen(Fts5Config *pConfig, int bCreate, Fts5Index**, char**);
212325 Fts5Config *pConfig; /* Virtual table configuration */
212461 Fts5Config *pConfig,
212469 Fts5Config *pConfig,
215458 ** configuration object pConfig as appropriate.
215460 ** If successful, object pConfig is updated and SQLITE_OK returned. If
215467 Fts5Config *pConfig, /* Configuration object to update */
215478 if( pConfig->aPrefix==0 ){
215479 pConfig->aPrefix = sqlite3Fts5MallocZero(&rc, nByte);
215500 if( pConfig->nPrefix==FTS5_MAX_PREFIX_INDEXES ){
215519 pConfig->aPrefix[pConfig->nPrefix] = nPre;
215520 pConfig->nPrefix++;
215523 assert( pConfig->nPrefix<=FTS5_MAX_PREFIX_INDEXES );
215535 if( pConfig->pTok ){
215559 (const char**)azArg, (int)nArg, pConfig,
215572 if( pConfig->eContent!=FTS5_CONTENT_NORMAL ){
215577 pConfig->eContent = FTS5_CONTENT_EXTERNAL;
215578 pConfig->zContent = sqlite3Fts5Mprintf(&rc, "%Q.%Q", pConfig->zDb,zArg);
215580 pConfig->eContent = FTS5_CONTENT_NONE;
215587 if( pConfig->zContentRowid ){
215591 pConfig->zContentRowid = sqlite3Fts5Strndup(&rc, zArg, -1);
215601 pConfig->bColumnsize = (zArg[0]=='1');
215614 if( (rc = fts5ConfigSetEnum(aDetail, zArg, &pConfig->eDetail)) ){
215629 static int fts5ConfigDefaultTokenizer(Fts5Global *pGlobal, Fts5Config *pConfig){
215630 assert( pConfig->pTok==0 && pConfig->pTokApi==0 );
215631 return sqlite3Fts5GetTokenizer(pGlobal, 0, 0, pConfig, 0);
215869 static void sqlite3Fts5ConfigFree(Fts5Config *pConfig){
215870 if( pConfig ){
215872 if( pConfig->pTok ){
215873 pConfig->pTokApi->xDelete(pConfig->pTok);
215875 sqlite3_free(pConfig->zDb);
215876 sqlite3_free(pConfig->zName);
215877 for(i=0; i<pConfig->nCol; i++){
215878 sqlite3_free(pConfig->azCol[i]);
215880 sqlite3_free(pConfig->azCol);
215881 sqlite3_free(pConfig->aPrefix);
215882 sqlite3_free(pConfig->zRank);
215883 sqlite3_free(pConfig->zRankArgs);
215884 sqlite3_free(pConfig->zContent);
215885 sqlite3_free(pConfig->zContentRowid);
215886 sqlite3_free(pConfig->zContentExprlist);
215887 sqlite3_free(pConfig);
215896 static int sqlite3Fts5ConfigDeclareVtab(Fts5Config *pConfig){
215902 for(i=0; zSql && i<pConfig->nCol; i++){
215904 zSql = sqlite3Fts5Mprintf(&rc, "%z%s%Q", zSql, zSep, pConfig->azCol[i]);
215907 zSql, pConfig->zName, FTS5_RANK_NAME
215912 rc = sqlite3_declare_vtab(pConfig->db, zSql);
215943 Fts5Config *pConfig, /* FTS5 Configuration object */
215950 return pConfig->pTokApi->xTokenize(
215951 pConfig->pTok, pCtx, flags, pText, nText, xToken
216048 Fts5Config *pConfig,
216063 pConfig->pgsz = pgsz;
216075 pConfig->nHashSize = nHashSize;
216088 pConfig->nAutomerge = nAutomerge;
216100 pConfig->nUsermerge = nUsermerge;
216114 pConfig->nCrisisMerge = nCrisisMerge;
216124 sqlite3_free(pConfig->zRank);
216125 sqlite3_free(pConfig->zRankArgs);
216126 pConfig->zRank = zRank;
216127 pConfig->zRankArgs = zRankArgs;
216141 static int sqlite3Fts5ConfigLoad(Fts5Config *pConfig, int iCookie){
216149 pConfig->pgsz = FTS5_DEFAULT_PAGE_SIZE;
216150 pConfig->nAutomerge = FTS5_DEFAULT_AUTOMERGE;
216151 pConfig->nUsermerge = FTS5_DEFAULT_USERMERGE;
216152 pConfig->nCrisisMerge = FTS5_DEFAULT_CRISISMERGE;
216153 pConfig->nHashSize = FTS5_DEFAULT_HASHSIZE;
216155 zSql = sqlite3Fts5Mprintf(&rc, zSelect, pConfig->zDb, pConfig->zName);
216157 rc = sqlite3_prepare_v2(pConfig->db, zSql, -1, &p, 0);
216170 sqlite3Fts5ConfigSetValue(pConfig, zK, pVal, &bDummy);
216178 if( pConfig->pzErrmsg ){
216179 assert( 0==*pConfig->pzErrmsg );
216180 *pConfig->pzErrmsg = sqlite3_mprintf(
216188 pConfig->iCookie = iCookie;
216236 Fts5Config *pConfig;
216317 Fts5Config *pConfig;
216411 Fts5Config *pConfig, /* FTS5 Configuration */
216431 sParse.pConfig = pConfig;
216441 if( iCol<pConfig->nCol && sParse.pExpr && sParse.rc==SQLITE_OK ){
216468 pNew->pConfig = pConfig;
216492 Fts5Config *pConfig, int bGlob, int iCol, const char *zText, Fts5Expr **pp
216541 if( pConfig->eDetail!=FTS5_DETAIL_FULL ){
216543 if( pConfig->eDetail==FTS5_DETAIL_NONE ){
216544 iCol = pConfig->nCol;
216548 rc = sqlite3Fts5ExprNew(pConfig, bAnd, iCol, zExpr, pp,pConfig->pzErrmsg);
217031 if( pExpr->pConfig->eDetail!=FTS5_DETAIL_FULL ){
217371 if( pExpr->pConfig->eDetail==FTS5_DETAIL_FULL ){
217960 Fts5Config *pConfig = pParse->pConfig;
217974 rc = sqlite3Fts5Tokenize(pConfig, flags, z, n, &sCtx, fts5ParseTokenize);
218071 pNew->pConfig = pExpr->pConfig;
218156 assert( iCol>=0 && iCol<pParse->pConfig->nCol );
218190 int nCol = pParse->pConfig->nCol;
218222 Fts5Config *pConfig = pParse->pConfig;
218224 for(iCol=0; iCol<pConfig->nCol; iCol++){
218225 if( 0==sqlite3_stricmp(pConfig->azCol[iCol], z) ) break;
218227 if( iCol==pConfig->nCol ){
218338 if( pParse->pConfig->eDetail==FTS5_DETAIL_NONE ){
218509 if( pParse->pConfig->eDetail!=FTS5_DETAIL_FULL ){
218661 Fts5Config *pConfig,
218726 char *z = fts5ExprPrintTcl(pConfig, zNearsetCmd, pExpr->apChild[i]);
218739 static char *fts5ExprPrint(Fts5Config *pConfig, Fts5ExprNode *pExpr){
218755 pConfig->azCol[pColset->aiCol[ii]], ii==pColset->nCol-1 ? "" : " "
218807 char *z = fts5ExprPrint(pConfig, pExpr->apChild[i]);
218847 Fts5Config *pConfig = 0;
218881 rc = sqlite3Fts5ConfigParse(pGlobal, db, nConfig, azConfig, &pConfig, &zErr);
218883 rc = sqlite3Fts5ExprNew(pConfig, 0, pConfig->nCol, zExpr, &pExpr, &zErr);
218890 zText = fts5ExprPrintTcl(pConfig, zNearsetCmd, pExpr->pRoot);
218892 zText = fts5ExprPrint(pConfig, pExpr->pRoot);
218911 sqlite3Fts5ConfigFree(pConfig);
219122 Fts5Config *pConfig,
219146 return sqlite3Fts5Tokenize(pConfig,
219224 assert( pExpr->pConfig->eDetail==FTS5_DETAIL_COLUMNS );
219332 static int sqlite3Fts5HashNew(Fts5Config *pConfig, Fts5Hash **ppNew, int *pnByte){
219343 pNew->eDetail = pConfig->eDetail;
220086 Fts5Config *pConfig; /* Virtual table configuration */
220462 Fts5Config *pConfig = p->pConfig;
220463 rc = sqlite3_blob_open(pConfig->db,
220464 pConfig->zDb, p->zDataTbl, "block", iRowid, 0, &p->pReader
220535 p->rc = sqlite3_prepare_v3(p->pConfig->db, zSql, -1,
220554 Fts5Config *pConfig = p->pConfig;
220557 pConfig->zDb, pConfig->zName
220578 Fts5Config *pConfig = p->pConfig;
220581 pConfig->zDb, pConfig->zName
220600 Fts5Config *pConfig = p->pConfig;
220603 pConfig->zDb, pConfig->zName
220790 Fts5Config *pConfig = p->pConfig;
220799 if( p->rc==SQLITE_OK && (pConfig->pgsz==0 || pConfig->iCookie!=iCookie) ){
220800 p->rc = sqlite3Fts5ConfigLoad(pConfig, iCookie);
220818 sqlite3_mprintf("PRAGMA %Q.data_version", p->pConfig->zDb)
220935 iCookie = p->pConfig->iCookie;
221395 if( p->pConfig->eDetail==FTS5_DETAIL_NONE ){
221489 }else if( p->pConfig->eDetail==FTS5_DETAIL_NONE ){
221553 int eDetail = p->pConfig->eDetail;
221685 if( p->pConfig->eDetail!=FTS5_DETAIL_NONE ){
221710 assert( p->pConfig->eDetail==FTS5_DETAIL_NONE );
221786 assert( p->pConfig->eDetail!=FTS5_DETAIL_NONE );
222154 Fts5Config *pConfig = p->pConfig;
222158 pConfig->zDb, pConfig->zName
222877 assert( p->pConfig->eDetail!=FTS5_DETAIL_NONE );
222924 if( p->pConfig->eDetail==FTS5_DETAIL_FULL ){
223015 assert( pIter->pIndex->pConfig->eDetail==FTS5_DETAIL_NONE );
223028 assert( pIter->pIndex->pConfig->eDetail!=FTS5_DETAIL_NONE );
223079 assert( pIter->pIndex->pConfig->eDetail==FTS5_DETAIL_COLUMNS );
223121 assert( pIter->pIndex->pConfig->eDetail==FTS5_DETAIL_FULL );
223144 Fts5Config *pConfig = pIter->pIndex->pConfig;
223145 if( pConfig->eDetail==FTS5_DETAIL_NONE ){
223157 else if( pConfig->eDetail==FTS5_DETAIL_FULL ){
223162 assert( pConfig->eDetail==FTS5_DETAIL_COLUMNS );
223163 if( pConfig->nCol<=100 ){
223165 sqlite3Fts5BufferSize(pRc, &pIter->poslist, pConfig->nCol);
223621 if( pDlidx->buf.n>=p->pConfig->pgsz ){
223730 if( (pPage->buf.n + pPgidx->n + nTerm + 2)>=p->pConfig->pgsz ){
223804 if( (pPage->buf.n + pPage->pgidx.n)>=p->pConfig->pgsz ){
223839 assert( p->pConfig->pgsz>0 );
223841 && (pPage->buf.n + pPage->pgidx.n + n)>=p->pConfig->pgsz
223843 int nReq = p->pConfig->pgsz - pPage->buf.n - pPage->pgidx.n;
223896 const int nBuffer = p->pConfig->pgsz + FTS5_DATA_PADDING;
223914 Fts5Config *pConfig = p->pConfig;
223917 pConfig->zDb, pConfig->zName
224032 int eDetail = p->pConfig->eDetail;
224229 if( p->rc==SQLITE_OK && p->pConfig->nAutomerge>0 ){
224241 fts5IndexMerge(p, ppStruct, nRem, p->pConfig->nAutomerge);
224249 const int nCrisis = p->pConfig->nCrisisMerge;
224314 const int pgsz = p->pConfig->pgsz;
224315 int eDetail = p->pConfig->eDetail;
224563 int nMin = p->pConfig->nUsermerge;
224943 if( p->pConfig->eDetail==FTS5_DETAIL_NONE ){
225069 p->rc = sqlite3Fts5HashNew(p->pConfig, &p->pHash, &p->nPendingData);
225075 || (p->nPendingData > p->pConfig->nHashSize)
225132 Fts5Config *pConfig,
225142 p->pConfig = pConfig;
225144 p->zDataTbl = sqlite3Fts5Mprintf(&rc, "%s_data", pConfig->zName);
225147 pConfig, "data", "id INTEGER PRIMARY KEY, block BLOB", 0, pzErr
225150 rc = sqlite3Fts5CreateTable(pConfig, "idx",
225252 Fts5Config *pConfig = p->pConfig;
225262 for(i=0; i<pConfig->nPrefix && rc==SQLITE_OK; i++){
225263 const int nChar = pConfig->aPrefix[i];
225287 Fts5Config *pConfig = p->pConfig;
225301 ** greater than pConfig->nPrefix to indicate that the query will be
225310 if( pConfig->bPrefixIndex==0 || (flags & FTS5INDEX_QUERY_TEST_NOIDX) ){
225312 iIdx = 1+pConfig->nPrefix;
225317 for(iIdx=1; iIdx<=pConfig->nPrefix; iIdx++){
225318 int nIdxChar = pConfig->aPrefix[iIdx-1];
225324 if( iIdx<=pConfig->nPrefix ){
225434 int nCol = p->pConfig->nCol;
225480 Fts5Config *pConfig = p->pConfig; /* Configuration object */
225487 rc = sqlite3_blob_open(pConfig->db, pConfig->zDb, p->zDataTbl,
225585 int eDetail = p->pConfig->eDetail;
225808 Fts5Config *pConfig = p->pConfig;
225819 pConfig->zDb, pConfig->zName, pSeg->iSegid
225950 int eDetail = p->pConfig->eDetail;
226826 return pTab->p.pConfig->eContent==FTS5_CONTENT_NONE;
226836 sqlite3Fts5ConfigFree(pTab->p.pConfig);
226854 int rc = sqlite3Fts5DropAll(pTab->pConfig);
226884 Fts5Config *pConfig = 0; /* Results of parsing argc/argv */
226890 rc = sqlite3Fts5ConfigParse(pGlobal, db, argc, azConfig, &pConfig, pzErr);
226891 assert( (rc==SQLITE_OK && *pzErr==0) || pConfig==0 );
226894 pTab->p.pConfig = pConfig;
226900 rc = sqlite3Fts5IndexOpen(pConfig, bCreate, &pTab->p.pIndex, pzErr);
226906 pConfig, pTab->p.pIndex, bCreate, &pTab->pStorage, pzErr
226912 rc = sqlite3Fts5ConfigDeclareVtab(pConfig);
226917 assert( pConfig->pzErrmsg==0 );
226918 pConfig->pzErrmsg = pzErr;
226921 pConfig->pzErrmsg = 0;
226986 Fts5Config *pConfig,
226991 if( pConfig->ePattern==FTS5_PATTERN_GLOB && p->op==FTS5_PATTERN_GLOB ){
226994 if( pConfig->ePattern==FTS5_PATTERN_LIKE
227065 Fts5Config *pConfig = pTab->pConfig;
227066 const int nCol = pConfig->nCol;
227087 if( pConfig->bLock ){
227129 if( iCol>=0 && iCol<nCol && fts5UsePatternMatch(pConfig, p) ){
227169 if( iSort==(pConfig->nCol+1) && bSeenMatch ){
227211 Fts5Config *pConfig = pTab->p.pConfig;
227218 nByte = sizeof(Fts5Cursor) + pConfig->nCol * sizeof(int);
227443 Fts5Config *pConfig = ((Fts5Table*)pCursor->pVtab)->pConfig;
227444 pConfig->bLock++;
227446 pConfig->bLock--;
227452 "%s", sqlite3_errmsg(pConfig->db)
227469 Fts5Config *pConfig,
227483 rc = sqlite3_prepare_v3(pConfig->db, zSql, -1,
227486 *pConfig->pzErrmsg = sqlite3_mprintf("%s", sqlite3_errmsg(pConfig->db));
227501 Fts5Config *pConfig = pTab->p.pConfig;
227523 rc = fts5PrepareStatement(&pSorter->pStmt, pConfig,
227525 pConfig->zDb, pConfig->zName, zRank, pConfig->zName,
227614 Fts5Config *pConfig = pTab->p.pConfig;
227624 rc = sqlite3_prepare_v3(pConfig->db, zSql, -1,
227664 Fts5Config *pConfig,
227689 if( pConfig->zRank ){
227690 pCsr->zRank = (char*)pConfig->zRank;
227691 pCsr->zRankArgs = (char*)pConfig->zRankArgs;
227729 Fts5Config *pConfig = pTab->p.pConfig;
227739 char **pzErrmsg = pConfig->pzErrmsg;
227744 if( pConfig->bLock ){
227765 pConfig->pzErrmsg = &pTab->p.base.zErrMsg;
227790 rc = sqlite3Fts5ExprNew(pConfig, 0, iCol, zText, &pExpr, pzErr);
227810 rc = sqlite3Fts5ExprPattern(pConfig, bGlob, iCol, zText, &pExpr);
227870 rc = fts5CursorParseRank(pConfig, pCsr, pRank);
227880 }else if( pConfig->zContent==0 ){
227881 *pConfig->pzErrmsg = sqlite3_mprintf(
227882 "%s: table does not support scanning", pConfig->zName
227905 pConfig->pzErrmsg = pzErrmsg;
227989 pTab->pConfig->bLock++;
227991 pTab->pConfig->bLock--;
227999 }else if( pTab->pConfig->pzErrmsg ){
228000 *pTab->pConfig->pzErrmsg = sqlite3_mprintf(
228001 "%s", sqlite3_errmsg(pTab->pConfig->db)
228037 Fts5Config *pConfig = pTab->p.pConfig;
228042 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
228052 if( pConfig->eContent==FTS5_CONTENT_NONE ){
228070 pConfig->bPrefixIndex = sqlite3_value_int(pVal);
228075 rc = sqlite3Fts5ConfigSetValue(pTab->p.pConfig, zCmd, pVal, &bError);
228138 Fts5Config *pConfig = pTab->p.pConfig;
228146 assert( nArg==1 || nArg==(2+pConfig->nCol+2) );
228150 assert( pTab->p.pConfig->pzErrmsg==0 );
228151 pTab->p.pConfig->pzErrmsg = &pTab->p.base.zErrMsg;
228158 && sqlite3_value_type(apVal[2+pConfig->nCol])!=SQLITE_NULL
228161 const char *z = (const char*)sqlite3_value_text(apVal[2+pConfig->nCol]);
228162 if( pConfig->eContent!=FTS5_CONTENT_NORMAL
228167 rc = fts5SpecialInsert(pTab, z, apVal[2 + pConfig->nCol + 1]);
228182 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
228183 eConflict = sqlite3_vtab_on_conflict(pConfig->db);
228194 (nArg>1 ? "UPDATE" : "DELETE from"), pConfig->zName
228250 pTab->p.pConfig->pzErrmsg = 0;
228261 pTab->p.pConfig->pzErrmsg = &pTab->p.base.zErrMsg;
228264 pTab->p.pConfig->pzErrmsg = 0;
228309 return ((Fts5Table*)(pCsr->base.pVtab))->pConfig->nCol;
228337 pTab->pConfig, FTS5_TOKENIZE_AUX, pText, nText, pUserData, xToken
228380 Fts5Config *pConfig = ((Fts5Table*)(pCsr->base.pVtab))->pConfig;
228386 if( pConfig->eDetail!=FTS5_DETAIL_FULL ){
228391 for(i=0; i<pConfig->nCol && rc==SQLITE_OK; i++){
228396 pConfig, pCsr->pExpr, aPopulator, i, z, n
228409 if( pCsr->pSorter && pConfig->eDetail==FTS5_DETAIL_FULL ){
228430 int nCol = ((Fts5Table*)pCsr->base.pVtab)->pConfig->nCol;
228561 Fts5Config *pConfig = pTab->p.pConfig;
228565 if( pConfig->bColumnsize ){
228568 }else if( pConfig->zContent==0 ){
228570 for(i=0; i<pConfig->nCol; i++){
228571 if( pConfig->abUnindexed[i]==0 ){
228577 for(i=0; rc==SQLITE_OK && i<pConfig->nCol; i++){
228578 if( pConfig->abUnindexed[i]==0 ){
228585 pConfig, FTS5_TOKENIZE_AUX, z, n, p, fts5ColumnSizeCb
228596 for(i=0; i<pConfig->nCol; i++){
228599 }else if( iCol<pConfig->nCol ){
228713 Fts5Config *pConfig = ((Fts5Table*)(pCsr->base.pVtab))->pConfig;
228715 if( pConfig->eDetail==FTS5_DETAIL_COLUMNS ){
228745 Fts5Config *pConfig = ((Fts5Table*)(pCsr->base.pVtab))->pConfig;
228747 if( pConfig->eDetail==FTS5_DETAIL_COLUMNS ){
228934 switch( ((Fts5Table*)(pCsr->base.pVtab))->pConfig->eDetail ){
228990 Fts5Config *pConfig = pTab->p.pConfig;
228997 if( iCol==pConfig->nCol ){
229002 if( iCol==pConfig->nCol ){
229008 }else if( iCol==pConfig->nCol+1 ){
229022 pConfig->pzErrmsg = &pTab->p.base.zErrMsg;
229027 pConfig->pzErrmsg = 0;
229233 Fts5Config *pConfig,
229246 pMod->pUserData, (azArg?&azArg[1]:0), (nArg?nArg-1:0), &pConfig->pTok
229248 pConfig->pTokApi = &pMod->x;
229252 pConfig->ePattern = sqlite3Fts5TokenizerPattern(
229253 pMod->x.xCreate, pConfig->pTok
229259 pConfig->pTokApi = 0;
229260 pConfig->pTok = 0;
229460 Fts5Config *pConfig;
229504 assert( p->pConfig->bColumnsize || (
229528 Fts5Config *pC = p->pConfig;
229581 p->pConfig->bLock++;
229583 p->pConfig->bLock--;
229625 static int sqlite3Fts5DropAll(Fts5Config *pConfig){
229626 int rc = fts5ExecPrintf(pConfig->db, 0,
229630 pConfig->zDb, pConfig->zName,
229631 pConfig->zDb, pConfig->zName,
229632 pConfig->zDb, pConfig->zName
229634 if( rc==SQLITE_OK && pConfig->bColumnsize ){
229635 rc = fts5ExecPrintf(pConfig->db, 0,
229637 pConfig->zDb, pConfig->zName
229640 if( rc==SQLITE_OK && pConfig->eContent==FTS5_CONTENT_NORMAL ){
229641 rc = fts5ExecPrintf(pConfig->db, 0,
229643 pConfig->zDb, pConfig->zName
229650 Fts5Config *pConfig, /* Current FTS5 configuration */
229656 *pRc = fts5ExecPrintf(pConfig->db, 0,
229658 pConfig->zDb, pConfig->zName, zTail, zName, zTail
229664 Fts5Config *pConfig = pStorage->pConfig;
229667 fts5StorageRenameOne(pConfig, &rc, "data", zName);
229668 fts5StorageRenameOne(pConfig, &rc, "idx", zName);
229669 fts5StorageRenameOne(pConfig, &rc, "config", zName);
229670 if( pConfig->bColumnsize ){
229671 fts5StorageRenameOne(pConfig, &rc, "docsize", zName);
229673 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
229674 fts5StorageRenameOne(pConfig, &rc, "content", zName);
229684 Fts5Config *pConfig, /* FTS5 configuration */
229693 rc = fts5ExecPrintf(pConfig->db, &zErr, "CREATE TABLE %Q.'%q_%q'(%s)%s",
229694 pConfig->zDb, pConfig->zName, zPost, zDefn,
229703 pConfig->zName, zPost, zErr
229719 Fts5Config *pConfig,
229730 + pConfig->nCol * sizeof(i64); /* Fts5Storage.aTotalSize[] */
229736 p->pConfig = pConfig;
229740 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
229741 int nDefn = 32 + pConfig->nCol*10;
229742 char *zDefn = sqlite3_malloc64(32 + (sqlite3_int64)pConfig->nCol * 10);
229750 for(i=0; i<pConfig->nCol; i++){
229754 rc = sqlite3Fts5CreateTable(pConfig, "content", zDefn, 0, pzErr);
229759 if( rc==SQLITE_OK && pConfig->bColumnsize ){
229761 pConfig, "docsize", "id INTEGER PRIMARY KEY, sz BLOB", 0, pzErr
229766 pConfig, "config", "k PRIMARY KEY, v", 1, pzErr
229837 Fts5Config *pConfig = p->pConfig;
229856 for(iCol=1; rc==SQLITE_OK && iCol<=pConfig->nCol; iCol++){
229857 if( pConfig->abUnindexed[iCol-1]==0 ){
229868 rc = sqlite3Fts5Tokenize(pConfig, FTS5_TOKENIZE_DOCUMENT,
229903 if( p->pConfig->bColumnsize ){
229944 int nCol = p->pConfig->nCol;
229966 Fts5Config *pConfig = p->pConfig;
229970 assert( pConfig->eContent!=FTS5_CONTENT_NORMAL || apVal==0 );
229979 if( rc==SQLITE_OK && pConfig->bColumnsize ){
229989 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
230007 Fts5Config *pConfig = p->pConfig;
230013 rc = fts5ExecPrintf(pConfig->db, 0,
230016 pConfig->zDb, pConfig->zName,
230017 pConfig->zDb, pConfig->zName
230019 if( rc==SQLITE_OK && pConfig->bColumnsize ){
230020 rc = fts5ExecPrintf(pConfig->db, 0,
230022 pConfig->zDb, pConfig->zName
230039 Fts5Config *pConfig = p->pConfig;
230060 for(ctx.iCol=0; rc==SQLITE_OK && ctx.iCol<pConfig->nCol; ctx.iCol++){
230062 if( pConfig->abUnindexed[ctx.iCol]==0 ){
230065 rc = sqlite3Fts5Tokenize(pConfig,
230115 if( p->pConfig->bColumnsize ){
230125 *piRowid = sqlite3_last_insert_rowid(p->pConfig->db);
230139 Fts5Config *pConfig = p->pConfig;
230143 if( pConfig->eContent!=FTS5_CONTENT_NORMAL ){
230153 for(i=1; rc==SQLITE_OK && i<=pConfig->nCol+1; i++){
230160 *piRowid = sqlite3_last_insert_rowid(pConfig->db);
230174 Fts5Config *pConfig = p->pConfig;
230186 for(ctx.iCol=0; rc==SQLITE_OK && ctx.iCol<pConfig->nCol; ctx.iCol++){
230188 if( pConfig->abUnindexed[ctx.iCol]==0 ){
230191 rc = sqlite3Fts5Tokenize(pConfig,
230213 Fts5Config *pConfig = p->pConfig;
230218 pConfig->zDb, pConfig->zName, zSuffix
230224 rc = sqlite3_prepare_v2(pConfig->db, zSql, -1, &pCnt, 0);
230247 Fts5Config *pConfig;
230277 switch( pCtx->pConfig->eDetail ){
230289 assert( pCtx->pConfig->eDetail==FTS5_DETAIL_NONE );
230302 for(ii=0; rc==SQLITE_OK && ii<pCtx->pConfig->nPrefix; ii++){
230303 const int nChar = pCtx->pConfig->aPrefix[ii];
230325 Fts5Config *pConfig = p->pConfig;
230327 int *aColSize; /* Array of size pConfig->nCol */
230328 i64 *aTotalSize; /* Array of size pConfig->nCol */
230334 ctx.pConfig = p->pConfig;
230335 aTotalSize = (i64*)sqlite3_malloc64(pConfig->nCol*(sizeof(int)+sizeof(i64)));
230337 aColSize = (int*)&aTotalSize[pConfig->nCol];
230338 memset(aTotalSize, 0, sizeof(i64) * pConfig->nCol);
230340 bUseCksum = (pConfig->eContent==FTS5_CONTENT_NORMAL
230341 || (pConfig->eContent==FTS5_CONTENT_EXTERNAL && iArg)
230353 if( pConfig->bColumnsize ){
230356 if( rc==SQLITE_OK && pConfig->eDetail==FTS5_DETAIL_NONE ){
230359 for(i=0; rc==SQLITE_OK && i<pConfig->nCol; i++){
230360 if( pConfig->abUnindexed[i] ) continue;
230363 if( pConfig->eDetail==FTS5_DETAIL_COLUMNS ){
230369 rc = sqlite3Fts5Tokenize(pConfig,
230376 if( rc==SQLITE_OK && pConfig->bColumnsize && ctx.szCol!=aColSize[i] ){
230380 if( pConfig->eDetail==FTS5_DETAIL_COLUMNS ){
230398 for(i=0; rc==SQLITE_OK && i<pConfig->nCol; i++){
230405 if( rc==SQLITE_OK && pConfig->eContent==FTS5_CONTENT_NORMAL ){
230410 if( rc==SQLITE_OK && pConfig->bColumnsize ){
230495 int nCol = p->pConfig->nCol; /* Number of user columns in table */
230499 assert( p->pConfig->bColumnsize );
230526 for(i=0; i<p->pConfig->nCol; i++){
230529 }else if( iCol<p->pConfig->nCol ){
230557 i64 iLastRowid = sqlite3_last_insert_rowid(p->pConfig->db);
230565 sqlite3_set_last_insert_rowid(p->pConfig->db, iLastRowid);
230594 int iNew = p->pConfig->iCookie + 1;
230597 p->pConfig->iCookie = iNew;
233518 int nByte = pFts5->pConfig->nCol * sizeof(i64)*2 + sizeof(Fts5VocabCursor);
233526 pCsr->aDoc = &pCsr->aCnt[pFts5->pConfig->nCol];
233581 int eDetail = pCsr->pFts5->pConfig->eDetail;
233616 int nCol = pCsr->pFts5->pConfig->nCol;
233655 int eDetail = pCsr->pFts5->pConfig->eDetail;
233797 || pCsr->pFts5->pConfig->eDetail!=FTS5_DETAIL_NONE)
233820 int eDetail = pCsr->pFts5->pConfig->eDetail;
233832 const char *z = pCsr->pFts5->pConfig->azCol[pCsr->iCol];
233860 if( ii>=0 && ii<pCsr->pFts5->pConfig->nCol ){
233861 const char *z = pCsr->pFts5->pConfig->azCol[ii];