]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Tue, 12 Jan 2016 02:00:24 +0000 (02:00 +0000)]
Fix an uninitialized field in the Select object when SELECTTRACE is enabled.
FossilOrigin-Name:
fc62851667d9120f98a2641c87bbc5a2485482b2
drh [Tue, 12 Jan 2016 00:37:55 +0000 (00:37 +0000)]
Various #ifdef enhancements for improved VxWorks support.
FossilOrigin-Name:
75cd41ff179e29c5d45f9d7fed784bc339e0d7a0
drh [Mon, 11 Jan 2016 22:58:50 +0000 (22:58 +0000)]
Performance optimization in the sqlite3VdbeChangeP4() routine of the
code generator.
FossilOrigin-Name:
28bd8d5fc541464b69886b7e886939035b42a869
mistachkin [Mon, 11 Jan 2016 22:43:04 +0000 (22:43 +0000)]
Fix duplicate test number in 'waloverwrite'.
FossilOrigin-Name:
f5fb82686697e5fa1937323b1c1b35cf90ad0302
drh [Mon, 11 Jan 2016 18:05:00 +0000 (18:05 +0000)]
Performance optimization on the Column opcode.
FossilOrigin-Name:
ecc98bef43c2fd07d64e4efddf340929a875ebac
drh [Mon, 11 Jan 2016 14:19:14 +0000 (14:19 +0000)]
Performance optimization in sqlite3WalkExpr().
FossilOrigin-Name:
2f8bd5fab8cc51d1f8932c3490fd24dbccf6ef31
drh [Mon, 11 Jan 2016 12:52:55 +0000 (12:52 +0000)]
Increase the version number to 3.11.0 due to the WAL overwrite enhancement.
FossilOrigin-Name:
8e807bfaa197027d0cb73532baa96755ce71ea12
dan [Mon, 11 Jan 2016 12:13:47 +0000 (12:13 +0000)]
If a single page is written to the wal file more than once, instead of appending the second and subsequent copy to the wal file, overwrite the first.
FossilOrigin-Name:
d493d4f1186c15da50558a13490cba0191e6f649
dan [Mon, 11 Jan 2016 08:12:40 +0000 (08:12 +0000)]
Add a test case to waloverwrite.test to check that savepoint rollback does not cause a problem.
FossilOrigin-Name:
87dae56c322454094d445e474ae36a4f464272a4
drh [Mon, 11 Jan 2016 03:48:18 +0000 (03:48 +0000)]
Slightly smaller and faster LIKE/GLOB comparison implementation.
FossilOrigin-Name:
5dddcc78eec5bcd0c7e8fe1b70875ce775488f0c
drh [Mon, 11 Jan 2016 00:52:32 +0000 (00:52 +0000)]
Improved testability.
FossilOrigin-Name:
e83d3a2a4e06665e8a056f63063bd6df03f063b9
drh [Sat, 9 Jan 2016 23:55:47 +0000 (23:55 +0000)]
All WAL frame overwrites even if there are active savepoints. This is safe
because a ROLLBACK TO will cause all reverted pages to be rewritten to the
WAL file prior to COMMIT.
FossilOrigin-Name:
99b31a6b491c1c51227f478d3713b020d37a17cf
dan [Sat, 9 Jan 2016 18:57:35 +0000 (18:57 +0000)]
If it is known that checksums will be recalculated on transaction commit, skip calculating checksums when appending frames to the wal file. When recalculating checksums, recalculate them starting with the first overwritten frame - not the first frame in the transaction.
FossilOrigin-Name:
16b34f2537bbc7846d8e6dc2b35daae5af241c1b
dan [Sat, 9 Jan 2016 16:39:29 +0000 (16:39 +0000)]
If a single page is written to the wal file more than once, have each subsequent copy overwrite the original frame.
FossilOrigin-Name:
5d113aef2c7d746e8eda88d4e36c04a39b0a11be
drh [Fri, 8 Jan 2016 22:31:00 +0000 (22:31 +0000)]
Typo fix in the previous commit.
FossilOrigin-Name:
52c166039831cc8423e2252019ef64a21b9d7c2a
drh [Fri, 8 Jan 2016 22:18:00 +0000 (22:18 +0000)]
More #ifdef fixes for the unix VFS.
FossilOrigin-Name:
122c111e360761de8166e16ca151cb7260ee9bf8
drh [Fri, 8 Jan 2016 19:34:39 +0000 (19:34 +0000)]
Fix the build for SQLITE_OMIT_SHARED_CACHE, which was broken, possibly
by check-in [
2d96aeba ].
FossilOrigin-Name:
3392f8fa2ddf2c10ffe91ddd92470040c909b36d
drh [Fri, 8 Jan 2016 19:17:30 +0000 (19:17 +0000)]
Fix a problem with #ifdefs on the system calls in the unix VFS that causes
problems when compiling with SQLITE_OMIT_WAL.
FossilOrigin-Name:
ceceea4c5ee242b20ebf216593c15c11ce2c369a
drh [Fri, 8 Jan 2016 17:28:24 +0000 (17:28 +0000)]
Remove an obsolete #ifdef related to iOS support.
FossilOrigin-Name:
e9a51d2a580daa0fb152fe4c891149caa8025b9d
drh [Fri, 8 Jan 2016 12:46:39 +0000 (12:46 +0000)]
Reduce the number of calls to memset() in sqlite3DbMallocZero().
FossilOrigin-Name:
cede2bf8e42ac140a8cc75a1d173083f543ba467
dan [Fri, 8 Jan 2016 08:35:14 +0000 (08:35 +0000)]
Fix test file vtabH.test so that it works with SQLITE_ENABLE_ICU builds.
FossilOrigin-Name:
19c1f4483e3df7fa1e9ac7c8a510fa1c906ac7c7
drh [Thu, 7 Jan 2016 21:12:40 +0000 (21:12 +0000)]
Omit performance tracking from the memsys5 memory allocator if neither
SQLITE_DEBUG nor SQLITE_TEST are defined.
FossilOrigin-Name:
af5c7714e993f060841f1e893f754ddf3870e6d0
drh [Thu, 7 Jan 2016 17:19:24 +0000 (17:19 +0000)]
Fix to cause BtShared.db to be set correctly on shared-cache
connections in SQLITE_THREADSAFE=0 builds. Added assert()s to verify
the correct setting of BtShared.db.
FossilOrigin-Name:
2d96aeba2460779a0a20356739a0ba49144c8a85
drh [Thu, 7 Jan 2016 17:09:43 +0000 (17:09 +0000)]
Small performance and size optimization spotted while working on the
shared-cache problem.
FossilOrigin-Name:
828958ff77a5c239d55302f570077835c093e0fa
dan [Thu, 7 Jan 2016 16:43:54 +0000 (16:43 +0000)]
Add some assert() statements to verify, where possible, that BtShared.db is set correctly.
FossilOrigin-Name:
359277e0e5338f6d7743d58cf99e1c934a8460d5
dan [Thu, 7 Jan 2016 16:06:22 +0000 (16:06 +0000)]
Have the vdbe layer call sqlite3BtreeEnter() on all b-trees in use from within sqlite3VdbeExec() even in SQLITE_THREADSAFE=0 builds. This ensures that BtShared.db is set correctly.
FossilOrigin-Name:
d0214602d44d6b84b7463d530720e2560aee6edf
drh [Thu, 7 Jan 2016 02:06:55 +0000 (02:06 +0000)]
Add the "sqlite3 -sourceid" command in the TCL interface. Use that command and
others to output additional information about the test configuration at the
conclusion of a TCL test.
FossilOrigin-Name:
4f80440bf566959306f6ca8cbb1fd29d138ee38b
drh [Wed, 6 Jan 2016 15:54:53 +0000 (15:54 +0000)]
Disable the --limit-mem option on fuzzcheck unless the SQLITE_ENABLE_MEMSYS5 or
SQLITE_ENABLE_MEMSYS3 compile-time options are used.
FossilOrigin-Name:
55a11fd627eaf046b3783622b2925399a50a65b4
drh [Wed, 6 Jan 2016 11:01:07 +0000 (11:01 +0000)]
drh [Tue, 5 Jan 2016 03:39:52 +0000 (03:39 +0000)]
Always use -DSQLITE_ENABLE_MEMSYS5 for fuzzcheck so that the --limit-mem
option will work.
FossilOrigin-Name:
a855697719e288c908ddb7950d32fd17ef546509
drh [Tue, 5 Jan 2016 03:39:25 +0000 (03:39 +0000)]
Another attempt to get reuse of excess opcode array space working correctly
on all architectures and platforms.
FossilOrigin-Name:
2f8583748abab1e15029d3a8693ba9a66c978c2b
mistachkin [Tue, 5 Jan 2016 01:48:29 +0000 (01:48 +0000)]
Permit the 'test_fs' test module to be compiled and used on MinGW.
FossilOrigin-Name:
ac27f38eef7a241d56124c263d9f8c91f372a77f
drh [Mon, 4 Jan 2016 23:43:47 +0000 (23:43 +0000)]
Fix a corner case in the opcode-array reuse logic where the number of bytes of
reusable space might be computed to be a negative number, due to unusual
system alignment restrictions and rounding error.
FossilOrigin-Name:
1aa530144643582658c8c1dd66548662f950efe3
drh [Mon, 4 Jan 2016 13:06:53 +0000 (13:06 +0000)]
Fix the conflict2.test module which was broken by check-in [
e30062e9f6c ].
FossilOrigin-Name:
b779ca8a7580e2a0bb1176316c4540867b635229
drh [Mon, 4 Jan 2016 12:07:27 +0000 (12:07 +0000)]
A new approach to very large sqlite3_mprintf() strings: Back out the
[
d655a665 ] check-in and instead make the size fields in StrAccum unsigned.
Strings generated by sqlite3_mprintf() can now be as large as 2^31-1 bytes.
FossilOrigin-Name:
7adb789f45698e5569b840d23f3f9488db3ed109
drh [Mon, 4 Jan 2016 04:44:31 +0000 (04:44 +0000)]
Improved comment on the vtabH-3.1 test.
FossilOrigin-Name:
22abe08038cc7b66cbc25e733246d210197c9215
drh [Mon, 4 Jan 2016 04:41:13 +0000 (04:41 +0000)]
Adjust the vtabH.test module to ignore files in the root directory of Windows
machines that contain the "$" character.
FossilOrigin-Name:
73e3355004b8b7ce2e1bb937725f429795528a4f
drh [Mon, 4 Jan 2016 04:28:11 +0000 (04:28 +0000)]
Limit the length of sqlite3_mprintf() output to 2^30 bytes, even if
SQLITE_MAX_LENGTH is set larger at compile-time.
FossilOrigin-Name:
d655a665acfae676d30e90e3731f483bee6acc63
drh [Mon, 4 Jan 2016 03:48:46 +0000 (03:48 +0000)]
Fix a harmless compiler warning.
FossilOrigin-Name:
4b404a99aa9bfa6cfe8998f5dc1f84f8be20b840
drh [Mon, 4 Jan 2016 01:08:50 +0000 (01:08 +0000)]
Add releasetest.tcl cases for SQLITE_LIKE_DOESNT_MATCH_BLOB and
for SQLITE_ENABLE_CURSOR_HINTS.
FossilOrigin-Name:
f300c35efa5f7383b2a74b1c9466c243c17815e4
drh [Sun, 3 Jan 2016 18:07:57 +0000 (18:07 +0000)]
Bug fix: the conflict resolution behavior for the implied NOT NULL constraint
on the PRIMARY KEY of a WITHOUT ROWID table should be ABORT.
FossilOrigin-Name:
e30062e9f6cae980150dda7df440b36dfdcb7bbe
drh [Sun, 3 Jan 2016 11:27:47 +0000 (11:27 +0000)]
Fix a premature reference to utf8_printf in shell.c.
FossilOrigin-Name:
76f5efa68728d899a63a74f2528dfd0c497aa5f0
drh [Sun, 3 Jan 2016 11:17:04 +0000 (11:17 +0000)]
Add the number of cores used and the name of the host computer to the
summary at the end of releasetest.tcl.
FossilOrigin-Name:
cd3ae0f14c6b28b328b208431d0effcb7b062ec6
drh [Sat, 2 Jan 2016 05:00:31 +0000 (05:00 +0000)]
Fix a (harmless) typo in an #ifdef for SQLITE_ENABLE_CURSOR_HINTS
FossilOrigin-Name:
2047d2deabf2021ea05d620c3dd4919448027b11
drh [Fri, 1 Jan 2016 16:42:09 +0000 (16:42 +0000)]
Remember the size of the Vdbe.aOp[] array in bytes, to avoid unnecessary
calls to sqlite3_msize().
FossilOrigin-Name:
3e852804c85a5c9f4c4ffafd55d03af6d19fe5cc
drh [Fri, 1 Jan 2016 16:26:22 +0000 (16:26 +0000)]
Avoid misaligned memory allocations on Sparc in sqlite3VdbeMakeReady().
FossilOrigin-Name:
a304e34675404aee860fcc97fa4ffcc57c014812
drh [Fri, 1 Jan 2016 03:37:44 +0000 (03:37 +0000)]
Fix an assert() that might be false for a corrupt database.
FossilOrigin-Name:
68360cd2211b7ab25dd4ca55a2e82e31f51f2976
drh [Fri, 1 Jan 2016 00:15:59 +0000 (00:15 +0000)]
Remove unreachable branches from the new JSON aggregate functions.
FossilOrigin-Name:
6e30f8c6c3af9b0df39783888a1479f88271f989
drh [Thu, 31 Dec 2015 22:29:36 +0000 (22:29 +0000)]
Fix the ieee754.test module so that it works both on systems that report
infinity as "inf" and as "Inf".
FossilOrigin-Name:
d41d4d7396fba60895535f21c438f8c75e7b2097
mistachkin [Thu, 31 Dec 2015 19:06:24 +0000 (19:06 +0000)]
In the shell, use utf8_printf() when any string formatting is present and raw_printf() otherwise.
FossilOrigin-Name:
8cf01fff232d15d3c7b7b62b2d890d983e1945f2
mistachkin [Thu, 31 Dec 2015 19:04:42 +0000 (19:04 +0000)]
Fix harmless compiler warning seen with MSVC.
FossilOrigin-Name:
98ec778daac835d9ae103f6460b7d897981a5dd6
drh [Thu, 31 Dec 2015 15:34:03 +0000 (15:34 +0000)]
Fix harmless compiler warnings associated with SQLITE_ENABLE_HIDDEN_COLUMNS.
FossilOrigin-Name:
9c392c1019ee15f27c8e05b41246d2844f91f6c0
drh [Thu, 31 Dec 2015 04:34:26 +0000 (04:34 +0000)]
Small size and performance optimization to the VDBE comparison opcodes.
FossilOrigin-Name:
7a0b9413fa94d3f4fa9751ddf9b213a1238954f1
drh [Wed, 30 Dec 2015 18:18:46 +0000 (18:18 +0000)]
Reduce the size of the CellInfo object from 32 to 24 bytes on 64-bit machines,
for a small performance increase and library size reduction.
FossilOrigin-Name:
6a4cfc7ab62046eb718ce59eff6b632f239312ac
drh [Wed, 30 Dec 2015 17:03:40 +0000 (17:03 +0000)]
Enhance the command-line shell so that it can handle MBCS characters on
input and output.
FossilOrigin-Name:
3d81dfe3bc5ca9588b7796769d9be7a182f38b1c
drh [Wed, 30 Dec 2015 16:51:20 +0000 (16:51 +0000)]
Changes to the way that the default BINARY collating sequence is recorded
result in a slightly smaller and slightly faster executable. More work could
be done to make this cleaner.
FossilOrigin-Name:
2081d75767dc590b4c8457e5f8e5f18ba5f8eaa7
drh [Wed, 30 Dec 2015 15:18:16 +0000 (15:18 +0000)]
Simplification to the xfer-optimization logic.
FossilOrigin-Name:
f35ba018da843897acca58f70541b940598bc271
drh [Wed, 30 Dec 2015 14:06:22 +0000 (14:06 +0000)]
Remove unnecessary tests from the LIKE pattern matcher. Slightly faster and
slightly smaller, and it should also now works with EBCDIC.
FossilOrigin-Name:
0a99a8c4facf65ec67d8d86108c9a3f723f7cbd6
drh [Wed, 30 Dec 2015 13:36:57 +0000 (13:36 +0000)]
Enhance the command-line shell to handle MBCS characters on input and output.
FossilOrigin-Name:
a0a08b8c0bbd4d71955261f6b7e997701ca68e18
drh [Wed, 30 Dec 2015 01:07:02 +0000 (01:07 +0000)]
Add the json_group_array() and json_group_object() aggregate functions to
the JSON1 extension.
FossilOrigin-Name:
7f386a9332237100a345035ca213327e21d95855
drh [Thu, 24 Dec 2015 14:53:27 +0000 (14:53 +0000)]
Avoid a harmless compiler warning on systems where the byteorder cannot
be determined at compile-time.
FossilOrigin-Name:
7c7b7f26306b6aa6ff35b871ad756f43f5db9838
dan [Wed, 23 Dec 2015 16:42:27 +0000 (16:42 +0000)]
Fix some harmless gcc compiler warnings. Mostly in fts5, but also two in the core code.
FossilOrigin-Name:
5d44d4a6cf5c6b983cbd846d9bc34251df8f4bc5
drh [Wed, 23 Dec 2015 10:54:48 +0000 (10:54 +0000)]
Enhance the 'utc' modifier on date/time functions so that if the LHS is
already known to be in UTC, the modifier becomes a no-op. This is not an
incompatibility because the behavior is documented as "undefined" in that
scenario.
FossilOrigin-Name:
b910a3d53769689d9212a06f974ccce54844bbe4
drh [Mon, 21 Dec 2015 15:22:13 +0000 (15:22 +0000)]
Ensure that the Expr objects that describe indexed expressions are not modified
by code generation. Fix for an assert() problem found by Jon Metzman using AFL.
FossilOrigin-Name:
34073ce87d88a02313217023ae92e15939192cd9
drh [Fri, 18 Dec 2015 16:29:47 +0000 (16:29 +0000)]
Micro-optimizations and comment fixes on the mem5.c memory allocator module.
FossilOrigin-Name:
8bf5e056eb8beb6e0ed5874fb24d7fe9f0b66d2b
drh [Fri, 18 Dec 2015 03:59:16 +0000 (03:59 +0000)]
Reduce the size of the CellInfo object from 32 to 24 bytes on 64-bit machines.
FossilOrigin-Name:
7850715406458a61cff9eba5ad915f61f6d99482
drh [Thu, 17 Dec 2015 14:18:21 +0000 (14:18 +0000)]
Fix the spellfix1_scriptcode() function to ignore whitespace and punctuation,
and to recognize hebrew and arabic scripts.
FossilOrigin-Name:
7adfa4a5794e47f97491c08abeaaac90e826b331
drh [Thu, 17 Dec 2015 13:28:50 +0000 (13:28 +0000)]
Fixes for harmless compiler warnings.
FossilOrigin-Name:
85ebd46c701e0a094a4690cd8f1d0cbae9aa257c
mistachkin [Wed, 16 Dec 2015 23:30:30 +0000 (23:30 +0000)]
Fix even more harmless compiler warnings.
FossilOrigin-Name:
1d0e6aa119da8e15d35508f5d75ffc729979da92
mistachkin [Wed, 16 Dec 2015 22:06:52 +0000 (22:06 +0000)]
Fix some more harmless compiler warnings.
FossilOrigin-Name:
18f531e1cf3c8bb986d912c9c5e3f5698360c93e
mistachkin [Wed, 16 Dec 2015 21:09:53 +0000 (21:09 +0000)]
Fix compiler warning seen with MSVC.
FossilOrigin-Name:
18a4c0540bf4f02335e9e9def1f2b0d4d784ef08
drh [Wed, 16 Dec 2015 13:07:35 +0000 (13:07 +0000)]
Make greater use of the SQLITE_WITHIN macro.
FossilOrigin-Name:
f2fc3aede55c8fa0351697f9f5ce4e544334c9af
dan [Tue, 15 Dec 2015 19:32:12 +0000 (19:32 +0000)]
Update the mkautoconfamal.sh script to make the building of the sqlite3-autoconf-VERSION.tar.gz package more orthodox.
FossilOrigin-Name:
1928f8945b7cdf733129619b7ab02d1addf63478
drh [Tue, 15 Dec 2015 13:50:22 +0000 (13:50 +0000)]
Add the SQLITE_OMIT_PARSER_TRACE compile-time option.
FossilOrigin-Name:
2fda43e6e097a4a5510cce7784c31ceedc3d6e6d
dan [Mon, 14 Dec 2015 19:42:19 +0000 (19:42 +0000)]
Add a missing memAboutToChange() macro to vdbe.c, the lack of which was causing an assert() to fail incorrectly. Problem found by libfuzzer.
FossilOrigin-Name:
1a24791109da607d502ac41f179fe6c1dc46c774
dan [Fri, 11 Dec 2015 14:59:49 +0000 (14:59 +0000)]
Add a new assert() statement to the snapshot-specific part of sqlite3WalBeginReadTrans().
FossilOrigin-Name:
d8a12023be32bdc6df18b0a5f38b917799854342
drh [Fri, 11 Dec 2015 13:51:02 +0000 (13:51 +0000)]
Simplified alignment constraints in the memory reuse logic of
sqlite3VdbeMakeReady().
FossilOrigin-Name:
e998513e442ce1206b12dc28bdc996d7b5f9f94d
drh [Fri, 11 Dec 2015 12:44:52 +0000 (12:44 +0000)]
Add the experimental snapshot interface. Because it is experimental, it is
subject to change or removal at a later date.
FossilOrigin-Name:
9b124a5a310aec0145495c9980bc0c1308fcca02
drh [Fri, 11 Dec 2015 04:11:17 +0000 (04:11 +0000)]
Fix a memory allocation bug introduced last week by check-in
[
a9e819082ba ]. The bug only appears on systems where the size of a structure
is not always a multiple of 8 - which in practice means only on 32-bit
windows systems.
FossilOrigin-Name:
96d3e99ffe59b5280b8b7fc269c94a72e15c345b
drh [Fri, 11 Dec 2015 03:27:36 +0000 (03:27 +0000)]
Mention that the snapshot interfaces are only available if SQLite is compiled
with SQLITE_ENABLE_SNAPSHOT.
FossilOrigin-Name:
843c15a552657ca43ff200edb7da7566752d7941
drh [Fri, 11 Dec 2015 03:20:39 +0000 (03:20 +0000)]
Disable the snapshot test scripts if not compiled with SQLITE_ENABLE_SNAPSHOT.
FossilOrigin-Name:
5fd008f0433833e4341d526dcc2387570ffe1fea
drh [Fri, 11 Dec 2015 03:16:54 +0000 (03:16 +0000)]
Fix a variable type mismatch problem in the snapshot logic.
FossilOrigin-Name:
93fb8010e4999b6b832d63a7c5a152f65d4415a3
drh [Fri, 11 Dec 2015 01:22:22 +0000 (01:22 +0000)]
Fix a bad assert related to snapshots.
FossilOrigin-Name:
767ee30efa5dd469e3a51d4e44cbe473061819b9
drh [Thu, 10 Dec 2015 22:48:22 +0000 (22:48 +0000)]
Snapshot documentation updates. Comment changes only - no changes to code.
FossilOrigin-Name:
ef51a398a04963508389ffe2f9d8359c1ec48261
dan [Thu, 10 Dec 2015 20:03:08 +0000 (20:03 +0000)]
Update the sqlite3_snapshot_get() API so that if the caller does not have an open read transaction on the named database, one is automatically opened.
FossilOrigin-Name:
b9c90f10297d8516a661449e8af898e682c930aa
dan [Thu, 10 Dec 2015 19:44:34 +0000 (19:44 +0000)]
Add tests to snapshot.test.
FossilOrigin-Name:
f3b743623a4501833478c8a86c0922931955aeb6
dan [Thu, 10 Dec 2015 19:11:34 +0000 (19:11 +0000)]
Return SQLITE_BUSY (not SQLITE_BUSY_SNAPSHOT) if sqlite3_snapshot_open() fails to obtain the shared checkpointer lock.
FossilOrigin-Name:
5343060bcc6c99029f731f8020d2cba3f405f207
dan [Thu, 10 Dec 2015 18:06:21 +0000 (18:06 +0000)]
Add tests to ensure that an sqlite3_snapshot_open() client cannot be tricked into reading a corrupt snapshot even if another process fails mid-checkpoint.
FossilOrigin-Name:
b908048b6cfa1ee2fe1f7a17bae475ddd9d0376c
drh [Thu, 10 Dec 2015 17:59:50 +0000 (17:59 +0000)]
Move pointer range comparisons into a macro, where they can be dealt with in a more portable way.
FossilOrigin-Name:
05bc4f920ce23da48d1da6cd36a956fd6fd7c862
dan [Thu, 10 Dec 2015 15:45:15 +0000 (15:45 +0000)]
Have sqlite3_snapshot_open() avoid a race condition by taking a shared CHECKPOINTER lock while checking pInfo->nBackfillAttempted.
FossilOrigin-Name:
8084eae0bc4f6513b1147fb890a6b2813f1c0a09
drh [Thu, 10 Dec 2015 15:09:17 +0000 (15:09 +0000)]
Move pointer range comparisons into a macro, where they can be dealt with
in a more portable way.
FossilOrigin-Name:
ad3124c834b080aaaf24934d6f08b3601ac3ae53
mistachkin [Thu, 10 Dec 2015 03:16:47 +0000 (03:16 +0000)]
Fix spacing typo in comment. No changes to code.
FossilOrigin-Name:
3a18526fc2253658dad84c5e600481c8a62efe40
drh [Thu, 10 Dec 2015 02:15:03 +0000 (02:15 +0000)]
Add the nBackfillAttempted field in formerly unused space in WalCkptInfo and
use that field to close the race condition on opening a snapshot.
FossilOrigin-Name:
cb68e9d0738fc7db7316947b4d2aab91aae819f2
dan [Wed, 9 Dec 2015 20:05:27 +0000 (20:05 +0000)]
Update sqlite3_snapshot_open() to reduce the chances of reading a corrupt snapshot created by a checkpointer process exiting unexpectedly.
FossilOrigin-Name:
7315f7cbf4179aadda0f1a0baa1526a9b9f9729f
drh [Wed, 9 Dec 2015 17:23:12 +0000 (17:23 +0000)]
Further simplifications to the VDBE code generation logic that flow out
of the previous check-in.
FossilOrigin-Name:
6a5dfe85b519b920ce8c842057767a8793d92236
drh [Wed, 9 Dec 2015 16:26:38 +0000 (16:26 +0000)]
Simplification of the DROP TRIGGER logic using sqlite3NestedParse() instead
of hand-coded VDBE code. This is a manual cherry-pick of the key change from
check-in [
c80bbf14b365d ].
FossilOrigin-Name:
8021b4c8139ba56d6b1e2e26aeec4f9bf77f37c9
drh [Wed, 9 Dec 2015 16:04:06 +0000 (16:04 +0000)]
Merge unrelated fixes from trunk.
FossilOrigin-Name:
362615b4df94358d0264b0991c3090a0878f054c
drh [Tue, 8 Dec 2015 16:58:45 +0000 (16:58 +0000)]
Changes to avoid undefined behavior in memset() and memcpy() and in the
comparisons of pointers from different allocations. All problems are found
by analysis tools - none have been seen in the wild.
FossilOrigin-Name:
901d0b8f3b72e96ffa8e9436993a12980f5ebd51
drh [Tue, 8 Dec 2015 16:08:10 +0000 (16:08 +0000)]
Avoid doing comparisons with pointers that might have been previously been
passed to realloc() and/or free().
FossilOrigin-Name:
f20396adb2cff12a17a3fc90b36241ae3fdfd62a
drh [Tue, 8 Dec 2015 04:18:33 +0000 (04:18 +0000)]
Add a test case of the form "WHERE a<2 OR a<3" using PRAGMA count_changes.
This test case was failing before the 3.9.0 release.
FossilOrigin-Name:
177862c1d50ba899d890fbc35f35e7423bc6aed5