]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
5 years agoDo not use the insert-overwrite optimization if the cell might overwrite the branch-3.29
drh [Mon, 22 Jul 2019 23:30:44 +0000 (23:30 +0000)] 
Do not use the insert-overwrite optimization if the cell might overwrite the
page header.

FossilOrigin-Name: 9991626b25ad5cc782d8de0b5b4522bccbe13256772742c9031aa824c5293522

5 years agoFix a new problem in the BETWEEN operator when applied to a window function.
drh [Fri, 19 Jul 2019 01:25:27 +0000 (01:25 +0000)] 
Fix a new problem in the BETWEEN operator when applied to a window function.
The problem was introduced yesterday by check-in [7ef7b23cbb1b9ace].
This cherry-pick also needed to remove an assert from sqliteExprDelete().

FossilOrigin-Name: ce6bf395e2440f0e2fb333ff9e7355a733eb8d82aacb6c379b5b1c2779a5df14

5 years agoWhen processing a BETWEEN or CASE expression, avoid transforming a node of the origin...
drh [Wed, 17 Jul 2019 18:19:37 +0000 (18:19 +0000)] 
When processing a BETWEEN or CASE expression, avoid transforming a node of the original expression into a TK_REGISTER node. Instead, take a copy and use it instead. Fix for [1be72aab9].

FossilOrigin-Name: bc6b0d73ee16c433b012ad3e69c9e09efd7ea34029ff0c29c2f004d7a3214c66

5 years agoFix problems with duplicate fields in the PRIMARY KEYs of WITHOUT ROWID tables.
drh [Wed, 17 Jul 2019 18:11:11 +0000 (18:11 +0000)] 
Fix problems with duplicate fields in the PRIMARY KEYs of WITHOUT ROWID tables.

FossilOrigin-Name: bda258834b11545ba6288a78dc469eb99d014182bb36006f441da65b264249a9

5 years agoVersion 3.29.0 version-3.29.0
drh [Wed, 10 Jul 2019 17:32:03 +0000 (17:32 +0000)] 
Version 3.29.0

FossilOrigin-Name: fc82b73eaac8b36950e527f12c4b5dc1e147e6f4ad2217ae43ad82882a88bfa6

5 years agoAdd the "LL" suffix on a pair of larger integer literals, for compatibility
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

5 years agoUpdate rtree.c so that SQLITE_DEBUG is required to turn on assert() statements, even...
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

5 years agoFix a test script problem in windowfault.test.
dan [Tue, 9 Jul 2019 12:03:21 +0000 (12:03 +0000)] 
Fix a test script problem in windowfault.test.

FossilOrigin-Name: 47010bf17cb080cc1c693c84d16b986ea4addf9c54bd7e22de1e0f6b555ea9d1

5 years agoFix dbfuzz2 so that it will compile on systems that do not support getrlimit().
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

5 years agoFix an assert() that [28196d89] caused to fail.
dan [Mon, 8 Jul 2019 13:45:02 +0000 (13:45 +0000)] 
Fix an assert() that [28196d89] caused to fail.

FossilOrigin-Name: 8fb0c6d5a38e77aa4c5f394fb8af1b0c7c6a4790e932aabc213a3078ee9acaf6

5 years agoEnsure collation sequences and affinities work in window function queries. Fix for...
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

6 years agoFix a valgrind problem in fts3corrupt4.test.
dan [Fri, 5 Jul 2019 15:16:22 +0000 (15:16 +0000)] 
Fix a valgrind problem in fts3corrupt4.test.

FossilOrigin-Name: cb3dec427e399064eeec31c15565346f045bd7c46d2f7860b1cd346bbcccb124

6 years agoAs it requires wal mode support, do not run test file chunksize.test as part of the...
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

6 years agoFix a typo in the wapptest.tcl script.
dan [Thu, 4 Jul 2019 16:30:41 +0000 (16:30 +0000)] 
Fix a typo in the wapptest.tcl script.

FossilOrigin-Name: 971b4422ae7a8eed67f5db62c0e1cc061faac9404ff5f7051d7e07decf2207a4

6 years agoHave wapptest.tcl run at least one threadtest with an SQLITE_ENABLE_MEMORY_MANAGEMENT...
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

6 years agoFix a race condition that could occur in SQLITE_ENABLE_MEMORY_MANAGEMENT builds when...
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

6 years agoRestore the legacy behavior of enabling double-quoted string literals in
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

6 years agoUse the OP_Sequence opcode for generating unique rowid values for an
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

6 years agoEnsure that when an ephemeral cursor is reopened with a second invocation of to OP_Op...
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

6 years agoFix a typo in an option name for the .dbconfig command in shell.c.in: s/wriable_schem...
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

6 years agoFix a problem with handling with handling quoted path elements in extension functions...
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

6 years agoNew sqlite3_db_config() options:
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

6 years agoImproved interface to double-quoted string literal enabling/disabling. new-dbconfig-options
drh [Mon, 17 Jun 2019 13:56:11 +0000 (13:56 +0000)] 
Improved interface to double-quoted string literal enabling/disabling.

FossilOrigin-Name: 923cfd53fcff2fcb91530bf819d2ecb0eda3f6a27dae29c7460f9ce3a3ffce7b

6 years agoAvoid transforming TK_COLLATE or TK_UNLIKELY Expr nodes to TK_REFERENCE.
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

6 years agoAvoid transforming TK_COLLATE or TK_UNLIKELY Expr nodes to TK_REFERENCE. Instead... tkt-e1e07ef2
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

6 years agoFix minor problems in the test code in test_demovfs.c.
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

6 years agoAdd extra test case for one of the problems fixed by the previous commit.
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

6 years agoEnsure that sqlite3RenameExprUnmap() does an unmap of the result set alias
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

6 years agoAdd SQLITE_DBCONFIG options LEGACY_ALTER_TABLE, NO_DQS_SCHEMA, and NO_DQS.
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

6 years agoDeprecate the SQLITE_ALLOW_COVERING_INDEX_SCAN compile-time option when it is
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

6 years agoFix the implementation of the built-in RTRIM collating sequence so that
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

6 years agoRefactor the LIKE optimization decision logic so that it uses
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

6 years agoAdd a new requirement mark on the ctime.c code.
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

6 years agoDo not use the %lld printf conversion in the platform printf() as some
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

6 years agoFix a minor error in a test script, and harmless compiler warnings in the CLI code.
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

6 years agoAdjust requirements marks and add new requirements tests.
drh [Wed, 12 Jun 2019 22:46:04 +0000 (22:46 +0000)] 
Adjust requirements marks and add new requirements tests.

FossilOrigin-Name: ebb81dad1f43dac4636cd44d4055d1d4b198c675f73e23c5a2d8d992ae27fe1f

6 years agoAs a special case, casting '-0.0' into numeric should yield 0.
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

6 years agoHandle expressions like "expr IS TRUE COLLATE xyz" in the same way as "expr IS TRUE...
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

6 years agoThe affinity of the unlikely() function and its cousins should be "none".
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

6 years agoMake sure the affinity of the RHS of an IN operator does not affect the
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

6 years agoMark an unreachable branch with an ALWAYS macro.
drh [Tue, 11 Jun 2019 16:43:58 +0000 (16:43 +0000)] 
Mark an unreachable branch with an ALWAYS macro.

FossilOrigin-Name: d4755aca4b435eed62b54af84013f7f176d3fa5b7b1c243555d59de5749fcde5

6 years agoNew test case in fuzzdata8.db.
drh [Tue, 11 Jun 2019 16:07:39 +0000 (16:07 +0000)] 
New test case in fuzzdata8.db.

FossilOrigin-Name: e96641f0be7d4454215459b0a95cf1c46ba0133e46d0bae22269741c8f4e5b44

6 years agoOff-by-one error in the CAST to NUMERIC logic.
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

6 years agoHave the ALTER TABLE code handle the case where an entire expression that includes...
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

6 years agoAdd the new sqlite3ExprUnmapAndDelete() function and use it in place of
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

6 years agoThe ALTER TABLE command should not attempt to rename objects that are
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

6 years agoFix repeated test numbers in the altertab2.test file.
drh [Tue, 11 Jun 2019 01:56:42 +0000 (01:56 +0000)] 
Fix repeated test numbers in the altertab2.test file.

FossilOrigin-Name: e82f235e7201a420149847cda630ac6f2fce5e3a4577b0ea4793f430d3dc1611

6 years agoRemove a comment made obsolete by check-in [71643deb6bbad4b4]. No changes
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

6 years agoA string consisting of a single '.' is not a floating point literal with extra
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

6 years agoHave ALTER TABLE commands ignore the lhs of "expr IN ()" and "expr NOT IN ()" express...
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

6 years agoImprovements to the documentation for the xAccess method of the VFS.
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

6 years agoMake sure a CAST to "NUMERIC" results in an integer if the value can be
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

6 years agoHandle renaming a column or table when the schema contains a (meaningless) index...
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

6 years agoDo not attempt the LIKE optimization on a column with numeric affinity if the rhs...
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

6 years agoRemove code in the round() SQL function that became unreachable due to
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

6 years agoWhen casting string values into numeric and the string has a prefix that looks
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

6 years agoAlso upgrade script config.sub to the latest version. This should have been part...
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

6 years agoUpgrade the config.guess script to the latest version.
dan [Fri, 7 Jun 2019 18:53:51 +0000 (18:53 +0000)] 
Upgrade the config.guess script to the latest version.

FossilOrigin-Name: be8438133f6cd87e5d51f15cfd1eed83176b3239334875eb0c3dec502cfe39d3

6 years agoCLI enhancements: Add the ".filectrl" command. Make the ".testctrl" command
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

6 years agoAdd a test case for the unix SQLITE_FCNTL_CHUNK_SIZE file-control.
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

6 years agoIn the CLI, add a small delay (0.1 seconds) after launching the output
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

6 years agoNew dbsqlfuzz test cases add to test/fuzzdata8.db.
drh [Tue, 4 Jun 2019 15:47:37 +0000 (15:47 +0000)] 
New dbsqlfuzz test cases add to test/fuzzdata8.db.

FossilOrigin-Name: 873aa46da3d0f97784cad94828fc367bb2ceb13d5ece2e105320f404b3971c85

6 years agoFix a segfault in fts3 that could occur when processing corrupt fts records.
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

6 years agoFix harmless compiler warning in lemon.
mistachkin [Mon, 3 Jun 2019 15:09:25 +0000 (15:09 +0000)] 
Fix harmless compiler warning in lemon.

FossilOrigin-Name: 2da0eea02d128c37f2fbe764227ac526d3e993284516544adc0a216a035c5676

6 years agoOptimization to the round() SQL function for large input values without a
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

6 years agoSmaller and faster sqlite3IsNaN() implementation makes deserialization of
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

6 years agoMuch faster implementation of applyNumericAffinity() by avoiding some
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

6 years agoAdd an assert() as an additional test for fix in check-in [523b42371122d9e1b3].
drh [Wed, 29 May 2019 18:33:59 +0000 (18:33 +0000)] 
Add an assert() as an additional test for fix in check-in [523b42371122d9e1b3].

FossilOrigin-Name: f9e85e6c79162081f8f512d22951931a89d157a32b24afdc48b7eb865379abe7

6 years agoFix the query flattener optimization so that it preserve the "SF_Compound"
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

6 years agoFix an assert() in fts3 that could fail when processing corrupt records. Also some...
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

6 years agoFix an error message on the blobread() extension function so that it says
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

6 years agoFix a memory leak in the delta_parse() table-valued function of the
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

6 years agoImproved rounding even on systems with an 8-byte "long double" type.
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

6 years agoPerformance enhancement in sqlite3AtoF(). About 8% faster.
drh [Sat, 25 May 2019 18:17:53 +0000 (18:17 +0000)] 
Performance enhancement in sqlite3AtoF().  About 8% faster.

FossilOrigin-Name: 81721aa54587e20d031d528fb6b74d91671a6e950fa926dc63f4284466e70f0e

6 years agoUse "long double" literals to initialize an array of "long double" objects.
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

6 years agoAdd new cases to speedtest1 for measuring performance of binary to/from decimal
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

6 years agoDisable the new rounding tests on systems without long double support.
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

6 years agoImprovements to rounding behavior in the round() and printf() functions.
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

6 years agoFix an fts5 segfault that could occur after parsing a corrupt structure record.
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

6 years agoAdd test cases for the fix in the previous commit.
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

6 years agoImprovements to the view-self-join optimization so that it works on all
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

6 years agoNew test case for check-in [74ef97bf51dd531a] that takes the fix in the
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

6 years agoRenumber the Select.selId values in the copies of SELECT statements that
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

6 years agoNew dbsqlfuzz find added to test/fuzzdata8.db.
drh [Wed, 22 May 2019 14:35:10 +0000 (14:35 +0000)] 
New dbsqlfuzz find added to test/fuzzdata8.db.

FossilOrigin-Name: 42af7c819bc52ccb6953a58b1c05d3bd47cc438c5119a9555b1b796764eb9f20

6 years agoFix a buffer overread that could in fts3 when dealing with corrupt records.
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

6 years agoCombine the implementations of the key and hexkey pragmas into a single
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

6 years agoFix a problem in [b5ca442a] causing an assert() to fail in REINDEX commands.
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

6 years agoUse a statement journal for all CREATE INDEX statements in case an indexed exprsesion...
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

6 years agoFix a segfault that could occur in sqlite3session_diff() if NULL were passed as the...
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

6 years agoImprovements to the automatic compile-time selection of byte-order, as
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

6 years agoA minor variation on check-in [1685610ef8e0dc] which (hopefully) makes the
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

6 years agoDisallow string constants enclosed in double-quotes within new CREATE TABLE and CREAT...
dan [Mon, 20 May 2019 17:14:25 +0000 (17:14 +0000)] 
Disallow string constants enclosed in double-quotes within new CREATE TABLE and CREATE INDEX statements. It is still possible to enclose column names in double-quotes, and existing database schemas that use double-quotes for strings can still be loaded. This addresses ticket [9b78184b].

FossilOrigin-Name: 1685610ef8e0dc9218b02461ceab14dc6114f4f5ef7fcda0da395094aff443e1

6 years agoUpdate the sqlite3ExprCompare() routine so that it does not think "? IS NOT TRUE...
dan [Mon, 20 May 2019 10:36:15 +0000 (10:36 +0000)] 
Update the sqlite3ExprCompare() routine so that it does not think "? IS NOT TRUE" is the same as "? IS TRUE". Fix for [d3e7f2ba5b3].

FossilOrigin-Name: 99eba69b3a64741c69d167bf7a05dbe138c9e7faecc54a1b8d8220cb23902830

6 years agoFix an assert() failure that could occur in a join query if the RHS of an IN() operat...
dan [Sat, 18 May 2019 21:22:25 +0000 (21:22 +0000)] 
Fix an assert() failure that could occur in a join query if the RHS of an IN() operator is a list containing correlated expressions. This problem was introduced by checkin [e130319317e7611938] which was part of the fix for ticket [787fa716be3a7f650c] - so this commit is part of that ticket's fix too.

FossilOrigin-Name: 778b1224a318d0137c7dab8361128f593506d3677267898119b934b4d66dfe38

6 years agoAvoid including the comment in the output of "PRAGMA table_info" in situations where...
dan [Sat, 18 May 2019 19:49:08 +0000 (19:49 +0000)] 
Avoid including the comment in the output of "PRAGMA table_info" in situations where there is a comment following a DEFAULT value within a CREATE TABLE statement.

FossilOrigin-Name: d91095ba7130e974f0c95334760c679a31479b07a3d458e15994a24eee474752

6 years agoDisable PRAGMA journal_mode=OFF when SQLITE_DBCONFIG_DEFENSIVE is turned on.
drh [Fri, 17 May 2019 20:37:17 +0000 (20:37 +0000)] 
Disable PRAGMA journal_mode=OFF when SQLITE_DBCONFIG_DEFENSIVE is turned on.
Ticket [f4ec250930342e0c].

FossilOrigin-Name: a0f5eb5c79cc33b7224f3421d2baa02a2a19eb9d6eaa8117dda4a1878b229cb5

6 years agoAlways store a REAL value in a column with REAL affinity if the integer equivalent...
dan [Fri, 17 May 2019 15:59:11 +0000 (15:59 +0000)] 
Always store a REAL value in a column with REAL affinity if the integer equivalent would require 8 bytes of storage. Fix for [3c27b97e3].

FossilOrigin-Name: 14c00b1016ba53ab2dc177c59a27b6b9209202973685f0f274112d296ba7dfcb

6 years agoAdd test cases to test/fuzzdata7.db for (harmless) dbfuzz2 finds.
drh [Thu, 16 May 2019 20:40:08 +0000 (20:40 +0000)] 
Add test cases to test/fuzzdata7.db for (harmless) dbfuzz2 finds.

FossilOrigin-Name: 1eb2a628e4bfae51fea43e8f40fedfe23f2118024d9cce35828c3cbe92a9b392

6 years agoInitialize the 18-byte overrun area on the buffer used to reconstruct
drh [Thu, 16 May 2019 20:36:07 +0000 (20:36 +0000)] 
Initialize the 18-byte overrun area on the buffer used to reconstruct
overflow btree cells during a btree search, to avoid a harmless
jump-depends-on-uninit-values warning.

FossilOrigin-Name: 4b05caeb1b9767ba58cb4261ecc22cdd495216b3258d45f2165cdbd3ea079495

6 years agoFix an assert() in the OP_Delete opcode that could fail with a corrupt database.
dan [Thu, 16 May 2019 20:13:32 +0000 (20:13 +0000)] 
Fix an assert() in the OP_Delete opcode that could fail with a corrupt database.

FossilOrigin-Name: 915388ab39ba3ca8681cd2613b91314aa965967f23a5bface90f54a3d6423300