Lines Matching refs:pConfig

166329 static int sqlite3Fts5ConfigDeclareVtab(Fts5Config *pConfig);
166332 Fts5Config *pConfig, /* FTS5 Configuration object */
166455 static int sqlite3Fts5IndexOpen(Fts5Config *pConfig, int bCreate, Fts5Index**, char**);
166740 Fts5Config *pConfig,
169097 ** configuration object pConfig as appropriate.
169099 ** If successful, object pConfig is updated and SQLITE_OK returned. If
169106 Fts5Config *pConfig, /* Configuration object to update */
169116 if( pConfig->aPrefix ){
169120 pConfig->aPrefix = sqlite3Fts5MallocZero(&rc, nByte);
169141 pConfig->aPrefix[pConfig->nPrefix] = nPre;
169142 pConfig->nPrefix++;
169155 if( pConfig->pTok ){
169179 (const char**)azArg, nArg, &pConfig->pTok, &pConfig->pTokApi,
169192 if( pConfig->eContent!=FTS5_CONTENT_NORMAL ){
169197 pConfig->eContent = FTS5_CONTENT_EXTERNAL;
169198 pConfig->zContent = sqlite3Fts5Mprintf(&rc, "%Q.%Q", pConfig->zDb,zArg);
169200 pConfig->eContent = FTS5_CONTENT_NONE;
169207 if( pConfig->zContentRowid ){
169211 pConfig->zContentRowid = sqlite3Fts5Strndup(&rc, zArg, -1);
169221 pConfig->bColumnsize = (zArg[0]=='1');
169235 static int fts5ConfigDefaultTokenizer(Fts5Global *pGlobal, Fts5Config *pConfig){
169236 assert( pConfig->pTok==0 && pConfig->pTokApi==0 );
169238 pGlobal, 0, 0, &pConfig->pTok, &pConfig->pTokApi, 0
169474 static void sqlite3Fts5ConfigFree(Fts5Config *pConfig){
169475 if( pConfig ){
169477 if( pConfig->pTok ){
169478 pConfig->pTokApi->xDelete(pConfig->pTok);
169480 sqlite3_free(pConfig->zDb);
169481 sqlite3_free(pConfig->zName);
169482 for(i=0; i<pConfig->nCol; i++){
169483 sqlite3_free(pConfig->azCol[i]);
169485 sqlite3_free(pConfig->azCol);
169486 sqlite3_free(pConfig->aPrefix);
169487 sqlite3_free(pConfig->zRank);
169488 sqlite3_free(pConfig->zRankArgs);
169489 sqlite3_free(pConfig->zContent);
169490 sqlite3_free(pConfig->zContentRowid);
169491 sqlite3_free(pConfig->zContentExprlist);
169492 sqlite3_free(pConfig);
169501 static int sqlite3Fts5ConfigDeclareVtab(Fts5Config *pConfig){
169507 for(i=0; zSql && i<pConfig->nCol; i++){
169509 zSql = sqlite3Fts5Mprintf(&rc, "%z%s%Q", zSql, zSep, pConfig->azCol[i]);
169512 zSql, pConfig->zName, FTS5_RANK_NAME
169517 rc = sqlite3_declare_vtab(pConfig->db, zSql);
169548 Fts5Config *pConfig, /* FTS5 Configuration object */
169555 return pConfig->pTokApi->xTokenize(
169556 pConfig->pTok, pCtx, flags, pText, nText, xToken
169649 Fts5Config *pConfig,
169664 pConfig->pgsz = pgsz;
169677 pConfig->nAutomerge = nAutomerge;
169690 pConfig->nCrisisMerge = nCrisisMerge;
169700 sqlite3_free(pConfig->zRank);
169701 sqlite3_free(pConfig->zRankArgs);
169702 pConfig->zRank = zRank;
169703 pConfig->zRankArgs = zRankArgs;
169717 static int sqlite3Fts5ConfigLoad(Fts5Config *pConfig, int iCookie){
169725 pConfig->pgsz = FTS5_DEFAULT_PAGE_SIZE;
169726 pConfig->nAutomerge = FTS5_DEFAULT_AUTOMERGE;
169727 pConfig->nCrisisMerge = FTS5_DEFAULT_CRISISMERGE;
169729 zSql = sqlite3Fts5Mprintf(&rc, zSelect, pConfig->zDb, pConfig->zName);
169731 rc = sqlite3_prepare_v2(pConfig->db, zSql, -1, &p, 0);
169744 sqlite3Fts5ConfigSetValue(pConfig, zK, pVal, &bDummy);
169752 if( pConfig->pzErrmsg ){
169753 assert( 0==*pConfig->pzErrmsg );
169754 *pConfig->pzErrmsg = sqlite3_mprintf(
169762 pConfig->iCookie = iCookie;
169878 Fts5Config *pConfig;
169969 Fts5Config *pConfig, /* FTS5 Configuration */
169986 sParse.pConfig = pConfig;
171273 Fts5Config *pConfig = pParse->pConfig;
171287 rc = sqlite3Fts5Tokenize(pConfig, flags, z, n, &sCtx, fts5ParseTokenize);
171324 Fts5Config *pConfig,
171447 assert( iCol>=0 && iCol<pParse->pConfig->nCol );
171485 Fts5Config *pConfig = pParse->pConfig;
171487 for(iCol=0; iCol<pConfig->nCol; iCol++){
171488 if( 0==sqlite3_stricmp(pConfig->azCol[iCol], z) ) break;
171490 if( iCol==pConfig->nCol ){
171648 Fts5Config *pConfig,
171710 char *z = fts5ExprPrintTcl(pConfig, zNearsetCmd, pExpr->apChild[i]);
171723 static char *fts5ExprPrint(Fts5Config *pConfig, Fts5ExprNode *pExpr){
171732 zRet = fts5PrintfAppend(zRet, "%s : ", pConfig->azCol[iCol]);
171779 char *z = fts5ExprPrint(pConfig, pExpr->apChild[i]);
171819 Fts5Config *pConfig = 0;
171851 rc = sqlite3Fts5ConfigParse(pGlobal, db, nConfig, azConfig, &pConfig, &zErr);
171853 rc = sqlite3Fts5ExprNew(pConfig, zExpr, &pExpr, &zErr);
171860 zText = fts5ExprPrintTcl(pConfig, zNearsetCmd, pExpr->pRoot);
171862 zText = fts5ExprPrint(pConfig, pExpr->pRoot);
171881 sqlite3Fts5ConfigFree(pConfig);
172755 Fts5Config *pConfig; /* Virtual table configuration */
173137 Fts5Config *pConfig = p->pConfig;
173138 rc = sqlite3_blob_open(pConfig->db,
173139 pConfig->zDb, p->zDataTbl, "block", iRowid, 0, &p->pReader
173196 p->rc = sqlite3_prepare_v2(p->pConfig->db, zSql, -1, ppStmt, 0);
173213 Fts5Config *pConfig = p->pConfig;
173216 pConfig->zDb, pConfig->zName
173237 Fts5Config *pConfig = p->pConfig;
173240 pConfig->zDb, pConfig->zName
173245 rc = sqlite3_prepare_v2(pConfig->db, zSql, -1, &p->pDeleter, 0);
173268 Fts5Config *pConfig = p->pConfig;
173271 pConfig->zDb, pConfig->zName
173444 Fts5Config *pConfig = p->pConfig;
173454 if( p->rc==SQLITE_OK && pConfig->iCookie!=iCookie ){
173455 p->rc = sqlite3Fts5ConfigLoad(pConfig, iCookie);
173500 iCookie = p->pConfig->iCookie;
174577 Fts5Config *pConfig = p->pConfig;
174581 pConfig->zDb, pConfig->zName
175537 if( pDlidx->buf.n>=p->pConfig->pgsz ){
175645 if( (pPage->buf.n + pPgidx->n + nTerm + 2)>=p->pConfig->pgsz ){
175718 if( (pPage->buf.n + pPage->pgidx.n)>=p->pConfig->pgsz ){
175755 assert( p->pConfig->pgsz>0 );
175757 && (pPage->buf.n + pPage->pgidx.n + n)>=p->pConfig->pgsz
175759 int nReq = p->pConfig->pgsz - pPage->buf.n - pPage->pgidx.n;
175810 const int nBuffer = p->pConfig->pgsz + FTS5_DATA_PADDING;
175825 Fts5Config *pConfig = p->pConfig;
175828 pConfig->zDb, pConfig->zName
176084 if( nBest<p->pConfig->nAutomerge
176110 if( p->rc==SQLITE_OK && p->pConfig->nAutomerge>0 ){
176130 const int nCrisis = p->pConfig->nCrisisMerge;
176205 const int pgsz = p->pConfig->pgsz;
176924 Fts5Config *pConfig,
176934 p->pConfig = pConfig;
176937 p->zDataTbl = sqlite3Fts5Mprintf(&rc, "%s_data", pConfig->zName);
176940 pConfig, "data", "id INTEGER PRIMARY KEY, block BLOB", 0, pzErr
176943 rc = sqlite3Fts5CreateTable(pConfig, "idx",
177032 Fts5Config *pConfig = p->pConfig;
177042 for(i=0; i<pConfig->nPrefix && rc==SQLITE_OK; i++){
177043 int nByte = fts5IndexCharlenToBytelen(pToken, nToken, pConfig->aPrefix[i]);
177065 Fts5Config *pConfig = p->pConfig;
177084 if( pConfig->bPrefixIndex==0 || (flags & FTS5INDEX_QUERY_TEST_NOIDX) ){
177086 iIdx = 1+pConfig->nPrefix;
177091 for(iIdx=1; iIdx<=pConfig->nPrefix; iIdx++){
177092 if( pConfig->aPrefix[iIdx-1]==nChar ) break;
177096 if( iIdx<=pConfig->nPrefix ){
177279 int nCol = p->pConfig->nCol;
177325 Fts5Config *pConfig = p->pConfig; /* Configuration object */
177332 rc = sqlite3_blob_open(pConfig->db, pConfig->zDb, p->zDataTbl,
177614 Fts5Config *pConfig = p->pConfig;
177624 pConfig->zDb, pConfig->zName, pSeg->iSegid
177831 Fts5Config *pConfig, /* Configuration object */
177842 for(iIdx=0; iIdx<pConfig->nPrefix; iIdx++){
177843 int nByte = fts5IndexCharlenToBytelen(pTerm, nTerm, pConfig->aPrefix[iIdx]);
178326 Fts5Config *pConfig; /* Virtual table configuration */
178517 return pTab->pConfig->eContent==FTS5_CONTENT_NONE;
178527 sqlite3Fts5ConfigFree(pTab->pConfig);
178545 int rc = sqlite3Fts5DropAll(pTab->pConfig);
178575 Fts5Config *pConfig = 0; /* Results of parsing argc/argv */
178581 rc = sqlite3Fts5ConfigParse(pGlobal, db, argc, azConfig, &pConfig, pzErr);
178582 assert( (rc==SQLITE_OK && *pzErr==0) || pConfig==0 );
178585 pTab->pConfig = pConfig;
178591 rc = sqlite3Fts5IndexOpen(pConfig, bCreate, &pTab->pIndex, pzErr);
178597 pConfig, pTab->pIndex, bCreate, &pTab->pStorage, pzErr
178603 rc = sqlite3Fts5ConfigDeclareVtab(pConfig);
178703 Fts5Config *pConfig = pTab->pConfig;
178729 aColMap[1] = pConfig->nCol;
178730 aColMap[2] = pConfig->nCol+1;
178755 if( iSort==(pConfig->nCol+1) && BitFlagTest(idxFlags, FTS5_BI_MATCH) ){
178800 Fts5Config *pConfig = pTab->pConfig;
178805 nByte = sizeof(Fts5Cursor) + pConfig->nCol * sizeof(int);
179038 Fts5Config *pConfig = pTab->pConfig;
179063 pConfig->zDb, pConfig->zName, zRank, pConfig->zName,
179069 rc = sqlite3_prepare_v2(pConfig->db, zSql, -1, &pSorter->pStmt, 0);
179156 Fts5Config *pConfig = pTab->pConfig;
179166 rc = sqlite3_prepare_v2(pConfig->db, zSql, -1, &pStmt, 0);
179205 Fts5Config *pConfig,
179230 if( pConfig->zRank ){
179231 pCsr->zRank = (char*)pConfig->zRank;
179232 pCsr->zRankArgs = (char*)pConfig->zRankArgs;
179270 Fts5Config *pConfig = pTab->pConfig;
179281 char **pzErrmsg = pConfig->pzErrmsg;
179296 pConfig->pzErrmsg = &pTab->base.zErrMsg;
179345 rc = fts5CursorParseRank(pConfig, pCsr, pRank);
179354 rc = sqlite3Fts5ExprNew(pConfig, zExpr, &pCsr->pExpr, pzErr);
179366 }else if( pConfig->zContent==0 ){
179367 *pConfig->pzErrmsg = sqlite3_mprintf(
179368 "%s: table does not support scanning", pConfig->zName
179389 pConfig->pzErrmsg = pzErrmsg;
179514 Fts5Config *pConfig = pTab->pConfig;
179519 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
179529 if( pConfig->eContent==FTS5_CONTENT_NONE ){
179546 pConfig->bPrefixIndex = sqlite3_value_int(pVal);
179551 rc = sqlite3Fts5ConfigSetValue(pTab->pConfig, zCmd, pVal, &bError);
179615 Fts5Config *pConfig = pTab->pConfig;
179623 assert( nArg==1 || nArg==(2+pConfig->nCol+2) );
179628 assert( pTab->pConfig->pzErrmsg==0 );
179629 pTab->pConfig->pzErrmsg = &pTab->base.zErrMsg;
179636 && sqlite3_value_type(apVal[2+pConfig->nCol])!=SQLITE_NULL
179639 const char *z = (const char*)sqlite3_value_text(apVal[2+pConfig->nCol]);
179640 if( pConfig->eContent!=FTS5_CONTENT_NORMAL
179645 rc = fts5SpecialInsert(pTab, z, apVal[2 + pConfig->nCol + 1]);
179659 int eConflict = sqlite3_vtab_on_conflict(pConfig->db);
179669 (nArg>1 ? "UPDATE" : "DELETE from"), pConfig->zName
179719 pTab->pConfig->pzErrmsg = 0;
179730 pTab->pConfig->pzErrmsg = &pTab->base.zErrMsg;
179733 pTab->pConfig->pzErrmsg = 0;
179774 return ((Fts5Table*)(pCsr->base.pVtab))->pConfig->nCol;
179802 pTab->pConfig, FTS5_TOKENIZE_AUX, pText, nText, pUserData, xToken
179972 Fts5Config *pConfig = pTab->pConfig;
179976 if( pConfig->bColumnsize ){
179979 }else if( pConfig->zContent==0 ){
179981 for(i=0; i<pConfig->nCol; i++){
179982 if( pConfig->abUnindexed[i]==0 ){
179988 for(i=0; rc==SQLITE_OK && i<pConfig->nCol; i++){
179989 if( pConfig->abUnindexed[i]==0 ){
179996 pConfig, FTS5_TOKENIZE_AUX, z, n, p, fts5ColumnSizeCb
180007 for(i=0; i<pConfig->nCol; i++){
180010 }else if( iCol<pConfig->nCol ){
180154 Fts5Config *pConf = pTab->pConfig;
180242 *pnCol = pTab->pConfig->nCol;
180299 Fts5Config *pConfig = pTab->pConfig;
180306 if( iCol==pConfig->nCol ){
180311 if( iCol==pConfig->nCol ){
180317 }else if( iCol==pConfig->nCol+1 ){
180728 Fts5Config *pConfig;
180772 assert( p->pConfig->bColumnsize || (
180796 Fts5Config *pC = p->pConfig;
180888 static int sqlite3Fts5DropAll(Fts5Config *pConfig){
180889 int rc = fts5ExecPrintf(pConfig->db, 0,
180893 pConfig->zDb, pConfig->zName,
180894 pConfig->zDb, pConfig->zName,
180895 pConfig->zDb, pConfig->zName
180897 if( rc==SQLITE_OK && pConfig->bColumnsize ){
180898 rc = fts5ExecPrintf(pConfig->db, 0,
180900 pConfig->zDb, pConfig->zName
180903 if( rc==SQLITE_OK && pConfig->eContent==FTS5_CONTENT_NORMAL ){
180904 rc = fts5ExecPrintf(pConfig->db, 0,
180906 pConfig->zDb, pConfig->zName
180913 Fts5Config *pConfig, /* Current FTS5 configuration */
180919 *pRc = fts5ExecPrintf(pConfig->db, 0,
180921 pConfig->zDb, pConfig->zName, zTail, zName, zTail
180927 Fts5Config *pConfig = pStorage->pConfig;
180930 fts5StorageRenameOne(pConfig, &rc, "data", zName);
180931 fts5StorageRenameOne(pConfig, &rc, "idx", zName);
180932 fts5StorageRenameOne(pConfig, &rc, "config", zName);
180933 if( pConfig->bColumnsize ){
180934 fts5StorageRenameOne(pConfig, &rc, "docsize", zName);
180936 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
180937 fts5StorageRenameOne(pConfig, &rc, "content", zName);
180947 Fts5Config *pConfig, /* FTS5 configuration */
180956 rc = fts5ExecPrintf(pConfig->db, &zErr, "CREATE TABLE %Q.'%q_%q'(%s)%s",
180957 pConfig->zDb, pConfig->zName, zPost, zDefn, bWithout?" WITHOUT ROWID":""
180962 pConfig->zName, zPost, zErr
180978 Fts5Config *pConfig,
180989 + pConfig->nCol * sizeof(i64); /* Fts5Storage.aTotalSize[] */
180995 p->pConfig = pConfig;
180999 if( pConfig->eContent==FTS5_CONTENT_NORMAL ){
181000 int nDefn = 32 + pConfig->nCol*10;
181001 char *zDefn = sqlite3_malloc(32 + pConfig->nCol * 10);
181009 for(i=0; i<pConfig->nCol; i++){
181013 rc = sqlite3Fts5CreateTable(pConfig, "content", zDefn, 0, pzErr);
181018 if( rc==SQLITE_OK && pConfig->bColumnsize ){
181020 pConfig, "docsize", "id INTEGER PRIMARY KEY, sz BLOB", 0, pzErr
181025 pConfig, "config", "k PRIMARY KEY, v", 1, pzErr
181090 Fts5Config *pConfig = p->pConfig;
181104 for(iCol=1; rc==SQLITE_OK && iCol<=pConfig->nCol; iCol++){
181105 if( pConfig->abUnindexed[iCol-1] ) continue;
181107 rc = sqlite3Fts5Tokenize(pConfig,
181140 if( p->pConfig->bColumnsize ){
181180 int nCol = p->pConfig->nCol;
181202 Fts5Config *pConfig = p->pConfig;
181214 if( rc==SQLITE_OK && pConfig->bColumnsize ){
181246 Fts5Config *pConfig = p->pConfig;
181250 assert( pConfig->eContent!=FTS5_CONTENT_NORMAL );
181261 for(iCol=0; rc==SQLITE_OK && iCol<pConfig->nCol; iCol++){
181262 if( pConfig->abUnindexed[iCol] ) continue;
181264 rc = sqlite3Fts5Tokenize(pConfig,
181277 if( pConfig->bColumnsize ){
181300 Fts5Config *pConfig = p->pConfig;
181304 rc = fts5ExecPrintf(pConfig->db, 0,
181307 pConfig->zDb, pConfig->zName,
181308 pConfig->zDb, pConfig->zName
181310 if( rc==SQLITE_OK && pConfig->bColumnsize ){
181311 rc = fts5ExecPrintf(pConfig->db, 0,
181313 pConfig->zDb, pConfig->zName
181330 Fts5Config *pConfig = p->pConfig;
181351 for(ctx.iCol=0; rc==SQLITE_OK && ctx.iCol<pConfig->nCol; ctx.iCol++){
181353 if( pConfig->abUnindexed[ctx.iCol]==0 ){
181354 rc = sqlite3Fts5Tokenize(pConfig,
181399 if( p->pConfig->bColumnsize ){
181409 *piRowid = sqlite3_last_insert_rowid(p->pConfig->db);
181423 Fts5Config *pConfig = p->pConfig;
181427 if( pConfig->eContent!=FTS5_CONTENT_NORMAL ){
181447 for(i=1; rc==SQLITE_OK && i<=pConfig->nCol+1; i++){
181454 *piRowid = sqlite3_last_insert_rowid(pConfig->db);
181468 Fts5Config *pConfig = p->pConfig;
181480 for(ctx.iCol=0; rc==SQLITE_OK && ctx.iCol<pConfig->nCol; ctx.iCol++){
181482 if( pConfig->abUnindexed[ctx.iCol]==0 ){
181483 rc = sqlite3Fts5Tokenize(pConfig,
181511 Fts5Config *pConfig = p->pConfig;
181516 pConfig->zDb, pConfig->zName, zSuffix
181522 rc = sqlite3_prepare_v2(pConfig->db, zSql, -1, &pCnt, 0);
181544 Fts5Config *pConfig;
181563 pCtx->pConfig, pCtx->iRowid, pCtx->iCol, pCtx->szCol-1, pToken, nToken
181575 Fts5Config *pConfig = p->pConfig;
181577 int *aColSize; /* Array of size pConfig->nCol */
181578 i64 *aTotalSize; /* Array of size pConfig->nCol */
181583 ctx.pConfig = p->pConfig;
181584 aTotalSize = (i64*)sqlite3_malloc(pConfig->nCol * (sizeof(int)+sizeof(i64)));
181586 aColSize = (int*)&aTotalSize[pConfig->nCol];
181587 memset(aTotalSize, 0, sizeof(i64) * pConfig->nCol);
181598 if( pConfig->bColumnsize ){
181601 for(i=0; rc==SQLITE_OK && i<pConfig->nCol; i++){
181602 if( pConfig->abUnindexed[i] ) continue;
181605 rc = sqlite3Fts5Tokenize(pConfig,
181612 if( pConfig->bColumnsize && ctx.szCol!=aColSize[i] ){
181627 for(i=0; rc==SQLITE_OK && i<pConfig->nCol; i++){
181634 if( rc==SQLITE_OK && pConfig->eContent==FTS5_CONTENT_NORMAL ){
181639 if( rc==SQLITE_OK && pConfig->bColumnsize ){
181723 int nCol = p->pConfig->nCol; /* Number of user columns in table */
181727 assert( p->pConfig->bColumnsize );
181754 for(i=0; i<p->pConfig->nCol; i++){
181757 }else if( iCol<p->pConfig->nCol ){
181810 int iNew = p->pConfig->iCookie + 1;
181813 p->pConfig->iCookie = iNew;