From: dan Date: Thu, 5 Mar 2020 18:59:59 +0000 (+0000) Subject: Merge trunk change [895bd20b29] into this branch. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=006f49bc9bd916759c3606b2c83090e5dfc00bac;p=thirdparty%2Fsqlite.git Merge trunk change [895bd20b29] into this branch. FossilOrigin-Name: 507f972e91ffdc8d80a6ce594139ea4c7afad38791a08032637340fbf49842bc --- 006f49bc9bd916759c3606b2c83090e5dfc00bac diff --cc manifest index 902963ee24,2f7d0852ef..433b08b996 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C Merge\strunk\senhancements\sinto\sthe\sreuse-schema\sbranch. - D 2020-03-05T16:30:00.000 -C Report\san\serror\sif\sthe\smain,\sor\sany\sother,\sdatabase\sencoding\sis\smodified\sby\san\sexternal\sprocess\s(perhaps\susing\sthe\sbackup\sAPI)\safter\sthe\sdb\shas\sbeen\sopened. -D 2020-03-05T18:04:09.456 ++C Merge\strunk\schange\s[895bd20b29]\sinto\sthis\sbranch. ++D 2020-03-05T19:00:00.000 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@@ -525,23 -524,23 +525,23 @@@ F src/parse.y 61ae75b1764c86f56fdfe384d F src/pcache.c 385ff064bca69789d199a98e2169445dc16e4291fa807babd61d4890c3b34177 F src/pcache.h 4f87acd914cef5016fae3030343540d75f5b85a1877eed1a2a19b9f284248586 F src/pcache1.c 6596e10baf3d8f84cc1585d226cf1ab26564a5f5caf85a15757a281ff977d51a - F src/pragma.c 0bda432ffd9141a96174e836901d2e93ac2d816801a2890f54120eba00e2bc5f -F src/pragma.c 5fd004b89c77319008ddff6d65dcc83ccca9584d3048f4f66b108b5906a20dba -F src/pragma.h 9473160d220416456b40f27323bb4b316d4e4e08ffbf8bf88c5f7045d49c38e5 -F src/prepare.c 8d4d6c8aa6afefc48027c54b41cdf134b4d6bc2fc4badbe483ad7fd9e1728a28 ++F src/pragma.c 059139100831d7fafb8070a0edf7e025ace31dbce1fb1455ffc57b6ff7d8cc93 +F src/pragma.h 4aaad4b1d9ff8b99cf7af658d5215f5004d06174f7d06bac60a2c61820d2786b - F src/prepare.c 6d25dd99f4173059362ae9fbeae824f7b353231b49362a848d55111a6ee9226b ++F src/prepare.c 45824c5f6dbacb9cb2c966a1d6eebdd94170da9b8700a265abd6a5e49cbd73dd F src/printf.c 9be6945837c839ba57837b4bc3af349eba630920fa5532aa518816defe42a7d4 F src/random.c 80f5d666f23feb3e6665a6ce04c7197212a88384 F src/resolve.c 38e3a5636f5bdc92e3683e4cafbba6418c0aa15e0d89ca5b28bd0b621dbb80bf F src/rowset.c d977b011993aaea002cab3e0bb2ce50cf346000dff94e944d547b989f4b1fe93 F src/select.c c94eec317c8ba929bc228392eb3cac8124f2d0fbe3fc1bddecb44dfc7057bc78 -F src/shell.c.in 3897f3f7302914da1f6df3a2a09ac4aafa14a571d7d18c51500cfb2ff04f05eb -F src/sqlite.h.in 802957feeb249ede54f8dfe99b72aa19e70a0b7737969c46e625dc2f9f2d42b0 +F src/shell.c.in 42c8c25bd8aa03827cf042d0263a8f9a532e35548857d39246bdcdbf125ccc0c +F src/sqlite.h.in 4d7bb5bebb0a925f587fd3f6d45a4742baab40195d04a7014b2e88a05571cd1d F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8 F src/sqlite3ext.h 9c5269260409eb3275324ccace6a13a96f4ad330c708415f70ca6097901ff4ee - F src/sqliteInt.h 4fb4427f1d9bc2e172f7f1c5184bf505d8525e10355713c40a97e2e3f5dade39 -F src/sqliteInt.h 37511a5bd13dab6c61242b8d6525c7efdea7a90a7fd00e5ca8e809fa292efe7c ++F src/sqliteInt.h f45995114ccf7172fdca508babcc5eca038a0955923079dafd6801422cce6846 F src/sqliteLimit.h 95cb8479ca459496d9c1c6a9f76b38aee12203a56ce1092fe13e50ae2454c032 -F src/status.c 9ff2210207c6c3b4d9631a8241a7d45ab1b26a0e9c84cb07a9b5ce2de9a3b278 +F src/status.c f6e2b6c37873620ce2cb597f5606a1c9adca4c0db1ff3a08a37231e920d21985 F src/table.c b46ad567748f24a326d9de40e5b9659f96ffff34 -F src/tclsqlite.c d0aa320416efe88c4dbb0156ed6c494f2f9958871a940e46984ee57b3e7fcc50 +F src/tclsqlite.c e2326854624e356ca2edf2c95309f62d78c53eeb9143824be319112d0baa9c44 F src/test1.c 5e8b8cc54e8c88906ea8a084387aa79bad245e539f4cee73149e5c0527e1db16 F src/test2.c 3efb99ab7f1fc8d154933e02ae1378bac9637da5 F src/test3.c 61798bb0d38b915067a8c8e03f5a534b431181f802659a6616f9b4ff7d872644 @@@ -1870,7 -1860,7 +1870,7 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 - P 3f5650aae69498fce8c3f2b9c9e67e52f676776ea6d8a2f0f153fdeb8857231c 4a5851893c3d71cc823b6ab5df5e58a852cd322fff26290f1ea05b63d67f564a - R c4c4579c247f6f535883ebc818021ea9 - U drh - Z 8419a801b2a911e56d3f400232178223 -P 4a5851893c3d71cc823b6ab5df5e58a852cd322fff26290f1ea05b63d67f564a -R 74e2a598b7c2d32d296c9fb5e4ea1cd7 ++P 9d068e1ef04e84c025d2f696919dd5d1fe385abacbbd3ea31da58c74ae2812bf 895bd20b29e223496e1585483c6ce3335ae9050f2e5de4d6b69d0e40df396862 ++R 0980ec7caa2895676811d42db83a3597 + U dan -Z 79597c4800c4e22dc765415fcd19e860 ++Z 0829c39fe4da338cfec0073347e36a2f diff --cc manifest.uuid index 09abd66c23,e558f20ced..ab43f0deb9 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 9d068e1ef04e84c025d2f696919dd5d1fe385abacbbd3ea31da58c74ae2812bf -895bd20b29e223496e1585483c6ce3335ae9050f2e5de4d6b69d0e40df396862 ++507f972e91ffdc8d80a6ce594139ea4c7afad38791a08032637340fbf49842bc diff --cc src/prepare.c index 92fbd07317,228d14876e..9b0e7f88f7 --- a/src/prepare.c +++ b/src/prepare.c @@@ -275,8 -207,8 +276,9 @@@ int sqlite3InitOne(sqlite3 *db, int iDb initData.pzErrMsg = pzErrMsg; initData.mInitFlags = mFlags; initData.nInitRow = 0; + initData.cksum = 0; sqlite3InitCallback(&initData, 5, (char **)azArg, 0); + db->mDbFlags &= mask; if( initData.rc ){ rc = initData.rc; goto error_out; @@@ -500,16 -398,11 +500,15 @@@ void sqlite3UnlockReusableSchema(sqlite ** error occurs, write an error message into *pzErrMsg. ** ** After a database is initialized, the DB_SchemaLoaded bit is set - ** bit is set in the flags field of the Db structure. If the database - ** file was of zero-length, then the DB_Empty flag is also set. + ** bit is set in the flags field of the Db structure. */ int sqlite3Init(sqlite3 *db, char **pzErrMsg){ - int i, rc; + int rc = SQLITE_OK; + int bReleaseSchema; + int i; int commit_internal = !(db->mDbFlags&DBFLAG_SchemaChange); + + bReleaseSchema = sqlite3LockReusableSchema(db); assert( sqlite3_mutex_held(db->mutex) ); assert( sqlite3BtreeHoldsMutex(db->aDb[0].pBt) ); diff --cc src/sqliteInt.h index 9078f88221,c338dabca1..de5a8a9977 --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@@ -1645,10 -1630,8 +1644,11 @@@ struct sqlite3 #define DBFLAG_VacuumInto 0x0008 /* Currently running VACUUM INTO */ #define DBFLAG_SchemaKnownOk 0x0010 /* Schema is known to be valid */ #define DBFLAG_InternalFunc 0x0020 /* Allow use of internal functions */ + #define DBFLAG_EncodingFixed 0x0040 /* No longer possible to change enc. */ - #define DBFLAG_SchemaInuse 0x0020 /* Do not release sharable schemas */ - #define DBFLAG_FreeSchema 0x0040 /* Free extra shared schemas on release */ ++#define DBFLAG_SchemaInuse 0x0080 /* Do not release sharable schemas */ ++#define DBFLAG_FreeSchema 0x0100 /* Free extra shared schemas on release */ + /* ** Bits of the sqlite3.dbOptFlags field that are used by the ** sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS,...) interface to