Lines Matching refs:pConfig

232297 static int sqlite3Fts5ConfigDeclareVtab(Fts5Config *pConfig);
232300 Fts5Config *pConfig, /* FTS5 Configuration object */
232451 static int sqlite3Fts5IndexOpen(Fts5Config *pConfig, int bCreate, Fts5Index**, char**);
232642 Fts5Config *pConfig; /* Virtual table configuration */
232785 Fts5Config *pConfig,
232793 Fts5Config *pConfig,
235867 Fts5Config *pConfig, /* Configuration object to update */
235878 if( pConfig->aPrefix==0 ){
235879 pConfig->aPrefix = sqlite3Fts5MallocZero(&rc, nByte);
235900 if( pConfig->nPrefix==FTS5_MAX_PREFIX_INDEXES ){
235919 pConfig->aPrefix[pConfig->nPrefix] = nPre;
235920 pConfig->nPrefix++;
235923 assert( pConfig->nPrefix<=FTS5_MAX_PREFIX_INDEXES );
235935 if( pConfig->pTok ){
235959 (const char**)azArg, (int)nArg, pConfig,
235972 if( pConfig->eContent!=FTS5_CONTENT_NORMAL ){
235977 pConfig->eContent = FTS5_CONTENT_EXTERNAL;
235978 pConfig->zContent = sqlite3Fts5Mprintf(&rc, "%Q.%Q", pConfig->zDb,zArg);
235980 pConfig->eContent = FTS5_CONTENT_NONE;
235991 pConfig->bContentlessDelete = (zArg[0]=='1');
235997 if( pConfig->zContentRowid ){
236001 pConfig->zContentRowid = sqlite3Fts5Strndup(&rc, zArg, -1);
236011 pConfig->bColumnsize = (zArg[0]=='1');
236024 if( (rc = fts5ConfigSetEnum(aDetail, zArg, &pConfig->eDetail)) ){
236035 pConfig->bTokendata = (zArg[0]=='1');
236049 static int fts5ConfigDefaultTokenizer(Fts5Global *pGlobal, Fts5Config *pConfig){
236050 assert( pConfig->pTok==0 && pConfig->pTokApi==0 );
236051 return sqlite3Fts5GetTokenizer(pGlobal, 0, 0, pConfig, 0);
236317 static void sqlite3Fts5ConfigFree(Fts5Config *pConfig){
236318 if( pConfig ){
236320 if( pConfig->pTok ){
236321 pConfig->pTokApi->xDelete(pConfig->pTok);
236323 sqlite3_free(pConfig->zDb);
236324 sqlite3_free(pConfig->zName);
236325 for(i=0; i<pConfig->nCol; i++){
236326 sqlite3_free(pConfig->azCol[i]);
236328 sqlite3_free(pConfig->azCol);
236329 sqlite3_free(pConfig->aPrefix);
236330 sqlite3_free(pConfig->zRank);
236331 sqlite3_free(pConfig->zRankArgs);
236332 sqlite3_free(pConfig->zContent);
236333 sqlite3_free(pConfig->zContentRowid);
236334 sqlite3_free(pConfig->zContentExprlist);
236335 sqlite3_free(pConfig);
236344 static int sqlite3Fts5ConfigDeclareVtab(Fts5Config *pConfig){
236350 for(i=0; zSql && i<pConfig->nCol; i++){
236352 zSql = sqlite3Fts5Mprintf(&rc, "%z%s%Q", zSql, zSep, pConfig->azCol[i]);
236355 zSql, pConfig->zName, FTS5_RANK_NAME
236360 rc = sqlite3_declare_vtab(pConfig->db, zSql);
236391 Fts5Config *pConfig, /* FTS5 Configuration object */
236398 return pConfig->pTokApi->xTokenize(
236399 pConfig->pTok, pCtx, flags, pText, nText, xToken
236496 Fts5Config *pConfig,
236511 pConfig->pgsz = pgsz;
236523 pConfig->nHashSize = nHashSize;
236536 pConfig->nAutomerge = nAutomerge;
236548 pConfig->nUsermerge = nUsermerge;
236562 pConfig->nCrisisMerge = nCrisisMerge;
236575 pConfig->nDeleteMerge = nVal;
236584 sqlite3_free(pConfig->zRank);
236585 sqlite3_free(pConfig->zRankArgs);
236586 pConfig->zRank = zRank;
236587 pConfig->zRankArgs = zRankArgs;
236602 pConfig->bSecureDelete = (bVal ? 1 : 0);
236613 static int sqlite3Fts5ConfigLoad(Fts5Config *pConfig, int iCookie){
236621 pConfig->pgsz = FTS5_DEFAULT_PAGE_SIZE;
236622 pConfig->nAutomerge = FTS5_DEFAULT_AUTOMERGE;
236623 pConfig->nUsermerge = FTS5_DEFAULT_USERMERGE;
236624 pConfig->nCrisisMerge = FTS5_DEFAULT_CRISISMERGE;
236625 pConfig->nHashSize = FTS5_DEFAULT_HASHSIZE;
236626 pConfig->nDeleteMerge = FTS5_DEFAULT_DELETE_AUTOMERGE;
236628 zSql = sqlite3Fts5Mprintf(&rc, zSelect, pConfig->zDb, pConfig->zName);
236630 rc = sqlite3_prepare_v2(pConfig->db, zSql, -1, &p, 0);
236643 sqlite3Fts5ConfigSetValue(pConfig, zK, pVal, &bDummy);
236654 if( pConfig->pzErrmsg ){
236655 assert( 0==*pConfig->pzErrmsg );
236656 *pConfig->pzErrmsg = sqlite3_mprintf("invalid fts5 file format "
236662 pConfig->iVersion = iVersion;
236666 pConfig->iCookie = iCookie;
236718 Fts5Config *pConfig;
236807 Fts5Config *pConfig;
236927 Fts5Config *pConfig, /* FTS5 Configuration */
236947 sParse.pConfig = pConfig;
236959 if( iCol<pConfig->nCol && sParse.pExpr && sParse.rc==SQLITE_OK ){
236986 pNew->pConfig = pConfig;
237027 Fts5Config *pConfig, int bGlob, int iCol, const char *zText, Fts5Expr **pp
237077 if( pConfig->eDetail!=FTS5_DETAIL_FULL ){
237079 if( pConfig->eDetail==FTS5_DETAIL_NONE ){
237080 iCol = pConfig->nCol;
237084 rc = sqlite3Fts5ExprNew(pConfig, bAnd, iCol, zExpr, pp,pConfig->pzErrmsg);
237568 if( pExpr->pConfig->eDetail!=FTS5_DETAIL_FULL ){
237908 if( pExpr->pConfig->eDetail==FTS5_DETAIL_FULL ){
238381 Fts5Config *pConfig;
238417 if( pCtx->pConfig->bTokendata ){
238447 if( pCtx->pConfig->bTokendata && rc==SQLITE_OK ){
238509 Fts5Config *pConfig = pParse->pConfig;
238516 sCtx.pConfig = pConfig;
238524 rc = sqlite3Fts5Tokenize(pConfig, flags, z, n, &sCtx, fts5ParseTokenize);
238602 sCtx.pConfig = pExpr->pConfig;
238625 pNew->pConfig = pExpr->pConfig;
238710 assert( iCol>=0 && iCol<pParse->pConfig->nCol );
238744 int nCol = pParse->pConfig->nCol;
238776 Fts5Config *pConfig = pParse->pConfig;
238778 for(iCol=0; iCol<pConfig->nCol; iCol++){
238779 if( 0==sqlite3_stricmp(pConfig->azCol[iCol], z) ) break;
238781 if( iCol==pConfig->nCol ){
238892 if( pParse->pConfig->eDetail==FTS5_DETAIL_NONE ){
239069 if( pParse->pConfig->eDetail!=FTS5_DETAIL_FULL ){
239229 Fts5Config *pConfig,
239298 char *z = fts5ExprPrintTcl(pConfig, zNearsetCmd, pExpr->apChild[i]);
239311 static char *fts5ExprPrint(Fts5Config *pConfig, Fts5ExprNode *pExpr){
239327 pConfig->azCol[pColset->aiCol[ii]], ii==pColset->nCol-1 ? "" : " "
239379 char *z = fts5ExprPrint(pConfig, pExpr->apChild[i]);
239419 Fts5Config *pConfig = 0;
239453 rc = sqlite3Fts5ConfigParse(pGlobal, db, nConfig, azConfig, &pConfig, &zErr);
239455 rc = sqlite3Fts5ExprNew(pConfig, 0, pConfig->nCol, zExpr, &pExpr, &zErr);
239462 zText = fts5ExprPrintTcl(pConfig, zNearsetCmd, pExpr->pRoot);
239464 zText = fts5ExprPrint(pConfig, pExpr->pRoot);
239483 sqlite3Fts5ConfigFree(pConfig);
239701 if( pExpr->pConfig->bTokendata ){
239715 if( rc==SQLITE_OK && pExpr->pConfig->bTokendata && !pT->bPrefix ){
239731 Fts5Config *pConfig,
239755 return sqlite3Fts5Tokenize(pConfig,
239833 assert( pExpr->pConfig->eDetail==FTS5_DETAIL_COLUMNS );
239908 if( pExpr->pConfig->bTokendata ){
240023 static int sqlite3Fts5HashNew(Fts5Config *pConfig, Fts5Hash **ppNew, int *pnByte){
240034 pNew->eDetail = pConfig->eDetail;
240870 Fts5Config *pConfig; /* Virtual table configuration */
241342 Fts5Config *pConfig = p->pConfig;
241343 rc = sqlite3_blob_open(pConfig->db,
241344 pConfig->zDb, p->zDataTbl, "block", iRowid, 0, &p->pReader
241416 p->rc = sqlite3_prepare_v3(p->pConfig->db, zSql, -1,
241435 Fts5Config *pConfig = p->pConfig;
241438 pConfig->zDb, pConfig->zName
241459 Fts5Config *pConfig = p->pConfig;
241462 pConfig->zDb, pConfig->zName
241488 Fts5Config *pConfig = p->pConfig;
241491 pConfig->zDb, pConfig->zName
241753 Fts5Config *pConfig = p->pConfig;
241762 if( p->rc==SQLITE_OK && (pConfig->pgsz==0 || pConfig->iCookie!=iCookie) ){
241763 p->rc = sqlite3Fts5ConfigLoad(pConfig, iCookie);
241781 sqlite3_mprintf("PRAGMA %Q.data_version", p->pConfig->zDb)
241899 iCookie = p->pConfig->iCookie;
242353 if( p->pConfig->eDetail==FTS5_DETAIL_NONE ){
242447 }else if( p->pConfig->eDetail==FTS5_DETAIL_NONE ){
242534 int eDetail = p->pConfig->eDetail;
242670 if( p->pConfig->eDetail!=FTS5_DETAIL_NONE ){
242695 assert( p->pConfig->eDetail==FTS5_DETAIL_NONE );
242772 assert( p->pConfig->eDetail!=FTS5_DETAIL_NONE );
242895 if( pDlidx && p->pConfig->iVersion==FTS5_CURRENT_VERSION ){
243141 Fts5Config *pConfig = p->pConfig;
243145 pConfig->zDb, pConfig->zName
243242 Fts5Config *pConfig = p->pConfig;
243246 pConfig->zDb, pConfig->zName
244063 assert( p->pConfig->eDetail!=FTS5_DETAIL_NONE );
244114 if( p->pConfig->eDetail==FTS5_DETAIL_FULL ){
244205 assert( pIter->pIndex->pConfig->eDetail==FTS5_DETAIL_NONE );
244218 assert( pIter->pIndex->pConfig->eDetail!=FTS5_DETAIL_NONE );
244269 assert( pIter->pIndex->pConfig->eDetail==FTS5_DETAIL_COLUMNS );
244311 assert( pIter->pIndex->pConfig->eDetail==FTS5_DETAIL_FULL );
244335 Fts5Config *pConfig = pIter->pIndex->pConfig;
244336 if( pConfig->eDetail==FTS5_DETAIL_NONE ){
244348 else if( pConfig->eDetail==FTS5_DETAIL_FULL ){
244353 assert( pConfig->eDetail==FTS5_DETAIL_COLUMNS );
244354 if( pConfig->nCol<=100 ){
244356 sqlite3Fts5BufferSize(pRc, &pIter->poslist, pConfig->nCol);
244831 if( pDlidx->buf.n>=p->pConfig->pgsz ){
244940 if( (pPage->buf.n + pPgidx->n + nTerm + 2)>=p->pConfig->pgsz ){
245014 if( (pPage->buf.n + pPage->pgidx.n)>=p->pConfig->pgsz ){
245051 assert( p->pConfig->pgsz>0 || p->rc!=SQLITE_OK );
245053 && (pPage->buf.n + pPage->pgidx.n + n)>=p->pConfig->pgsz
245055 int nReq = p->pConfig->pgsz - pPage->buf.n - pPage->pgidx.n;
245108 const int nBuffer = p->pConfig->pgsz + FTS5_DATA_PADDING;
245126 Fts5Config *pConfig = p->pConfig;
245129 pConfig->zDb, pConfig->zName
245244 int eDetail = p->pConfig->eDetail;
245391 Fts5Config *pConfig = p->pConfig;
245393 if( pConfig->bContentlessDelete && pConfig->nDeleteMerge>0 ){
245409 if( nPercent>=pConfig->nDeleteMerge && nPercent>nBest ){
245485 if( p->rc==SQLITE_OK && p->pConfig->nAutomerge>0 && ALWAYS((*ppStruct)!=0) ){
245497 fts5IndexMerge(p, ppStruct, nRem, p->pConfig->nAutomerge);
245505 const int nCrisis = p->pConfig->nCrisisMerge;
245567 assert( p->pConfig->iVersion==FTS5_CURRENT_VERSION_SECUREDELETE );
245571 p->pConfig->zDb, p->pConfig->zName
245599 const int bDetailNone = (p->pConfig->eDetail==FTS5_DETAIL_NONE);
245695 const int bDetailNone = (p->pConfig->eDetail==FTS5_DETAIL_NONE);
246034 const int pgsz = p->pConfig->pgsz;
246035 int eDetail = p->pConfig->eDetail;
246036 int bSecureDelete = p->pConfig->bSecureDelete;
246358 int nMin = p->pConfig->nUsermerge;
246739 if( p->pConfig->eDetail==FTS5_DETAIL_NONE ){
246872 p->rc = sqlite3Fts5HashNew(p->pConfig, &p->pHash, &p->nPendingData);
246878 || (p->nPendingData > p->pConfig->nHashSize)
246925 if( p->pConfig->bContentlessDelete ){
246941 Fts5Config *pConfig,
246951 p->pConfig = pConfig;
246953 p->zDataTbl = sqlite3Fts5Mprintf(&rc, "%s_data", pConfig->zName);
246956 pConfig, "data", "id INTEGER PRIMARY KEY, block BLOB", 0, pzErr
246959 rc = sqlite3Fts5CreateTable(pConfig, "idx",
247063 Fts5Config *pConfig = p->pConfig;
247073 for(i=0; i<pConfig->nPrefix && rc==SQLITE_OK; i++){
247074 const int nChar = pConfig->aPrefix[i];
247264 int eDetail = pIter->pIndex->pConfig->eDetail;
247549 Fts5Config *pConfig = p->pConfig;
247559 int bTokendata = pConfig->bTokendata;
247577 if( pConfig->bPrefixIndex==0 || (flags & FTS5INDEX_QUERY_TEST_NOIDX) ){
247579 iIdx = 1+pConfig->nPrefix;
247584 for(iIdx=1; iIdx<=pConfig->nPrefix; iIdx++){
247585 int nIdxChar = pConfig->aPrefix[iIdx-1];
247594 }else if( iIdx<=pConfig->nPrefix ){
247777 assert( p->pConfig->eDetail!=FTS5_DETAIL_FULL );
247810 int nCol = p->pConfig->nCol;
247856 Fts5Config *pConfig = p->pConfig; /* Configuration object */
247863 rc = sqlite3_blob_open(pConfig->db, pConfig->zDb, p->zDataTbl,
248052 int nSlotPerPage = MAX(MINSLOT, (p->pConfig->pgsz - 8) / szKey);
248302 int eDetail = p->pConfig->eDetail;
248527 Fts5Config *pConfig = p->pConfig;
248528 int bSecureDelete = (pConfig->iVersion==FTS5_CURRENT_VERSION_SECUREDELETE);
248539 pConfig->zDb, pConfig->zName, pSeg->iSegid
248566 && pConfig->iVersion==FTS5_CURRENT_VERSION_SECUREDELETE
248685 int eDetail = p->pConfig->eDetail;
249906 return pTab->p.pConfig->eContent==FTS5_CONTENT_NONE;
249916 sqlite3Fts5ConfigFree(pTab->p.pConfig);
249934 int rc = sqlite3Fts5DropAll(pTab->pConfig);
249964 Fts5Config *pConfig = 0; /* Results of parsing argc/argv */
249970 rc = sqlite3Fts5ConfigParse(pGlobal, db, argc, azConfig, &pConfig, pzErr);
249971 assert( (rc==SQLITE_OK && *pzErr==0) || pConfig==0 );
249974 pTab->p.pConfig = pConfig;
249980 rc = sqlite3Fts5IndexOpen(pConfig, bCreate, &pTab->p.pIndex, pzErr);
249986 pConfig, pTab->p.pIndex, bCreate, &pTab->pStorage, pzErr
249992 rc = sqlite3Fts5ConfigDeclareVtab(pConfig);
249997 assert( pConfig->pzErrmsg==0 );
249998 pConfig->pzErrmsg = pzErr;
250001 pConfig->pzErrmsg = 0;
250004 if( rc==SQLITE_OK && pConfig->eContent==FTS5_CONTENT_NORMAL ){
250073 Fts5Config *pConfig,
250078 if( pConfig->ePattern==FTS5_PATTERN_GLOB && p->op==FTS5_PATTERN_GLOB ){
250081 if( pConfig->ePattern==FTS5_PATTERN_LIKE
250152 Fts5Config *pConfig = pTab->pConfig;
250153 const int nCol = pConfig->nCol;
250174 if( pConfig->bLock ){
250216 if( iCol>=0 && iCol<nCol && fts5UsePatternMatch(pConfig, p) ){
250259 if( iSort==(pConfig->nCol+1) && bSeenMatch ){
250261 }else if( iSort==-1 && (!pInfo->aOrderBy[0].desc || !pConfig->bTokendata) ){
250301 Fts5Config *pConfig = pTab->p.pConfig;
250308 nByte = sizeof(Fts5Cursor) + pConfig->nCol * sizeof(int);
250518 && ((Fts5Table*)pCursor->pVtab)->pConfig->bTokendata
250543 Fts5Config *pConfig = ((Fts5Table*)pCursor->pVtab)->pConfig;
250544 pConfig->bLock++;
250546 pConfig->bLock--;
250552 "%s", sqlite3_errmsg(pConfig->db)
250569 Fts5Config *pConfig,
250583 rc = sqlite3_prepare_v3(pConfig->db, zSql, -1,
250586 *pConfig->pzErrmsg = sqlite3_mprintf("%s", sqlite3_errmsg(pConfig->db));
250601 Fts5Config *pConfig = pTab->p.pConfig;
250623 rc = fts5PrepareStatement(&pSorter->pStmt, pConfig,
250625 pConfig->zDb, pConfig->zName, zRank, pConfig->zName,
250714 Fts5Config *pConfig = pTab->p.pConfig;
250724 rc = sqlite3_prepare_v3(pConfig->db, zSql, -1,
250764 Fts5Config *pConfig,
250789 if( pConfig->zRank ){
250790 pCsr->zRank = (char*)pConfig->zRank;
250791 pCsr->zRankArgs = (char*)pConfig->zRankArgs;
250829 Fts5Config *pConfig = pTab->p.pConfig;
250839 char **pzErrmsg = pConfig->pzErrmsg;
250844 if( pConfig->bLock ){
250865 pConfig->pzErrmsg = &pTab->p.base.zErrMsg;
250890 rc = sqlite3Fts5ExprNew(pConfig, 0, iCol, zText, &pExpr, pzErr);
250910 rc = sqlite3Fts5ExprPattern(pConfig, bGlob, iCol, zText, &pExpr);
250974 rc = fts5CursorParseRank(pConfig, pCsr, pRank);
250984 }else if( pConfig->zContent==0 ){
250985 *pConfig->pzErrmsg = sqlite3_mprintf(
250986 "%s: table does not support scanning", pConfig->zName
251010 pConfig->pzErrmsg = pzErrmsg;
251094 pTab->pConfig->bLock++;
251096 pTab->pConfig->bLock--;
251104 }else if( pTab->pConfig->pzErrmsg ){
251105 *pTab->pConfig->pzErrmsg = sqlite3_mprintf(
251106 "%s", sqlite3_errmsg(pTab->pConfig->db)
251142 Fts5Config *pConfig = pTab->p.pConfig;
251148 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
251159 if( pConfig->eContent==FTS5_CONTENT_NONE ){
251178 pConfig->bPrefixIndex = sqlite3_value_int(pVal);
251188 rc = sqlite3Fts5ConfigSetValue(pTab->p.pConfig, zCmd, pVal, &bError);
251200 pTab->p.pConfig->iCookie--;
251257 Fts5Config *pConfig = pTab->p.pConfig;
251266 assert( nArg==1 || nArg==(2+pConfig->nCol+2) );
251270 assert( pTab->p.pConfig->pzErrmsg==0 );
251271 if( pConfig->pgsz==0 ){
251276 pTab->p.pConfig->pzErrmsg = &pTab->p.base.zErrMsg;
251283 && sqlite3_value_type(apVal[2+pConfig->nCol])!=SQLITE_NULL
251286 const char *z = (const char*)sqlite3_value_text(apVal[2+pConfig->nCol]);
251287 if( pConfig->eContent!=FTS5_CONTENT_NORMAL
251290 if( pConfig->bContentlessDelete ){
251300 rc = fts5SpecialInsert(pTab, z, apVal[2 + pConfig->nCol + 1]);
251315 if( pConfig->eContent==FTS5_CONTENT_NORMAL || pConfig->bContentlessDelete ){
251316 eConflict = sqlite3_vtab_on_conflict(pConfig->db);
251326 && pConfig->eContent==FTS5_CONTENT_NONE
251327 && pConfig->bContentlessDelete==0
251331 (nArg>1 ? "UPDATE" : "DELETE from"), pConfig->zName
251393 && pConfig->bSecureDelete
251394 && pConfig->iVersion==FTS5_CURRENT_VERSION
251400 pConfig->iVersion = FTS5_CURRENT_VERSION_SECUREDELETE;
251404 pTab->p.pConfig->pzErrmsg = 0;
251415 pTab->p.pConfig->pzErrmsg = &pTab->p.base.zErrMsg;
251417 pTab->p.pConfig->pzErrmsg = 0;
251462 return ((Fts5Table*)(pCsr->base.pVtab))->pConfig->nCol;
251490 pTab->pConfig, FTS5_TOKENIZE_AUX, pText, nText, pUserData, xToken
251513 if( iCol<0 || iCol>=pTab->pConfig->nCol ){
251536 Fts5Config *pConfig = ((Fts5Table*)(pCsr->base.pVtab))->pConfig;
251543 if( pConfig->eDetail!=FTS5_DETAIL_FULL ){
251548 for(i=0; i<pConfig->nCol && rc==SQLITE_OK; i++){
251553 pConfig, pCsr->pExpr, aPopulator, i, z, n
251567 if( pCsr->pSorter && pConfig->eDetail==FTS5_DETAIL_FULL ){
251593 int nCol = ((Fts5Table*)pCsr->base.pVtab)->pConfig->nCol;
251720 Fts5Config *pConfig = pTab->p.pConfig;
251724 if( pConfig->bColumnsize ){
251727 }else if( pConfig->zContent==0 ){
251729 for(i=0; i<pConfig->nCol; i++){
251730 if( pConfig->abUnindexed[i]==0 ){
251736 for(i=0; rc==SQLITE_OK && i<pConfig->nCol; i++){
251737 if( pConfig->abUnindexed[i]==0 ){
251744 pConfig, FTS5_TOKENIZE_AUX, z, n, p, fts5ColumnSizeCb
251755 for(i=0; i<pConfig->nCol; i++){
251758 }else if( iCol<pConfig->nCol ){
251872 Fts5Config *pConfig = ((Fts5Table*)(pCsr->base.pVtab))->pConfig;
251874 if( pConfig->eDetail==FTS5_DETAIL_COLUMNS ){
251904 Fts5Config *pConfig = ((Fts5Table*)(pCsr->base.pVtab))->pConfig;
251906 if( pConfig->eDetail==FTS5_DETAIL_COLUMNS ){
252138 switch( ((Fts5Table*)(pCsr->base.pVtab))->pConfig->eDetail ){
252194 Fts5Config *pConfig = pTab->p.pConfig;
252201 if( iCol==pConfig->nCol ){
252206 if( iCol==pConfig->nCol ){
252212 }else if( iCol==pConfig->nCol+1 ){
252226 pConfig->pzErrmsg = &pTab->p.base.zErrMsg;
252231 pConfig->pzErrmsg = 0;
252232 }else if( pConfig->bContentlessDelete && sqlite3_vtab_nochange(pCtx) ){
252234 "columns on fts5 contentless-delete table: %s", pConfig->zName
252333 pTab->p.pConfig->pgsz = 0;
252462 Fts5Config *pConfig,
252475 pMod->pUserData, (azArg?&azArg[1]:0), (nArg?nArg-1:0), &pConfig->pTok
252477 pConfig->pTokApi = &pMod->x;
252483 pConfig->ePattern = sqlite3Fts5TokenizerPattern(
252484 pMod->x.xCreate, pConfig->pTok
252490 pConfig->pTokApi = 0;
252491 pConfig->pTok = 0;
252575 assert( pTab->p.pConfig->pzErrmsg==0 );
252576 pTab->p.pConfig->pzErrmsg = pzErr;
252591 pTab->p.pConfig->pzErrmsg = 0;
252732 Fts5Config *pConfig;
252776 assert( p->pConfig->bColumnsize || (
252800 Fts5Config *pC = p->pConfig;
252866 p->pConfig->bLock++;
252868 p->pConfig->bLock--;
252910 static int sqlite3Fts5DropAll(Fts5Config *pConfig){
252911 int rc = fts5ExecPrintf(pConfig->db, 0,
252915 pConfig->zDb, pConfig->zName,
252916 pConfig->zDb, pConfig->zName,
252917 pConfig->zDb, pConfig->zName
252919 if( rc==SQLITE_OK && pConfig->bColumnsize ){
252920 rc = fts5ExecPrintf(pConfig->db, 0,
252922 pConfig->zDb, pConfig->zName
252925 if( rc==SQLITE_OK && pConfig->eContent==FTS5_CONTENT_NORMAL ){
252926 rc = fts5ExecPrintf(pConfig->db, 0,
252928 pConfig->zDb, pConfig->zName
252935 Fts5Config *pConfig, /* Current FTS5 configuration */
252941 *pRc = fts5ExecPrintf(pConfig->db, 0,
252943 pConfig->zDb, pConfig->zName, zTail, zName, zTail
252949 Fts5Config *pConfig = pStorage->pConfig;
252952 fts5StorageRenameOne(pConfig, &rc, "data", zName);
252953 fts5StorageRenameOne(pConfig, &rc, "idx", zName);
252954 fts5StorageRenameOne(pConfig, &rc, "config", zName);
252955 if( pConfig->bColumnsize ){
252956 fts5StorageRenameOne(pConfig, &rc, "docsize", zName);
252958 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
252959 fts5StorageRenameOne(pConfig, &rc, "content", zName);
252969 Fts5Config *pConfig, /* FTS5 configuration */
252978 rc = fts5ExecPrintf(pConfig->db, &zErr, "CREATE TABLE %Q.'%q_%q'(%s)%s",
252979 pConfig->zDb, pConfig->zName, zPost, zDefn,
252988 pConfig->zName, zPost, zErr
253004 Fts5Config *pConfig,
253015 + pConfig->nCol * sizeof(i64); /* Fts5Storage.aTotalSize[] */
253021 p->pConfig = pConfig;
253025 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
253026 int nDefn = 32 + pConfig->nCol*10;
253027 char *zDefn = sqlite3_malloc64(32 + (sqlite3_int64)pConfig->nCol * 10);
253035 for(i=0; i<pConfig->nCol; i++){
253039 rc = sqlite3Fts5CreateTable(pConfig, "content", zDefn, 0, pzErr);
253044 if( rc==SQLITE_OK && pConfig->bColumnsize ){
253046 if( pConfig->bContentlessDelete ){
253049 rc = sqlite3Fts5CreateTable(pConfig, "docsize", zCols, 0, pzErr);
253053 pConfig, "config", "k PRIMARY KEY, v", 1, pzErr
253124 Fts5Config *pConfig = p->pConfig;
253142 for(iCol=1; rc==SQLITE_OK && iCol<=pConfig->nCol; iCol++){
253143 if( pConfig->abUnindexed[iCol-1]==0 ){
253158 rc = sqlite3Fts5Tokenize(pConfig, FTS5_TOKENIZE_DOCUMENT,
253189 assert( p->pConfig->bContentlessDelete );
253190 assert( p->pConfig->eContent==FTS5_CONTENT_NONE );
253224 if( p->pConfig->bColumnsize ){
253229 if( p->pConfig->bContentlessDelete ){
253272 int nCol = p->pConfig->nCol;
253294 Fts5Config *pConfig = p->pConfig;
253298 assert( pConfig->eContent!=FTS5_CONTENT_NORMAL || apVal==0 );
253307 if( p->pConfig->bContentlessDelete ){
253315 if( rc==SQLITE_OK && pConfig->bColumnsize ){
253325 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
253343 Fts5Config *pConfig = p->pConfig;
253349 rc = fts5ExecPrintf(pConfig->db, 0,
253352 pConfig->zDb, pConfig->zName,
253353 pConfig->zDb, pConfig->zName
253355 if( rc==SQLITE_OK && pConfig->bColumnsize ){
253356 rc = fts5ExecPrintf(pConfig->db, 0,
253358 pConfig->zDb, pConfig->zName
253375 Fts5Config *pConfig = p->pConfig;
253388 rc = fts5StorageGetStmt(p, FTS5_STMT_SCAN, &pScan, pConfig->pzErrmsg);
253396 for(ctx.iCol=0; rc==SQLITE_OK && ctx.iCol<pConfig->nCol; ctx.iCol++){
253398 if( pConfig->abUnindexed[ctx.iCol]==0 ){
253401 rc = sqlite3Fts5Tokenize(pConfig,
253451 if( p->pConfig->bColumnsize ){
253461 *piRowid = sqlite3_last_insert_rowid(p->pConfig->db);
253475 Fts5Config *pConfig = p->pConfig;
253479 if( pConfig->eContent!=FTS5_CONTENT_NORMAL ){
253489 for(i=1; rc==SQLITE_OK && i<=pConfig->nCol+1; i++){
253496 *piRowid = sqlite3_last_insert_rowid(pConfig->db);
253510 Fts5Config *pConfig = p->pConfig;
253522 for(ctx.iCol=0; rc==SQLITE_OK && ctx.iCol<pConfig->nCol; ctx.iCol++){
253524 if( pConfig->abUnindexed[ctx.iCol]==0 ){
253527 rc = sqlite3Fts5Tokenize(pConfig,
253549 Fts5Config *pConfig = p->pConfig;
253554 pConfig->zDb, pConfig->zName, zSuffix
253560 rc = sqlite3_prepare_v2(pConfig->db, zSql, -1, &pCnt, 0);
253583 Fts5Config *pConfig;
253613 switch( pCtx->pConfig->eDetail ){
253625 assert( pCtx->pConfig->eDetail==FTS5_DETAIL_NONE );
253638 for(ii=0; rc==SQLITE_OK && ii<pCtx->pConfig->nPrefix; ii++){
253639 const int nChar = pCtx->pConfig->aPrefix[ii];
253661 Fts5Config *pConfig = p->pConfig;
253670 ctx.pConfig = p->pConfig;
253671 aTotalSize = (i64*)sqlite3_malloc64(pConfig->nCol*(sizeof(int)+sizeof(i64)));
253673 aColSize = (int*)&aTotalSize[pConfig->nCol];
253674 memset(aTotalSize, 0, sizeof(i64) * pConfig->nCol);
253676 bUseCksum = (pConfig->eContent==FTS5_CONTENT_NORMAL
253677 || (pConfig->eContent==FTS5_CONTENT_EXTERNAL && iArg)
253689 if( pConfig->bColumnsize ){
253692 if( rc==SQLITE_OK && pConfig->eDetail==FTS5_DETAIL_NONE ){
253695 for(i=0; rc==SQLITE_OK && i<pConfig->nCol; i++){
253696 if( pConfig->abUnindexed[i] ) continue;
253699 if( pConfig->eDetail==FTS5_DETAIL_COLUMNS ){
253705 rc = sqlite3Fts5Tokenize(pConfig,
253712 if( rc==SQLITE_OK && pConfig->bColumnsize && ctx.szCol!=aColSize[i] ){
253716 if( pConfig->eDetail==FTS5_DETAIL_COLUMNS ){
253734 for(i=0; rc==SQLITE_OK && i<pConfig->nCol; i++){
253741 if( rc==SQLITE_OK && pConfig->eContent==FTS5_CONTENT_NORMAL ){
253746 if( rc==SQLITE_OK && pConfig->bColumnsize ){
253831 int nCol = p->pConfig->nCol; /* Number of user columns in table */
253835 assert( p->pConfig->bColumnsize );
253865 for(i=0; i<p->pConfig->nCol; i++){
253868 }else if( iCol<p->pConfig->nCol ){
253896 i64 iLastRowid = sqlite3_last_insert_rowid(p->pConfig->db);
253906 sqlite3_set_last_insert_rowid(p->pConfig->db, iLastRowid);
253935 int iNew = p->pConfig->iCookie + 1;
253938 p->pConfig->iCookie = iNew;
256905 i64 nByte = pFts5->pConfig->nCol * sizeof(i64)*2 + sizeof(Fts5VocabCursor);
256913 pCsr->aDoc = &pCsr->aCnt[pFts5->pConfig->nCol];
256970 int eDetail = pCsr->pFts5->pConfig->eDetail;
257004 int nCol = pCsr->pFts5->pConfig->nCol;
257046 int eDetail = pCsr->pFts5->pConfig->eDetail;
257191 || pCsr->pFts5->pConfig->eDetail!=FTS5_DETAIL_NONE)
257214 int eDetail = pCsr->pFts5->pConfig->eDetail;
257226 const char *z = pCsr->pFts5->pConfig->azCol[pCsr->iCol];
257254 if( ii>=0 && ii<pCsr->pFts5->pConfig->nCol ){
257255 const char *z = pCsr->pFts5->pConfig->azCol[ii];