-
-
Save indutny/01cccb511059a0e2d657036e2fc9cb67 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/ext/fts3/fts3.c b/ext/fts3/fts3.c | |
index c43eac4..23f1af7 100644 | |
--- a/ext/fts3/fts3.c | |
+++ b/ext/fts3/fts3.c | |
@@ -4065,8 +4065,6 @@ int sqlite3Fts3Init(sqlite3 *db){ | |
#endif | |
#ifdef SQLITE_TEST | |
- rc = sqlite3Fts3InitTerm(db); | |
- if( rc!=SQLITE_OK ) return rc; | |
#endif | |
rc = sqlite3Fts3InitAux(db); | |
diff --git a/ext/fts3/fts3Int.h b/ext/fts3/fts3Int.h | |
index e821d6b..dc1533d 100644 | |
--- a/ext/fts3/fts3Int.h | |
+++ b/ext/fts3/fts3Int.h | |
@@ -619,7 +619,6 @@ int sqlite3Fts3ExprParse(sqlite3_tokenizer *, int, | |
void sqlite3Fts3ExprFree(Fts3Expr *); | |
#ifdef SQLITE_TEST | |
int sqlite3Fts3ExprInitTestInterface(sqlite3 *db, Fts3Hash*); | |
-int sqlite3Fts3InitTerm(sqlite3 *db); | |
#endif | |
void *sqlite3Fts3MallocZero(i64 nByte); | |
diff --git a/ext/fts3/fts3_tokenizer.c b/ext/fts3/fts3_tokenizer.c | |
index eab3f51..6306dd7 100644 | |
--- a/ext/fts3/fts3_tokenizer.c | |
+++ b/ext/fts3/fts3_tokenizer.c | |
@@ -263,90 +263,6 @@ static void testFunc( | |
int argc, | |
sqlite3_value **argv | |
){ | |
- Fts3Hash *pHash; | |
- sqlite3_tokenizer_module *p; | |
- sqlite3_tokenizer *pTokenizer = 0; | |
- sqlite3_tokenizer_cursor *pCsr = 0; | |
- | |
- const char *zErr = 0; | |
- | |
- const char *zName; | |
- int nName; | |
- const char *zInput; | |
- int nInput; | |
- | |
- const char *azArg[64]; | |
- | |
- const char *zToken; | |
- int nToken = 0; | |
- int iStart = 0; | |
- int iEnd = 0; | |
- int iPos = 0; | |
- int i; | |
- | |
- Tcl_Obj *pRet; | |
- | |
- if( argc<2 ){ | |
- sqlite3_result_error(context, "insufficient arguments", -1); | |
- return; | |
- } | |
- | |
- nName = sqlite3_value_bytes(argv[0]); | |
- zName = (const char *)sqlite3_value_text(argv[0]); | |
- nInput = sqlite3_value_bytes(argv[argc-1]); | |
- zInput = (const char *)sqlite3_value_text(argv[argc-1]); | |
- | |
- pHash = (Fts3Hash *)sqlite3_user_data(context); | |
- p = (sqlite3_tokenizer_module *)sqlite3Fts3HashFind(pHash, zName, nName+1); | |
- | |
- if( !p ){ | |
- char *zErr2 = sqlite3_mprintf("unknown tokenizer: %s", zName); | |
- sqlite3_result_error(context, zErr2, -1); | |
- sqlite3_free(zErr2); | |
- return; | |
- } | |
- | |
- pRet = Tcl_NewObj(); | |
- Tcl_IncrRefCount(pRet); | |
- | |
- for(i=1; i<argc-1; i++){ | |
- azArg[i-1] = (const char *)sqlite3_value_text(argv[i]); | |
- } | |
- | |
- if( SQLITE_OK!=p->xCreate(argc-2, azArg, &pTokenizer) ){ | |
- zErr = "error in xCreate()"; | |
- goto finish; | |
- } | |
- pTokenizer->pModule = p; | |
- if( sqlite3Fts3OpenTokenizer(pTokenizer, 0, zInput, nInput, &pCsr) ){ | |
- zErr = "error in xOpen()"; | |
- goto finish; | |
- } | |
- | |
- while( SQLITE_OK==p->xNext(pCsr, &zToken, &nToken, &iStart, &iEnd, &iPos) ){ | |
- Tcl_ListObjAppendElement(0, pRet, Tcl_NewIntObj(iPos)); | |
- Tcl_ListObjAppendElement(0, pRet, Tcl_NewStringObj(zToken, nToken)); | |
- zToken = &zInput[iStart]; | |
- nToken = iEnd-iStart; | |
- Tcl_ListObjAppendElement(0, pRet, Tcl_NewStringObj(zToken, nToken)); | |
- } | |
- | |
- if( SQLITE_OK!=p->xClose(pCsr) ){ | |
- zErr = "error in xClose()"; | |
- goto finish; | |
- } | |
- if( SQLITE_OK!=p->xDestroy(pTokenizer) ){ | |
- zErr = "error in xDestroy()"; | |
- goto finish; | |
- } | |
- | |
-finish: | |
- if( zErr ){ | |
- sqlite3_result_error(context, zErr, -1); | |
- }else{ | |
- sqlite3_result_text(context, Tcl_GetString(pRet), -1, SQLITE_TRANSIENT); | |
- } | |
- Tcl_DecrRefCount(pRet); | |
} | |
static |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment