]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
5 years agoFix the build for compilation using separate files rather than the amalgamation. sha3
drh [Mon, 12 Aug 2019 15:37:28 +0000 (15:37 +0000)] 
Fix the build for compilation using separate files rather than the amalgamation.

FossilOrigin-Name: 1e0f4869dedabec03b6eafeffa5ed3e43b70f2ca5b27816bb8a56dba7b5fd94f

5 years agoMake the sha3 extension part of the amalgamation, enabled using
drh [Mon, 12 Aug 2019 15:19:24 +0000 (15:19 +0000)] 
Make the sha3 extension part of the amalgamation, enabled using
SQLITE_ENABLE_SHA3.

FossilOrigin-Name: a48a7b78597c1551fd4e29b9a733ab8c8a60ad82721b90d7f645987ca65cee6e

5 years agoAdd a TESTCTRL that disables the verification of type, name, and tbl_name
drh [Mon, 12 Aug 2019 14:17:43 +0000 (14:17 +0000)] 
Add a TESTCTRL that disables the verification of type, name, and tbl_name
in the sqlite_master table.

FossilOrigin-Name: 48d9b48ab4ace234eb1a055cf33cb533a1c3aa82d0a6e086d96226bd9474ceca

5 years agoValidate the type, name, and tbl_name fields of the sqlite_master table when
drh [Mon, 12 Aug 2019 00:08:07 +0000 (00:08 +0000)] 
Validate the type, name, and tbl_name fields of the sqlite_master table when
loading the schema, unless writable_schema is engaged.

FossilOrigin-Name: 724f4df9ccc2b683f7091a3f7a8c20ee210f44d7a610cd1b4c49da1c274add08

5 years agoFix the sqliteExprImpliesExpr() routine so that it recognizes that
drh [Sat, 10 Aug 2019 15:06:03 +0000 (15:06 +0000)] 
Fix the sqliteExprImpliesExpr() routine so that it recognizes that
"(NULL IS FALSE) IS FALSE" doe not implie "NULL NOT NULL".
Ticket [9080b6227fabb466]

FossilOrigin-Name: da01ba4fa47c6508b31533ccd769e637af04bd37f51463372fbc6c848d892a4d

5 years agoAdd extra test cases related to the previous commit.
dan [Sat, 10 Aug 2019 14:35:06 +0000 (14:35 +0000)] 
Add extra test cases related to the previous commit.

FossilOrigin-Name: 3c690b2b05b7338f3325c50a0750c6023e1173afa4388e836ecb2cc49f19a0ac

5 years agoRemove two incorrect assert() statements from the logic used to derive
drh [Sat, 10 Aug 2019 14:16:17 +0000 (14:16 +0000)] 
Remove two incorrect assert() statements from the logic used to derive
column names and types from subqueries.

FossilOrigin-Name: 712e47714863a8ed7ff73324d9fec569633e8b901c436c633b0220d16a7a9302

5 years agoAllow the RHS of a row-value IN operator to use a compound query with
drh [Fri, 9 Aug 2019 20:26:01 +0000 (20:26 +0000)] 
Allow the RHS of a row-value IN operator to use a compound query with
an ORDER BY clause.

FossilOrigin-Name: eaf15d9bae6773058341d6219241f44ce728ad1cb9cf649f2efd4dddd81ec461

5 years agoModify signature of sqlite3VdbeChangeOpcode() to accept int instead of u32.
mistachkin [Fri, 9 Aug 2019 01:59:14 +0000 (01:59 +0000)] 
Modify signature of sqlite3VdbeChangeOpcode() to accept int instead of u32.

FossilOrigin-Name: 68b7f2acf4d228f32250e37cbc0eb5d275b512d49071bbb38e1f5634b705f7d3

5 years agoFix more compiler warnings.
drh [Fri, 9 Aug 2019 01:11:32 +0000 (01:11 +0000)] 
Fix more compiler warnings.

FossilOrigin-Name: 1b85442b614df0808c10c34ec281282e5dfd93d6d5f9737b51263ffaa4da5c72

5 years agoFix harmless compiler warnings.
drh [Thu, 8 Aug 2019 19:40:29 +0000 (19:40 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: 1eef4ddea9a2a8c97b97183402c774caa40ef906ea9cccade307381b29a9785d

5 years agoRemove support for SQLITE_ENABLE_STAT3. The sqlite_stat3 table is now ignored,
drh [Thu, 8 Aug 2019 19:19:42 +0000 (19:19 +0000)] 
Remove support for SQLITE_ENABLE_STAT3.  The sqlite_stat3 table is now ignored,
if it exists.  Run ANALYZE using STAT4 to get the equivalent functionality,
which presumably everybody has been doing for a long time now.

FossilOrigin-Name: f1cd234c9888142e0ac542d866d7fb55a81fb7edd0a5cd810191b4e0395ffc7d

5 years agoFix a case of the Expr.affinity to Expr.affExpr refactor that was missed
drh [Thu, 8 Aug 2019 18:49:16 +0000 (18:49 +0000)] 
Fix a case of the Expr.affinity to Expr.affExpr refactor that was missed
in the [a29f2a7d07beff64] check-in.

FossilOrigin-Name: 83450d10707e2c7c075f3930a8c231c49c593b9cdf0e6097b0187eb877755d2d

5 years agoMore legacy STAT3 code removed. omit-stat3
drh [Thu, 8 Aug 2019 16:23:12 +0000 (16:23 +0000)] 
More legacy STAT3 code removed.

FossilOrigin-Name: 845d2f17de5b4740f95884307d9efec3223737bb0f2c4a74693666caf5f61c21

5 years agoRemove support for STAT3. The sqlite_stat3 tables are ignored, if they
drh [Thu, 8 Aug 2019 15:24:17 +0000 (15:24 +0000)] 
Remove support for STAT3.  The sqlite_stat3 tables are ignored, if they
exist.  STAT4 continues to work as it always has, and as it is a superset of
STAT3 is the recommended replacement.

FossilOrigin-Name: 1e17ea2fd1df4ad49138c787c8fe3207dd0c25c93f9001d52a9b69f8c12e841c

5 years agoRemove a NEVER() that is reachable from a corrupt database.
drh [Thu, 8 Aug 2019 01:39:07 +0000 (01:39 +0000)] 
Remove a NEVER() that is reachable from a corrupt database.

FossilOrigin-Name: 30e6ee27a9fb78291c324ac9b80db4579280140430804ecd4692e312f9938525

5 years agoRemove use of the affinity() function from view.test, as it is only available in...
dan [Wed, 7 Aug 2019 19:57:21 +0000 (19:57 +0000)] 
Remove use of the affinity() function from view.test, as it is only available in SQLITE_DEBUG builds.

FossilOrigin-Name: 7f2246a17be9915b3492624a3d8deff56694bdc372f7627e3f16c1869415b1a3

5 years agoAdd "set TMP=%CD%" to the start of each msvc script output by releasetest_data.tcl...
dan [Wed, 7 Aug 2019 18:34:21 +0000 (18:34 +0000)] 
Add "set TMP=%CD%" to the start of each msvc script output by releasetest_data.tcl. Otherwise, since binaries compiled with SQLITE_TEST all choose the same sequence of pseudo-random numbers, collisions between temp file names cause errors when running multiple tests in parallel.

FossilOrigin-Name: f5d0436d8dc650cadb61a5fe76fd1a0d68dabba54ff0c2a8c138f9dfbdab1c3f

5 years agoEliminate some more cases of redundant sorting in window-function queries.
dan [Wed, 7 Aug 2019 17:45:37 +0000 (17:45 +0000)] 
Eliminate some more cases of redundant sorting in window-function queries.

FossilOrigin-Name: 8158d2aca68c5a253054376fdf1b8eaab2db874f4b93524742be7340e9c50dd5

5 years agoDo not make SQLITE_READ authorizer calls for tables without names, as all
drh [Wed, 7 Aug 2019 13:25:21 +0000 (13:25 +0000)] 
Do not make SQLITE_READ authorizer calls for tables without names, as all
such tables will be internal-use-only tables for subqueries and whatnot.

FossilOrigin-Name: 193c87fc96f964984a144c1a4506ef9db033ab2b80e64dd4d09d820fef466407

5 years agoEnsure that when the col in an operator like "val IN(col)" is a column of a view...
dan [Tue, 6 Aug 2019 21:16:28 +0000 (21:16 +0000)] 
Ensure that when the col in an operator like "val IN(col)" is a column of a view, its affinity is not used to coerce val. Fix for [0a5e2c1d].

FossilOrigin-Name: 17b3d2218c02a4005d4c96471c452105b54abb25901ae62990b01f0c955135fe

5 years agoImproved reuse of file descriptors for which close() is delayed to prevent
drh [Tue, 6 Aug 2019 20:55:06 +0000 (20:55 +0000)] 
Improved reuse of file descriptors for which close() is delayed to prevent
clearly of posix advisory locks.

FossilOrigin-Name: 509c1ba26a4c12c63ecf04ddfa2f175eaf4dd9b96ab7be15faebd36deb0a0a31

5 years agoEnhance the ".recover" output in the shell to use double-quotes around table
drh [Tue, 6 Aug 2019 20:26:17 +0000 (20:26 +0000)] 
Enhance the ".recover" output in the shell to use double-quotes around table
and column identifiers.

FossilOrigin-Name: 846d2d2d2f7fd2e4178c70bc2b92f18941a7972fe88c0129035b7a253ed21785

5 years agoAdd "PRAGMA foreign_keys=OFF;" to the start of the script output by ".recover", just...
dan [Tue, 6 Aug 2019 18:40:36 +0000 (18:40 +0000)] 
Add "PRAGMA foreign_keys=OFF;" to the start of the script output by ".recover", just as is done for ".dump".

FossilOrigin-Name: bfc29e62eff0ed00c153e18a27815f7e3ba316f46871e9645b84ab1e6709a392

5 years agoEnsure that columns of views and sub-queries that are expressions with
drh [Tue, 6 Aug 2019 15:32:42 +0000 (15:32 +0000)] 
Ensure that columns of views and sub-queries that are expressions with
no affinity are comparied without any type conversions, as required in the
documentation.  Tickets [61c853857f40da49] and [d52a29a9e6bc55c5].

FossilOrigin-Name: 9c8c1092a8ce80e114fcfe8ce780332a6f269b8c87df226242b582d2d825c393

5 years agoPerformance optimization to the new affinity handling logic. pending
drh [Tue, 6 Aug 2019 15:18:15 +0000 (15:18 +0000)] 
Performance optimization to the new affinity handling logic.

FossilOrigin-Name: c9724e761bce7a4ae63ce3c1408795915865e8d3024dcb90690456f724f0df53

5 years agoUse 0x40 (ASCII '@') instead of 0x00 to mean "no affinity" so that columns
drh [Tue, 6 Aug 2019 14:37:24 +0000 (14:37 +0000)] 
Use 0x40 (ASCII '@') instead of 0x00 to mean "no affinity" so that columns
with no affinity can appear in a zero-terminated string.  Use the new
SQLITE_AFF_NONE macro for this new magic number.

FossilOrigin-Name: e8234f6939ccff4c10f741cf66d1c537cfebcbd0d1d79a618a64c755a7f087b5

5 years agoEnsure that columns of views and sub-queries that are expressions with no affinity...
dan [Mon, 5 Aug 2019 20:53:19 +0000 (20:53 +0000)] 
Ensure that columns of views and sub-queries that are expressions with no affinity are not assigned BLOB affinity. This matches the documentation. Fix for [61c853857f40da49].

FossilOrigin-Name: e15a0977ddfad3d0f4c7654c5665ff10830c25b20ecf6ef500b1ba23fb89e31f

5 years agoAdd test cases to this branch. tkt-61c853-A
dan [Mon, 5 Aug 2019 20:45:53 +0000 (20:45 +0000)] 
Add test cases to this branch.

FossilOrigin-Name: f37317d81cc2864ed57c76a7347351310d61c8056a2a0179218530ba60a44986

5 years agoFix the patch on this branch so that it works with sub-queries, as well as views.
dan [Mon, 5 Aug 2019 19:44:47 +0000 (19:44 +0000)] 
Fix the patch on this branch so that it works with sub-queries, as well as views.

FossilOrigin-Name: 7480db307c39b86bce269583e5917f5e1a3990500552fd98400ef3e7088c0b2a

5 years agoOne of two options on how to address ticket [61c853857f40da49]. In this
drh [Mon, 5 Aug 2019 19:32:06 +0000 (19:32 +0000)] 
One of two options on how to address ticket [61c853857f40da49].  In this
mode, we back out the documentation change of
[https://www.sqlite.org/docsrc/info/07b7749da88d54e5|[07b7749da88d54e5]]
and change the core to work as it has been documented to work since 2017,
rather than how it has actually worked since 2009.

FossilOrigin-Name: 09cd0c0c6e6c963e0039a733876e5149adb3cd10e9b92699fa1dcb0633e997a4

5 years agoRefactor field Expr.affinity into Expr.affExpr to avoid confusion with other
drh [Mon, 5 Aug 2019 18:01:42 +0000 (18:01 +0000)] 
Refactor field Expr.affinity into Expr.affExpr to avoid confusion with other
fields and variables named "affinity" and display affExpr it in
sqlite3TreeViewExpr() output.

FossilOrigin-Name: a29f2a7d07beff64e489e8f824babc6228c4a499fadc0ee701caa60a63baadcd

5 years agoImproved detection of corruption on the freeblock list of a btree page.
drh [Mon, 5 Aug 2019 16:22:20 +0000 (16:22 +0000)] 
Improved detection of corruption on the freeblock list of a btree page.

FossilOrigin-Name: 4b00799bdf107fce8a9dd84fd5bf6597e4f3373659b89aae4a1242be5964726f

5 years agoFix a problem with renaming a table when a view or trigger within the schema uses...
dan [Mon, 5 Aug 2019 13:19:25 +0000 (13:19 +0000)] 
Fix a problem with renaming a table when a view or trigger within the schema uses a FILTER with an aggregate function that is not currently registered with the database.

FossilOrigin-Name: 2ac0e42f8ab7a9184c2a2efd13bd50ab51bc01f9f34e9e63591fd18db02dff54

5 years agoPrevent an fts5 table from being its own content table, or part of a view that is...
dan [Mon, 5 Aug 2019 12:55:56 +0000 (12:55 +0000)] 
Prevent an fts5 table from being its own content table, or part of a view that is the content table.

FossilOrigin-Name: b6d52c9364767ff4ab7279ae981afb97799299dcfaf38a0110c40ca82c72a825

5 years agoStregthen an assert() in the WHERE clause code generator for the min/max
drh [Sat, 3 Aug 2019 19:06:18 +0000 (19:06 +0000)] 
Stregthen an assert() in the WHERE clause code generator for the min/max
optimization.

FossilOrigin-Name: 1bd4b97d6405c9b093f3bfed914c56088ee13e4a2242be62b74a86660f74f533

5 years agoFix a problem with queries of the form "SELECT min(<expr>) ... WHERE <expr>=?" where...
dan [Sat, 3 Aug 2019 16:37:40 +0000 (16:37 +0000)] 
Fix a problem with queries of the form "SELECT min(<expr>) ... WHERE <expr>=?" where there is an index on <expr>. Fix for [71e183ca].

FossilOrigin-Name: d465c3eef458c851d97eea6e4117247d9c69386b276168080dbff7bb64070c93

5 years agoIn the ".wheretrace 0x100" debugging mode, show the structure of the
drh [Sat, 3 Aug 2019 16:17:46 +0000 (16:17 +0000)] 
In the ".wheretrace 0x100" debugging mode, show the structure of the
main parameters to sqlite3WhereBegin() calls.

FossilOrigin-Name: fd598e475d353363e19adc27a671170f11ae9f6d8cad58cb2303fb2ad8ac6bec

5 years agoAdd the SQLITE_TESTCTRL_PRNG_SEED which can control the PRNG seed either
drh [Sat, 3 Aug 2019 01:40:17 +0000 (01:40 +0000)] 
Add the SQLITE_TESTCTRL_PRNG_SEED which can control the PRNG seed either
directly or through the schema cookie of a supplied database connection.

FossilOrigin-Name: 2660e9292ae2c229eb7c57a6a79bb19f0c970072f86750fbe9cca3113d44ffe4

5 years agoGive the SQLITE_TESTCTRL_PRNG_SEED two arguments. The second argument if not prng-seed-test-control
drh [Sat, 3 Aug 2019 01:39:20 +0000 (01:39 +0000)] 
Give the SQLITE_TESTCTRL_PRNG_SEED two arguments.  The second argument if not
NULL is a pointer to a database connection which seeds the connection from
its schema cookie.  In this way, fuzzers can control the PRNG seed.

FossilOrigin-Name: 49aa34480622cce4d7a72c59d9cfa8336886387acec8ee15b72f295ea1a52d8c

5 years agoFixes to the PRNG_SEED pragma idea.
drh [Fri, 2 Aug 2019 21:03:24 +0000 (21:03 +0000)] 
Fixes to the PRNG_SEED pragma idea.

FossilOrigin-Name: c71098409c98af8360f8f28b9238a12ec764018a5782e8ff03fdf5db54031d6e

5 years agoAdd the SQLITE_TESTCTRL_PRNG_SEED test control.
drh [Fri, 2 Aug 2019 20:45:04 +0000 (20:45 +0000)] 
Add the SQLITE_TESTCTRL_PRNG_SEED test control.

FossilOrigin-Name: 3ac5723164ae801e209ce525a5d94692767136f9d06be2a84883dcea677d02da

5 years agoIf a query like "SELECT min(a), b FROM t1" visits no rows where "a" is not null,...
dan [Fri, 2 Aug 2019 19:40:01 +0000 (19:40 +0000)] 
If a query like "SELECT min(a), b FROM t1" visits no rows where "a" is not null, extract a value for "b" from one of the rows where "a" is null. Fix for ticket [41866dc37].

FossilOrigin-Name: faaaae4940b5f4f70e4988ad5b45582410b381ace0031e6abcde0b9217c06796

5 years agoIf a query like "SELECT min(a), b FROM t1" visits no rows where "a" is not null,... tkt-41866dc37
dan [Fri, 2 Aug 2019 18:43:59 +0000 (18:43 +0000)] 
If a query like "SELECT min(a), b FROM t1" visits no rows where "a" is not null, extract a value for "b" from one of the rows where "a" is null. Possible fix for ticket [41866dc37].

FossilOrigin-Name: a7277ed0623dccdbf775ae6127611d6bc6e150f6942a048ab4281e5136c0e98d

5 years agoThe sqlite3_set_authorizer() interface should only expire prepared statements
drh [Thu, 1 Aug 2019 22:48:45 +0000 (22:48 +0000)] 
The sqlite3_set_authorizer() interface should only expire prepared statements
when it is setting a new authorizer, not when clearing the authorizer.  And
statements that are running when sqlite3_set_authorizer() is invoked should be
allowed to continue running to completion.

FossilOrigin-Name: 961e2f08c35238bcb1d32430d16451a96807b2c4bbb194ee621128dd09cd3981

5 years agoAdd new release tests for windows to releasetest_data.tcl.
dan [Thu, 1 Aug 2019 15:18:51 +0000 (15:18 +0000)] 
Add new release tests for windows to releasetest_data.tcl.

FossilOrigin-Name: 1b330ec24c350c59f6d3779f6c0819fe95b89f4dfca5a1f2c22f22b5fe9cd087

5 years agoFix a problem in ALTER TABLE triggered by views or triggers that include the construc...
dan [Thu, 1 Aug 2019 10:58:46 +0000 (10:58 +0000)] 
Fix a problem in ALTER TABLE triggered by views or triggers that include the construction "ORDER BY true" or "ORDER BY false".

FossilOrigin-Name: 8168021f9ab5fb8b4888257963c9ec68fd1dfeedaf6bba4b8e07438001d0be0f

5 years agoUpdate "releasetest_data.tcl" so that it is a standalone script that generates sh...
dan [Wed, 31 Jul 2019 21:08:55 +0000 (21:08 +0000)] 
Update "releasetest_data.tcl" so that it is a standalone script that generates sh or batch scripts to run each tcl test run at release time. Update wapptest.tcl to use it.

FossilOrigin-Name: 559c2dd6724b2fc238760863d4be7132b591457e72ca5758fdd4002fbf7df4bc

5 years agoNew test cases in test/fuzzdata8.db.
drh [Wed, 31 Jul 2019 15:16:14 +0000 (15:16 +0000)] 
New test cases in test/fuzzdata8.db.

FossilOrigin-Name: 6e92d71c24c6039e7116f02fc5f39b2b87efcd3674ea828077c03d760bf49c45

5 years agoDo not allow the json_set() function to overwrite the same element more than
drh [Wed, 31 Jul 2019 12:13:58 +0000 (12:13 +0000)] 
Do not allow the json_set() function to overwrite the same element more than
once.

FossilOrigin-Name: f237f60e4fa9171dfe9a77c8637595c2701e971034d41bd6018944e8b2b27a6f

5 years agoFix the build for when -DSQLITE_SMALL_STACK is used.
drh [Tue, 30 Jul 2019 21:00:13 +0000 (21:00 +0000)] 
Fix the build for when -DSQLITE_SMALL_STACK is used.

FossilOrigin-Name: b9eda2249ab5cf523093e4849c317d9a4b1743f7e15d96bdd6bb6cc423302914

5 years agoImproved fix for ticket [ced41c7c7d6b4d36] that keeps skip-scan enabled,
drh [Tue, 30 Jul 2019 14:22:10 +0000 (14:22 +0000)] 
Improved fix for ticket [ced41c7c7d6b4d36] that keeps skip-scan enabled,
but avoids identifying a skip-scan as order-distinct (because it is not)
and thus forces a separate b-tree to implement the DISTINCT clause of a
query.  This undoes check-in [a871d69c6de65038] and substitutes a new fix.

FossilOrigin-Name: 89bf0399e87be76e7b264e0a35e8a6d3af0f9e71123a929c20754882b636ca70

5 years agoDisable the skip-scan optimization for DISTINCT queries.
drh [Tue, 30 Jul 2019 01:17:03 +0000 (01:17 +0000)] 
Disable the skip-scan optimization for DISTINCT queries.
Fix for ticket [ced41c7c7d6b4d36]

FossilOrigin-Name: a871d69c6de65038360aa6142fbad22689fb347e526cca56bb83e695c1441fbe

5 years agoConvert an assert() in R-Tree into a database corruption detection case.
drh [Mon, 29 Jul 2019 17:18:45 +0000 (17:18 +0000)] 
Convert an assert() in R-Tree into a database corruption detection case.

FossilOrigin-Name: 48b518eb6f76fb0beb161d1ebcf3b793efc36262d6d77a1ad5906b6501138e28

5 years agoFix a crash in fts3 caused by corrupt database records.
dan [Mon, 29 Jul 2019 16:53:30 +0000 (16:53 +0000)] 
Fix a crash in fts3 caused by corrupt database records.

FossilOrigin-Name: 11f7f94f1c5d761e7f381e277658b7e857cc369283996c509061de55fd6aad52

5 years agoWhen using an index for both DISTINCT and ORDER BY, do not confuse the number of...
dan [Mon, 29 Jul 2019 15:32:01 +0000 (15:32 +0000)] 
When using an index for both DISTINCT and ORDER BY, do not confuse the number of columns required for distinctness with the number required to get the correct sort order. Fix for [6749cb3c].

FossilOrigin-Name: 6ac0f822450b26c7d67c33cdb2a90189cd3cf65a052af8497b795c3f71a23813

5 years agoWhen using an index for both DISTINCT and ORDER BY, do not confuse the number of... tkt-6749cb3c
dan [Mon, 29 Jul 2019 14:42:56 +0000 (14:42 +0000)] 
When using an index for both DISTINCT and ORDER BY, do not confuse the number of columns required for distinctness with the number required to get the correct sort order. Fix for [6749cb3c].

FossilOrigin-Name: b47169319ad88e8ffdbe8fbb91f4cced81ebd5c0ee1b018be2d0256c9a1c5159

5 years agoFix the OP_Affinity operator so that when applying REAL affinity, it
drh [Mon, 29 Jul 2019 06:06:53 +0000 (06:06 +0000)] 
Fix the OP_Affinity operator so that when applying REAL affinity, it
only sets MEM_IntReal if the integer value will fit in 6 bytes or less.
Fix for ticket [ba2f4585cf495231]

FossilOrigin-Name: 2b221bb15fd2b9f6a426e5eb439f7dbabbe3c4cab010c49b87dae3bb1f16c081

5 years agoFix a minor typo in a comment.
drh [Mon, 29 Jul 2019 05:23:01 +0000 (05:23 +0000)] 
Fix a minor typo in a comment.

FossilOrigin-Name: cea8a892f76bddc63b921ffc11ea8dce8f8cf649a2c77aa908c7c5c91eed7f4c

5 years agoSync up warning related compiler options in the Makefiles for MSVC.
mistachkin [Mon, 29 Jul 2019 02:52:11 +0000 (02:52 +0000)] 
Sync up warning related compiler options in the Makefiles for MSVC.

FossilOrigin-Name: e77d48d1dd140967b18106044dd45e2ba6cd77b6aa5afa8bf3f0a9c16a50eec4

5 years agoFix harmless compiler warning seen with MSVC for x64.
mistachkin [Mon, 29 Jul 2019 02:49:14 +0000 (02:49 +0000)] 
Fix harmless compiler warning seen with MSVC for x64.

FossilOrigin-Name: 857b2ba6d05d6f5a8cfdf269bae9005b25e1903ab9dc6b70546979d8c633f03b

5 years agoUpdate RBU so that it supports indexes on expressions.
dan [Fri, 26 Jul 2019 20:33:23 +0000 (20:33 +0000)] 
Update RBU so that it supports indexes on expressions.

FossilOrigin-Name: 6bfa44da226fd758a2ee924d1e8e3a742b0635b6d3f922a4a7919cb14b2418e6

5 years agoFix RBU handling of partial indexes with comments embedded in their CREATE INDEX...
dan [Fri, 26 Jul 2019 16:16:31 +0000 (16:16 +0000)] 
Fix RBU handling of partial indexes with comments embedded in their CREATE INDEX statements.

FossilOrigin-Name: e1ccf211aa975a6688a27f7dc4cea80784ed8dcfe1950b2fa6eb0a3cb938838a

5 years agoFix a potential buffer overread in fts5 triggered by a corrupt database record.
dan [Thu, 25 Jul 2019 19:29:24 +0000 (19:29 +0000)] 
Fix a potential buffer overread in fts5 triggered by a corrupt database record.

FossilOrigin-Name: 16472112b6886ada18d45cfb409cca2e83dde5a8ba8a36d481e87b61100b0186

5 years agoFix faulty asserts in the code generator.
drh [Wed, 24 Jul 2019 23:15:19 +0000 (23:15 +0000)] 
Fix faulty asserts in the code generator.
Ticket [c52b09c7f38903b1]

FossilOrigin-Name: 01cdc590f7894ea23ee0d674747d7ebf8196efbef3c87d47e72dbc1ab6ae2883

5 years agoImprove the ".recover" command so that it handles intkey pages linked into non-intkey...
dan [Wed, 24 Jul 2019 20:10:27 +0000 (20:10 +0000)] 
Improve the ".recover" command so that it handles intkey pages linked into non-intkey b-trees, and vice-versa, better.

FossilOrigin-Name: 9c458acba5a100a76148a3efb78ea9f57b85751e80788e4532694bd8976608a0

5 years agoImprove the ".recover" command's handling of corrupt database schemas.
dan [Wed, 24 Jul 2019 19:20:30 +0000 (19:20 +0000)] 
Improve the ".recover" command's handling of corrupt database schemas.

FossilOrigin-Name: becaaa4d29d17ad613f2a120f0b173e53403b3de26f22beaf83f66ebf369bf60

5 years agoImprove the ".recover" command in the shell tool so that it is not confused by auto...
dan [Wed, 24 Jul 2019 08:15:09 +0000 (08:15 +0000)] 
Improve the ".recover" command in the shell tool so that it is not confused by auto-vacuum databases. And so that it can recover tables for which one or more of the column names are SQL keywords.

FossilOrigin-Name: 87d76047d6a3df31bc9b7c0cffa7b758236c124f87263a520850b019cbbc4c6e

5 years agoAvoid redefining types u32 and u16 when fossildelta.c is compiled as part of the...
dan [Tue, 23 Jul 2019 13:26:43 +0000 (13:26 +0000)] 
Avoid redefining types u32 and u16 when fossildelta.c is compiled as part of the amalgamation.

FossilOrigin-Name: d8e88248e3204b5f2b95b9b8921ee7ee2f7574ae81e6abd5b4f2ddf187f7d71b

5 years agoDo not use the insert-overwrite optimization if the cell might overwrite the
drh [Mon, 22 Jul 2019 23:24:01 +0000 (23:24 +0000)] 
Do not use the insert-overwrite optimization if the cell might overwrite the
page header.

FossilOrigin-Name: f60a83069168899dcfd706b4d0901084c7ce92d85277950317e962a8a98ec668

5 years agoConsolidate the removal of Window objects from the Select.pWin list into
drh [Mon, 22 Jul 2019 19:01:38 +0000 (19:01 +0000)] 
Consolidate the removal of Window objects from the Select.pWin list into
a single subroutine.

FossilOrigin-Name: e46b2afc99329c43de08d4a2e6ade4d2239d7409c5d5626bf272a3e0dd24d1b4

5 years agoFix a bug in the linked-list handling code added by commit [fd7316cd].
dan [Mon, 22 Jul 2019 17:28:43 +0000 (17:28 +0000)] 
Fix a bug in the linked-list handling code added by commit [fd7316cd].

FossilOrigin-Name: 05080344dceafcfb670fbf01f7d69a1d713a54b6845f968a9cfe941fb53b13af

5 years agoNew test cases added to test/fuzzdata8.db
drh [Mon, 22 Jul 2019 16:57:13 +0000 (16:57 +0000)] 
New test cases added to test/fuzzdata8.db

FossilOrigin-Name: 25fec62ac5a23382a54eee78d3705885eb4065826d7e8da098816d03ae9dc639

5 years agoRemove Window objects from the corresponding Select.pWin list when they are deleted...
dan [Mon, 22 Jul 2019 16:33:02 +0000 (16:33 +0000)] 
Remove Window objects from the corresponding Select.pWin list when they are deleted, as they are, for example, when the ORDER BY clause is optimized out.

FossilOrigin-Name: fd7316cda0fdfe86985f41a97dff3beba188606ec9bc6fef38a686a6976a6e01

5 years agoRemove Window objects from the corresponding Select.pWin list when they are deleted. winfunc-in-orderby
dan [Mon, 22 Jul 2019 16:20:03 +0000 (16:20 +0000)] 
Remove Window objects from the corresponding Select.pWin list when they are deleted.

FossilOrigin-Name: d23f33168222dfa40a67dc7de58057418151989e81429e4af47617e86db04667

5 years agoFix a problem with renaming tables when the schema contains an invocation of a curren...
dan [Mon, 22 Jul 2019 11:38:43 +0000 (11:38 +0000)] 
Fix a problem with renaming tables when the schema contains an invocation of a currently unregistered aggregate with a FILTER clause.

FossilOrigin-Name: bd37ce3fb8dee8d538f6afc0bfc13cdc3ebdd504e6461f0130c6ecc8af585f68

5 years agoMake sure any window definitions in an ORDER BY clause are removed from
drh [Sat, 20 Jul 2019 21:12:31 +0000 (21:12 +0000)] 
Make sure any window definitions in an ORDER BY clause are removed from
the SELECT statement if the ORDER BY clause gets optimized out.

FossilOrigin-Name: 23b119671f0be3c6b72cf2dc5f7707a0626766db7aa56529ab00d33d1a0a1bee

5 years agoEarly detection of a corrupt R-Tree in the R-Tree search algorithm.
drh [Sat, 20 Jul 2019 18:00:46 +0000 (18:00 +0000)] 
Early detection of a corrupt R-Tree in the R-Tree search algorithm.

FossilOrigin-Name: 2bf5a4c16457562dc942bcc6ec06d9b4e795ef3ea8e31550e18857bbebd08a76

5 years agoPerformance optimizations in the rtreeStepToLeaf() routine of RTree.
drh [Sat, 20 Jul 2019 17:43:28 +0000 (17:43 +0000)] 
Performance optimizations in the rtreeStepToLeaf() routine of RTree.

FossilOrigin-Name: 4e34e3615ff31f4a6432033797b2e1a6604007ea0e501d714ecb362632776150

5 years agoNew test cases added to test/fuzzdata8.db.
drh [Fri, 19 Jul 2019 15:03:54 +0000 (15:03 +0000)] 
New test cases added to test/fuzzdata8.db.

FossilOrigin-Name: 39be3c61bd809cc89bdfdba90afc391ac9c2f81dfd8bb68a9b085b0ca8cd1fba

5 years agoRefinement to check-in [348e7f193a963390] that avoids unreachable branches.
drh [Fri, 19 Jul 2019 15:00:32 +0000 (15:00 +0000)] 
Refinement to check-in [348e7f193a963390] that avoids unreachable branches.

FossilOrigin-Name: bbfb2908ecd113c88e69a0984cbe2550463cdd3a67648b0e4e3578e80630136e

5 years agoFix a problem with renaming a table when the schema contains an invocation of a windo...
dan [Fri, 19 Jul 2019 14:32:42 +0000 (14:32 +0000)] 
Fix a problem with renaming a table when the schema contains an invocation of a window function that is not currently registered.

FossilOrigin-Name: ff290feb97f689cf6ce4162d6aa36f9f9dcf1bff3096847d53a85f39f728d2de

5 years agoFix a problem with renaming tables when the schema contains WINDOW definitions with...
dan [Fri, 19 Jul 2019 11:20:42 +0000 (11:20 +0000)] 
Fix a problem with renaming tables when the schema contains WINDOW definitions with (illegal) non-numeric expressions as part of a PRECEDING or FOLLOWING clause.

FossilOrigin-Name: 348e7f193a963390a0595183d603541f85c5d1a911c98ed2e06599691ffe98f5

5 years agoFix a faulty assert() in walker.c that could fail when processing an ALTER TABLE...
dan [Fri, 19 Jul 2019 10:31:29 +0000 (10:31 +0000)] 
Fix a faulty assert() in walker.c that could fail when processing an ALTER TABLE statement on a schema containing invalid table references that are part of a WINDOW definition.

FossilOrigin-Name: ee076c28d8ee0f5b099cdef83ae6cea6ef5aa209ab528d7c49949dd653ce019c

5 years agoFix a new problem in the BETWEEN operator when applied to a window function.
drh [Fri, 19 Jul 2019 01:11:27 +0000 (01:11 +0000)] 
Fix a new problem in the BETWEEN operator when applied to a window function.
The problem was introduced yesterday by check-in [7ef7b23cbb1b9ace].

FossilOrigin-Name: 47e23064ba0205148f89e12803a62d5a4d6d2054f593f60c031e815112170b9b

5 years agoAlways use the stdlib.h intptr_t type for pointer-integer conversions, when
drh [Wed, 17 Jul 2019 19:57:55 +0000 (19:57 +0000)] 
Always use the stdlib.h intptr_t type for pointer-integer conversions, when
it is available.

FossilOrigin-Name: c0d932449db3deed42a99bd948aab61e56b2d8441d7de5243688695ff04e8177

5 years agoFix an incorrect assert() in balance_nonroot().
drh [Wed, 17 Jul 2019 16:18:01 +0000 (16:18 +0000)] 
Fix an incorrect assert() in balance_nonroot().

FossilOrigin-Name: 59c9e73f86b89ee17b0bce47bcb93f5b5ace5b7985678287195002afb9d40cd8

5 years agoImprovement to the hexdb interpreter built into the CLI and into the
drh [Wed, 17 Jul 2019 15:05:16 +0000 (15:05 +0000)] 
Improvement to the hexdb interpreter built into the CLI and into the
TCL test harness: Round the "size" up to the next multiple of the "pagesize".

FossilOrigin-Name: 9ec92939cb2d2c96ae15bc496feed233ce31424c25a6bf86ace7e0ef3eedec5b

5 years agoWhen processing a BETWEEN or CASE expression, avoid transforming a node of the origin...
dan [Wed, 17 Jul 2019 14:34:17 +0000 (14:34 +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: 7ef7b23cbb1b9ace9f853238d9133320c153e6c3417e6823ab6394ee1fe56358

5 years agoFix the WITHOUT ROWID table logic so that it generates a correct KeyInfo
drh [Wed, 17 Jul 2019 12:49:16 +0000 (12:49 +0000)] 
Fix the WITHOUT ROWID table logic so that it generates a correct KeyInfo
object for tables that have a PRIMARY KEY containing the same column used
more than once with different collating sequences.  Enhance the index_xinfo
pragma to assist in testing the above. Fix for ticket [fd3aec0c7e3e2998].

FossilOrigin-Name: 84a51a755c18ac8253080db6eec505df894ee3b1e97cfa8e61039ac38001e270

5 years agoNew test cases for PRAGMA index_xinfo on a WITHOUT ROWID table. And new wor-pk-dups
drh [Wed, 17 Jul 2019 12:42:15 +0000 (12:42 +0000)] 
New test cases for PRAGMA index_xinfo on a WITHOUT ROWID table.  And new
testcases using index_xinfo to verify that WITHOUT ROWID tables are
constructed correctly.

FossilOrigin-Name: 340378c1e60da80263523776f4b6366a9d332a7ee25986637e8b157f4e8e4bd3

5 years agoEnhance the "PRAGMA index_info()" and "PRAGMA index_xinfo()" statements so that
drh [Wed, 17 Jul 2019 11:01:11 +0000 (11:01 +0000)] 
Enhance the "PRAGMA index_info()" and "PRAGMA index_xinfo()" statements so that
they allow a WITHOUT ROWID table as their argument, and in that case show
the structure of the underlying index used to implement the WITHOUT ROWID
table.

FossilOrigin-Name: 62274ff683ba077d8b0fa34ad653ce235a8c5cbfdb7ab8558469af7333d03698

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

FossilOrigin-Name: bd9a47a3a2997bfbf9c8a11c5b7196e362974054e58a2fe701778b1580264de8

5 years agoAdd casts to shell.c.in to avoid warnings on systems where size_t is 32 bits.
dan [Wed, 17 Jul 2019 07:23:06 +0000 (07:23 +0000)] 
Add casts to shell.c.in to avoid warnings on systems where size_t is 32 bits.

FossilOrigin-Name: fe014288ac03cdf0dc5410b7d45cad4768759b52746c0a22bce2fc03779c5d5a

5 years agoAdd new assert() statements in an attempt to help static analyzers avoid
drh [Tue, 16 Jul 2019 19:44:32 +0000 (19:44 +0000)] 
Add new assert() statements in an attempt to help static analyzers avoid
false-positives.

FossilOrigin-Name: 9e66458592d40fbd96ea5f21339573110ca1cfe328238a020c9420a87d35dd72

5 years agoAdd assert()s in os_win.c in an effort to silence false-positives from
drh [Tue, 16 Jul 2019 18:27:07 +0000 (18:27 +0000)] 
Add assert()s in os_win.c in an effort to silence false-positives from
static analyzers.

FossilOrigin-Name: 22a7c15b262376fb0ce4dd3d044373380d86c5ccd96e2f24576cf04318597c33

5 years agoCall ioctl() with the correct signature on both Android and stock Linux.
dan [Tue, 16 Jul 2019 05:11:16 +0000 (05:11 +0000)] 
Call ioctl() with the correct signature on both Android and stock Linux.

FossilOrigin-Name: 2422534908a85a4cd11784e4c23a74ad121404f73dade587bf27efde1e2b982b

5 years agoFix a problem that could cause a crash if a blob handle were closed after the associa...
dan [Mon, 15 Jul 2019 13:58:28 +0000 (13:58 +0000)] 
Fix a problem that could cause a crash if a blob handle were closed after the associated database handle was closed using sqlite3_close_v2().

FossilOrigin-Name: 52f463d29407fad691c42b13462880e7605603c9be9f480d18e953a0ef78149a

5 years agoCall ioctl() with the correct signature on both Android and stock Linux. ioctl-signature
dan [Mon, 15 Jul 2019 07:58:28 +0000 (07:58 +0000)] 
Call ioctl() with the correct signature on both Android and stock Linux.

FossilOrigin-Name: 68e12e063fe41bcd65cf8a120f838b9b1723ed803ea85240fe0f2145b78df2d7

5 years agoMark an unreachable branch using ALWAYS().
drh [Sun, 14 Jul 2019 00:15:07 +0000 (00:15 +0000)] 
Mark an unreachable branch using ALWAYS().

FossilOrigin-Name: 0fff105a3e501fd91877d67761459eb0323e6cf79916242027cce0d05697f554