]>
git.ipfire.org Git - thirdparty/sqlite.git/log
dan [Sat, 13 Jul 2019 16:22:50 +0000 (16:22 +0000)]
Rework the FILTER clause implementation to share more code with window functions.
FossilOrigin-Name:
5dac8c38dfc3f41c5c8fb49ca35de7fd1b21f269d72e8ba6ba59ed0a4030a54d
dan [Sat, 13 Jul 2019 09:56:56 +0000 (09:56 +0000)]
Merge latest trunk changes into this branch.
FossilOrigin-Name:
86ab963cc5743867e0535b78a5776e18c13835aa44bf2009f77642df8407cb3f
dan [Sat, 13 Jul 2019 09:55:33 +0000 (09:55 +0000)]
Trivial performance improvement for balance().
FossilOrigin-Name:
c7920f5569022f645ec4dbfce8c228880263785c708c2c0ac065e770c438b1d9
dan [Fri, 12 Jul 2019 15:15:43 +0000 (15:15 +0000)]
Minor performance improvement in vdbeRecordCompareString().
FossilOrigin-Name:
777fec84a5db968e033883920586ec0afef65578be0c1eb3021fce525111edde
drh [Thu, 11 Jul 2019 19:50:18 +0000 (19:50 +0000)]
Improved comments and extra testcase() macros on the serial-type computation
logic in the OP_MakeRecord opcode.
FossilOrigin-Name:
18bfb2179ce2c60cec8f5859a84b737731a5e53b28e35072cbb249f18b94262b
drh [Thu, 11 Jul 2019 19:27:02 +0000 (19:27 +0000)]
Increase the version number to 3.30.0 for the next release cycle.
FossilOrigin-Name:
2578e3c64b0a92ab92143f18d107a1a180bd6fa87243661930771c4c080f8098
drh [Thu, 11 Jul 2019 19:22:36 +0000 (19:22 +0000)]
Move the sqlite3VdbeSerialType() routine in-line in the OP_MakeRecord opcode.
Optimizing compilers were doing this already. By doing it manually, we can
omit some redundant tests and make the whole thing run a million cycles faster
and use about 80 bytes less code space.
FossilOrigin-Name:
d837ab0da52632699abc09320980606aef020df5020c253f99c97e24bf3c6d00
dan [Thu, 11 Jul 2019 18:43:33 +0000 (18:43 +0000)]
Change the parser on this branch to more closely match trunk. This saves a few more cycles.
FossilOrigin-Name:
be01b801fbc258f0ab9542130cec12a5ea5e2d0bf087684a9eda909ad459c211
dan [Wed, 10 Jul 2019 20:16:53 +0000 (20:16 +0000)]
Minor performance improvement in sqlite3ExprDeleteNN().
FossilOrigin-Name:
bcc8b38ac75b731a4cd2873ab83f423be036467a511b617c779869de9bbb5383
drh [Wed, 10 Jul 2019 17:32:03 +0000 (17:32 +0000)]
drh [Tue, 9 Jul 2019 23:35:50 +0000 (23:35 +0000)]
Add the "LL" suffix on a pair of larger integer literals, for compatibility
with older C compilers.
FossilOrigin-Name:
6f328c35947d6b3a0741514757b8944692203e89bdb2e7f9bbce8ad9288be344
dan [Tue, 9 Jul 2019 17:36:26 +0000 (17:36 +0000)]
Update rtree.c so that SQLITE_DEBUG is required to turn on assert() statements, even if it is compiled separately from the amalgamation.
FossilOrigin-Name:
b6e17f0139482a22c2fc84552767bc9a293b282499e3a790de069e0e84455fb2
dan [Tue, 9 Jul 2019 12:03:21 +0000 (12:03 +0000)]
Fix a test script problem in windowfault.test.
FossilOrigin-Name:
47010bf17cb080cc1c693c84d16b986ea4addf9c54bd7e22de1e0f6b555ea9d1
drh [Mon, 8 Jul 2019 18:35:51 +0000 (18:35 +0000)]
Fix dbfuzz2 so that it will compile on systems that do not support getrlimit().
FossilOrigin-Name:
36295dcebcb5487f2a462eabb41900ac28b8e839898ef0fae0aa4730bf9b0671
dan [Mon, 8 Jul 2019 13:45:02 +0000 (13:45 +0000)]
dan [Mon, 8 Jul 2019 12:01:39 +0000 (12:01 +0000)]
Ensure collation sequences and affinities work in window function queries. Fix for [
9ece23d2 ].
FossilOrigin-Name:
28196d894ac9fad9d8f877c7bf17ec9d299d12acdcc942f9ea0783777b14fdc5
dan [Fri, 5 Jul 2019 19:10:41 +0000 (19:10 +0000)]
dan [Fri, 5 Jul 2019 17:38:55 +0000 (17:38 +0000)]
Minor tweak to patch on this branch to reclaim some cycles.
FossilOrigin-Name:
81eed055de856068109a7e332cca0c3ff1120ebe2bfa5ed6383b165c726e0a7c
dan [Fri, 5 Jul 2019 15:16:22 +0000 (15:16 +0000)]
Fix a valgrind problem in fts3corrupt4.test.
FossilOrigin-Name:
cb3dec427e399064eeec31c15565346f045bd7c46d2f7860b1cd346bbcccb124
dan [Thu, 4 Jul 2019 19:19:08 +0000 (19:19 +0000)]
As it requires wal mode support, do not run test file chunksize.test as part of the "journaltest" permutation.
FossilOrigin-Name:
acd2df36c2876ff3cc477889fc99f493cdf53a656bdb84bde6121676c9eeed1f
dan [Thu, 4 Jul 2019 16:30:41 +0000 (16:30 +0000)]
dan [Thu, 4 Jul 2019 16:06:59 +0000 (16:06 +0000)]
Have wapptest.tcl run at least one threadtest with an SQLITE_ENABLE_MEMORY_MANAGEMENT build.
FossilOrigin-Name:
d6131caf6471ad41fa5a28b0067d759ac1cc9dba1170678534488b416f9a1157
dan [Thu, 4 Jul 2019 16:05:26 +0000 (16:05 +0000)]
Fix a race condition that could occur in SQLITE_ENABLE_MEMORY_MANAGEMENT builds when two threads simultaneously open the first two database connections in the process.
FossilOrigin-Name:
5ea3f6fc88cf66824128aa64f777a7abb4f6ed55f214d7a135f36e306a32487c
dan [Wed, 3 Jul 2019 18:31:20 +0000 (18:31 +0000)]
Add tests for the FILTER clause. And a bugfix.
FossilOrigin-Name:
28aa1702f7f0334abd1b30e7aa48ea3679539b11bfbba32bc9f0d6049cf18a7b
drh [Tue, 2 Jul 2019 12:23:09 +0000 (12:23 +0000)]
Restore the legacy behavior of enabling double-quoted string literals in
all contexts. But also provide a new compile-time option (SQLITE_DQS) to
change the default to something more restrictive.
FossilOrigin-Name:
97a94446f3941c313c4c3a19d9f89f24d7ef06e842f79d66f0ad88810b872084
dan [Tue, 2 Jul 2019 11:56:47 +0000 (11:56 +0000)]
Experimental implementation of FILTER clause for aggregate functions.
FossilOrigin-Name:
1f1ae2d6ac8dcbb62e5aa3dc17bc67d559cb565fc0d0a8c00a596075d35f8130
drh [Fri, 28 Jun 2019 07:08:13 +0000 (07:08 +0000)]
Use the OP_Sequence opcode for generating unique rowid values for an
autoindex on a co-routine implementation of a subquery.
FossilOrigin-Name:
eab4297577e4d325fed4757867fc77860de7448998d86f098c8a50272e17d35e
dan [Wed, 26 Jun 2019 21:04:30 +0000 (21:04 +0000)]
Ensure that when an ephemeral cursor is reopened with a second invocation of to OP_OpenEphemeral, the sequence counter is reset and the cache marked as stale. Fix for [
9cdc5c46 ].
FossilOrigin-Name:
5fd20e09a522b62a529cf4d76fbdf0a09426f67ffa30430cac6b81ebf32ba43e
dan [Fri, 21 Jun 2019 14:05:27 +0000 (14:05 +0000)]
Fix a typo in an option name for the .dbconfig command in shell.c.in: s/wriable_schema/writable_schema/
FossilOrigin-Name:
1c58522e49cd91426bca7efccf0d99e0f2803dcd5991ae5d56166fc5510e4c62
dan [Mon, 17 Jun 2019 14:50:33 +0000 (14:50 +0000)]
Fix a problem with handling with handling quoted path elements in extension functions json_set() and json_insert() reported on the mailing list.
FossilOrigin-Name:
45bfcb88e71451a656982e217375e257fc8e68374349c2984be1266bf86fb8cf
drh [Mon, 17 Jun 2019 14:13:30 +0000 (14:13 +0000)]
New sqlite3_db_config() options:
SQLITE_DBCONFIG_LEGACY_ALTER_TABLE,
SQLITE_DBCONFIG_DQS_DML, and
SQLITE_DBCONFIG_DQS_DDL.
FossilOrigin-Name:
a61db8ff6713d66778a0500ca4049229c081a3ae95991f05eba09729434444b3
drh [Mon, 17 Jun 2019 13:56:11 +0000 (13:56 +0000)]
Improved interface to double-quoted string literal enabling/disabling.
FossilOrigin-Name:
923cfd53fcff2fcb91530bf819d2ecb0eda3f6a27dae29c7460f9ce3a3ffce7b
drh [Sun, 16 Jun 2019 14:56:41 +0000 (14:56 +0000)]
Avoid transforming TK_COLLATE or TK_UNLIKELY Expr nodes to TK_REFERENCE.
Instead, transform the uppermost Expr node in the expression tree that
is not of this type. Fix for [
e1e07ef2 ].
FossilOrigin-Name:
54110870487f78013ab1b554413c18baa2bdc07d979bc65c110f32d30c3b53fe
dan [Sun, 16 Jun 2019 08:58:14 +0000 (08:58 +0000)]
Avoid transforming TK_COLLATE or TK_UNLIKELY Expr nodes to TK_REFERENCE. Instead, transform the uppermost Expr node in the expression tree that is not of this type.
FossilOrigin-Name:
ba7870e292919cf6c2f4b65b63fb0420ba2718eb0a797e0ba5302eec551a4238
dan [Sat, 15 Jun 2019 15:32:37 +0000 (15:32 +0000)]
Fix minor problems in the test code in test_demovfs.c.
FossilOrigin-Name:
ca4ddfefc1be1afbf366d87c47f0dd1122350d7ab34ba60020c5babb64a654a4
dan [Sat, 15 Jun 2019 15:27:37 +0000 (15:27 +0000)]
Add extra test case for one of the problems fixed by the previous commit.
FossilOrigin-Name:
0bbceebb126c94b5159079a341fa16e8424b7f2f6b9364561516964e871fb6e0
drh [Sat, 15 Jun 2019 15:21:49 +0000 (15:21 +0000)]
Ensure that sqlite3RenameExprUnmap() does an unmap of the result set alias
names in subqueries when ALTER TABLE fails because of a syntax error in a
trigger.
FossilOrigin-Name:
d3b6f1665f6fb5fc5cf1c0864d779d0b24746ada530f755c7b6ff34766bd2188
drh [Fri, 14 Jun 2019 21:25:25 +0000 (21:25 +0000)]
Add SQLITE_DBCONFIG options LEGACY_ALTER_TABLE, NO_DQS_SCHEMA, and NO_DQS.
FossilOrigin-Name:
1fad20925efa70d0c242e9cba8fa55456fb07a81229c1068da84c6e27d0c0be8
drh [Fri, 14 Jun 2019 17:37:39 +0000 (17:37 +0000)]
Deprecate the SQLITE_ALLOW_COVERING_INDEX_SCAN compile-time option when it is
turned off. This probably will impact no-one. If it does, they will get an
error message instructing them to contact developers, so that we can get
feedback that somebody is actually using this feature. Start-time disabling
of covering index scan is not affected.
FossilOrigin-Name:
23e49f9984f74f242602c6e56bfc645585c7c86bcdd585c322ab0d8e20958d86
drh [Fri, 14 Jun 2019 13:24:46 +0000 (13:24 +0000)]
Fix the implementation of the built-in RTRIM collating sequence so that
it works for control characters at the end of the string.
Ticket [
f1580ba1b574e9e9 ]
FossilOrigin-Name:
86fa0087cd1f5c79ed51b99a226ec2eef5b0fa0a23981d469bec0e02fadf2a68
drh [Fri, 14 Jun 2019 12:28:21 +0000 (12:28 +0000)]
Refactor the LIKE optimization decision logic so that it uses
sqlite3AtoF() on both boundary keys to determine if the optimization can be
used when the LHS is something that might not have TEXT affinity.
Ticket [
ce8717f0885af975 ]. See also [
c94369cae9b561b1 ],
[
b043a54c3de54b28 ], [
fd76310a5e843e07 ], and [
158290c0abafde67 ].
FossilOrigin-Name:
b4a9e09e60213ccff925d09f0b6e549e2a3e3862856c710f108779e2867dec76
drh [Thu, 13 Jun 2019 16:14:53 +0000 (16:14 +0000)]
Add a new requirement mark on the ctime.c code.
FossilOrigin-Name:
c4b405687b010ee20ec02c42913a0540909d0155c88a4a56194fda99c704279e
drh [Thu, 13 Jun 2019 14:07:41 +0000 (14:07 +0000)]
Do not use the %lld printf conversion in the platform printf() as some
legacy platforms do not support it.
FossilOrigin-Name:
f8696b60eec0dcacfe92d9a31cbf1436d674140e5447de0cd1c2f52bff6c2be4
drh [Thu, 13 Jun 2019 13:52:46 +0000 (13:52 +0000)]
Fix a minor error in a test script, and harmless compiler warnings in the CLI code.
FossilOrigin-Name:
eaa34626e497d3af132dd8f13eddbbda89365d369ed43212a5f788175b3d6198
drh [Wed, 12 Jun 2019 22:46:04 +0000 (22:46 +0000)]
Adjust requirements marks and add new requirements tests.
FossilOrigin-Name:
ebb81dad1f43dac4636cd44d4055d1d4b198c675f73e23c5a2d8d992ae27fe1f
drh [Wed, 12 Jun 2019 20:51:38 +0000 (20:51 +0000)]
As a special case, casting '-0.0' into numeric should yield 0.
Fix for ticket [
674385aeba91c774 ].
FossilOrigin-Name:
491f0f9bbddb6302536d99abd1ea481fd747ddcf6c6eaaacc0338d147b119081
dan [Wed, 12 Jun 2019 13:49:32 +0000 (13:49 +0000)]
Handle expressions like "expr IS TRUE COLLATE xyz" in the same way as "expr IS TRUE". Fix for [
4d01eda8115b10d1 ].
FossilOrigin-Name:
5c6146b56a75a94f4baa10e95407c54dd0b9314a57a8702a4b96b15c4d7ac48c
drh [Tue, 11 Jun 2019 21:02:15 +0000 (21:02 +0000)]
The affinity of the unlikely() function and its cousins should be "none".
Ticket [
0c620df60bffd9ef ]
FossilOrigin-Name:
614ecb0af47038848e8ba2aed6b92db6f33ddc4aea6361795dbde440380f5a35
drh [Tue, 11 Jun 2019 18:07:53 +0000 (18:07 +0000)]
Make sure the affinity of the RHS of an IN operator does not affect the
outcome even if the RHS expression contains a COLLATE clause.
Ticket [
57353f8243c637c0 ]
FossilOrigin-Name:
0f748fe58bbbb7ce3f30303da25ec811b2bbce249549aa9c7927979ac5b38013
drh [Tue, 11 Jun 2019 16:43:58 +0000 (16:43 +0000)]
Mark an unreachable branch with an ALWAYS macro.
FossilOrigin-Name:
d4755aca4b435eed62b54af84013f7f176d3fa5b7b1c243555d59de5749fcde5
drh [Tue, 11 Jun 2019 16:07:39 +0000 (16:07 +0000)]
drh [Tue, 11 Jun 2019 16:06:05 +0000 (16:06 +0000)]
Off-by-one error in the CAST to NUMERIC logic.
FossilOrigin-Name:
25b89630206fdbb41c756e98f99baa711d35a8c226697a92339d0fe7e8b3652a
dan [Tue, 11 Jun 2019 12:03:10 +0000 (12:03 +0000)]
Have the ALTER TABLE code handle the case where an entire expression that includes a sub-select is excluded from a view, trigger or index.
FossilOrigin-Name:
f2c8179f3c0b77f10da3f9b0771db4dec30d0bbf0b7f4751ce439bfb08da8f6f
drh [Tue, 11 Jun 2019 10:43:56 +0000 (10:43 +0000)]
Add the new sqlite3ExprUnmapAndDelete() function and use it in place of
separate calls to sqlite3RenameExprUnmap() and sqlite3ExprDelete().
FossilOrigin-Name:
36ea13e0a851a749c9ef292377ecd82dbd4797d38df907b362487fa234c98ca5
drh [Tue, 11 Jun 2019 02:43:22 +0000 (02:43 +0000)]
The ALTER TABLE command should not attempt to rename objects that are
contained within an expression tree that has been optimized out because
it is the other branch of an "AND false" expression.
Ticket [
533010b8cacebe82 ]
FossilOrigin-Name:
04bd5cb73287f926f1ecf578998fa6ce1379474e86918c692eae5778d0817cef
drh [Tue, 11 Jun 2019 01:56:42 +0000 (01:56 +0000)]
Fix repeated test numbers in the altertab2.test file.
FossilOrigin-Name:
e82f235e7201a420149847cda630ac6f2fce5e3a4577b0ea4793f430d3dc1611
drh [Tue, 11 Jun 2019 01:30:39 +0000 (01:30 +0000)]
Remove a comment made obsolete by check-in [
71643deb6bbad4b4 ]. No changes
to code.
FossilOrigin-Name:
211c8002d5ea4b224125d4ed395fe15767d1dc32a77b40b89fdfc80bdd1c5a48
drh [Mon, 10 Jun 2019 23:45:10 +0000 (23:45 +0000)]
A string consisting of a single '.' is not a floating point literal with extra
text at the end. Fix for ticket [
412bba9b22c677da ]
FossilOrigin-Name:
57050162294efec90caa5cc3c2f8c1a85215526adcf57b284ce2d2e799286b78
dan [Mon, 10 Jun 2019 19:17:37 +0000 (19:17 +0000)]
Have ALTER TABLE commands ignore the lhs of "expr IN ()" and "expr NOT IN ()" expressions, just as other queries do. Fix for [
533010b8ca ].
FossilOrigin-Name:
71643deb6bbad4b4a511bfd43b32245b50a555b508b90f33adf0656ae53292c6
drh [Mon, 10 Jun 2019 19:07:15 +0000 (19:07 +0000)]
Improvements to the documentation for the xAccess method of the VFS.
Ticket [
5e0423b058fa5adf ]
FossilOrigin-Name:
7078d77effc296c63c91ec032c866e2b320f081d58e57e9e83cc58373169bda3
drh [Mon, 10 Jun 2019 18:33:16 +0000 (18:33 +0000)]
Make sure a CAST to "NUMERIC" results in an integer if the value can be
losslessly expressed as an integer, as the documentation requires.
Ticket [
dd6bffbfb6e61db9 ].
FossilOrigin-Name:
c0c90961b4fa1c1185772d04fe1915bc1a1af27ed8ddb8db1c524bf90d68ccbf
dan [Mon, 10 Jun 2019 15:34:16 +0000 (15:34 +0000)]
Handle renaming a column or table when the schema contains a (meaningless) index on the constant expression ('text' IN ()) or ('text' NOT IN()).
FossilOrigin-Name:
567b13093956185b5d5e971b81ba4788fd9d26c03688f643b380f0f1c1a94da0
dan [Mon, 10 Jun 2019 13:46:42 +0000 (13:46 +0000)]
Do not attempt the LIKE optimization on a column with numeric affinity if the rhs of the operator begins with whitespace. Fix for ticket [
fd76310a5e ].
FossilOrigin-Name:
94b58ab059cba9771e75f16d1460f313104a8fb879f9f8805725d362aa58cbcd
drh [Fri, 7 Jun 2019 22:51:13 +0000 (22:51 +0000)]
Remove code in the round() SQL function that became unreachable due to
the optimization of check-in [
e95138f5f4febde5 ]
FossilOrigin-Name:
b141bae3f6d16c0ebb59dac9b02086a4370839e71ade34004f647b09b1083d1d
drh [Fri, 7 Jun 2019 22:26:08 +0000 (22:26 +0000)]
When casting string values into numeric and the string has a prefix that looks
like a number but total string is not a well-formed number, then take extra
care that the result is either integer or real depending on what the prefix
looks like. Fix for tickets [
e8bedb2a184001 ] and [
4c2d7639f076aa ].
FossilOrigin-Name:
67a68af5578f08d2be2e48cf4fd12a6cf35a09c47d259deda81950f7ee1f02f7
dan [Fri, 7 Jun 2019 18:56:03 +0000 (18:56 +0000)]
Also upgrade script config.sub to the latest version. This should have been part of the previous commit.
FossilOrigin-Name:
efbf31b82e6e16fda88d8cea54202a8593ff52f2267a44dba828704818162e66
dan [Fri, 7 Jun 2019 18:53:51 +0000 (18:53 +0000)]
Upgrade the config.guess script to the latest version.
FossilOrigin-Name:
be8438133f6cd87e5d51f15cfd1eed83176b3239334875eb0c3dec502cfe39d3
drh [Wed, 5 Jun 2019 14:29:53 +0000 (14:29 +0000)]
CLI enhancements: Add the ".filectrl" command. Make the ".testctrl" command
visible to ".help".
FossilOrigin-Name:
7b3a99fce8b4a757f2b2ef2f0b02d68566f2528d9ae1e30628522717f872466c
dan [Wed, 5 Jun 2019 13:14:19 +0000 (13:14 +0000)]
Add a test case for the unix SQLITE_FCNTL_CHUNK_SIZE file-control.
FossilOrigin-Name:
3a477fd0c944440be03d23c667053b346c769c6a4f6ba1ef094b7581a08d7bd4
drh [Tue, 4 Jun 2019 18:21:59 +0000 (18:21 +0000)]
In the CLI, add a small delay (0.1 seconds) after launching the output
command for ".once" before deleting the temporary file.
FossilOrigin-Name:
4979f138e8c8bef7dd6b5921fb9ca9fea86bbf7ec1419934bb2d1a0d74e77183
drh [Tue, 4 Jun 2019 15:47:37 +0000 (15:47 +0000)]
New dbsqlfuzz test cases add to test/fuzzdata8.db.
FossilOrigin-Name:
873aa46da3d0f97784cad94828fc367bb2ceb13d5ece2e105320f404b3971c85
dan [Tue, 4 Jun 2019 13:11:37 +0000 (13:11 +0000)]
Fix a segfault in fts3 that could occur when processing corrupt fts records.
FossilOrigin-Name:
dff24c6c7a4e7623984b5bb24c2ff14fe079dc49a0ad048cbfc66f84c08875b0
mistachkin [Mon, 3 Jun 2019 15:09:25 +0000 (15:09 +0000)]
drh [Thu, 30 May 2019 13:47:10 +0000 (13:47 +0000)]
Optimization to the round() SQL function for large input values without a
fractional part.
FossilOrigin-Name:
e95138f5f4febde598f39e031d6e4f4d5ad0adbd8dcdd34fd0baaa78ab393417
drh [Thu, 30 May 2019 00:46:37 +0000 (00:46 +0000)]
Smaller and faster sqlite3IsNaN() implementation makes deserialization of
floating point values much faster.
FossilOrigin-Name:
ea748edecb261f2b862d542daff6e99a6fd8879a8ace94b440d99e110577d1c1
drh [Wed, 29 May 2019 21:18:27 +0000 (21:18 +0000)]
Much faster implementation of applyNumericAffinity() by avoiding some
unnecessary calls to sqlite3Atoi64().
FossilOrigin-Name:
c1d8a3f65490eef2216f360d708b1746cbaa6dadce42c0950dc8e09b9ab28ee2
drh [Wed, 29 May 2019 18:33:59 +0000 (18:33 +0000)]
drh [Wed, 29 May 2019 17:22:38 +0000 (17:22 +0000)]
Fix the query flattener optimization so that it preserve the "SF_Compound"
bit when flattening a compound subquery into a non-compound outer query.
Failure to preserve that bit could allow subsequent flattenings which are
not valid. Fix for ticket [
c41afac34f15781fe09cd ].
FossilOrigin-Name:
523b42371122d9e1b3185425745f1490138bff7f7cc941ee26ee81df7ade5bf4
dan [Tue, 28 May 2019 14:42:32 +0000 (14:42 +0000)]
Fix an assert() in fts3 that could fail when processing corrupt records. Also some minor sanitizer warnings.
FossilOrigin-Name:
c736c40aab071a69bd5c5347b7c116d87ea3954019e967ca8ff7bdb4b518e5bf
drh [Mon, 27 May 2019 11:21:43 +0000 (11:21 +0000)]
Fix an error message on the blobread() extension function so that it says
"read" instead of "write".
FossilOrigin-Name:
7cbb9a5fe835d01be158edd1e2f9d553dc257f2d27b53a5d5bf6660d0bd101c4
drh [Mon, 27 May 2019 11:09:55 +0000 (11:09 +0000)]
Fix a memory leak in the delta_parse() table-valued function of the
fossildelta.c extension.
FossilOrigin-Name:
c86ca3f0220a5f9e7f7f1818f6e1220d851f3ebed6a5f0aae6ac38309bd2930e
drh [Mon, 27 May 2019 00:29:15 +0000 (00:29 +0000)]
Improved rounding even on systems with an 8-byte "long double" type.
FossilOrigin-Name:
15202aee150fa8e15fb90e90e5765c5e19a1eaf4896da2996a747636b76da8e6
drh [Sat, 25 May 2019 18:17:53 +0000 (18:17 +0000)]
Performance enhancement in sqlite3AtoF(). About 8% faster.
FossilOrigin-Name:
81721aa54587e20d031d528fb6b74d91671a6e950fa926dc63f4284466e70f0e
drh [Sat, 25 May 2019 17:41:07 +0000 (17:41 +0000)]
Use "long double" literals to initialize an array of "long double" objects.
FossilOrigin-Name:
2e2ebad3ab636c4c65814ad41d417b105be8e254d609d0e08fbba4c5bd107bf3
drh [Sat, 25 May 2019 13:14:19 +0000 (13:14 +0000)]
Add new cases to speedtest1 for measuring performance of binary to/from decimal
conversions of floating point values.
FossilOrigin-Name:
b84e7057c05338347b4267f7ccc1d7b9b6d4e9a941ce8b76bf2c27c26772000c
drh [Sat, 25 May 2019 00:17:26 +0000 (00:17 +0000)]
Disable the new rounding tests on systems without long double support.
FossilOrigin-Name:
ed250b4e18ea042d681bbe8d7ed00895564f4525c22928a003a84585b4756ec3
drh [Fri, 24 May 2019 22:58:16 +0000 (22:58 +0000)]
Improvements to rounding behavior in the round() and printf() functions.
FossilOrigin-Name:
641b2d210541b4d5a1a9e57d7dcf5ce5dfd7ff4d2dc6277ba0582869f48fc946
dan [Fri, 24 May 2019 11:55:01 +0000 (11:55 +0000)]
Fix an fts5 segfault that could occur after parsing a corrupt structure record.
FossilOrigin-Name:
600daa9c27206628bf74892376ded35dac11fe0a34894fcd975ad5041a0a0fda
dan [Thu, 23 May 2019 16:40:45 +0000 (16:40 +0000)]
Add test cases for the fix in the previous commit.
FossilOrigin-Name:
c1057b2a60add08e5c80ef2a53932a690b096f2eb03c7de863844deaa8fc9d53
drh [Thu, 23 May 2019 16:38:12 +0000 (16:38 +0000)]
Improvements to the view-self-join optimization so that it works on all
VIEWs, not just on Common Table Expressions.
FossilOrigin-Name:
d2fe370cafa9b11f6c3eb4e1c3be48d9d2610b9d2f9d9ebf9e50267f9079dfc0
drh [Wed, 22 May 2019 23:12:10 +0000 (23:12 +0000)]
New test case for check-in [
74ef97bf51dd531a ] that takes the fix in the
previous check-in into account.
FossilOrigin-Name:
cb1d06521de5918a2324a41e207b48c5e5149c23b927b9e3e1f3c3b38b82658e
drh [Wed, 22 May 2019 22:49:23 +0000 (22:49 +0000)]
Renumber the Select.selId values in the copies of SELECT statements that
implement VIEWs when the VIEW is expanded, so that when the same VIEW is
used twice in the same join, each expansion as a distinct selId.
This fixes ticket [
ce823231949d3abf42453c8 ].
FossilOrigin-Name:
3cacc4b940fd69776d930deec9512df47a2f22cb04fb955e354a0b25bdec287c
drh [Wed, 22 May 2019 14:35:10 +0000 (14:35 +0000)]
New dbsqlfuzz find added to test/fuzzdata8.db.
FossilOrigin-Name:
42af7c819bc52ccb6953a58b1c05d3bd47cc438c5119a9555b1b796764eb9f20
dan [Wed, 22 May 2019 14:22:44 +0000 (14:22 +0000)]
Fix a buffer overread that could in fts3 when dealing with corrupt records.
FossilOrigin-Name:
1660d7733eb443ab085ddef7666b998a1c75ac81cc54a9620960a8d3b377e28e
drh [Tue, 21 May 2019 17:04:27 +0000 (17:04 +0000)]
Combine the implementations of the key and hexkey pragmas into a single
case. Have both pragmas return "ok" if they are implemented.
FossilOrigin-Name:
b3692c406f7ba62587c9d3256f888748393519680e9e2db53f59557f1a300e05
dan [Tue, 21 May 2019 16:32:41 +0000 (16:32 +0000)]
Fix a problem in [
b5ca442a ] causing an assert() to fail in REINDEX commands.
FossilOrigin-Name:
a3e77c7776ab01dadb9d30d6067ac97e9d4b09ec54834558a5fa1ffed7b52c72
dan [Tue, 21 May 2019 14:42:24 +0000 (14:42 +0000)]
Use a statement journal for all CREATE INDEX statements in case an indexed exprsesion throws an exception when it is evaluated. Fix for [
b5ca442a ].
FossilOrigin-Name:
b8071d10cba8f6c19fb8d5df3877f72567dc6d6a94744a39cbc1f58b2e2f343b
dan [Mon, 20 May 2019 19:46:30 +0000 (19:46 +0000)]
Fix a segfault that could occur in sqlite3session_diff() if NULL were passed as the pzErrMsg argument.
FossilOrigin-Name:
aee73fd28f031a2568ac723de0826be7f1dca6be3b049e4a04fb47af75dcf4bf
drh [Mon, 20 May 2019 18:43:57 +0000 (18:43 +0000)]
Improvements to the automatic compile-time selection of byte-order, as
suggested on the mailing list by Seb Kemper.
FossilOrigin-Name:
b7aad929619f7043b1685a6477d50f6b4436e85511eb365eceae3dd4dbab571a
drh [Mon, 20 May 2019 18:35:49 +0000 (18:35 +0000)]
A minor variation on check-in [
1685610ef8e0dc ] which (hopefully) makes the
logic a little easier to follow. Also disallows the use of the double-quoted
string hack in the query expression used for VACUUM INTO, which is not
strictly required, but moves us toward the goal of disallowing the double-quoted
string hack everywhere.
FossilOrigin-Name:
3e1b55f3ab85710ed81574904718205c7370b5f0b5a41029e961486d2e3f37c7