diff options
Diffstat (limited to 'dev-db/sqlite/files/sqlite-3.23.1-full_archive-tests.patch')
-rw-r--r-- | dev-db/sqlite/files/sqlite-3.23.1-full_archive-tests.patch | 224 |
1 files changed, 0 insertions, 224 deletions
diff --git a/dev-db/sqlite/files/sqlite-3.23.1-full_archive-tests.patch b/dev-db/sqlite/files/sqlite-3.23.1-full_archive-tests.patch deleted file mode 100644 index ef813f67e743..000000000000 --- a/dev-db/sqlite/files/sqlite-3.23.1-full_archive-tests.patch +++ /dev/null @@ -1,224 +0,0 @@ -https://sqlite.org/src/info/893e6089c875e947 -https://sqlite.org/src/info/576a8f69ae25883f -https://sqlite.org/src/info/de508e831a43f02c - ---- /ext/fts3/fts3.c -+++ /ext/fts3/fts3.c -@@ -3963,7 +3963,7 @@ - - #ifdef SQLITE_TEST - if( rc==SQLITE_OK ){ -- rc = sqlite3Fts3ExprInitTestInterface(db); -+ rc = sqlite3Fts3ExprInitTestInterface(db, pHash); - } - #endif - ---- /ext/fts3/fts3Int.h -+++ /ext/fts3/fts3Int.h -@@ -584,7 +584,7 @@ - ); - void sqlite3Fts3ExprFree(Fts3Expr *); - #ifdef SQLITE_TEST --int sqlite3Fts3ExprInitTestInterface(sqlite3 *db); -+int sqlite3Fts3ExprInitTestInterface(sqlite3 *db, Fts3Hash*); - int sqlite3Fts3InitTerm(sqlite3 *db); - #endif - ---- /ext/fts3/fts3_expr.c -+++ /ext/fts3/fts3_expr.c -@@ -1109,34 +1109,6 @@ - #include <stdio.h> - - /* --** Function to query the hash-table of tokenizers (see README.tokenizers). --*/ --static int queryTestTokenizer( -- sqlite3 *db, -- const char *zName, -- const sqlite3_tokenizer_module **pp --){ -- int rc; -- sqlite3_stmt *pStmt; -- const char zSql[] = "SELECT fts3_tokenizer(?)"; -- -- *pp = 0; -- rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0); -- if( rc!=SQLITE_OK ){ -- return rc; -- } -- -- sqlite3_bind_text(pStmt, 1, zName, -1, SQLITE_STATIC); -- if( SQLITE_ROW==sqlite3_step(pStmt) ){ -- if( sqlite3_column_type(pStmt, 0)==SQLITE_BLOB ){ -- memcpy((void *)pp, sqlite3_column_blob(pStmt, 0), sizeof(*pp)); -- } -- } -- -- return sqlite3_finalize(pStmt); --} -- --/* - ** Return a pointer to a buffer containing a text representation of the - ** expression passed as the first argument. The buffer is obtained from - ** sqlite3_malloc(). It is the responsibility of the caller to use -@@ -1203,12 +1175,12 @@ - ** - ** SELECT fts3_exprtest('simple', 'Bill col2:Bloggs', 'col1', 'col2'); - */ --static void fts3ExprTest( -+static void fts3ExprTestCommon( -+ int bRebalance, - sqlite3_context *context, - int argc, - sqlite3_value **argv - ){ -- sqlite3_tokenizer_module const *pModule = 0; - sqlite3_tokenizer *pTokenizer = 0; - int rc; - char **azCol = 0; -@@ -1218,7 +1190,9 @@ - int ii; - Fts3Expr *pExpr; - char *zBuf = 0; -- sqlite3 *db = sqlite3_context_db_handle(context); -+ Fts3Hash *pHash = (Fts3Hash*)sqlite3_user_data(context); -+ const char *zTokenizer = 0; -+ char *zErr = 0; - - if( argc<3 ){ - sqlite3_result_error(context, -@@ -1227,23 +1201,17 @@ - return; - } - -- rc = queryTestTokenizer(db, -- (const char *)sqlite3_value_text(argv[0]), &pModule); -- if( rc==SQLITE_NOMEM ){ -- sqlite3_result_error_nomem(context); -- goto exprtest_out; -- }else if( !pModule ){ -- sqlite3_result_error(context, "No such tokenizer module", -1); -- goto exprtest_out; -- } -- -- rc = pModule->xCreate(0, 0, &pTokenizer); -- assert( rc==SQLITE_NOMEM || rc==SQLITE_OK ); -- if( rc==SQLITE_NOMEM ){ -- sqlite3_result_error_nomem(context); -- goto exprtest_out; -+ zTokenizer = (const char*)sqlite3_value_text(argv[0]); -+ rc = sqlite3Fts3InitTokenizer(pHash, zTokenizer, &pTokenizer, &zErr); -+ if( rc!=SQLITE_OK ){ -+ if( rc==SQLITE_NOMEM ){ -+ sqlite3_result_error_nomem(context); -+ }else{ -+ sqlite3_result_error(context, zErr, -1); -+ } -+ sqlite3_free(zErr); -+ return; - } -- pTokenizer->pModule = pModule; - - zExpr = (const char *)sqlite3_value_text(argv[1]); - nExpr = sqlite3_value_bytes(argv[1]); -@@ -1257,7 +1225,7 @@ - azCol[ii] = (char *)sqlite3_value_text(argv[ii+2]); - } - -- if( sqlite3_user_data(context) ){ -+ if( bRebalance ){ - char *zDummy = 0; - rc = sqlite3Fts3ExprParse( - pTokenizer, 0, azCol, 0, nCol, nCol, zExpr, nExpr, &pExpr, &zDummy -@@ -1283,23 +1251,38 @@ - sqlite3Fts3ExprFree(pExpr); - - exprtest_out: -- if( pModule && pTokenizer ){ -- rc = pModule->xDestroy(pTokenizer); -+ if( pTokenizer ){ -+ rc = pTokenizer->pModule->xDestroy(pTokenizer); - } - sqlite3_free(azCol); - } - -+static void fts3ExprTest( -+ sqlite3_context *context, -+ int argc, -+ sqlite3_value **argv -+){ -+ fts3ExprTestCommon(0, context, argc, argv); -+} -+static void fts3ExprTestRebalance( -+ sqlite3_context *context, -+ int argc, -+ sqlite3_value **argv -+){ -+ fts3ExprTestCommon(1, context, argc, argv); -+} -+ - /* - ** Register the query expression parser test function fts3_exprtest() - ** with database connection db. - */ --int sqlite3Fts3ExprInitTestInterface(sqlite3* db){ -+int sqlite3Fts3ExprInitTestInterface(sqlite3 *db, Fts3Hash *pHash){ - int rc = sqlite3_create_function( -- db, "fts3_exprtest", -1, SQLITE_UTF8, 0, fts3ExprTest, 0, 0 -+ db, "fts3_exprtest", -1, SQLITE_UTF8, (void*)pHash, fts3ExprTest, 0, 0 - ); - if( rc==SQLITE_OK ){ - rc = sqlite3_create_function(db, "fts3_exprtest_rebalance", -- -1, SQLITE_UTF8, (void *)1, fts3ExprTest, 0, 0 -+ -1, SQLITE_UTF8, (void*)pHash, fts3ExprTestRebalance, 0, 0 - ); - } - return rc; ---- /test/fts3expr.test -+++ /test/fts3expr.test -@@ -409,7 +409,7 @@ - } {1 {Usage: fts3_exprtest(tokenizer, expr, col1, ...}} - do_test fts3expr-5.2 { - catchsql { SELECT fts3_exprtest('doesnotexist', 'a b', 'c') } --} {1 {No such tokenizer module}} -+} {1 {unknown tokenizer: doesnotexist}} - do_test fts3expr-5.3 { - catchsql { SELECT fts3_exprtest('simple', 'a b OR', 'c') } - } {1 {Error parsing expression}} ---- /test/fts3expr4.test -+++ /test/fts3expr4.test -@@ -29,7 +29,8 @@ - } - - proc do_icu_expr_test {tn expr res} { -- uplevel [list do_test $tn [list test_fts3expr icu $expr] [list {*}$res]] -+ set res2 [list {*}$res] -+ uplevel [list do_test $tn [list test_fts3expr "icu en_US" $expr] $res2] - } - - proc do_simple_expr_test {tn expr res} { ---- /test/zipfile2.test -+++ /test/zipfile2.test -@@ -52,17 +52,15 @@ - CREATE VIRTUAL TABLE fff USING zipfile('test''zip'); - } - --if {$::tcl_platform(platform)=="windows"} { -- set res {1 {cannot open file: testdir}} --} else { -- set res {1 {error in fread()}} --} - do_test 2.0 { - forcedelete testdir - file mkdir testdir - execsql { CREATE VIRTUAL TABLE hhh USING zipfile('testdir') } -- catchsql { SELECT * FROM hhh } --} $res -+ lindex [catchsql { -+ SELECT * FROM hhh; -+ INSERT INTO hhh(name, data) VALUES('1.txt', 'file data'); -+ }] 0 -+} 1 - - - set archive { |