diff --git a/Changes b/Changes index d4cffbe..604b8b0 100644 --- a/Changes +++ b/Changes @@ -1,7 +1,7 @@ Changes for Perl extension DBD-SQLite 1.49_03 to be released - - Updated to SQLite 3.9.0, with JSON support + - Updated to SQLite 3.9.1, with JSON support 1.49_02 2015-10-10 - Added a workaround to resolve #106950 Extra warnings diff --git a/sqlite3.c b/sqlite3.c index ac3ef39..f5ae172 100644 --- a/sqlite3.c +++ b/sqlite3.c @@ -1,6 +1,6 @@ /****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite -** version 3.9.0. By combining all the individual C code files into this +** version 3.9.1. By combining all the individual C code files into this ** single large file, the entire code can be compiled as a single translation ** unit. This allows many compilers to do optimizations that would not be ** possible if the files were compiled separately. Performance improvements @@ -325,9 +325,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.9.0" -#define SQLITE_VERSION_NUMBER 3009000 -#define SQLITE_SOURCE_ID "2015-10-14 12:29:53 a721fc0d89495518fe5612e2e3bbc60befd2e90d" +#define SQLITE_VERSION "3.9.1" +#define SQLITE_VERSION_NUMBER 3009001 +#define SQLITE_SOURCE_ID "2015-10-16 17:31:12 767c1727fec4ce11b83f25b3f1bfcfe68a2c8b02" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -8158,7 +8158,6 @@ struct sqlite3_rtree_query_info { #ifndef _FTS5_H #define _FTS5_H -/* #include "sqlite3.h" */ #if 0 extern "C" { @@ -163562,7 +163561,6 @@ SQLITE_PRIVATE int sqlite3DbstatRegister(sqlite3 *db){ return SQLITE_OK; } SQLITE_EXTENSION_INIT1 /* #include */ /* #include */ -#include /* amalgamator: keep */ /* #include */ /* #include */ @@ -163577,8 +163575,17 @@ SQLITE_EXTENSION_INIT1 ** Versions of isspace(), isalnum() and isdigit() to which it is safe ** to pass signed char values. */ -#define safe_isdigit(x) isdigit((unsigned char)(x)) -#define safe_isalnum(x) isalnum((unsigned char)(x)) +#ifdef sqlite3Isdigit + /* Use the SQLite core versions if this routine is part of the + ** SQLite amalgamation */ +# define safe_isdigit(x) sqlite3Isdigit(x) +# define safe_isalnum(x) sqlite3Isalnum(x) +#else + /* Use the standard library for separate compilation */ +#include /* amalgamator: keep */ +# define safe_isdigit(x) isdigit((unsigned char)(x)) +# define safe_isalnum(x) isalnum((unsigned char)(x)) +#endif /* ** Growing our own isspace() routine this way is twice as fast as @@ -163586,7 +163593,7 @@ SQLITE_EXTENSION_INIT1 ** increase for the parser. (Ubuntu14.10 gcc 4.8.4 x64 with -Os). */ static const char jsonIsSpace[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -164048,7 +164055,13 @@ static void jsonReturn( int_as_real: /* fall through to real */; } case JSON_REAL: { - double r = strtod(pNode->u.zJContent, 0); + double r; +#ifdef SQLITE_AMALGAMATION + const char *z = pNode->u.zJContent; + sqlite3AtoF(z, &r, sqlite3Strlen30(z), SQLITE_UTF8); +#else + r = strtod(pNode->u.zJContent, 0); +#endif sqlite3_result_double(pCtx, r); break; } @@ -165556,6 +165569,7 @@ SQLITE_PRIVATE int sqlite3Json1Init(sqlite3 *db){ } +#ifndef SQLITE_CORE #ifdef _WIN32 __declspec(dllexport) #endif @@ -165568,6 +165582,7 @@ SQLITE_API int SQLITE_STDCALL sqlite3_json_init( (void)pzErrMsg; /* Unused parameter */ return sqlite3Json1Init(db); } +#endif #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_JSON1) */ /************** End of json1.c ***********************************************/ @@ -180567,7 +180582,7 @@ static void fts5SourceIdFunc( sqlite3_value **apVal /* Function arguments */ ){ assert( nArg==0 ); - sqlite3_result_text(pCtx, "fts5: 2015-10-14 12:29:53 a721fc0d89495518fe5612e2e3bbc60befd2e90d", -1, SQLITE_TRANSIENT); + sqlite3_result_text(pCtx, "fts5: 2015-10-16 17:31:12 767c1727fec4ce11b83f25b3f1bfcfe68a2c8b02", -1, SQLITE_TRANSIENT); } static int fts5Init(sqlite3 *db){ diff --git a/sqlite3.h b/sqlite3.h index b42a740..2a75517 100644 --- a/sqlite3.h +++ b/sqlite3.h @@ -111,9 +111,9 @@ extern "C" { ** [sqlite3_libversion_number()], [sqlite3_sourceid()], ** [sqlite_version()] and [sqlite_source_id()]. */ -#define SQLITE_VERSION "3.9.0" -#define SQLITE_VERSION_NUMBER 3009000 -#define SQLITE_SOURCE_ID "2015-10-14 12:29:53 a721fc0d89495518fe5612e2e3bbc60befd2e90d" +#define SQLITE_VERSION "3.9.1" +#define SQLITE_VERSION_NUMBER 3009001 +#define SQLITE_SOURCE_ID "2015-10-16 17:31:12 767c1727fec4ce11b83f25b3f1bfcfe68a2c8b02" /* ** CAPI3REF: Run-Time Library Version Numbers @@ -7944,7 +7944,6 @@ struct sqlite3_rtree_query_info { #ifndef _FTS5_H #define _FTS5_H -#include "sqlite3.h" #ifdef __cplusplus extern "C" {