]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
6 years agoMerge trunk changes into this branch. wapptest
dan [Thu, 11 Apr 2019 19:04:01 +0000 (19:04 +0000)] 
Merge trunk changes into this branch.

FossilOrigin-Name: d805fc0cf1c4ef07a7bc947f75828931e3788d0e64730caab3b42ae58009a194

6 years agoFurther tweaks to wapptest.tcl. Add the ability to run the extra (n)debug tests that...
dan [Thu, 11 Apr 2019 19:03:15 +0000 (19:03 +0000)] 
Further tweaks to wapptest.tcl. Add the ability to run the extra (n)debug tests that releasetest.tcl runs.

FossilOrigin-Name: ec9c4f6d8da25dcc834812c2bb24bda1017833b1c572bdbbf87f0191e1310706

6 years agoRemove the vfslog.c extension from the testfixture target in main.mk, as
drh [Thu, 11 Apr 2019 17:06:54 +0000 (17:06 +0000)] 
Remove the vfslog.c extension from the testfixture target in main.mk, as
that extension has no TCL bindings and is inaccessible.

FossilOrigin-Name: d71f8bbc4efd8af935671c4e7626862d6e5a4c2e51527b9e82b2f0c94ddf6e93

6 years agoFix RBU so that it does not write rows that should be excluded into partial indexes...
dan [Thu, 11 Apr 2019 16:54:20 +0000 (16:54 +0000)] 
Fix RBU so that it does not write rows that should be excluded into partial indexes (corrupting the database).

FossilOrigin-Name: 31eb27f438ad727b095a518bfe0f7ed37cb806fc1e6929b821eddcc6cc9de260

6 years agoFix the checksymbols target in Makefile.in.
dan [Thu, 11 Apr 2019 06:50:52 +0000 (06:50 +0000)] 
Fix the checksymbols target in Makefile.in.

FossilOrigin-Name: 1956eb348170a9a873878b522f377fa7303cdb3beca41f5515b6b9da1b1f544d

6 years agoHave wapptest.tcl display the name, OS and architecture of the host.
dan [Wed, 10 Apr 2019 19:45:19 +0000 (19:45 +0000)] 
Have wapptest.tcl display the name, OS and architecture of the host.

FossilOrigin-Name: c47e53b4d0f29628bd20ba3daf7e759c4bfed07710d982c095445c01376d57f5

6 years agoVarious fixes for the wapptest.tcl script.
dan [Wed, 10 Apr 2019 18:56:30 +0000 (18:56 +0000)] 
Various fixes for the wapptest.tcl script.

FossilOrigin-Name: cbf423656047f0cb5200be6981a205e0ae206eef8263aa686f4a3621fb07fb57

6 years agoUpdate the list of OMIT options in the omittest.tcl script.
drh [Wed, 10 Apr 2019 18:29:40 +0000 (18:29 +0000)] 
Update the list of OMIT options in the omittest.tcl script.

FossilOrigin-Name: f294cfc173c5653ef161dbff63b7838dbccdcad797f5163c49b3173f9f35ab0f

6 years agoFurther refinement of the sqlite3VdbeMEmExpandBlob() fix of check-in
drh [Wed, 10 Apr 2019 13:24:35 +0000 (13:24 +0000)] 
Further refinement of the sqlite3VdbeMEmExpandBlob() fix of check-in
[df58774e994bd] to prevent a reference to an unused variable - problem
discovered by Valgrind.

FossilOrigin-Name: 09435b5700a2650816ad9ffa628be5fa19da62369c30329801feb5e840463c7e

6 years agoChange the name of some internal testing interfaces to avoid a name
drh [Wed, 10 Apr 2019 12:02:55 +0000 (12:02 +0000)] 
Change the name of some internal testing interfaces to avoid a name
conflict in AIX.

FossilOrigin-Name: c1cae7e7f0a612508c8f82b334d9ebc423f443e99b13092d52e26b348c7cbc5e

6 years agoDo not place arbitrary restrictions on the length of the failure message
drh [Wed, 10 Apr 2019 00:58:07 +0000 (00:58 +0000)] 
Do not place arbitrary restrictions on the length of the failure message
for a uniqueness constraint.

FossilOrigin-Name: 037da798fa5510ba7c776831ebcd683a85dca28e25bc657ff17bb2b08c3d406e

6 years agoNew test case for SQLITE_TOOBIG errors.
drh [Tue, 9 Apr 2019 21:37:27 +0000 (21:37 +0000)] 
New test case for SQLITE_TOOBIG errors.

FossilOrigin-Name: 4c77fbbe5d54248821161d708d0631fab65659bef31f95a61af681d4639f5918

6 years agoImproved reporting of SQLITE_TOOBIG errors while parsing.
drh [Tue, 9 Apr 2019 21:32:46 +0000 (21:32 +0000)] 
Improved reporting of SQLITE_TOOBIG errors while parsing.

FossilOrigin-Name: ea2d4b65e20e44e19219c821bf68e97ff3af1760b3b4762250d020ba2a5a6343

6 years agoFix a problem caused by a small SQLITE_LIMIT_LENGTH value and a CREATE TABLE with... toobig-fix
dan [Tue, 9 Apr 2019 20:50:44 +0000 (20:50 +0000)] 
Fix a problem caused by a small SQLITE_LIMIT_LENGTH value and a CREATE TABLE with a very large name.

FossilOrigin-Name: 9b5d408864920b302f2d21abcae1d90f1e0cd68b18262136554ba0e6219d6025

6 years agoAdd test/wapptest.tcl, a wapp alternative to releasetest.tcl.
dan [Tue, 9 Apr 2019 19:53:32 +0000 (19:53 +0000)] 
Add test/wapptest.tcl, a wapp alternative to releasetest.tcl.

FossilOrigin-Name: a4af0c2fee05aaa2e95ae6a5c847ff2d363e24f325f4ffdcf51bc264b9bf5e2d

6 years agoUse an unsigned integer to count free pages in btree.c:freePage2().
drh [Tue, 9 Apr 2019 01:26:31 +0000 (01:26 +0000)] 
Use an unsigned integer to count free pages in btree.c:freePage2().

FossilOrigin-Name: 8820408597341344b308277ce6ef41b47c7514d6c613520789b05ee52cbedae8

6 years agoMake the testcase() macro added in the previous check-in reachable for
drh [Sun, 7 Apr 2019 18:21:12 +0000 (18:21 +0000)] 
Make the testcase() macro added in the previous check-in reachable for
testing.

FossilOrigin-Name: 80704a16f6dbbeacc65fa36a3623df10292a28aeacf9e2c1d2891258479e3b89

6 years agoFix a faulty assert() in the sqlite3VdbeMemExpandBlob() routine.
drh [Sun, 7 Apr 2019 18:04:57 +0000 (18:04 +0000)] 
Fix a faulty assert() in the sqlite3VdbeMemExpandBlob() routine.

FossilOrigin-Name: df58774e994bd306b1a2e1f259e7e4408f01c5b1dc104673698168bbf8a63ce5

6 years agoFix two assert() statements in fts5 that are only true if the database is not corrupt.
dan [Sat, 6 Apr 2019 15:38:46 +0000 (15:38 +0000)] 
Fix two assert() statements in fts5 that are only true if the database is not corrupt.

FossilOrigin-Name: edb095a9a679c8c702abd0a487e55ed4b09110b54bcd7d5275020576f2713a39

6 years agoRemove some stale references to the addopcodes.tcl script from documentation.
drh [Fri, 5 Apr 2019 21:17:11 +0000 (21:17 +0000)] 
Remove some stale references to the addopcodes.tcl script from documentation.

FossilOrigin-Name: c0381b0bc90aa3c2415c4b3ac338cfe6d308bb5d4247bc6f2b6e919f549c254c

6 years agoEliminate the tool/addopcodes.tcl script. The purpose of that script was to
drh [Fri, 5 Apr 2019 20:56:46 +0000 (20:56 +0000)] 
Eliminate the tool/addopcodes.tcl script.  The purpose of that script was to
keep the number of parser codes below 256 in order to save parser table space.
But we have long since blown through that ceiling so the addopcodes.tcl script
was just needless complexity. There is no longer any reason to keep it around.

FossilOrigin-Name: d272819298083ebbde57962a2938925b1aaa1caf03e48bb3ea26ad91e0461d84

6 years agoAdd further tests so that veryquick.test covers all vdbe branches.
dan [Fri, 5 Apr 2019 20:47:15 +0000 (20:47 +0000)] 
Add further tests so that veryquick.test covers all vdbe branches.

FossilOrigin-Name: cbc67de5a3937fa65811ed7c13e870699c895660dc2132cf9d3cf5d83364e344

6 years agoImproved comment on the sqlite3FaultSim() function. No changes to code.
drh [Fri, 5 Apr 2019 17:22:50 +0000 (17:22 +0000)] 
Improved comment on the sqlite3FaultSim() function.  No changes to code.

FossilOrigin-Name: 08b29672c552e5a6a3874746c6cc7025295e0e44dec43a1bfba3022acce849ff

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