- 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
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
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
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;
** 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) );