]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
6 years agoIn the test_vfs.c VFS, if a Tcl xWrite script returns "SQLITE_OMIT", silently omit...
dan [Fri, 5 Apr 2019 16:52:45 +0000 (16:52 +0000)] 
In the test_vfs.c VFS, if a Tcl xWrite script returns "SQLITE_OMIT", silently omit the write() call.

FossilOrigin-Name: 8b5a621e2ee3bb9d7d4f905217872e7e59153be9477aaa626cea287d56710b5b

6 years agoAdd the ability to override the new corruption detection logic
drh [Fri, 5 Apr 2019 16:38:12 +0000 (16:38 +0000)] 
Add the ability to override the new corruption detection logic
of the previous checkin, in order to exercise downstream corruption
detection during testing.

FossilOrigin-Name: e859d3184606dd453b9fc4ee388922d7be4b61aad84a66ac82107935ffd56f3a

6 years agoIn the xfer-optimization, do early detection of when the source and destination
drh [Fri, 5 Apr 2019 15:44:55 +0000 (15:44 +0000)] 
In the xfer-optimization, do early detection of when the source and destination
index share the same btree, to avoid a long delay prior to reporting the
database corruption.

FossilOrigin-Name: af1e5873d44d31466023ae145bdfc6b4191eb48b62e5752c6e683bcf571980e7

6 years agoAdd further test cases to improve VDBE branch coverage.
dan [Thu, 4 Apr 2019 20:55:37 +0000 (20:55 +0000)] 
Add further test cases to improve VDBE branch coverage.

FossilOrigin-Name: 51a95e52fc58d8be2c9c51576dff7258c705735b66d203948f80db017b4c10d2

6 years agoFix a typo in the documentation for sqlite3_value_frombind(). Also add a new
drh [Thu, 4 Apr 2019 19:21:45 +0000 (19:21 +0000)] 
Fix a typo in the documentation for sqlite3_value_frombind().  Also add a new
hyperlink to that same documentation.  No code changes.

FossilOrigin-Name: bf3cd9364fdfc951feb04f78728eb8e0dae12b3dc5702a36bb6e69c0abab8864

6 years agoMinor fixes to requirements marks.
drh [Thu, 4 Apr 2019 18:20:25 +0000 (18:20 +0000)] 
Minor fixes to requirements marks.

FossilOrigin-Name: 02ebc60b9bbc1736f4989eb56f8d31ca97fe90c930841d10986c618381ceb8b4

6 years agoAdd test cases to improve coverage of VDBE branches. Still some to go.
dan [Thu, 4 Apr 2019 17:58:34 +0000 (17:58 +0000)] 
Add test cases to improve coverage of VDBE branches. Still some to go.

FossilOrigin-Name: 4cef609d61de272cfdc2b39e1d49c7cd56ec834086bd63095116ff98f4d402bd

6 years agoCorrectly initialize the loadable extension thunk.
drh [Thu, 4 Apr 2019 17:39:54 +0000 (17:39 +0000)] 
Correctly initialize the loadable extension thunk.

FossilOrigin-Name: 4fca46ded7873d4939d7c6bff363ded41667f2255a4ab624a1a24bebbae733eb

6 years agoSimplification of the recent VACUUM changes that make the code more like
drh [Thu, 4 Apr 2019 15:25:52 +0000 (15:25 +0000)] 
Simplification of the recent VACUUM changes that make the code more like
what it was before the change.  Also, make the VACUUM command a no-inline
procedure to work around a performance regression.

FossilOrigin-Name: 9cac5ac145d62117c918539baaa8a3c124230e031842e35fa1ba59f658c99518

6 years agoFix an incorrect comment on a test case for rowid renumbering in VACUUM.
drh [Thu, 4 Apr 2019 14:36:02 +0000 (14:36 +0000)] 
Fix an incorrect comment on a test case for rowid renumbering in VACUUM.

FossilOrigin-Name: 0d293fb43f2eb64026ac1e0422f54d4839b101898cc9913fc7746760c08ed41f

6 years agoOnly preserve rowid values for VACUUM INTO. Keep the legacy behavior of
drh [Thu, 4 Apr 2019 14:00:23 +0000 (14:00 +0000)] 
Only preserve rowid values for VACUUM INTO.  Keep the legacy behavior of
renumbering rowids for ordinary VACUUM.

FossilOrigin-Name: 13a0ea6466b051ea5281865ed5285b8b5a99ec4307f400c5f7b03692723f1cd1

6 years agoAdd a defense-in-depth NEVER() test to the WAL cleanup code.
drh [Wed, 3 Apr 2019 17:48:10 +0000 (17:48 +0000)] 
Add a defense-in-depth NEVER() test to the WAL cleanup code.

FossilOrigin-Name: 8d3af2010f4f652865f5c0d18e3bc793de05f8e75e75cc77786f61004b2ad28f

6 years agoFix a couple of problems with "RANGE BETWEEN <expr> PRECEDING AND <expr> PRECEDING...
dan [Wed, 3 Apr 2019 16:27:44 +0000 (16:27 +0000)] 
Fix a couple of problems with "RANGE BETWEEN <expr> PRECEDING AND <expr> PRECEDING" frames.

FossilOrigin-Name: 39225cc77579896214dceb93b7f224b4b3bc95b3505a2e19b41b0b18b184fbc4

6 years agoSmall optimizations to the grammar for window functions save about 120 bytes
drh [Tue, 2 Apr 2019 18:12:20 +0000 (18:12 +0000)] 
Small optimizations to the grammar for window functions save about 120 bytes
of space in the parser tables.

FossilOrigin-Name: bce01d9584e52b23d7c07c2e832d5fa5d6e6235711c856b903a296725f61ed6e

6 years agoUse a separate bit on db->dbOptFlags to disable the xInverse optimization on
drh [Tue, 2 Apr 2019 17:45:56 +0000 (17:45 +0000)] 
Use a separate bit on db->dbOptFlags to disable the xInverse optimization on
window functions, rather than reusing the query-flattener disable bit.

FossilOrigin-Name: bc0fb1c324be2fd668bc4398c7d364b7e3c5a98537fe5fb58a125b66f3e6d041

6 years agoIncluding the phrase EXCLUDE NO OTHERS in the frame-spec of a window function
drh [Tue, 2 Apr 2019 17:45:01 +0000 (17:45 +0000)] 
Including the phrase EXCLUDE NO OTHERS in the frame-spec of a window function
(which is the default setting for EXCLUDE) silently disables the xInverse
optimization.  This is a feature, but we will keep it undocumented for now
in case we later decide it is a bad idea.

FossilOrigin-Name: 10aedce3dd2c0c9f0ee9e0aefd0b4d2c2eb17c4ca72003c4db9768ea5cdafcf4

6 years agoPut the list of keywords in mkkeywordhash.c into alphabetical order.
drh [Tue, 2 Apr 2019 13:10:50 +0000 (13:10 +0000)] 
Put the list of keywords in mkkeywordhash.c into alphabetical order.

FossilOrigin-Name: ac98b23b34632fbc654a34a8b3d842ce65603e4c04d89c589b46f4d48a61152d

6 years agoMake sure the MEM_FromBind bit inthe Mem.flags field is not included in
drh [Tue, 2 Apr 2019 00:56:20 +0000 (00:56 +0000)] 
Make sure the MEM_FromBind bit inthe Mem.flags field is not included in
the MEM_TypeMask.  This critical changes was omitted from the previous two
check-ins by mistake, and so those check-ins are not fully functional.

FossilOrigin-Name: f7ba2daf91c96ba16958188d6084a0ff129310d348932de493d326f1d24679cd

6 years agoAdd new APIs to the extension loading mechanism.
drh [Tue, 2 Apr 2019 00:48:29 +0000 (00:48 +0000)] 
Add new APIs to the extension loading mechanism.

FossilOrigin-Name: 6f122faf8a34b986e58ba4622cff918c6d133d6f91d4b723b50bd086d5bed8e1

6 years agoAdd the sqlite3_value_frombind() interface. Use that interface to
drh [Tue, 2 Apr 2019 00:28:54 +0000 (00:28 +0000)] 
Add the sqlite3_value_frombind() interface.  Use that interface to
improve fts3_tokenizer().

FossilOrigin-Name: b3f2c3205a28dc21ea7080e5e1ba246ce9c9b90c1309262ca11d8e40943ed677

6 years agoPerformance improvement on the OP_Variable opcode. value_frombind
drh [Mon, 1 Apr 2019 20:57:11 +0000 (20:57 +0000)] 
Performance improvement on the OP_Variable opcode.

FossilOrigin-Name: 1dc7993bb6957587a6c63142e97b8e4137c3d81bbfd724f86048e0894bcb429b

6 years agoImprovements to the sqlite3ExprImpliesNonNullRow() theorem prover.
drh [Mon, 1 Apr 2019 19:42:42 +0000 (19:42 +0000)] 
Improvements to the sqlite3ExprImpliesNonNullRow() theorem prover.

FossilOrigin-Name: 3fde627616030ca0de87169467e2e453fdc91154942e3a3a92a221df5923b2d2

6 years agoAdd a test case to cover a missed VDBE branch generated by window.c.
dan [Mon, 1 Apr 2019 18:43:09 +0000 (18:43 +0000)] 
Add a test case to cover a missed VDBE branch generated by window.c.

FossilOrigin-Name: b36813d6467c82159bd3bb69d34ac28fc161a13052ca67d7cf9ad75e2aaea9d5

6 years agoIf the library is built with SQLITE_VDBE_COVERAGE defined, have the Tcl tests generat...
dan [Mon, 1 Apr 2019 17:24:20 +0000 (17:24 +0000)] 
If the library is built with SQLITE_VDBE_COVERAGE defined, have the Tcl tests generate a vdbe coverage report in file testdir/vdbe_coverage.txt.

FossilOrigin-Name: f0ed714637bf30443d0551d9b6fececa00fc9dfe9669fe720c4598ef71c61e2c

6 years agoFrame range comparisons can never be NULL because the values will have
drh [Mon, 1 Apr 2019 16:23:21 +0000 (16:23 +0000)] 
Frame range comparisons can never be NULL because the values will have
been checked for NULL prior to the test.

FossilOrigin-Name: fa37cf9a6aa3e4325674cb6af68f617d25e349c3f694d0117a19a36fc42daf15

6 years agoMark rowid-comparison opcodes as never-null for VDBE coverage tracking
drh [Mon, 1 Apr 2019 15:55:38 +0000 (15:55 +0000)] 
Mark rowid-comparison opcodes as never-null for VDBE coverage tracking
purposes.

FossilOrigin-Name: a69bb4f257500e40ef4056d5628ef25266def5bcef07eebdb471a79fffe80237

6 years agoImproved VDBE branch coverage in the run-time frame-spec error detection
drh [Mon, 1 Apr 2019 14:30:30 +0000 (14:30 +0000)] 
Improved VDBE branch coverage in the run-time frame-spec error detection
logic of window functions.

FossilOrigin-Name: f56d305a7bad6608d51d8c8cef417ddb66cff50f0a75d28554ea669e47f3d90d

6 years agoImproved comments on the VDBE branch coverage testing logic. Fix the
drh [Mon, 1 Apr 2019 14:01:21 +0000 (14:01 +0000)] 
Improved comments on the VDBE branch coverage testing logic.  Fix the
VDBE branch coverage measurement on the OP_MustBeInt opcode.

FossilOrigin-Name: 8681750e855a020ee374cb9f973f701a72068e33f97d0101a4fab3a228e5ebda

6 years agoFix a defect in the VDBE branch coverage testing logic.
drh [Mon, 1 Apr 2019 13:06:19 +0000 (13:06 +0000)] 
Fix a defect in the VDBE branch coverage testing logic.

FossilOrigin-Name: 1fcf3307d37f0e8e0c8c54491c609b73c7add6eaa38409a41c7cd6614a877a19

6 years agoFix harmless compiler warnings seen with MSVC.
mistachkin [Mon, 1 Apr 2019 03:07:21 +0000 (03:07 +0000)] 
Fix harmless compiler warnings seen with MSVC.

FossilOrigin-Name: 6cf8b18ec20f11c25ff7396f29c742404d3a88d5e97a5fd53ccfaff51dec3f33

6 years agoEarly detection of too many columns in an index avoid a possible 16-bit
drh [Sun, 31 Mar 2019 21:09:33 +0000 (21:09 +0000)] 
Early detection of too many columns in an index avoid a possible 16-bit
signed integer overflow.

FossilOrigin-Name: 8af0caeb6d1e55f66ad2f12af94845dccfe1d0420faf326f5917fc07f8aa6050

6 years agoAdd some missing VdbeCoverage() macros.
drh [Sun, 31 Mar 2019 18:17:00 +0000 (18:17 +0000)] 
Add some missing VdbeCoverage() macros.

FossilOrigin-Name: d03b611302f68483770d49b113b4ed685ba03526d2007647c306f8ec7ae697d2

6 years agoImprovements to VdbeCoverage macros.
drh [Sat, 30 Mar 2019 20:43:40 +0000 (20:43 +0000)] 
Improvements to VdbeCoverage macros.

FossilOrigin-Name: 10ee9e337e5f8a846dc827f6deb07930a790ac9d290b62f73de59454e465d5a1

6 years agoFix issues with the previous check-in and add more VDBE branch coverage oops
drh [Sat, 30 Mar 2019 20:37:04 +0000 (20:37 +0000)] 
Fix issues with the previous check-in and add more VDBE branch coverage
testing macros.

FossilOrigin-Name: b5f72f10f2dfdbee9fe98c63ffb933e841203790746a920b99df14ca5c14127c

6 years agoEnhanced VdbeCoverage() macros in the new windows function code.
drh [Sat, 30 Mar 2019 20:10:11 +0000 (20:10 +0000)] 
Enhanced VdbeCoverage() macros in the new windows function code.

FossilOrigin-Name: f24066f8dd847dfb656f26c4a8142e7fb6a412ffe325aea6254cb122cfbb3e1c

6 years agoAdd a call to sqlite3FaultSim(410) inside of btreeRestoreCursorPosition()
drh [Sat, 30 Mar 2019 19:17:35 +0000 (19:17 +0000)] 
Add a call to sqlite3FaultSim(410) inside of btreeRestoreCursorPosition()
to simplify testing of error scenarios.

FossilOrigin-Name: bb643bac535ac7d5fb4c13edb8782cd13540bbc7d2b2deb689f4ca8d1914f422

6 years agoThe defragmentPage() routine detects corruption in the first-free-slot fields
drh [Sat, 30 Mar 2019 18:39:13 +0000 (18:39 +0000)] 
The defragmentPage() routine detects corruption in the first-free-slot fields
at offset 1 in the header and throws an error, rather than asserting.

FossilOrigin-Name: fb125bd338ab32b33d02fe61b76497b6d4a2a160056d6e759e15c94903e61a41

6 years agoAdd the blobio.c extension module implementing readblob() and writeblob().
drh [Sat, 30 Mar 2019 17:30:50 +0000 (17:30 +0000)] 
Add the blobio.c extension module implementing readblob() and writeblob().
Experimental.

FossilOrigin-Name: e3fde56da46e9592143b8beeee5eba4d74b8ef67edb7bf73a85edd2e0f7a8d21

6 years agoAdd an extra IO-error test to windowfault.test.
dan [Sat, 30 Mar 2019 17:07:23 +0000 (17:07 +0000)] 
Add an extra IO-error test to windowfault.test.

FossilOrigin-Name: 5b8c44cd39c529e8adbc51f67088409e963515b988868856120a59e6c7160210

6 years agoChange the fts3_tokenizer() function to always return the pointer as a BLOB
drh [Fri, 29 Mar 2019 17:26:44 +0000 (17:26 +0000)] 
Change the fts3_tokenizer() function to always return the pointer as a BLOB
as long as the first argument is a bound parameter, regardless of the
SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER setting.

FossilOrigin-Name: 27160df7b3a04ac59d06013ede1d2ee27a4ace86a525ecc333bf7f8b5c580afb

6 years agoRemove the unused P5 flag from the OP_Rewind opcode.
drh [Fri, 29 Mar 2019 15:21:22 +0000 (15:21 +0000)] 
Remove the unused P5 flag from the OP_Rewind opcode.

FossilOrigin-Name: c2edbf3b8c643edcd5823eb907fd7531cf5be8a8b6a014fa1b123eb0ea3231cf

6 years agoFix a fairly obscure problem causing the planner to sometimes choose sub-optimal...
dan [Fri, 29 Mar 2019 13:17:50 +0000 (13:17 +0000)] 
Fix a fairly obscure problem causing the planner to sometimes choose sub-optimal plans for a query with a single virtual table in the FROM clause, and at least one IN(...) constraint in the WHERE clause.

FossilOrigin-Name: f5752517f590b37bfc0267650f5800320e22a8ecaba34aa6893281ce8d268026

6 years agoFix typos in the comments of the sessions extension, one of which affects
drh [Fri, 29 Mar 2019 11:48:10 +0000 (11:48 +0000)] 
Fix typos in the comments of the sessions extension, one of which affects
the generated documentation. No code changes.

FossilOrigin-Name: 040d5d515bcb37bea05e0d156dbaf066c68052ac574f1b0b2cb118d473a353e0

6 years agoThe two-argument version of fts3_tokenizer() works regardless of the
drh [Fri, 29 Mar 2019 11:39:41 +0000 (11:39 +0000)] 
The two-argument version of fts3_tokenizer() works regardless of the
value of SQLITE_DBCONFIG_ENABLE_FT3_TOKENIZER as long as the second
argument is a bind parameter.

FossilOrigin-Name: ab76e3a90e56bd36a17ded9c7a77e88632ca12d3bd73f197df747a634c81e0cf

6 years agoInitial implementation of the sqlite3_value_frombind() interface.
drh [Fri, 29 Mar 2019 11:13:37 +0000 (11:13 +0000)] 
Initial implementation of the sqlite3_value_frombind() interface.

FossilOrigin-Name: 98da62dfdacc6b3c490c387d1f8a74cc5daa978776967e264ad4800c380b0ddf

6 years agoRecover a some of the performance lost by window function alias fix two
drh [Fri, 29 Mar 2019 01:15:11 +0000 (01:15 +0000)] 
Recover a some of the performance lost by window function alias fix two
check-ins back.

FossilOrigin-Name: 965cbcea117835d2c6d2ec58c8025b227f491c35805e282cb31228436bc6bec1

6 years agoAdd new test cases to test/fuzzdata8.db
drh [Thu, 28 Mar 2019 20:50:41 +0000 (20:50 +0000)] 
Add new test cases to test/fuzzdata8.db

FossilOrigin-Name: f908cd40b275a5753d5167ebb25871300381687adcb3a7fcb1f14b57a20ee3d0

6 years agoPrevent aliases of window functions expressions from being used as arguments to aggre...
dan [Thu, 28 Mar 2019 16:15:05 +0000 (16:15 +0000)] 
Prevent aliases of window functions expressions from being used as arguments to aggregate or other window functions.

FossilOrigin-Name: 1e16d3e8fc60d39ca3899759ff15d355fdd7d3e23b325d8d2b0f954e11ce8dce

6 years agoShow the pointer address for Window objects in the TreeView display.
drh [Thu, 28 Mar 2019 13:53:12 +0000 (13:53 +0000)] 
Show the pointer address for Window objects in the TreeView display.

FossilOrigin-Name: 1ae70ad2ffd36c27b154940126c5e3ed00c05c0d8761d9320a65a03b1b4e4dc6

6 years agoMore improvements to TreeView output for Window objects:
drh [Thu, 28 Mar 2019 13:35:28 +0000 (13:35 +0000)] 
More improvements to TreeView output for Window objects:
(1) Show when the frame-spec is implied rather than explicit.
(2) Move the FILTER clause out from within the OVER clause, making it
a sibling of the OVER clause, to match syntax.

FossilOrigin-Name: d6a07433421ac9a475ff0014587f0beefdf88ce89aef9443f8a20cd26083731f

6 years agoImproved TreeView display of Window objects.
drh [Thu, 28 Mar 2019 13:03:41 +0000 (13:03 +0000)] 
Improved TreeView display of Window objects.
Change the Window.eType field to Window.eFrmType to avoid confusion with
other "eType" values.

FossilOrigin-Name: ec2f207dedb223077bbd3e4584499250eb12219712c917e930acccfa2c46e23b

6 years agoIf the string formatter in sqlite3NestedParse() fails due to an over-length
drh [Thu, 28 Mar 2019 04:03:17 +0000 (04:03 +0000)] 
If the string formatter in sqlite3NestedParse() fails due to an over-length
string, make sure this error is recorded by the parser so that it knows to
fail.

FossilOrigin-Name: 85e53ff13300132250221de769a2aa7d92d81bb48d60f6e99000bc69a5b1e6fb

6 years agoImprovements to the README.md file. No code changes.
drh [Thu, 28 Mar 2019 01:00:37 +0000 (01:00 +0000)] 
Improvements to the README.md file.  No code changes.

FossilOrigin-Name: bbdbaf84a52937ccf877072a8b01b07f7b9c037c59ba54df72ca888d5404cbad

6 years agoSupport building the Tcl bindings DLL using MSVC.
mistachkin [Wed, 27 Mar 2019 14:59:56 +0000 (14:59 +0000)] 
Support building the Tcl bindings DLL using MSVC.

FossilOrigin-Name: b2011c13173114505705d2ff2ba6f476697d51aca0bddd585a9e5a639dca41e2

6 years agoFix harmless compiler warnings seen with MSVC.
mistachkin [Wed, 27 Mar 2019 14:58:18 +0000 (14:58 +0000)] 
Fix harmless compiler warnings seen with MSVC.

FossilOrigin-Name: 5be64ea8e33f632f9c337feac9b0663d8e6e59fc9a71e5d832d9fd905c06458e

6 years agoFix a problem with window frames that use "BETWEEN <start> AND 0 PRECEDING".
dan [Tue, 26 Mar 2019 16:47:17 +0000 (16:47 +0000)] 
Fix a problem with window frames that use "BETWEEN <start> AND 0 PRECEDING".

FossilOrigin-Name: 7927b6b023502e990d23f30251b5b0918b547726b863bfb6747dcd7f1f71d19a

6 years agoFix harmless compiler warnings.
drh [Tue, 26 Mar 2019 16:21:11 +0000 (16:21 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: a063f7c426d1ac066bf05cc03288f49b1c92e06a8cb2bc271cce9bd3022a74ea

6 years agoAdd support for new window functions related features - GROUPS frames, RANGE frames...
dan [Tue, 26 Mar 2019 13:08:34 +0000 (13:08 +0000)] 
Add support for new window functions related features - GROUPS frames, RANGE frames with logical start and end points, the EXCLUDE clause and window chaining.

FossilOrigin-Name: c6da39115d3e2b0fd3a03c4bcae8ee8b05a6bbd6b11f8c54712fbff6387f610d

6 years agoFix an obsolete comment in the CLI. No code changes.
drh [Mon, 25 Mar 2019 22:05:22 +0000 (22:05 +0000)] 
Fix an obsolete comment in the CLI.  No code changes.

FossilOrigin-Name: fade103cbac1b067f9544935b767f36dc266aceb3269cc84a3ae3b04ad9a4823

6 years agoIn the CLI, code the "sqlite_parameters" name directly rather than using a
drh [Mon, 25 Mar 2019 21:56:26 +0000 (21:56 +0000)] 
In the CLI, code the "sqlite_parameters" name directly rather than using a
macro, for clarity of presentation for users who are reading the code for
the purpose of seeing how the CLI implements parameter binding.

FossilOrigin-Name: e775ef002dd33e6bcbeec8d4b6ad7f59749e35548c7a59c9fa3bcfdc5cc50730

6 years agoRemove a test from the index build logic which is no longer needed and is
drh [Mon, 25 Mar 2019 21:55:44 +0000 (21:55 +0000)] 
Remove a test from the index build logic which is no longer needed and is
in fact unreachable.

FossilOrigin-Name: 9b20ee10ff86c1f79706180310e02b6f78863e02b179062d8966573ae33a252f

6 years agoChange the name of the parameter table in the CLI to "sqlite_parameters".
drh [Mon, 25 Mar 2019 21:35:41 +0000 (21:35 +0000)] 
Change the name of the parameter table in the CLI to "sqlite_parameters".
Doing so involves adding SQLITE_DBCONFIG_WRITABLE_SCHEMA and allowing the
creation of tables whose names begin with "sqlite_" and that are indexed
while writable_schema is on.

FossilOrigin-Name: 24ef3844692debc2db7b1d427f5dcf4050481a8c7f71c3b516766b819ecab587

6 years agoEarlier detection of corruption while added to the freelist.
drh [Mon, 25 Mar 2019 19:50:19 +0000 (19:50 +0000)] 
Earlier detection of corruption while added to the freelist.

FossilOrigin-Name: 8c80b004cae71aaf820a31dba80c100ed162ef5bae845fb4535ff4d3be407500

6 years agoFix a faulty assert() statement in balance_nonroot() - the assert() should use
drh [Mon, 25 Mar 2019 18:44:08 +0000 (18:44 +0000)] 
Fix a faulty assert() statement in balance_nonroot() - the assert() should use
get2byteNotZero() instead of get2byte() for the corner case where the
number cells is zero on a 65536-byte page.

FossilOrigin-Name: bcbe7d96df3c9515f679ccf671ca9ba89d081b53501495d4218eb5126196838b

6 years agoImprovements to the help text in the CLI.
drh [Mon, 25 Mar 2019 15:09:19 +0000 (15:09 +0000)] 
Improvements to the help text in the CLI.

FossilOrigin-Name: 919fec91dac4cb0d5f67404d4f47a65f353d752f5da0aa7b071bf3caf19e0522

6 years agoFix the writefile() SQL function implemented by ext/misc/fileio.c such that
drh [Mon, 25 Mar 2019 15:06:16 +0000 (15:06 +0000)] 
Fix the writefile() SQL function implemented by ext/misc/fileio.c such that
any directories created have standard umask permissions, not permissions
of the file that is to be written.

FossilOrigin-Name: f11c89595dc65f89be6df62830c8cddd3933acfd4baaecd348ecd99e71db5831

6 years agoFor the ".archive --update" command in the CLI, only update files if their
drh [Mon, 25 Mar 2019 14:24:19 +0000 (14:24 +0000)] 
For the ".archive --update" command in the CLI, only update files if their
mtime or mode has changed.  To force an update, use the new --insert instead.

FossilOrigin-Name: 191a023ae708490eca61b3a42a3df41bb6709079f3905881abb82ebd46182607

6 years agoSupport Tcl libraries with a suffix. msvcTcl
mistachkin [Sat, 23 Mar 2019 00:38:52 +0000 (00:38 +0000)] 
Support Tcl libraries with a suffix.

FossilOrigin-Name: 8d0153996a3685a9b109a01fea0cba76e4296b010e96fc0db43fa6fde54d1965

6 years agoFurther enhancements and fixes.
mistachkin [Fri, 22 Mar 2019 22:34:16 +0000 (22:34 +0000)] 
Further enhancements and fixes.

FossilOrigin-Name: c9f1972e10b0cdb5e351a776a64c60acf404dcfbe2a8a28c0a273bbe851e677f

6 years agoAttempt to detect when the MSVC linker requires the /MACHINE argument.
mistachkin [Fri, 22 Mar 2019 16:52:17 +0000 (16:52 +0000)] 
Attempt to detect when the MSVC linker requires the /MACHINE argument.

FossilOrigin-Name: 3e355846217785c30f518d31a5541172c4213c0d8559c3f8638a047cd745c98e

6 years agoFix a problem with a window function in a correlated sub-query where at least one... window-functions
dan [Fri, 22 Mar 2019 13:56:49 +0000 (13:56 +0000)] 
Fix a problem with a window function in a correlated sub-query where at least one reference to the outer SELECT appears in a FROM clause sub-select.

FossilOrigin-Name: 9aca86f98388ff66b2bccb3fbfc486a3931398d2a8da139f905826ae2cdbb205

6 years agoWe learn that readdir_r() is deprecated in favor of plain old readdir(), which
drh [Fri, 22 Mar 2019 13:53:25 +0000 (13:53 +0000)] 
We learn that readdir_r() is deprecated in favor of plain old readdir(), which
is now suppose to be threadsafe using thread-local storage.  So remove the
use of readdir_r() from the test code.  (SQLite itself never calls readdir()
or readdir_r()).

FossilOrigin-Name: 7a0a26ed380dd0bdda50b0204b30b53bbbbc70f278eba02f91541ac6c691aef2

6 years agoAdd the --limit N option to dbfuzz2. Set the default callback limit to 250K.
drh [Fri, 22 Mar 2019 11:38:14 +0000 (11:38 +0000)] 
Add the --limit N option to dbfuzz2.  Set the default callback limit to 250K.

FossilOrigin-Name: b99f8512c06b9d47e48b028781265512ce8b812ae4e6af0a7139a093cf9a8f74

6 years agoSync up the autoconf makefile for MSVC.
mistachkin [Fri, 22 Mar 2019 01:26:39 +0000 (01:26 +0000)] 
Sync up the autoconf makefile for MSVC.

FossilOrigin-Name: ecbae90aef63ed6d07d474416900db36ff6dd9c2ed1bbb5f4d883b6838156be1

6 years agoSupport building the Tcl bindings DLL using MSVC.
mistachkin [Fri, 22 Mar 2019 01:25:16 +0000 (01:25 +0000)] 
Support building the Tcl bindings DLL using MSVC.

FossilOrigin-Name: 908c4c891fa7472b43d232bde7d3789105c5f5b2cfaf6652bf6d5829236933cf

6 years agoAdd an extra test for database corruption to defragmentPage().
dan [Thu, 21 Mar 2019 21:18:36 +0000 (21:18 +0000)] 
Add an extra test for database corruption to defragmentPage().

FossilOrigin-Name: 80e951fce3e5aaa224c8dba6449832d2efabcdc24e86eb6b7833f85cf08ecc00

6 years agoRemove assert() statements based on the counter-factual proposition that 0 is not...
dan [Thu, 21 Mar 2019 13:51:09 +0000 (13:51 +0000)] 
Remove assert() statements based on the counter-factual proposition that 0 is not a valid cursor number.

FossilOrigin-Name: c7b336181aac6785a515f275c0f50ad4bf2dee20abde959b56d968a7fdce3e5b

6 years agoIn the CLI, give better error messages if something goes wrong
drh [Wed, 20 Mar 2019 18:22:51 +0000 (18:22 +0000)] 
In the CLI, give better error messages if something goes wrong
with the ".dbinfo" command.

FossilOrigin-Name: 3649a77b79001ea6c5defe882f9934521b20b9d36aab26d03b5d42006c7fa228

6 years agoFix a potential dangling pointer deference in an ALTER TABLE run on a schema that...
dan [Wed, 20 Mar 2019 16:58:21 +0000 (16:58 +0000)] 
Fix a potential dangling pointer deference in an ALTER TABLE run on a schema that contains constructs of the form "PRIMARY KEY(column COLLATE collation)".

FossilOrigin-Name: b9e2393cf201e3fc24519c5ae65d0a5953147d78884e53d44a7958747b4a7e13

6 years agoFix harmless compiler warnings from MSVC.
drh [Wed, 20 Mar 2019 12:08:27 +0000 (12:08 +0000)] 
Fix harmless compiler warnings from MSVC.

FossilOrigin-Name: f0f02d46e40667d0fc31c57eb26d459ce2f3a3c222c767fa371100b36e5335d1

6 years agoEnhance the rtreenode() function of rtree (used for testing) so that it
drh [Wed, 20 Mar 2019 11:16:09 +0000 (11:16 +0000)] 
Enhance the rtreenode() function of rtree (used for testing) so that it
uses the newer sqlite3_str object for better performance and improved
error reporting.

FossilOrigin-Name: 90acdbfce9c088582d5165589f7eac462b00062bbfffacdcc786eb9cf3ea5377

6 years agoFix various harmless compiler warnings seen with MSVC. noWarnings
mistachkin [Wed, 20 Mar 2019 05:45:03 +0000 (05:45 +0000)] 
Fix various harmless compiler warnings seen with MSVC.

FossilOrigin-Name: 1c0fe5b5763fe5cbace9773dcdab742e126d0bd035ab13d61f9d134afa0afc0c

6 years agoEnhance the VACUUM INTO command so that it works on read-only databases.
drh [Tue, 19 Mar 2019 20:42:42 +0000 (20:42 +0000)] 
Enhance the VACUUM INTO command so that it works on read-only databases.

FossilOrigin-Name: 55be6d0a9fa8a64b9c9c5ed51a2b9144304f7f0870a13b92d5864ac4d54491b6

6 years agoFix a compiler warning in FTS5.
drh [Tue, 19 Mar 2019 20:13:41 +0000 (20:13 +0000)] 
Fix a compiler warning in FTS5.

FossilOrigin-Name: d5acf3af65f9608d4096b9b78289d84b21cd1ea463457f858ffeb20d5bd5d123

6 years agoAdd further tests to window8.test.
dan [Tue, 19 Mar 2019 19:39:42 +0000 (19:39 +0000)] 
Add further tests to window8.test.

FossilOrigin-Name: ec7e224f50271a69a28074270b01328ec0ee38751fcb93b2c598d8be2b77a95d

6 years agoFix a problem with EXCLUDE clauses on window frames with no ORDER BY.
dan [Tue, 19 Mar 2019 19:19:53 +0000 (19:19 +0000)] 
Fix a problem with EXCLUDE clauses on window frames with no ORDER BY.

FossilOrigin-Name: e0255063799a2a8531f0eaa8790334509591a5ababc5b915035b46d2faa80363

6 years agoAdd tests to ensure that the window functions implementation is not generating code...
dan [Tue, 19 Mar 2019 17:45:31 +0000 (17:45 +0000)] 
Add tests to ensure that the window functions implementation is not generating code for unnecessary sorts.

FossilOrigin-Name: e195948a6876efe01b5cf2ed67bc9015a781fda39dca668099cb7edc1d331818

6 years agoAdd missing VdbeCoverage() macros to new code in window.c.
dan [Tue, 19 Mar 2019 16:49:15 +0000 (16:49 +0000)] 
Add missing VdbeCoverage() macros to new code in window.c.

FossilOrigin-Name: 4f9b93e6cfa0b3b6ab8a126299c2b2a242f840453dc450e84d3df87576cf6cf8

6 years agoWhen computing the amount of scratch memory needed during a rebalance operation,
drh [Tue, 19 Mar 2019 15:36:46 +0000 (15:36 +0000)] 
When computing the amount of scratch memory needed during a rebalance operation,
assume the worst case for the number of cells per page, rather than relying
on the BtPage.nCell value, which might be incorrect for a corrupt database.

FossilOrigin-Name: a420ebd08f5a96b9e61a37cb42e1b3f346c23505630d9c33fe30ce7882959b36

6 years agoRevert the OP_MustBeInt opcode implementation on this branch so that it again matches...
dan [Tue, 19 Mar 2019 11:56:39 +0000 (11:56 +0000)] 
Revert the OP_MustBeInt opcode implementation on this branch so that it again matches trunk. The extra functionality is no longer required.

FossilOrigin-Name: c02f77b1b4d025d4243f883d6f3a2b3abcaf4944e0209f641b62c576415343dc

6 years agoTweak the tool/cg_anno.tcl script so that it can run on systems without /usr/bin...
dan [Tue, 19 Mar 2019 11:35:18 +0000 (11:35 +0000)] 
Tweak the tool/cg_anno.tcl script so that it can run on systems without /usr/bin/tclsh.

FossilOrigin-Name: a026189aa46114d2de4f1da5882aeef9cf446a5aa6ea068d51c27df0d7302ddb

6 years agoUpdate this branch with latest trunk changes.
dan [Tue, 19 Mar 2019 11:17:28 +0000 (11:17 +0000)] 
Update this branch with latest trunk changes.

FossilOrigin-Name: 98cc26598718e5557ee00aa77336024c91e483ec6de650e172ad1b44a6f0a77b

6 years agoAdd a LICENSE.md, containing the text of the blessing.
drh [Tue, 19 Mar 2019 09:57:52 +0000 (09:57 +0000)] 
Add a LICENSE.md, containing the text of the blessing.

FossilOrigin-Name: cbb7e60272cda518fa1bd8d3e3cd02e031b657fef92a9d4d7ed8c2bfb97be7c8

6 years agoEnsure that all the new window-function keywords can still be used as SQL identifiers.
dan [Tue, 19 Mar 2019 06:40:29 +0000 (06:40 +0000)] 
Ensure that all the new window-function keywords can still be used as SQL identifiers.

FossilOrigin-Name: a6d61dfd4780eccfce5f7a5ead6c04e3b78bc4a461551fd7dd602550e0d51084

6 years agoAdd further tests for new window function functionality.
dan [Mon, 18 Mar 2019 21:19:40 +0000 (21:19 +0000)] 
Add further tests for new window function functionality.

FossilOrigin-Name: 1fbddf01b1c3fff95b05e2f2f709754e2b514296060b4846518791e7161d9ddb

6 years agoAlways evaluate window functions using the alternative path usually only used by...
dan [Mon, 18 Mar 2019 18:55:35 +0000 (18:55 +0000)] 
Always evaluate window functions using the alternative path usually only used by EXCLUDE frames if the SQLITE_QueryFlattener test flag is set.

FossilOrigin-Name: 2879a691aca9304aea5acb46bab8e82bb2e08eb54201f3679d60bfc0e8383845

6 years agoFixes for RANGE windows and NULL values.
dan [Mon, 18 Mar 2019 16:51:24 +0000 (16:51 +0000)] 
Fixes for RANGE windows and NULL values.

FossilOrigin-Name: 723c84be3ec5ae941b7abd2442cdb76ca3bd76a5ce2d830b0e648c6e1424885a

6 years agoFix a buffer overread that could occur when running fts5 prefix queries inside a...
dan [Mon, 18 Mar 2019 15:49:07 +0000 (15:49 +0000)] 
Fix a buffer overread that could occur when running fts5 prefix queries inside a transaction.

FossilOrigin-Name: b3fa58dd7403dbd4d2e9f3ae23d7d1337830d6fef2aa2f137ac5174de0d5828e

6 years agoFix an fts5 problem with interleaving reads and writes in a single transaction.
dan [Mon, 18 Mar 2019 15:23:20 +0000 (15:23 +0000)] 
Fix an fts5 problem with interleaving reads and writes in a single transaction.

FossilOrigin-Name: 45c73deb440496e848cb24d4c1326d4105dacfee8bbafb115e567051855e6518

6 years agoFix a typo in a comment. No changes to code.
drh [Mon, 18 Mar 2019 10:30:00 +0000 (10:30 +0000)] 
Fix a typo in a comment.  No changes to code.

FossilOrigin-Name: c2f50aa4e7bad8821e91a7490283dd53e44047d10a8cfebc3e2da26c770a5218