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

6 years agoExtend windowCodeStep() to handle any ROWS PRECEDING/FOLLOWING frame specification.
dan [Tue, 5 Mar 2019 19:29:36 +0000 (19:29 +0000)] 
Extend windowCodeStep() to handle any ROWS PRECEDING/FOLLOWING frame specification.

FossilOrigin-Name: af0ea1363548461b2aad8fd54ee3f2f616111dcae2d6480f5294da44c87a0a5d

6 years agoAdd a script to tool/ that will extract the sqlite3.h header file from an
drh [Tue, 5 Mar 2019 16:53:16 +0000 (16:53 +0000)] 
Add a script to tool/ that will extract the sqlite3.h header file from an
sqlite3.c amalgamation.

FossilOrigin-Name: 38d2e510cdedf38153466b161c0842b1604aef7b5589c51f628ae7cbb6a8722a

6 years agoNew dbfuzz2 test cases added to test/fuzzdata7.db
drh [Tue, 5 Mar 2019 14:47:53 +0000 (14:47 +0000)] 
New dbfuzz2 test cases added to test/fuzzdata7.db

FossilOrigin-Name: 25975e1fb2be0c011542c0a6b001385cec8113662df93dc618f725f2a4692bc2

6 years agoIf the initial byte of a record is a large value, then always used the
drh [Tue, 5 Mar 2019 14:39:00 +0000 (14:39 +0000)] 
If the initial byte of a record is a large value, then always used the
generalized record comparison routine sqlite3VdbeRecordCompare() rather than
one of the specialized versions that are optimized for shorter records.

FossilOrigin-Name: c1ac00706bae45fe9735061ada025880606cdfb8ecfdaa36b4e2d04275820861

6 years agoMerge trunk changes into this branch.
dan [Mon, 4 Mar 2019 21:08:53 +0000 (21:08 +0000)] 
Merge trunk changes into this branch.

FossilOrigin-Name: 9b4d561f68febdab6624d8c567fb4357bf67dda500664cf708d16a76f37b8ec1

6 years agoSupport some "ROWS BETWEEN N PRECEDING AND M FOLLOWING" window functions without...
dan [Mon, 4 Mar 2019 21:07:11 +0000 (21:07 +0000)] 
Support some "ROWS BETWEEN N PRECEDING AND M FOLLOWING" window functions without caching entire partitions.

FossilOrigin-Name: e7a91f12282afb5d5d7d78397a11d18e0268ee0c931d85e21fce00d13929494e

6 years agoFix a problem preventing compilation with SQLITE_OMIT_UTF16.
dan [Mon, 4 Mar 2019 07:15:57 +0000 (07:15 +0000)] 
Fix a problem preventing compilation with SQLITE_OMIT_UTF16.

FossilOrigin-Name: 906d1fd8650874236e0bf5734d5347dcc45ec036164a56570fec37da4ffeaf8f

6 years agoImproved comments on the fossildelta.c extension.
drh [Sat, 2 Mar 2019 20:09:35 +0000 (20:09 +0000)] 
Improved comments on the fossildelta.c extension.

FossilOrigin-Name: d7d23f0450d659b2c7df34e4df8623ca7b6fe3bd19422e3e9234515214ae8510

6 years agoFix the SQLITE_DIRECT_OVERFLOW_READ compile-time option so that it works
drh [Sat, 2 Mar 2019 15:25:24 +0000 (15:25 +0000)] 
Fix the SQLITE_DIRECT_OVERFLOW_READ compile-time option so that it works
with SQLITE_HAS_CODEC.

FossilOrigin-Name: fd085e9260bec18f968704abb2dd324d954baa121d13b67c3f5b801e9e3834aa

6 years agoRemove a redundant parameter extraction call from the percentile.c extension.
drh [Sat, 2 Mar 2019 12:17:35 +0000 (12:17 +0000)] 
Remove a redundant parameter extraction call from the percentile.c extension.

FossilOrigin-Name: d49c32e6e7cc341b5961d2c7b7c68d1649c6542eeec201660e3f82a55aea9e3b

6 years agoThe fts3_tokenizer() function returns NULL if the
drh [Fri, 1 Mar 2019 21:33:29 +0000 (21:33 +0000)] 
The fts3_tokenizer() function returns NULL if the
SQLITE_DBCONFIG_ENABLE_FTS_TOKENIZER setting is disabled, which is is
by default.

FossilOrigin-Name: f5732f4caf7a37a6445c61ae0d0ac14cc9deb897376e73aa36a1ead025b92c69

6 years agoFix a minor comment typo. No code changes.
drh [Fri, 1 Mar 2019 21:12:40 +0000 (21:12 +0000)] 
Fix a minor comment typo.  No code changes.

FossilOrigin-Name: 9a0a93c89d3fdd0f9000a9226388e2e53f299165e043913f40b83bf597bfea04

6 years agoIn a query that uses a partial index, the expression that is the WHERE clause
drh [Fri, 1 Mar 2019 18:07:05 +0000 (18:07 +0000)] 
In a query that uses a partial index, the expression that is the WHERE clause
of the partial index must always be true.  Use this fact to avoid evaluating
identical terms in the WHERE clause of the query.

FossilOrigin-Name: 9b2879629c34fc0a8e99d94648903eb93aabbc7a3682c80cb7382f9a9ca5ffb7

6 years agoAdd the ".parameter" command to the CLI.
drh [Thu, 28 Feb 2019 20:10:52 +0000 (20:10 +0000)] 
Add the ".parameter" command to the CLI.

FossilOrigin-Name: 1f9fa58541dc974989eee9c9a5d453956f7dbcf42965ece2db2cb5dee3f3f5e2

6 years agoAdd the new "bind_fallback" method to the "sqlite3" object in the TCL
drh [Thu, 28 Feb 2019 17:29:19 +0000 (17:29 +0000)] 
Add the new "bind_fallback" method to the "sqlite3" object in the TCL
interface.

FossilOrigin-Name: c7f70b6d96338dba201e005104e7f7148c1a8cd767ab05e35b44617c4c797bc5

6 years agoNew test case loaded into test/fuzzdata8.db.
drh [Thu, 28 Feb 2019 14:09:14 +0000 (14:09 +0000)] 
New test case loaded into test/fuzzdata8.db.

FossilOrigin-Name: 00ae0c6c4815366bd2f36bc054b13bc7b568dd0a3caceddf0eba4db33f010ee4

6 years agoAvoid an assert() failure and an undefined left-shift operation in the fts3 snippet...
dan [Thu, 28 Feb 2019 13:41:35 +0000 (13:41 +0000)] 
Avoid an assert() failure and an undefined left-shift operation in the fts3 snippet() function that could occur if the database was corrupt.

FossilOrigin-Name: d5250db6322103326f0d5782ba049996d9ce8784f9e53a3112fb6f09f888f1c3

6 years agoAdd an "|| CORRUPT_DB" term to an assert() statement in the btree defragmenter.
drh [Thu, 28 Feb 2019 13:21:36 +0000 (13:21 +0000)] 
Add an "|| CORRUPT_DB" term to an assert() statement in the btree defragmenter.

FossilOrigin-Name: 6bfd8655f006e031c0d4c988356c4b9206efa6bfdb034fde8ffa3361521a4844

6 years agoEnable the LIKE optimization when the ESCAPE keyword is present and the
drh [Wed, 27 Feb 2019 23:05:14 +0000 (23:05 +0000)] 
Enable the LIKE optimization when the ESCAPE keyword is present and the
PRAGMA case_sensitive_like pragma is ON.

FossilOrigin-Name: 6ae4b8c525f446ddb0e0bdd5e4e01e06e2ab975e3effa42fce6a1102b3a39830

6 years agoFix the readfile() UDF so that it returns an empty BLOB, not an OOM error,
drh [Wed, 27 Feb 2019 19:59:56 +0000 (19:59 +0000)] 
Fix the readfile() UDF so that it returns an empty BLOB, not an OOM error,
when reading an empty file.

FossilOrigin-Name: 0edad5339e36d69aed9289bb3e60d35f9930386d76a62bb0194c4fdf420d16fb

6 years agoAdd the "-returntype" option to the "db function" Tcl method.
dan [Wed, 27 Feb 2019 16:38:19 +0000 (16:38 +0000)] 
Add the "-returntype" option to the "db function" Tcl method.

FossilOrigin-Name: 789a492b68c353e2b763d67d399722b7ab61bfe09b472466df2821f65cab1be9

6 years agoVerify that fts5 auxiliary functions cannot be used in aggregate queries.
dan [Wed, 27 Feb 2019 15:26:03 +0000 (15:26 +0000)] 
Verify that fts5 auxiliary functions cannot be used in aggregate queries.

FossilOrigin-Name: 122330dba3eb2492875bd02a46442306f73e251408447af5e5914ee0c8d6a110

6 years agoReformat the white-space in a few test cases so that the tests work with Tcl 8.6.9.
dan [Tue, 26 Feb 2019 19:16:49 +0000 (19:16 +0000)] 
Reformat the white-space in a few test cases so that the tests work with Tcl 8.6.9.

FossilOrigin-Name: 29d02bf2fa9ecacbcc3e862ca70382f5875da8c1dc7fd27366190045fcc42b15

6 years agoMinor change to dbfuzz2 that allows it to be compiled against older versions
drh [Tue, 26 Feb 2019 18:21:08 +0000 (18:21 +0000)] 
Minor change to dbfuzz2 that allows it to be compiled against older versions
of SQLite.

FossilOrigin-Name: 6d39d6a68bf09e0b4f6706218373e74fc03148fd8bdba5031c3de2f750d87cf2

6 years agoNew test cases added to test/fuzzdata8.db.
drh [Tue, 26 Feb 2019 17:52:44 +0000 (17:52 +0000)] 
New test cases added to test/fuzzdata8.db.

FossilOrigin-Name: 61fdfc57b9539cb6da5fc24653da2c8fb7c041a7409df911df11b987ed479a3a

6 years agoAllocate a few extra bytes for the pager temp page as an overrun buffer while
drh [Tue, 26 Feb 2019 17:49:07 +0000 (17:49 +0000)] 
Allocate a few extra bytes for the pager temp page as an overrun buffer while
processing corrupt database files.

FossilOrigin-Name: e7aca0714bc475e04b16e9db78722ce025d2a1382f80cfc0a49cff2af904eae5

6 years agoUse unsigned integers to count the number of pages in a freelist during
drh [Tue, 26 Feb 2019 16:17:06 +0000 (16:17 +0000)] 
Use unsigned integers to count the number of pages in a freelist during
an integrity_check, to avoid any possibility of a signed integer overflow.

FossilOrigin-Name: 05b87e0755638d31f6d8918f8758362f8c3981661449b5171180a8498f66bd9d

6 years agoFix a harmless compiler warning that only comes up during debug builds.
drh [Tue, 26 Feb 2019 16:11:46 +0000 (16:11 +0000)] 
Fix a harmless compiler warning that only comes up during debug builds.

FossilOrigin-Name: 848869ced988ca4d0ac76d43f984360fd11997a580719cccf8d55becea4e8fb1

6 years agoUpdate the configure-generated makekfile to generate a portable pkgIndex.tcl.
drh [Tue, 26 Feb 2019 12:29:25 +0000 (12:29 +0000)] 
Update the configure-generated makekfile to generate a portable pkgIndex.tcl.

FossilOrigin-Name: 35cbee7fe4a0b7ca06206ca2f69fc35abe3de4929070d6585ab765af82027438

6 years agoEnhance the command-line shell to accept bound parameters, using the
drh [Mon, 25 Feb 2019 18:43:54 +0000 (18:43 +0000)] 
Enhance the command-line shell to accept bound parameters, using the
TEMP table named "$Parameters" to look up the values for bound parameters.

FossilOrigin-Name: 7c941ce5bcc872ec92cbe0e409fd773f44a5ab1f814e689ad57f756b911e2b96

6 years agoUpdate comments on the fossildelta extension. No changes to code.
drh [Mon, 25 Feb 2019 14:52:43 +0000 (14:52 +0000)] 
Update comments on the fossildelta extension.  No changes to code.

FossilOrigin-Name: 9da4fb59b28686630d63a79988b458726332cf06cc0e6e84d7c0a7600f5fcab0

6 years agoFix a typo in the documentation for sqlite3_total_changes().
drh [Mon, 25 Feb 2019 14:16:19 +0000 (14:16 +0000)] 
Fix a typo in the documentation for sqlite3_total_changes().

FossilOrigin-Name: 8474c1560e0c3a28c6a7ed360202a8e7caae3c8259f60bbfa6d2948ab7876f51

6 years agoFix a couple of assert() statements in fts3 that can be false if the database is...
dan [Sat, 23 Feb 2019 20:48:41 +0000 (20:48 +0000)] 
Fix a couple of assert() statements in fts3 that can be false if the database is corrupt.

FossilOrigin-Name: 84162af521f29df8a186163fbdef9856e1aa8aba78e74d7df0ba2cc83bb86240

6 years agoCheck-in [fa792714ae62fa98] is incorrect. Add a test case to refute it and
drh [Sat, 23 Feb 2019 00:21:00 +0000 (00:21 +0000)] 
Check-in [fa792714ae62fa98] is incorrect.  Add a test case to refute it and
also a fix to make it right.
Then add an alternative fix to ticket [df46dfb631f75694] in which
all ephemeral tables used as the RHS of an IN operator be index btrees
and never table btrees so that they can always be reused.

FossilOrigin-Name: d3915230e3ee5878fe2e65a0afb7e91ee124aaf46b4e28c6e00053d6df13d445

6 years agoRemove a testcase() macro which is now unreachable due to the contraction of tkt-df46dfb631
drh [Sat, 23 Feb 2019 00:08:09 +0000 (00:08 +0000)] 
Remove a testcase() macro which is now unreachable due to the contraction of
the use of IN_INDEX_ROWID.

FossilOrigin-Name: 90c5a17cd526b256753f876e575f3e731d5e8b9dd6e196cf8d8f7306e099b91c

6 years agoMake all ephemeral tables built to hold the RHS of an IN operator be
drh [Fri, 22 Feb 2019 23:29:56 +0000 (23:29 +0000)] 
Make all ephemeral tables built to hold the RHS of an IN operator be
index-btrees, never table-btrees, regardless of whether or not they are
used as IN_INDEX_LOOP or IN_INDEX_MEMBERSHIP.  That way, the same ephmerial
table can be reused for both cases.

FossilOrigin-Name: c2d50df8fd1a1fdae6226a3e77296ded09b53a74540caedd4868e686a93cbc10

6 years agoCheck-in [fa792714ae62fa980] is not a valid fix for ticket
drh [Fri, 22 Feb 2019 21:33:56 +0000 (21:33 +0000)] 
Check-in [fa792714ae62fa980] is not a valid fix for ticket
[df46dfb631f75694], as the new test case in this check-in demonstrates.
The fix here causes test cases for the [df46dfb631f75694] bug to fail
again, so this check-in is on a branch.  A new fix is needed for
[df46dfb631f75694].

FossilOrigin-Name: 0d456456da6e25b20d9d27ca95f1013082bca52ee74ee9bf91732a9fa843ea45

6 years agoInternally, remove all references to a Window object that belongs to an expression...
dan [Fri, 22 Feb 2019 19:24:16 +0000 (19:24 +0000)] 
Internally, remove all references to a Window object that belongs to an expression in an ORDER BY clause if that expression is converted to an alias of a result-set expression. Fix for [4feb3159c6].

FossilOrigin-Name: 579b66eaa0816561c6e47ea116b46f229188f0fc84c1173bfe0d21df2dff9a9a

6 years agoIn sqlite3NestedParse() be sure to detect all SQLITE_NOMEM and SQLITE_TOOBIG
drh [Fri, 22 Feb 2019 16:18:12 +0000 (16:18 +0000)] 
In sqlite3NestedParse() be sure to detect all SQLITE_NOMEM and SQLITE_TOOBIG
errors and to distinguish between them.

FossilOrigin-Name: 73056b314bd63288c662752e9bd469b70264c38031c1c857460e64fdb1ed4e2e

6 years agoModify sqlite3_str_finish() and sqlite3VMPrintf() so that they always
drh [Fri, 22 Feb 2019 15:42:10 +0000 (15:42 +0000)] 
Modify sqlite3_str_finish() and sqlite3VMPrintf() so that they always
return NULL on any OOM or SQLITE_LIMIT_LENGTH error.

FossilOrigin-Name: e7144ffd21294d7aebbfa6aa5a262797a6d16de11193f1bf6b75f5f27b04c940

6 years agoDetect oversized strings in the OP_String opcode even if the P4 argument
drh [Thu, 21 Feb 2019 16:41:34 +0000 (16:41 +0000)] 
Detect oversized strings in the OP_String opcode even if the P4 argument
is originally UTF8 and has to be converted to UTF16 to match the database
file and that conversion causes the string to become shorter and cross
below SQLITE_LIMIT_LENGTH threshold.  This might fix an OSSFuzz problem
that we have been so far unable to reproduce.

FossilOrigin-Name: c13d563925db12bc2c91ff9432050261e5bd39d960e2739777a66bf804df2e31

6 years agoChanges to the unix VFS that allegedly enable it to build of Fuchsia.
drh [Wed, 20 Feb 2019 19:20:16 +0000 (19:20 +0000)] 
Changes to the unix VFS that allegedly enable it to build of Fuchsia.
We have no way of testing this.

FossilOrigin-Name: be21a6416d47ff7db995006a0422b745044d9b8bb5bad3c53342aa6e2e524771

6 years agoDisable unix-specific features of dbfuzz2 when compiling on windows.
drh [Wed, 20 Feb 2019 19:06:16 +0000 (19:06 +0000)] 
Disable unix-specific features of dbfuzz2 when compiling on windows.

FossilOrigin-Name: af84774d1eebcfe6a61b564b4edf280ad3c3a93f39b7f70b6fcc56f7bbdfb9eb