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

5 years agoFix a memory leak that could follow an OOM in the new FILTER code.
dan [Sat, 13 Jul 2019 18:27:54 +0000 (18:27 +0000)] 
Fix a memory leak that could follow an OOM in the new FILTER code.

FossilOrigin-Name: 85fd70fead834aed16cffbea892b2255b4e10dd677f4dbbb96062d5ff42efdeb

5 years agoFix a typo in test file window1.test.
dan [Sat, 13 Jul 2019 17:54:24 +0000 (17:54 +0000)] 
Fix a typo in test file window1.test.

FossilOrigin-Name: 8c80e81d01abde9a5032cdc1a492d0fccd8db139f78d2db9413a60cfdc8e0f64

5 years agoFix error handling for the case where a window function is passed the wrong number...
dan [Sat, 13 Jul 2019 17:45:25 +0000 (17:45 +0000)] 
Fix error handling for the case where a window function is passed the wrong number of arguments.

FossilOrigin-Name: 871796bb19e61c1282d8ac97a82d8b57bde50f2a2a08004ab53136d77c138df4

5 years agoFix a double-quoted string literal used in the ".schema" command of the CLI.
drh [Sat, 13 Jul 2019 17:21:47 +0000 (17:21 +0000)] 
Fix a double-quoted string literal used in the ".schema" command of the CLI.

FossilOrigin-Name: fcd937d9786a82ef4147e657d54ea0beb6ac87e2eb1677186b318493d473077b

5 years agoAdd support for attaching a FILTER clause to an aggregate function.
dan [Sat, 13 Jul 2019 16:39:38 +0000 (16:39 +0000)] 
Add support for attaching a FILTER clause to an aggregate function.

FossilOrigin-Name: ee293e5aeac0b05a8b809095610fd8b4fdaf8e68cd368de90ec0d45e3582ffe5

5 years agoRework the FILTER clause implementation to share more code with window functions. filter-clause
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

5 years agoRemove unreachable "break" statements to silence harmless compiler warnings
drh [Sat, 13 Jul 2019 16:15:23 +0000 (16:15 +0000)] 
Remove unreachable "break" statements to silence harmless compiler warnings
from ICC.

FossilOrigin-Name: 0d7287e1bfdd5a392bf2fb17699e7cfd0b08bf61fab6cbf4b4bb347b3c4b4610

5 years agoMerge latest trunk changes into this branch.
dan [Sat, 13 Jul 2019 09:56:56 +0000 (09:56 +0000)] 
Merge latest trunk changes into this branch.

FossilOrigin-Name: 86ab963cc5743867e0535b78a5776e18c13835aa44bf2009f77642df8407cb3f

5 years agoTrivial performance improvement for balance().
dan [Sat, 13 Jul 2019 09:55:33 +0000 (09:55 +0000)] 
Trivial performance improvement for balance().

FossilOrigin-Name: c7920f5569022f645ec4dbfce8c228880263785c708c2c0ac065e770c438b1d9

5 years agoMinor performance improvement in vdbeRecordCompareString().
dan [Fri, 12 Jul 2019 15:15:43 +0000 (15:15 +0000)] 
Minor performance improvement in vdbeRecordCompareString().

FossilOrigin-Name: 777fec84a5db968e033883920586ec0afef65578be0c1eb3021fce525111edde

5 years agoImproved comments and extra testcase() macros on the serial-type computation
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

5 years agoIncrease the version number to 3.30.0 for the next release cycle.
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

5 years agoMove the sqlite3VdbeSerialType() routine in-line in the OP_MakeRecord opcode.
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

5 years agoChange the parser on this branch to more closely match trunk. This saves a few more...
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

5 years agoMinor performance improvement in sqlite3ExprDeleteNN().
dan [Wed, 10 Jul 2019 20:16:53 +0000 (20:16 +0000)] 
Minor performance improvement in sqlite3ExprDeleteNN().

FossilOrigin-Name: bcc8b38ac75b731a4cd2873ab83f423be036467a511b617c779869de9bbb5383

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 agoAnother very small performance improvement.
dan [Fri, 5 Jul 2019 19:10:41 +0000 (19:10 +0000)] 
Another very small performance improvement.

FossilOrigin-Name: 7a1e30a17f57ca006dd84b6f97b0c7811bf4c6da4b02903452ffc4bc363cab9b

6 years agoMinor tweak to patch on this branch to reclaim some cycles.
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

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