]>
git.ipfire.org Git - thirdparty/sqlite.git/log
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
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
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
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
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
drh [Mon, 25 Mar 2019 19:50:19 +0000 (19:50 +0000)]
Earlier detection of corruption while added to the freelist.
FossilOrigin-Name:
8c80b004cae71aaf820a31dba80c100ed162ef5bae845fb4535ff4d3be407500
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
drh [Mon, 25 Mar 2019 15:09:19 +0000 (15:09 +0000)]
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
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
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
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
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
dan [Thu, 21 Mar 2019 21:18:36 +0000 (21:18 +0000)]
Add an extra test for database corruption to defragmentPage().
FossilOrigin-Name:
80e951fce3e5aaa224c8dba6449832d2efabcdc24e86eb6b7833f85cf08ecc00
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
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
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
drh [Wed, 20 Mar 2019 12:08:27 +0000 (12:08 +0000)]
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
mistachkin [Wed, 20 Mar 2019 05:45:03 +0000 (05:45 +0000)]
Fix various harmless compiler warnings seen with MSVC.
FossilOrigin-Name:
1c0fe5b5763fe5cbace9773dcdab742e126d0bd035ab13d61f9d134afa0afc0c
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
drh [Tue, 19 Mar 2019 20:13:41 +0000 (20:13 +0000)]
dan [Tue, 19 Mar 2019 19:39:42 +0000 (19:39 +0000)]
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
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
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
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
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
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
dan [Tue, 19 Mar 2019 11:17:28 +0000 (11:17 +0000)]
Update this branch with latest trunk changes.
FossilOrigin-Name:
98cc26598718e5557ee00aa77336024c91e483ec6de650e172ad1b44a6f0a77b
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
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
dan [Mon, 18 Mar 2019 21:19:40 +0000 (21:19 +0000)]
Add further tests for new window function functionality.
FossilOrigin-Name:
1fbddf01b1c3fff95b05e2f2f709754e2b514296060b4846518791e7161d9ddb
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
dan [Mon, 18 Mar 2019 16:51:24 +0000 (16:51 +0000)]
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
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
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
drh [Sun, 17 Mar 2019 23:59:02 +0000 (23:59 +0000)]
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
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
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
dan [Fri, 15 Mar 2019 20:46:19 +0000 (20:46 +0000)]
Implement the EXCLUDE clause for window frames.
FossilOrigin-Name:
9b43c3ee2e054b05715573f4f3893b84aabc5100832333c9a0f2a1628552a978
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
dan [Fri, 15 Mar 2019 18:57:49 +0000 (18:57 +0000)]
Remove a debugging printf() left in test/sessionfuzz.c.
FossilOrigin-Name:
73c4abc90264355f3ea6e8c34e5aad6ed665b70fb136c4d416e2a98e46562bbd
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
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
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
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
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
dan [Wed, 13 Mar 2019 17:31:20 +0000 (17:31 +0000)]
Merge latest trunk changes into this branch.
FossilOrigin-Name:
0b904517bd6c4c59082381577246d3d2351b4265fc9151438ee4c33cf16f2eb1
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
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
drh [Wed, 13 Mar 2019 13:19:05 +0000 (13:19 +0000)]
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
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
dan [Wed, 13 Mar 2019 08:28:51 +0000 (08:28 +0000)]
Minor optimization in sqlite3WindowCodeStep().
FossilOrigin-Name:
b1322ffb6e63a110998068bf4f0a903028bd4fc0464ae1e517d745fb46423f39
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
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
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
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
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
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
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
dan [Sat, 9 Mar 2019 07:38:16 +0000 (07:38 +0000)]
Merge latest trunk changes into this branch.
FossilOrigin-Name:
53ea550ce759ae4683bcf0ae3af655bfe04f85db70f74edee6bcab56d83bb041
dan [Fri, 8 Mar 2019 20:57:05 +0000 (20:57 +0000)]
drh [Fri, 8 Mar 2019 20:26:12 +0000 (20:26 +0000)]
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
drh [Fri, 8 Mar 2019 14:07:15 +0000 (14:07 +0000)]
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
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
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
dan [Thu, 7 Mar 2019 20:47:46 +0000 (20:47 +0000)]
Fix other "ROWS BETWEEN" cases on this branch.
FossilOrigin-Name:
a5f68f66472610b5beb4fe28669fbbfe83a32742be73cecad9b2ae28f8a17b30
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
dan [Wed, 6 Mar 2019 21:04:11 +0000 (21:04 +0000)]
Simplify the window function code generator some more.
FossilOrigin-Name:
45cbd3b4498cea8856f189e9d0a192556d4f15212055b8328a1beca6083fc47a
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
drh [Wed, 6 Mar 2019 14:53:27 +0000 (14:53 +0000)]
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
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
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
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
drh [Tue, 5 Mar 2019 14:47:53 +0000 (14:47 +0000)]
New dbfuzz2 test cases added to test/fuzzdata7.db
FossilOrigin-Name:
25975e1fb2be0c011542c0a6b001385cec8113662df93dc618f725f2a4692bc2
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
dan [Mon, 4 Mar 2019 21:08:53 +0000 (21:08 +0000)]
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
dan [Mon, 4 Mar 2019 07:15:57 +0000 (07:15 +0000)]
Fix a problem preventing compilation with SQLITE_OMIT_UTF16.
FossilOrigin-Name:
906d1fd8650874236e0bf5734d5347dcc45ec036164a56570fec37da4ffeaf8f
drh [Sat, 2 Mar 2019 20:09:35 +0000 (20:09 +0000)]
Improved comments on the fossildelta.c extension.
FossilOrigin-Name:
d7d23f0450d659b2c7df34e4df8623ca7b6fe3bd19422e3e9234515214ae8510
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
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
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
drh [Fri, 1 Mar 2019 21:12:40 +0000 (21:12 +0000)]
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
drh [Thu, 28 Feb 2019 20:10:52 +0000 (20:10 +0000)]
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
drh [Thu, 28 Feb 2019 14:09:14 +0000 (14:09 +0000)]
New test case loaded into test/fuzzdata8.db.
FossilOrigin-Name:
00ae0c6c4815366bd2f36bc054b13bc7b568dd0a3caceddf0eba4db33f010ee4
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
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
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
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
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