]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
9 years agoAdd a test case to waloverwrite.test to check that savepoint rollback does not cause... wal-overwrite-frames
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

9 years agoImproved testability.
drh [Mon, 11 Jan 2016 00:52:32 +0000 (00:52 +0000)] 
Improved testability.

FossilOrigin-Name: e83d3a2a4e06665e8a056f63063bd6df03f063b9

9 years agoAll WAL frame overwrites even if there are active savepoints. This is safe
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

9 years agoIf it is known that checksums will be recalculated on transaction commit, skip calcul...
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

9 years agoIf a single page is written to the wal file more than once, have each subsequent...
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

9 years agoTypo fix in the previous commit.
drh [Fri, 8 Jan 2016 22:31:00 +0000 (22:31 +0000)] 
Typo fix in the previous commit.

FossilOrigin-Name: 52c166039831cc8423e2252019ef64a21b9d7c2a

9 years agoMore #ifdef fixes for the unix VFS.
drh [Fri, 8 Jan 2016 22:18:00 +0000 (22:18 +0000)] 
More #ifdef fixes for the unix VFS.

FossilOrigin-Name: 122c111e360761de8166e16ca151cb7260ee9bf8

9 years agoFix the build for SQLITE_OMIT_SHARED_CACHE, which was broken, possibly
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

9 years agoFix a problem with #ifdefs on the system calls in the unix VFS that causes
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

9 years agoRemove an obsolete #ifdef related to iOS support.
drh [Fri, 8 Jan 2016 17:28:24 +0000 (17:28 +0000)] 
Remove an obsolete #ifdef related to iOS support.

FossilOrigin-Name: e9a51d2a580daa0fb152fe4c891149caa8025b9d

9 years agoReduce the number of calls to memset() in sqlite3DbMallocZero().
drh [Fri, 8 Jan 2016 12:46:39 +0000 (12:46 +0000)] 
Reduce the number of calls to memset() in sqlite3DbMallocZero().

FossilOrigin-Name: cede2bf8e42ac140a8cc75a1d173083f543ba467

9 years agoFix test file vtabH.test so that it works with SQLITE_ENABLE_ICU builds.
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

9 years agoOmit performance tracking from the memsys5 memory allocator if neither
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

9 years agoFix to cause BtShared.db to be set correctly on shared-cache
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

9 years agoSmall performance and size optimization spotted while working on the
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

9 years agoAdd some assert() statements to verify, where possible, that BtShared.db is set corre... shared-cache-fix
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

9 years agoHave the vdbe layer call sqlite3BtreeEnter() on all b-trees in use from within sqlite...
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

9 years agoAdd the "sqlite3 -sourceid" command in the TCL interface. Use that command and
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

9 years agoDisable the --limit-mem option on fuzzcheck unless the SQLITE_ENABLE_MEMSYS5 or
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

9 years agoVersion 3.10.0 version-3.10.0
drh [Wed, 6 Jan 2016 11:01:07 +0000 (11:01 +0000)] 
Version 3.10.0

FossilOrigin-Name: fd0a50f0797d154fefff724624f00548b5320566

9 years agoAlways use -DSQLITE_ENABLE_MEMSYS5 for fuzzcheck so that the --limit-mem
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

9 years agoAnother attempt to get reuse of excess opcode array space working correctly
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

9 years agoPermit the 'test_fs' test module to be compiled and used on MinGW.
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

9 years agoFix a corner case in the opcode-array reuse logic where the number of bytes of
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

9 years agoFix the conflict2.test module which was broken by check-in [e30062e9f6c].
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

9 years agoA new approach to very large sqlite3_mprintf() strings: Back out the
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

9 years agoImproved comment on the vtabH-3.1 test.
drh [Mon, 4 Jan 2016 04:44:31 +0000 (04:44 +0000)] 
Improved comment on the vtabH-3.1 test.

FossilOrigin-Name: 22abe08038cc7b66cbc25e733246d210197c9215

9 years agoAdjust the vtabH.test module to ignore files in the root directory of Windows
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

9 years agoLimit the length of sqlite3_mprintf() output to 2^30 bytes, even if
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

9 years agoFix a harmless compiler warning.
drh [Mon, 4 Jan 2016 03:48:46 +0000 (03:48 +0000)] 
Fix a harmless compiler warning.

FossilOrigin-Name: 4b404a99aa9bfa6cfe8998f5dc1f84f8be20b840

9 years agoAdd releasetest.tcl cases for SQLITE_LIKE_DOESNT_MATCH_BLOB and
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

9 years agoBug fix: the conflict resolution behavior for the implied NOT NULL constraint
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

9 years agoFix a premature reference to utf8_printf in shell.c.
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

9 years agoAdd the number of cores used and the name of the host computer to the
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

9 years agoFix a (harmless) typo in an #ifdef for SQLITE_ENABLE_CURSOR_HINTS
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

9 years agoRemember the size of the Vdbe.aOp[] array in bytes, to avoid unnecessary
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

9 years agoAvoid misaligned memory allocations on Sparc in sqlite3VdbeMakeReady().
drh [Fri, 1 Jan 2016 16:26:22 +0000 (16:26 +0000)] 
Avoid misaligned memory allocations on Sparc in sqlite3VdbeMakeReady().

FossilOrigin-Name: a304e34675404aee860fcc97fa4ffcc57c014812

9 years agoFix an assert() that might be false for a corrupt database.
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

9 years agoRemove unreachable branches from the new JSON aggregate functions.
drh [Fri, 1 Jan 2016 00:15:59 +0000 (00:15 +0000)] 
Remove unreachable branches from the new JSON aggregate functions.

FossilOrigin-Name: 6e30f8c6c3af9b0df39783888a1479f88271f989

9 years agoFix the ieee754.test module so that it works both on systems that report
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

9 years agoIn the shell, use utf8_printf() when any string formatting is present and raw_printf...
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

9 years agoFix harmless compiler warning seen with MSVC.
mistachkin [Thu, 31 Dec 2015 19:04:42 +0000 (19:04 +0000)] 
Fix harmless compiler warning seen with MSVC.

FossilOrigin-Name: 98ec778daac835d9ae103f6460b7d897981a5dd6

9 years agoFix harmless compiler warnings associated with SQLITE_ENABLE_HIDDEN_COLUMNS.
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

9 years agoSmall size and performance optimization to the VDBE comparison opcodes.
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

9 years agoReduce the size of the CellInfo object from 32 to 24 bytes on 64-bit machines,
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

9 years agoEnhance the command-line shell so that it can handle MBCS characters on
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

9 years agoChanges to the way that the default BINARY collating sequence is recorded
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

9 years agoSimplification to the xfer-optimization logic.
drh [Wed, 30 Dec 2015 15:18:16 +0000 (15:18 +0000)] 
Simplification to the xfer-optimization logic.

FossilOrigin-Name: f35ba018da843897acca58f70541b940598bc271

9 years agoRemove unnecessary tests from the LIKE pattern matcher. Slightly faster and
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

9 years agoEnhance the command-line shell to handle MBCS characters on input and output. mbcs-shell
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

9 years agoAdd the json_group_array() and json_group_object() aggregate functions to
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

9 years agoAvoid a harmless compiler warning on systems where the byteorder cannot
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

9 years agoFix some harmless gcc compiler warnings. Mostly in fts5, but also two in the core...
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

9 years agoEnhance the 'utc' modifier on date/time functions so that if the LHS is
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

9 years agoEnsure that the Expr objects that describe indexed expressions are not modified
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

9 years agoMicro-optimizations and comment fixes on the mem5.c memory allocator module.
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

9 years agoReduce the size of the CellInfo object from 32 to 24 bytes on 64-bit machines. optimize-cellinfo
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

9 years agoFix the spellfix1_scriptcode() function to ignore whitespace and punctuation,
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

9 years agoFixes for harmless compiler warnings.
drh [Thu, 17 Dec 2015 13:28:50 +0000 (13:28 +0000)] 
Fixes for harmless compiler warnings.

FossilOrigin-Name: 85ebd46c701e0a094a4690cd8f1d0cbae9aa257c

9 years agoFix even more harmless compiler warnings.
mistachkin [Wed, 16 Dec 2015 23:30:30 +0000 (23:30 +0000)] 
Fix even more harmless compiler warnings.

FossilOrigin-Name: 1d0e6aa119da8e15d35508f5d75ffc729979da92

9 years agoFix some more harmless compiler warnings.
mistachkin [Wed, 16 Dec 2015 22:06:52 +0000 (22:06 +0000)] 
Fix some more harmless compiler warnings.

FossilOrigin-Name: 18f531e1cf3c8bb986d912c9c5e3f5698360c93e

9 years agoFix compiler warning seen with MSVC.
mistachkin [Wed, 16 Dec 2015 21:09:53 +0000 (21:09 +0000)] 
Fix compiler warning seen with MSVC.

FossilOrigin-Name: 18a4c0540bf4f02335e9e9def1f2b0d4d784ef08

9 years agoMake greater use of the SQLITE_WITHIN macro.
drh [Wed, 16 Dec 2015 13:07:35 +0000 (13:07 +0000)] 
Make greater use of the SQLITE_WITHIN macro.

FossilOrigin-Name: f2fc3aede55c8fa0351697f9f5ce4e544334c9af

9 years agoUpdate the mkautoconfamal.sh script to make the building of the sqlite3-autoconf...
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

9 years agoAdd the SQLITE_OMIT_PARSER_TRACE compile-time option.
drh [Tue, 15 Dec 2015 13:50:22 +0000 (13:50 +0000)] 
Add the SQLITE_OMIT_PARSER_TRACE compile-time option.

FossilOrigin-Name: 2fda43e6e097a4a5510cce7784c31ceedc3d6e6d

9 years agoAdd a missing memAboutToChange() macro to vdbe.c, the lack of which was causing an...
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

9 years agoAdd a new assert() statement to the snapshot-specific part of sqlite3WalBeginReadTrans().
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

9 years agoSimplified alignment constraints in the memory reuse logic of
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

9 years agoAdd the experimental snapshot interface. Because it is experimental, it is
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

9 years agoFix a memory allocation bug introduced last week by check-in
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

9 years agoMention that the snapshot interfaces are only available if SQLite is compiled snapshot-get
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

9 years agoDisable the snapshot test scripts if not compiled with SQLITE_ENABLE_SNAPSHOT.
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

9 years agoFix a variable type mismatch problem in the snapshot logic.
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

9 years agoFix a bad assert related to snapshots.
drh [Fri, 11 Dec 2015 01:22:22 +0000 (01:22 +0000)] 
Fix a bad assert related to snapshots.

FossilOrigin-Name: 767ee30efa5dd469e3a51d4e44cbe473061819b9

9 years agoSnapshot documentation updates. Comment changes only - no changes to code.
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

9 years agoUpdate the sqlite3_snapshot_get() API so that if the caller does not have an open...
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

9 years agoAdd tests to snapshot.test.
dan [Thu, 10 Dec 2015 19:44:34 +0000 (19:44 +0000)] 
Add tests to snapshot.test.

FossilOrigin-Name: f3b743623a4501833478c8a86c0922931955aeb6

9 years agoReturn SQLITE_BUSY (not SQLITE_BUSY_SNAPSHOT) if sqlite3_snapshot_open() fails to...
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

9 years agoAdd tests to ensure that an sqlite3_snapshot_open() client cannot be tricked into...
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

9 years agoMove pointer range comparisons into a macro, where they can be dealt with in a more...
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

9 years agoHave sqlite3_snapshot_open() avoid a race condition by taking a shared CHECKPOINTER...
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

9 years agoMove pointer range comparisons into a macro, where they can be dealt with stdint.h
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

9 years agoFix spacing typo in comment. No changes to code.
mistachkin [Thu, 10 Dec 2015 03:16:47 +0000 (03:16 +0000)] 
Fix spacing typo in comment.  No changes to code.

FossilOrigin-Name: 3a18526fc2253658dad84c5e600481c8a62efe40

9 years agoAdd the nBackfillAttempted field in formerly unused space in WalCkptInfo and
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

9 years agoUpdate sqlite3_snapshot_open() to reduce the chances of reading a corrupt snapshot...
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

9 years agoFurther simplifications to the VDBE code generation logic that flow out
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

9 years agoSimplification of the DROP TRIGGER logic using sqlite3NestedParse() instead
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

9 years agoMerge unrelated fixes from trunk.
drh [Wed, 9 Dec 2015 16:04:06 +0000 (16:04 +0000)] 
Merge unrelated fixes from trunk.

FossilOrigin-Name: 362615b4df94358d0264b0991c3090a0878f054c

9 years agoChanges to avoid undefined behavior in memset() and memcpy() and in the
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

9 years agoAvoid doing comparisons with pointers that might have been previously been
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

9 years agoAdd a test case of the form "WHERE a<2 OR a<3" using PRAGMA count_changes.
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

9 years agoUpdate the TclKit download URL.
mistachkin [Tue, 8 Dec 2015 00:47:32 +0000 (00:47 +0000)] 
Update the TclKit download URL.

FossilOrigin-Name: 07e5199c6f868cc02a0b708865254056c4f3daf3

9 years agoUpdate MSVC batch build tool to the latest Windows 10 SDK version.
mistachkin [Mon, 7 Dec 2015 23:31:59 +0000 (23:31 +0000)] 
Update MSVC batch build tool to the latest Windows 10 SDK version.

FossilOrigin-Name: 2ad5017190334b7dd53294a30c3b3232e0c35869

9 years agoAdd the ".changes ON|OFF" command to the sqlite3.exe command-line shell, for
drh [Mon, 7 Dec 2015 21:46:19 +0000 (21:46 +0000)] 
Add the ".changes ON|OFF" command to the sqlite3.exe command-line shell, for
testing and verifying the sqlite3_changes() and
sqlite3_total_changes() interfaces.

FossilOrigin-Name: 9bbe1afc1521b111a0a93803b41ff04e0ee55630

9 years agoFix the openDirectory() routine in the unix VFS so that it works for databases
drh [Mon, 7 Dec 2015 18:18:33 +0000 (18:18 +0000)] 
Fix the openDirectory() routine in the unix VFS so that it works for databases
located in the root of the filesystem and for database files that have no
pathname at all.

FossilOrigin-Name: e7ae120d04cffafd9bc2b4ecd68571c17e05ed72

9 years agoChanges to avoid obscure, theoretical undefined behavior. This is preventative
drh [Mon, 7 Dec 2015 16:43:44 +0000 (16:43 +0000)] 
Changes to avoid obscure, theoretical undefined behavior. This is preventative
measures only - no actual problems observed on tested compilers.

FossilOrigin-Name: a9e819082ba19e72db03bba37edfb7702ff489a5

9 years agoAdd tests for snapshot_get(), _open() and _free().
dan [Mon, 7 Dec 2015 14:33:07 +0000 (14:33 +0000)] 
Add tests for snapshot_get(), _open() and _free().

FossilOrigin-Name: 502cc6f353358946080d9bcd335aed526825b88a

9 years agoAdd untested implementations of experimental APIs sqlite3_snapshot_get(), _open(...
dan [Sat, 5 Dec 2015 20:51:54 +0000 (20:51 +0000)] 
Add untested implementations of experimental APIs sqlite3_snapshot_get(), _open() and _free().

FossilOrigin-Name: 0715eb00aa8891400cd50a15509d3d7b13789626

9 years agoRemove the dependence on "exec ls -U" from the vtabH.test module, as the -U
drh [Fri, 4 Dec 2015 13:44:07 +0000 (13:44 +0000)] 
Remove the dependence on "exec ls -U" from the vtabH.test module, as the -U
option to "ls" is not universally available.

FossilOrigin-Name: 4ecbc75b465533cf80e166a9d0879b9afd3fe2be

9 years agoPrevent a segfault on Solaris in the test_fs.c due to differences in the
drh [Fri, 4 Dec 2015 03:27:45 +0000 (03:27 +0000)] 
Prevent a segfault on Solaris in the test_fs.c due to differences in the
definition of the dirent object.

FossilOrigin-Name: 042738ad3b769ad70fd7603f928d5b94a952267d