]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Tue, 6 Aug 2019 15:18:15 +0000 (15:18 +0000)]
Performance optimization to the new affinity handling logic.
FossilOrigin-Name:
c9724e761bce7a4ae63ce3c1408795915865e8d3024dcb90690456f724f0df53
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
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
dan [Mon, 5 Aug 2019 20:45:53 +0000 (20:45 +0000)]
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
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
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
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
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
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
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
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
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
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
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
drh [Fri, 2 Aug 2019 21:03:24 +0000 (21:03 +0000)]
drh [Fri, 2 Aug 2019 20:45:04 +0000 (20:45 +0000)]
Add the SQLITE_TESTCTRL_PRNG_SEED test control.
FossilOrigin-Name:
3ac5723164ae801e209ce525a5d94692767136f9d06be2a84883dcea677d02da
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
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
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
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
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
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
drh [Wed, 31 Jul 2019 15:16:14 +0000 (15:16 +0000)]
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
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
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
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
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
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
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
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
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
drh [Mon, 29 Jul 2019 05:23:01 +0000 (05:23 +0000)]
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
mistachkin [Mon, 29 Jul 2019 02:49:14 +0000 (02:49 +0000)]
Fix harmless compiler warning seen with MSVC for x64.
FossilOrigin-Name:
857b2ba6d05d6f5a8cfdf269bae9005b25e1903ab9dc6b70546979d8c633f03b
dan [Fri, 26 Jul 2019 20:33:23 +0000 (20:33 +0000)]
Update RBU so that it supports indexes on expressions.
FossilOrigin-Name:
6bfa44da226fd758a2ee924d1e8e3a742b0635b6d3f922a4a7919cb14b2418e6
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
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
drh [Wed, 24 Jul 2019 23:15:19 +0000 (23:15 +0000)]
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
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
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
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
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
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
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
drh [Mon, 22 Jul 2019 16:57:13 +0000 (16:57 +0000)]
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
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
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
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
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
drh [Sat, 20 Jul 2019 17:43:28 +0000 (17:43 +0000)]
Performance optimizations in the rtreeStepToLeaf() routine of RTree.
FossilOrigin-Name:
4e34e3615ff31f4a6432033797b2e1a6604007ea0e501d714ecb362632776150
drh [Fri, 19 Jul 2019 15:03:54 +0000 (15:03 +0000)]
drh [Fri, 19 Jul 2019 15:00:32 +0000 (15:00 +0000)]
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
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
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
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
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
drh [Wed, 17 Jul 2019 16:18:01 +0000 (16:18 +0000)]
Fix an incorrect assert() in balance_nonroot().
FossilOrigin-Name:
59c9e73f86b89ee17b0bce47bcb93f5b5ace5b7985678287195002afb9d40cd8
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
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
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
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
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
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
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
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
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
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
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
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
drh [Sun, 14 Jul 2019 00:15:07 +0000 (00:15 +0000)]
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
dan [Sat, 13 Jul 2019 17:54:24 +0000 (17:54 +0000)]
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
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
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
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
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
dan [Sat, 13 Jul 2019 09:56:56 +0000 (09:56 +0000)]
Merge latest trunk changes into this branch.
FossilOrigin-Name:
86ab963cc5743867e0535b78a5776e18c13835aa44bf2009f77642df8407cb3f
dan [Sat, 13 Jul 2019 09:55:33 +0000 (09:55 +0000)]
Trivial performance improvement for balance().
FossilOrigin-Name:
c7920f5569022f645ec4dbfce8c228880263785c708c2c0ac065e770c438b1d9
dan [Fri, 12 Jul 2019 15:15:43 +0000 (15:15 +0000)]
Minor performance improvement in vdbeRecordCompareString().
FossilOrigin-Name:
777fec84a5db968e033883920586ec0afef65578be0c1eb3021fce525111edde
drh [Thu, 11 Jul 2019 19:50:18 +0000 (19:50 +0000)]
Improved comments and extra testcase() macros on the serial-type computation
logic in the OP_MakeRecord opcode.
FossilOrigin-Name:
18bfb2179ce2c60cec8f5859a84b737731a5e53b28e35072cbb249f18b94262b
drh [Thu, 11 Jul 2019 19:27:02 +0000 (19:27 +0000)]
Increase the version number to 3.30.0 for the next release cycle.
FossilOrigin-Name:
2578e3c64b0a92ab92143f18d107a1a180bd6fa87243661930771c4c080f8098
drh [Thu, 11 Jul 2019 19:22:36 +0000 (19:22 +0000)]
Move the sqlite3VdbeSerialType() routine in-line in the OP_MakeRecord opcode.
Optimizing compilers were doing this already. By doing it manually, we can
omit some redundant tests and make the whole thing run a million cycles faster
and use about 80 bytes less code space.
FossilOrigin-Name:
d837ab0da52632699abc09320980606aef020df5020c253f99c97e24bf3c6d00
dan [Thu, 11 Jul 2019 18:43:33 +0000 (18:43 +0000)]
Change the parser on this branch to more closely match trunk. This saves a few more cycles.
FossilOrigin-Name:
be01b801fbc258f0ab9542130cec12a5ea5e2d0bf087684a9eda909ad459c211
dan [Wed, 10 Jul 2019 20:16:53 +0000 (20:16 +0000)]
Minor performance improvement in sqlite3ExprDeleteNN().
FossilOrigin-Name:
bcc8b38ac75b731a4cd2873ab83f423be036467a511b617c779869de9bbb5383
drh [Wed, 10 Jul 2019 17:32:03 +0000 (17:32 +0000)]
drh [Tue, 9 Jul 2019 23:35:50 +0000 (23:35 +0000)]
Add the "LL" suffix on a pair of larger integer literals, for compatibility
with older C compilers.
FossilOrigin-Name:
6f328c35947d6b3a0741514757b8944692203e89bdb2e7f9bbce8ad9288be344
dan [Tue, 9 Jul 2019 17:36:26 +0000 (17:36 +0000)]
Update rtree.c so that SQLITE_DEBUG is required to turn on assert() statements, even if it is compiled separately from the amalgamation.
FossilOrigin-Name:
b6e17f0139482a22c2fc84552767bc9a293b282499e3a790de069e0e84455fb2
dan [Tue, 9 Jul 2019 12:03:21 +0000 (12:03 +0000)]
Fix a test script problem in windowfault.test.
FossilOrigin-Name:
47010bf17cb080cc1c693c84d16b986ea4addf9c54bd7e22de1e0f6b555ea9d1
drh [Mon, 8 Jul 2019 18:35:51 +0000 (18:35 +0000)]
Fix dbfuzz2 so that it will compile on systems that do not support getrlimit().
FossilOrigin-Name:
36295dcebcb5487f2a462eabb41900ac28b8e839898ef0fae0aa4730bf9b0671
dan [Mon, 8 Jul 2019 13:45:02 +0000 (13:45 +0000)]
dan [Mon, 8 Jul 2019 12:01:39 +0000 (12:01 +0000)]
Ensure collation sequences and affinities work in window function queries. Fix for [
9ece23d2 ].
FossilOrigin-Name:
28196d894ac9fad9d8f877c7bf17ec9d299d12acdcc942f9ea0783777b14fdc5
dan [Fri, 5 Jul 2019 19:10:41 +0000 (19:10 +0000)]
dan [Fri, 5 Jul 2019 17:38:55 +0000 (17:38 +0000)]
Minor tweak to patch on this branch to reclaim some cycles.
FossilOrigin-Name:
81eed055de856068109a7e332cca0c3ff1120ebe2bfa5ed6383b165c726e0a7c
dan [Fri, 5 Jul 2019 15:16:22 +0000 (15:16 +0000)]
Fix a valgrind problem in fts3corrupt4.test.
FossilOrigin-Name:
cb3dec427e399064eeec31c15565346f045bd7c46d2f7860b1cd346bbcccb124