From: drh Date: Fri, 1 Jan 2016 13:25:06 +0000 (+0000) Subject: Merge the latest enhancements from trunk. X-Git-Tag: version-3.13.0~148^2~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8de1d77c60af1fbac5cc7eb7eb84efa3e43a320b;p=thirdparty%2Fsqlite.git Merge the latest enhancements from trunk. FossilOrigin-Name: c0be246a740c8f33a7c07e1414688364dee56ece --- 8de1d77c60af1fbac5cc7eb7eb84efa3e43a320b diff --cc manifest index 57073352a7,b08341888c..af4e2e21c8 --- a/manifest +++ b/manifest @@@ -1,8 -1,8 +1,8 @@@ - C Merge\srecent\senhancements\sfrom\strunk. - D 2015-12-16T19:47:54.677 -C Fix\san\sassert()\sthat\smight\sbe\sfalse\sfor\sa\scorrupt\sdatabase. -D 2016-01-01T03:37:44.301 -F Makefile.in 28bcd6149e050dff35d4dcfd97e890cd387a499d ++C Merge\sthe\slatest\senhancements\sfrom\strunk. ++D 2016-01-01T13:25:06.194 +F Makefile.in 321a54f5a2843b6752b21f7bd66ce5f96444d1ab F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 - F Makefile.msc 820453f6340c500e2377a6ebd681cecfa92afd79 -F Makefile.msc 5fff077fcc46de7714ed6eebb6159a4c00eab751 ++F Makefile.msc 6fd10748c3f955ca56ac1bc3a45e7c48876c32a3 F README.md 8ecc12493ff9f820cdea6520a9016001cb2e59b7 F VERSION 8b9d3ac6f1962f94e06ba05462422a544f9c4e36 F aclocal.m4 a5c22d164aff7ed549d53a90fa56d56955281f50 @@@ -303,22 -283,22 +303,22 @@@ F src/build.c 1c9fb552148ee8f9234435a38 F src/callback.c 7b44ce59674338ad48b0e84e7b72f935ea4f68b0 F src/complete.c addcd8160b081131005d5bc2d34adf20c1c5c92f F src/ctime.c 60e135af364d777a9ab41c97e5e89cd224da6198 - F src/date.c fb1c99172017dcc8e237339132c91a21a0788584 + F src/date.c e4655393bb403fa310eef66cc4583d75d4d7fd93 F src/dbstat.c ffd63fc8ba7541476ced189b95e95d7f2bc63f78 -F src/delete.c 00af9f08a15ddc5cba5962d3d3e5bf2d67b2e7da +F src/delete.c 86e3940d07fe69a40270c2aaf6ca6c7adf19246c - F src/expr.c ccb93d7b7e1ac5d187c9b153bae145933f93ee5c + F src/expr.c 38790e65d1219f2b7dc26458f39a5252fe7c60cd F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb - F src/fkey.c 31900763094a3736a5fc887469202eb579fef2d0 - F src/func.c fe50a9ab977acc0bb0fcd46741e0071fa388888e - F src/global.c 508e4087f7b41d688e4762dcf4d4fe28cfbc87f9 + F src/fkey.c e18b3dff7d47c7bcac5ac4fc178a89b9fd322b44 + F src/func.c cf5e10af9125b245f1b962e8ba4d520a37818795 + F src/global.c bd5a0af3f30b0c01be6db756c626cd3c33a3d260 F src/hash.c 4263fbc955f26c2e8cdc0cf214bc42435aa4e4f5 F src/hash.h c8f3c31722cf3277d03713909761e152a5b81094 F src/hwtime.h d32741c8f4df852c7d959236615444e2b1063b08 - F src/insert.c 8ab83219eb56a103edb73bb0a1e9057c4d3b976b -F src/insert.c 6b45cc86967da11aa024d034745f93f66d53f650 ++F src/insert.c a2302c96652242b2d871445c9975a7a849316dcf F src/journal.c b4124532212b6952f42eb2c12fa3c25701d8ba8d F src/legacy.c ba1863ea58c4c840335a84ec276fc2b25e22bc4e F src/loadext.c 84996d7d70a605597d79c1f1d7b2012a5fd34f2b - F src/main.c 955f7b9d30aa7c3d7c391c0717662b21c55ff371 -F src/main.c b9641a4f650230bfc5dbb0bebf7b33ff4d27586a ++F src/main.c bb8aaa94c50e0c66e32dd158bcbf425ccf071864 F src/malloc.c 8f787669e79de26efc42272b5797bc00fff527c6 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem1.c 6919bcf12f221868ea066eec27e579fed95ce98b @@@ -354,11 -334,11 +354,11 @@@ F src/random.c ba2679f80ec82c4190062d75 F src/resolve.c a83b41104e6ff69855d03cd0aaa09e93927ec39f F src/rowset.c eccf6af6d620aaa4579bd3b72c1b6395d9e9fa1e F src/select.c f8fded11fc443a9f5a73cc5db069d06b34460e2f - F src/shell.c 341bfd2d86b806318cb24f8202fa58dc85f9f2e8 -F src/shell.c 8d152e833c3b79825978deb83175234749c5cdf3 -F src/sqlite.h.in 7d87d71b9a4689c51fa092f48f16590ff71558e3 ++F src/shell.c 4f133a91df78d4664fd0a37cf0a8f51cbd361fda +F src/sqlite.h.in 686be87fcbaea46b1aa8197a17b7a437d39764fc F src/sqlite3.rc 992c9f5fb8285ae285d6be28240a7e8d3a7f2bad F src/sqlite3ext.h dfbe62ffd95b99afe2140d8c35b180d11924072d - F src/sqliteInt.h 109deba7548c27ea534de0dde6729620103cbe87 -F src/sqliteInt.h 92f83ab4612141f95cdd663ea55fa4528f3f8c2a ++F src/sqliteInt.h 583ec5b50524c5560f92c065962438a7ab0feea9 F src/sqliteLimit.h 216557999cb45f2e3578ed53ebefe228d779cb46 F src/status.c 70912d7be68e9e2dbc4010c93d344af61d4c59ba F src/table.c 51b46b2a62d1b3a959633d593b89bab5e2c9155e @@@ -414,17 -394,17 +414,17 @@@ F src/threads.c bbfb74450643cb5372a43ad F src/tokenize.c 5606871a377f390af7040ec3c12e0d183512d785 F src/treeview.c 78842e90c1f71269e7a73a1d4221b6fe360bab66 F src/trigger.c de3ed31ad3218a20d7d7e18bf1b3b734e78bda66 -F src/update.c 17332f9fe818cbc0444c36a811800af8498af4c3 +F src/update.c d8d675aa299336ac086ad2039d7e812cd6237db0 - F src/utf.c fc6b889ba0779b7722634cdeaa25f1930d93820c + F src/utf.c 32d7f82aa921322f3e1c956f4b58f019ebd2c6b3 F src/util.c e802e8e311a0d6c48cd1b3e89db164f6f0248d70 F src/vacuum.c 2ddd5cad2a7b9cef7f9e431b8c7771634c6b1701 - F src/vdbe.c c47b3bfcb4fcf1f24457eb505da229c4fb035a60 -F src/vdbe.c 39d7628bb8eed10a5378adcf97cca6dce7829a8f -F src/vdbe.h efb7a8c1459e31f3ea4377824c6a7e4cb5068637 -F src/vdbeInt.h 75c2e82ee3357e9210c06474f8d9bdf12c81105d -F src/vdbeapi.c 020681b943e77766b32ae1cddf86d7831b7374ca -F src/vdbeaux.c ca523180c128dc6c64894efc61eb14374117c864 -F src/vdbeblob.c fdc4a81605ae7a35ae94a55bd768b66d6be16f15 -F src/vdbemem.c fdd1578e47bea61390d472de53c565781d81e045 ++F src/vdbe.c a415f7844ba3f67226f49c6e078ce4622dbb6040 +F src/vdbe.h bfe3f80dba435377cdb64fd917f2529f0f48ab77 +F src/vdbeInt.h 4f3b46806b93faa92f0511c7ce30ed31aaec65be +F src/vdbeapi.c ab2cb8fe23fb9f3195f1311eaa800495d83b6118 - F src/vdbeaux.c 6783ed3936bc484c2252523c82e9a14888fed936 ++F src/vdbeaux.c e312c85b1215ac101e25edeee421ea2dedb6e8bd +F src/vdbeblob.c cc13eca96b8ec51b6248de785a1aec5df11f5805 +F src/vdbemem.c 25b6cfd665b5073480452426e84136edd94140c0 F src/vdbesort.c a7ec02da4494c59dfd071126dd3726be5a11459d F src/vdbetrace.c 8befe829faff6d9e6f6e4dee5a7d3f85cc85f1a0 F src/vtab.c 2a8b44aa372c33f6154208e7a7f6c44254549806 @@@ -779,9 -759,9 +779,9 @@@ F test/fuzzerfault.test 8792cd77fd5bce7 F test/genesis.tcl 1e2e2e8e5cc4058549a154ff1892fe5c9de19f98 F test/hexlit.test d7b0a5f41123df1e43985b91b8b2e70f95282d21 F test/hidden.test 23c1393a79e846d68fd902d72c85d5e5dcf98711 -F test/hook.test 162d7cef7a2d2b04839fe14402934e6a1b79442f +F test/hook.test aa41c095d26822b8a51aa4c82904a14347961be6 F test/icu.test 70df4faca133254c042d02ae342c0a141f2663f4 - F test/ieee754.test 118b665a97a8df0e8f2fbdb07d113e596f4a6b53 + F test/ieee754.test 806fc0ce7f305f57e3331eaceeddcfec9339e607 F test/imposter1.test c3f1db2d3db2c24611a6596a3fc0ffc14f1466c8 F test/in.test 61a24ae38d4b64ec69f06ccdf022992f68a98176 F test/in2.test 5d4c61d17493c832f7d2d32bef785119e87bde75 @@@ -1425,7 -1406,7 +1427,7 @@@ F tool/vdbe_profile.tcl 246d0da094856d7 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f - P d1a1278d7f3306536dc9cbd8fb300898f1e373e8 f2fc3aede55c8fa0351697f9f5ce4e544334c9af - R 517371cdb369ee85515a09f103cedd2b -P 6e30f8c6c3af9b0df39783888a1479f88271f989 -R 6e164f424e8aa8f067cc3a49970e615a ++P f6c9273cab877b8b6b327250195f3392393d060a 68360cd2211b7ab25dd4ca55a2e82e31f51f2976 ++R 3ae5ccf611905fe16a11d6f29d09eba8 U drh - Z 301e77e09a4ba74f7629e4b1c4e7cf3d -Z 284865b0f74f185e26863aa2df0b68aa ++Z 208af03429fdf73aeff6e169175e1b1b diff --cc manifest.uuid index 1ec9cd8112,7d85a2b67d..551ecda50e --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - f6c9273cab877b8b6b327250195f3392393d060a -68360cd2211b7ab25dd4ca55a2e82e31f51f2976 ++c0be246a740c8f33a7c07e1414688364dee56ece diff --cc src/shell.c index 9b74f19528,ecb591a32a..e01e443b47 --- a/src/shell.c +++ b/src/shell.c @@@ -502,19 -539,39 +539,52 @@@ static char *one_input_line(FILE *in, c return zResult; } +#if defined(SQLITE_ENABLE_SESSION) +/* +** State information for a single open session +*/ +typedef struct OpenSession OpenSession; +struct OpenSession { + char *zName; /* Symbolic name for this session */ + int nFilter; /* Number of xFilter rejection GLOB patterns */ + char **azFilter; /* Array of xFilter rejection GLOB patterns */ + sqlite3_session *p; /* The open session */ +}; +#endif + + /* + ** Render output like fprintf(). Except, if the output is going to the + ** console and if this is running on a Windows machine, translate the + ** output from UTF-8 into MBCS. + */ + #if defined(_WIN32) || defined(WIN32) + void utf8_printf(FILE *out, const char *zFormat, ...){ + va_list ap; + va_start(ap, zFormat); + if( stdout_is_console && (out==stdout || out==stderr) ){ + extern char *sqlite3_win32_utf8_to_mbcs(const char*); + char *z1 = sqlite3_vmprintf(zFormat, ap); + char *z2 = sqlite3_win32_utf8_to_mbcs(z1); + sqlite3_free(z1); + fputs(z2, out); + sqlite3_free(z2); + }else{ + vfprintf(out, zFormat, ap); + } + va_end(ap); + } + #elif !defined(utf8_printf) + # define utf8_printf fprintf + #endif + + /* + ** Render output like fprintf(). This should not be used on anything that + ** includes string formatting (e.g. "%s"). + */ + #if !defined(raw_printf) + # define raw_printf fprintf + #endif + /* ** Shell output mode information from before ".explain on", ** saved so that it can be restored by ".explain off"