]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
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 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 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

6 years agoNew hyperlink on the README.md file.
drh [Sun, 17 Mar 2019 23:59:02 +0000 (23:59 +0000)] 
New hyperlink on the README.md file.

FossilOrigin-Name: cc5ab96715ebb1089b4e9aa647badd2510aaa056f26004718f921f4ac07e2f93

6 years agoUpdate the README.md file at the top level to talk about how to deal with
drh [Sun, 17 Mar 2019 23:44:16 +0000 (23:44 +0000)] 
Update the README.md file at the top level to talk about how to deal with
version names and how to verify the code in Git mirrors.

FossilOrigin-Name: e8c87a0ac1bf434c12a8ab602e7913a89a51898e818f30fa541a9b5708864212

6 years agoFix problems with RANGE windows and string, blob and NULL values.
dan [Sat, 16 Mar 2019 20:29:54 +0000 (20:29 +0000)] 
Fix problems with RANGE windows and string, blob and NULL values.

FossilOrigin-Name: cebe09e11cc91d9776f259dd9b87e9c760a460f53ba6fa36481dfe58f77ad417

6 years agoIn order to identify the first row of each partition, check if the rowid in the ephem...
dan [Sat, 16 Mar 2019 10:15:24 +0000 (10:15 +0000)] 
In order to identify the first row of each partition, check if the rowid in the ephemeral table is 1 instead of using a dedicated flag register.

FossilOrigin-Name: f2d5f7a24c7aa483c579706c5bd7268a74da6d53025d78fa8642908c2aed1707

6 years agoImplement the EXCLUDE clause for window frames.
dan [Fri, 15 Mar 2019 20:46:19 +0000 (20:46 +0000)] 
Implement the EXCLUDE clause for window frames.

FossilOrigin-Name: 9b43c3ee2e054b05715573f4f3893b84aabc5100832333c9a0f2a1628552a978

6 years agoBack out the change to support Fuchsia, since it turns out fuchsia does not
drh [Fri, 15 Mar 2019 19:08:23 +0000 (19:08 +0000)] 
Back out the change to support Fuchsia, since it turns out fuchsia does not
like dot-file locks.

FossilOrigin-Name: 1d801a3b2c48dc8a918d6da047bc877acf033d5f5c4e1d4b412ba7678ed6f8b3

6 years agoRemove a debugging printf() left in test/sessionfuzz.c.
dan [Fri, 15 Mar 2019 18:57:49 +0000 (18:57 +0000)] 
Remove a debugging printf() left in test/sessionfuzz.c.

FossilOrigin-Name: 73c4abc90264355f3ea6e8c34e5aad6ed665b70fb136c4d416e2a98e46562bbd

6 years agoEnsure that ALTER TABLE commands open statement transactions. Fix for [596d059a].
dan [Fri, 15 Mar 2019 16:17:32 +0000 (16:17 +0000)] 
Ensure that ALTER TABLE commands open statement transactions. Fix for [596d059a].

FossilOrigin-Name: 0f2129f59f7df929106e2af876c2976dea6528c1dc1850d64cddb256f20e121a

6 years agoParse EXCLUDE clauses in window frames. They do not yet work.
dan [Thu, 14 Mar 2019 20:53:21 +0000 (20:53 +0000)] 
Parse EXCLUDE clauses in window frames. They do not yet work.

FossilOrigin-Name: d03c7533a1e993f1b12392a5193b2127484307b27072236a1255e7a30849a381

6 years agoAdd things to this branch that will be required to support the EXCLUDE clause.
dan [Thu, 14 Mar 2019 16:36:20 +0000 (16:36 +0000)] 
Add things to this branch that will be required to support the EXCLUDE clause.

FossilOrigin-Name: 7d66cd2013206ebad50c7cdb7dab9211fa8b47f5cb7067dcb314b3e0180875f8

6 years agoTechnical improvements to the documentation for sqlite3_bind_blob() and
drh [Thu, 14 Mar 2019 00:01:23 +0000 (00:01 +0000)] 
Technical improvements to the documentation for sqlite3_bind_blob() and
sqlite3_bind_text().  No changes to code.

FossilOrigin-Name: fb60150aeedc3898cb249c75c98a7cb48fcec090f94ded7896b634e436c7daa5

6 years agoImprovements to the sqlite3_db_filename() API documentation. No code changes.
drh [Wed, 13 Mar 2019 23:51:05 +0000 (23:51 +0000)] 
Improvements to the sqlite3_db_filename() API documentation.  No code changes.

FossilOrigin-Name: 711f5ec4dc2635e3102a607510cbbe0b468d9f0af935e09d3454e6e925c8dcb2

6 years agoMerge latest trunk changes into this branch.
dan [Wed, 13 Mar 2019 17:31:20 +0000 (17:31 +0000)] 
Merge latest trunk changes into this branch.

FossilOrigin-Name: 0b904517bd6c4c59082381577246d3d2351b4265fc9151438ee4c33cf16f2eb1

6 years agoAvoid allocating excessive registers for the PARTITION BY expressions when processing...
dan [Wed, 13 Mar 2019 17:20:27 +0000 (17:20 +0000)] 
Avoid allocating excessive registers for the PARTITION BY expressions when processing window functions.

FossilOrigin-Name: 180be266238e18c01f8bd52c75dd9aa3e26e553620258141cd95189a0ae59ddb

6 years agoRemove rows from the ephemeral table used by window functions once they are no longer...
dan [Wed, 13 Mar 2019 15:29:14 +0000 (15:29 +0000)] 
Remove rows from the ephemeral table used by window functions once they are no longer required.

FossilOrigin-Name: 6ad553192051eaa0c6d929baacde2de07b93c6d09de861028bbce55a2c9bfdd3

6 years agoNew test cases added to test/fuzzdata8.db
drh [Wed, 13 Mar 2019 13:19:05 +0000 (13:19 +0000)] 
New test cases added to test/fuzzdata8.db

FossilOrigin-Name: 049e9926202317f58c54b6351ff120fb69bf821f409909b1a1c5e335c0396707

6 years agoWhen deserializing a database (sqlite3_deserialize()), do not attempt to parse the...
dan [Wed, 13 Mar 2019 11:40:30 +0000 (11:40 +0000)] 
When deserializing a database (sqlite3_deserialize()), do not attempt to parse the schema before the data is loaded.

FossilOrigin-Name: 4e1b005e8b397a22161a6b89cbd3f17bda70a6e0a86d8abdc61856edf2a74da4

6 years agoDetect zero-length free slots on btree pages and report that as corruption.
drh [Wed, 13 Mar 2019 10:29:16 +0000 (10:29 +0000)] 
Detect zero-length free slots on btree pages and report that as corruption.

FossilOrigin-Name: c4f0568fde1d4070e7522ec36c0958be7426076002a7fa2da12a46411ab2e92d

6 years agoMinor optimization in sqlite3WindowCodeStep().
dan [Wed, 13 Mar 2019 08:28:51 +0000 (08:28 +0000)] 
Minor optimization in sqlite3WindowCodeStep().

FossilOrigin-Name: b1322ffb6e63a110998068bf4f0a903028bd4fc0464ae1e517d745fb46423f39

6 years agoAllow real values to be used in PRECEDING and FOLLOWING expressions for RANGE window...
dan [Tue, 12 Mar 2019 18:28:51 +0000 (18:28 +0000)] 
Allow real values to be used in PRECEDING and FOLLOWING expressions for RANGE window frames.

FossilOrigin-Name: 25ff7091cb12c63b1864ce68a9151f8432af5804b5ae905a2175761ab4b9fdd8

6 years agoExpand on header comment for sqlite3WindowCodeStep(). Further simplify the implementa...
dan [Tue, 12 Mar 2019 15:21:51 +0000 (15:21 +0000)] 
Expand on header comment for sqlite3WindowCodeStep(). Further simplify the implementation of the same.

FossilOrigin-Name: 5129bcc996b3c9f78ab6b674a4364787e7b353b90f15f027cad4431012022c30

6 years agoFix a crash that could occur if the RHS of an IN expression is a correlated sub-query...
dan [Tue, 12 Mar 2019 09:49:10 +0000 (09:49 +0000)] 
Fix a crash that could occur if the RHS of an IN expression is a correlated sub-query that refers to the outer query from within a window frame definition only.

FossilOrigin-Name: 0524aaaf45681437c2dca3d31ff26a65bee7bd2074730277c29136635ee0be0f

6 years agoRemove "cache mode" from the window frame code generator. Handle the same cases by...
dan [Mon, 11 Mar 2019 19:50:54 +0000 (19:50 +0000)] 
Remove "cache mode" from the window frame code generator. Handle the same cases by editing the window frame specification itself.

FossilOrigin-Name: 081263538332bb9c07e62630629007ccbba31bef5dc890f60b4ba58a355f70ac

6 years agoSimplify the windows frame code some. Add a comment explaining some of the VM code...
dan [Mon, 11 Mar 2019 18:17:04 +0000 (18:17 +0000)] 
Simplify the windows frame code some. Add a comment explaining some of the VM code generated by sqlite3WindowCodeStep().

FossilOrigin-Name: 6bd1a07949ff3d394056bfcc813444401ef00806e3f0e0423ff6962541e84bdb

6 years agoFix problems with "RANGE ... ORDER BY <expr> DESC" window frames.
dan [Mon, 11 Mar 2019 11:12:34 +0000 (11:12 +0000)] 
Fix problems with "RANGE ... ORDER BY <expr> DESC" window frames.

FossilOrigin-Name: e7bced731aa071c95bc398cdecd53c939841bf0c52fbcd06e47ba68f8c5cc35a

6 years agoAdd support for RANGE window frames. Some cases still do not work.
dan [Sat, 9 Mar 2019 20:49:17 +0000 (20:49 +0000)] 
Add support for RANGE window frames. Some cases still do not work.

FossilOrigin-Name: ffc32b246d92d53c66094afe11950b53ffab6a1c230c602eebbfedafb2eb57f4

6 years agoMerge latest trunk changes into this branch.
dan [Sat, 9 Mar 2019 07:38:16 +0000 (07:38 +0000)] 
Merge latest trunk changes into this branch.

FossilOrigin-Name: 53ea550ce759ae4683bcf0ae3af655bfe04f85db70f74edee6bcab56d83bb041

6 years agoAdd simple tests for GROUPS window frames.
dan [Fri, 8 Mar 2019 20:57:05 +0000 (20:57 +0000)] 
Add simple tests for GROUPS window frames.

FossilOrigin-Name: 2872702dacadad11f4fd7c437b77ef82763e840c9c92eefe87eac2491c38f963

6 years agoFix a harmless bug in the Makefile.
drh [Fri, 8 Mar 2019 20:26:12 +0000 (20:26 +0000)] 
Fix a harmless bug in the Makefile.

FossilOrigin-Name: 62ac9cb07f5f2d14e716cd0f99f3f2fd34f6c9b4303619be8dfbca2eecf5b727

6 years agoFinish consolidation of window frame code. Add untested support for GROUPS frames.
dan [Fri, 8 Mar 2019 20:02:52 +0000 (20:02 +0000)] 
Finish consolidation of window frame code. Add untested support for GROUPS frames.

FossilOrigin-Name: 954bf369935083c188c3b14e77ed89fc5ec4323cc5b0c67e4a2e48fcc278df45

6 years agoAdd new test cases in test/fuzzdata8.db
drh [Fri, 8 Mar 2019 14:07:15 +0000 (14:07 +0000)] 
Add new test cases in test/fuzzdata8.db

FossilOrigin-Name: 97bdc090f30610cc5dd29101452d1647550387f9c6f742e50f1e07c3cf68a147

6 years agoPatch makes balance_nonroot() slightly smaller and faster and more robust
drh [Fri, 8 Mar 2019 14:02:11 +0000 (14:02 +0000)] 
Patch makes balance_nonroot() slightly smaller and faster and more robust
against corrupt databases.

FossilOrigin-Name: 174da3c32c9caebd642c31cb594597ccd5bb2a7fc501b1f49aef0b7b4765bfca

6 years agoFix another segfault in fts3 that could occur with corrupt records.
dan [Fri, 8 Mar 2019 13:27:27 +0000 (13:27 +0000)] 
Fix another segfault in fts3 that could occur with corrupt records.

FossilOrigin-Name: fcc24edde471c2214add2dbc3a27da8890a7148105c5ffa024faf72457964a5f

6 years agoDetect an attempt to drop a btree that is not within the bounds of the
drh [Fri, 8 Mar 2019 01:52:30 +0000 (01:52 +0000)] 
Detect an attempt to drop a btree that is not within the bounds of the
database file and abort early with an SQLITE_CORRUPT error, to avoid
problems later on in the process.

FossilOrigin-Name: 235a9698f5e9b3c21dc51c9c5042becfb82fc1762a7519a46b9f9fdafe9b0f13

6 years agoFix other "ROWS BETWEEN" cases on this branch.
dan [Thu, 7 Mar 2019 20:47:46 +0000 (20:47 +0000)] 
Fix other "ROWS BETWEEN" cases on this branch.

FossilOrigin-Name: a5f68f66472610b5beb4fe28669fbbfe83a32742be73cecad9b2ae28f8a17b30

6 years agoModify new window functions function so that cursors are stepped immediately after...
dan [Thu, 7 Mar 2019 19:26:17 +0000 (19:26 +0000)] 
Modify new window functions function so that cursors are stepped immediately after each operation, instead of immediately before.

FossilOrigin-Name: 093d2b25f1b656bba57d665aac68109436861b157a5769432b612176dae3f6eb

6 years agoSimplify the window function code generator some more.
dan [Wed, 6 Mar 2019 21:04:11 +0000 (21:04 +0000)] 
Simplify the window function code generator some more.

FossilOrigin-Name: 45cbd3b4498cea8856f189e9d0a192556d4f15212055b8328a1beca6083fc47a

6 years agoImprovements to the way built-in window functions are handled.
dan [Wed, 6 Mar 2019 17:12:32 +0000 (17:12 +0000)] 
Improvements to the way built-in window functions are handled.

FossilOrigin-Name: e8eee566dfca6f4c8af074731dfe91f7fbcd9ca72f0303235b52e4e2e80d5b71

6 years agoAdd the sqlite3_stmt_isexplain() interface.
drh [Wed, 6 Mar 2019 14:53:27 +0000 (14:53 +0000)] 
Add the sqlite3_stmt_isexplain() interface.

FossilOrigin-Name: ee642d3e2775ba4c73627ac71d0abf7a0f7a4ab3151d88e0076e9992f4814983

6 years agoAdd an "|| CORRUPT_DB" term to an assert() that might be false if the database
drh [Wed, 6 Mar 2019 14:08:41 +0000 (14:08 +0000)] 
Add an "|| CORRUPT_DB" term to an assert() that might be false if the database
is corrupt.  Also add a branch to have sqlite3PagerMovepage() return
SQLITE_CORRUPT in that case.

FossilOrigin-Name: b0d5cf40bba34e459caa7480bc84a1d75496c2ab52029f4bb0a31f2d9369a8ee

6 years agoFix a potential 32-bit integer overflow in the "showdb" utility program when
drh [Tue, 5 Mar 2019 23:49:17 +0000 (23:49 +0000)] 
Fix a potential 32-bit integer overflow in the "showdb" utility program when
it is trying to interpret a corrupt database file.

FossilOrigin-Name: 3803e750384ec37091b0a6c350f8ef67720e316fd6f74c95e3c5f231c4a01ceb