From: drh Date: Fri, 16 Oct 2015 15:56:27 +0000 (+0000) Subject: Cherrypick the json form-feed fix, and other #ifdef and build script changes X-Git-Tag: version-3.9.1~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0b086403b4b9a7f4fbaffb0fc8d90066feae9d31;p=thirdparty%2Fsqlite.git Cherrypick the json form-feed fix, and other #ifdef and build script changes to address minor issues that came to light after the 3.9.0 release. Update the version number to 3.9.0. No logic changes except for the form-feed bug-fix in json1 (ticket [57eec374ae1d0a1d4a]). FossilOrigin-Name: 746fcd2fd412ddc27071827fb20eb6df0741dfb1 --- diff --git a/VERSION b/VERSION index a5c4c76339..6bd10744ae 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.9.0 +3.9.1 diff --git a/configure b/configure index 67a926ecbb..e63d775c61 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for sqlite 3.9.0. +# Generated by GNU Autoconf 2.69 for sqlite 3.9.1. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -726,8 +726,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='sqlite' PACKAGE_TARNAME='sqlite' -PACKAGE_VERSION='3.9.0' -PACKAGE_STRING='sqlite 3.9.0' +PACKAGE_VERSION='3.9.1' +PACKAGE_STRING='sqlite 3.9.1' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1459,7 +1459,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sqlite 3.9.0 to adapt to many kinds of systems. +\`configure' configures sqlite 3.9.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1524,7 +1524,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sqlite 3.9.0:";; + short | recursive ) echo "Configuration of sqlite 3.9.1:";; esac cat <<\_ACEOF @@ -1644,7 +1644,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sqlite configure 3.9.0 +sqlite configure 3.9.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2063,7 +2063,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sqlite $as_me 3.9.0, which was +It was created by sqlite $as_me 3.9.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -11989,7 +11989,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sqlite $as_me 3.9.0, which was +This file was extended by sqlite $as_me 3.9.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -12055,7 +12055,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -sqlite config.status 3.9.0 +sqlite config.status 3.9.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/ext/misc/json1.c b/ext/misc/json1.c index d5f019ff98..61d013ea4b 100644 --- a/ext/misc/json1.c +++ b/ext/misc/json1.c @@ -28,7 +28,6 @@ SQLITE_EXTENSION_INIT1 #include #include -#include /* amalgamator: keep */ #include #include @@ -43,8 +42,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 @@ -52,7 +60,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, @@ -514,7 +522,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; } @@ -2022,6 +2036,7 @@ int sqlite3Json1Init(sqlite3 *db){ } +#ifndef SQLITE_CORE #ifdef _WIN32 __declspec(dllexport) #endif @@ -2034,4 +2049,5 @@ int sqlite3_json_init( (void)pzErrMsg; /* Unused parameter */ return sqlite3Json1Init(db); } +#endif #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_JSON1) */ diff --git a/manifest b/manifest index d6c6d0e394..a9acae6d2b 100644 --- a/manifest +++ b/manifest @@ -1,12 +1,12 @@ -C Version\s3.9.0 -D 2015-10-14T12:29:53.720 +C Cherrypick\sthe\sjson\sform-feed\sfix,\sand\sother\s#ifdef\sand\sbuild\sscript\schanges\nto\saddress\sminor\sissues\sthat\scame\sto\slight\safter\sthe\s3.9.0\srelease.\s\sUpdate\nthe\sversion\snumber\sto\s3.9.0.\s\sNo\slogic\schanges\sexcept\sfor\sthe\sform-feed\nbug-fix\sin\sjson1\s(ticket\s[57eec374ae1d0a1d4a]). +D 2015-10-16T15:56:27.896 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in f0088ff0d2ac949fce6de7c00f13a99ac5bdb663 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 F Makefile.msc 0ed934b4ae6a5ec0b9d7e770104864f8372414ab F Makefile.vxworks e1b65dea203f054e71653415bd8f96dcaed47858 F README.md 8ecc12493ff9f820cdea6520a9016001cb2e59b7 -F VERSION cacf16a72f9a03cd06b939a764e32f6f53254c7f +F VERSION a47917b59f38b632b3a8662d14fd20f94956bdd0 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 F addopcodes.awk 9eb448a552d5c0185cf62c463f9c173cedae3811 F art/sqlite370.eps aa97a671332b432a54e1d74ff5e8775be34200c2 @@ -38,7 +38,7 @@ F autoconf/tea/win/rules.vc c511f222b80064096b705dbeb97060ee1d6b6d63 F config.guess 226d9a188c6196f3033ffc651cbc9dcee1a42977 F config.h.in 42b71ad3fe21c9e88fa59e8458ca1a6bc72eb0c0 F config.sub 9ebe4c3b3dab6431ece34f16828b594fb420da55 -F configure 4561c28dbc22bd5c678e3d5dc631cf7ee7e78efb x +F configure 436b5d81c66f62d5069cdf306a74845fff9e6f9f x F configure.ac 1e87304e51af110950c48a1eea6ffc7a577f600e F contrib/sqlitecon.tcl 210a913ad63f9f991070821e599d600bd913e0ad F doc/lemon.html 334dbf6621b8fb8790297ec1abf3cfa4621709d1 @@ -198,7 +198,7 @@ F ext/misc/eval.c f971962e92ebb8b0a4e6b62949463ee454d88fa2 F ext/misc/fileio.c d4171c815d6543a9edef8308aab2951413cd8d0f F ext/misc/fuzzer.c 4c84635c71c26cfa7c2e5848cf49fe2d2cfcd767 F ext/misc/ieee754.c b0362167289170627659e84173f5d2e8fee8566e -F ext/misc/json1.c d31022098b0c4c7c2c1781cb328180a4da6fbdb3 +F ext/misc/json1.c 4f45afd9dbcd6feca8c528251efbb7fc09299a09 F ext/misc/nextchar.c 35c8b8baacb96d92abbb34a83a997b797075b342 F ext/misc/percentile.c bcbee3c061b884eccb80e21651daaae8e1e43c63 F ext/misc/regexp.c af92cdaa5058fcec1451e49becc7ba44dba023dc @@ -753,7 +753,7 @@ F test/fuzz2.test 76dc35b32b6d6f965259508508abce75a6c4d7e1 F test/fuzz3.test 53fabcd5f0f430f8b221282f6c12c4d0903c21eb F test/fuzz_common.tcl a87dfbb88c2a6b08a38e9a070dabd129e617b45b F test/fuzz_malloc.test 328f70aaca63adf29b4c6f06505ed0cf57ca7c26 -F test/fuzzcheck.c 73d7c49980c1a380f1dff52df9c6d67c854d92ea +F test/fuzzcheck.c c84086021a514360268190a1bc6ae8ed78d7c94f F test/fuzzdata1.db 7ee3227bad0e7ccdeb08a9e6822916777073c664 F test/fuzzdata2.db f03a420d3b822cc82e4f894ca957618fbe9c4973 F test/fuzzdata3.db c6586d3e3cef0fbc18108f9bb649aa77bfc38aba @@ -1343,7 +1343,7 @@ F tool/checkSpacing.c 810e51703529a204fc4e1eb060e9ab663e3c06d2 F tool/extract.c 054069d81b095fbdc189a6f5d4466e40380505e2 F tool/fast_vacuum.c 5ba0d6f5963a0a63bdc42840f678bad75b2ebce1 F tool/fragck.tcl 5265a95126abcf6ab357f7efa544787e5963f439 -F tool/fuzzershell.c 87cc3d6f00239d786d231954289f106131989cc7 +F tool/fuzzershell.c b36096cdbcb4af985a2d6c20093d61e55b49bfe1 F tool/genfkey.README cf68fddd4643bbe3ff8e31b8b6d8b0a1b85e20f4 F tool/genfkey.test 4196a8928b78f51d54ef58e99e99401ab2f0a7e5 F tool/getlock.c f4c39b651370156cae979501a7b156bdba50e7ce @@ -1358,7 +1358,7 @@ F tool/mkpragmatab.tcl 84af2b180484323a2ea22a2279e8bd9e3e1e492e F tool/mkspeedsql.tcl a1a334d288f7adfe6e996f2e712becf076745c97 F tool/mksqlite3c-noext.tcl 87240b09c20042999b41d5fabe091b7111287835 F tool/mksqlite3c.tcl b66b4170f693602cd6985aed15d9509fe2f18c84 -F tool/mksqlite3h.tcl e3ac3f23897d86cb8f5f5df92e91643229fcc8d1 +F tool/mksqlite3h.tcl 1d41ab59bffb025121f75b76e183125ce41b3ec8 F tool/mksqlite3internalh.tcl eb994013e833359137eb53a55acdad0b5ae1049b F tool/mkvsix.tcl bbe57cd9ae11c6cc70319241101ef8d2b8c3765b F tool/offsets.c fe4262fdfa378e8f5499a42136d17bf3b98f6091 @@ -1390,10 +1390,15 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f -P 47a2ce97d585e1760ffcf760c0de1753677d5713 -R 41ced18917e64acb8afddf6eb6ae0b31 -T +bgcolor * #d0c0ff -T +sym-release * -T +sym-version-3.9.0 * +P a721fc0d89495518fe5612e2e3bbc60befd2e90d +Q +01d3ee7bbe4feeb82dcedecbe3c9058c807b18f6 +Q +28957d635961c525f735a52b8ffe3e69ccf31382 +Q +a61880c223c2229ecc3b4da7e5647eca17f7ddf5 +Q +bc9a9a60c31ebf9b11ac89ae5f99a3b66d6efc67 +Q +d6fc616e4c8a024f71a044e61f0493dea7d9c812 +R d66bf398f8de1fb81851cd37ab3877c3 +T *branch * branch-3.9.0 +T *sym-branch-3.9.0 * +T -sym-trunk * U drh -Z b8800b50bce461e41ccef8a16de7b330 +Z 61383512d73379cf77b67db14dfa95f8 diff --git a/manifest.uuid b/manifest.uuid index ea62748708..ff3cf9e318 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -a721fc0d89495518fe5612e2e3bbc60befd2e90d \ No newline at end of file +746fcd2fd412ddc27071827fb20eb6df0741dfb1 \ No newline at end of file diff --git a/test/fuzzcheck.c b/test/fuzzcheck.c index b1ba573d60..15ddd09eed 100644 --- a/test/fuzzcheck.c +++ b/test/fuzzcheck.c @@ -1126,12 +1126,6 @@ int main(int argc, char **argv){ } rc = sqlite3_open_v2("main.db", &db, openFlags, zVfs); if( rc ) fatalError("cannot open inmem database"); -#ifdef SQLITE_ENABLE_JSON1 - { - extern int sqlite3_json_init(sqlite3*); - sqlite3_json_init(db); - } -#endif if( cellSzCkFlag ) runSql(db, "PRAGMA cell_size_check=ON", runFlags); setAlarm(iTimeout); #ifndef SQLITE_OMIT_PROGRESS_CALLBACK diff --git a/tool/fuzzershell.c b/tool/fuzzershell.c index fa80b3561f..6754a071e3 100644 --- a/tool/fuzzershell.c +++ b/tool/fuzzershell.c @@ -726,12 +726,6 @@ int main(int argc, char **argv){ #ifndef SQLITE_OMIT_TRACE sqlite3_trace(db, verboseFlag ? traceCallback : traceNoop, 0); #endif -#ifdef SQLITE_ENABLE_JSON1 - { - extern int sqlite3_json_init(sqlite3*); - sqlite3_json_init(db); - } -#endif sqlite3_create_function(db, "eval", 1, SQLITE_UTF8, 0, sqlEvalFunc, 0, 0); sqlite3_create_function(db, "eval", 2, SQLITE_UTF8, 0, sqlEvalFunc, 0, 0); sqlite3_limit(db, SQLITE_LIMIT_LENGTH, 1000000); diff --git a/tool/mksqlite3h.tcl b/tool/mksqlite3h.tcl index 2fe2157387..3f59aef467 100644 --- a/tool/mksqlite3h.tcl +++ b/tool/mksqlite3h.tcl @@ -98,7 +98,7 @@ foreach file $filelist { # File sqlite3rtree.h contains a line "#include ". Omit this # line when copying sqlite3rtree.h into sqlite3.h. # - if {[string match {*#include**} $line]} continue + if {[string match {*#include*[<"]sqlite3.h[>"]*} $line]} continue regsub -- --VERS-- $line $zVersion line regsub -- --VERSION-NUMBER-- $line $nVersion line