dan
1a97c413f8
Fix handling of NULL, text and blob values in window queries that use "RANGE BETWEEN A FOLLOWING AND B FOLLOWING", or "B PRECEDING AND A PRECEDING", where A>B.
...
FossilOrigin-Name: cb3e2be674316e1d39968eb6567f1fe1b72f9d89af49640a9e83f944979c4cf0
2019-09-04 06:56:43 +00:00
drh
7dc3547eeb
Updates to the default settings in Makefile.linux-gcc.
...
FossilOrigin-Name: 3044cf6917ea8324175fc91657e9a5978af9748f72e1914bc361753f0b2d897d
2019-09-03 16:23:41 +00:00
drh
c7d12f4ad4
When we play games with COLLATE in order to commute an operator in the
...
WHERE clause processing, be sure not to use the commuted operator to qualify
a partial index, as insufficient COLLATE information is preserved to verify
that the expression will correctly qualify the index.
Ticket [767a8cbc6d20bd68]
FossilOrigin-Name: 5351e920f489562f959ab8a376ff720f845ea165e0cdc7c3a271aac53c2aa64a
2019-09-03 14:27:25 +00:00
drh
4fc836546e
Fix a bug introduced earlier today by check-in [88833a9c2849c959].
...
Ticket [29f635e0af71234b]
FossilOrigin-Name: 6e7b4527d32cc1be0294614b9d7363d4b59cf654a954b86515b3f6888975ce73
2019-09-02 22:13:06 +00:00
dan
229ae1ae72
Fix a potential crash in fts5 caused by using an auxiliary function on a "special" query like '*id' or '*reads'.
...
FossilOrigin-Name: 9490683ae883561fa347cbe54ebdd61188d849b4852d904b508250ba5d0807ef
2019-09-02 14:46:12 +00:00
drh
dd668c26b5
When applying the IN_INDEX_NOOP optimization and the LHS has REAL affinity,
...
also apply REAL affinity to each element of the RHS.
Ticket [2841e99d104c6436].
FossilOrigin-Name: 88833a9c2849c959a37a80e0e4d2b211ce3c83a48319724c89b172b060c876b4
2019-09-02 02:21:58 +00:00
drh
0167ef202b
Fix an obsolete comment that defines the meaning of one of the parameters
...
to the sqlite3FindInIndex() subroutine. No changes to code.
FossilOrigin-Name: 0c946f0846b2835f8facca806a4d4ecc2b2e97343de245a0d91716d998b2a829
2019-09-02 01:25:07 +00:00
drh
bffdd63633
When computing an expression value for an index-on-expression or a CHECK
...
constraint and the expressions uses a REAL table column, but the value of
that column is an integer (in other words, when it is using the
store-real-as-integer optimization) be sure to promote the value to real
before evaluating the expression. Ticket [57af00b6642ecd68].
FossilOrigin-Name: 0658c16e311393c8a347b1bd41fa5dbfd2e184aa75d84c011aa8dbac79b632e9
2019-09-02 00:58:44 +00:00
drh
cc80db69e9
Remove an obsolete paragraph from the OP_Column documentation. No code
...
changes.
FossilOrigin-Name: f6d8956cf8b5993a4332b9330e89d5c3d5f8872ea5a2ce3d2e91127406cc1839
2019-09-01 23:36:33 +00:00
drh
35a38e0836
Fix a harmless compiler warning.
...
FossilOrigin-Name: 63c67a54b4d3e501f3059dcdfc6bb50c6b8dad63a34eb773e4408d9e4e780d7a
2019-08-31 20:29:28 +00:00
drh
81d25cf53d
Mark new VDBE branches never taken.
...
FossilOrigin-Name: 83c2adffbfb6dcdddb38ad9f888647b0e39fa24dc0bff344238e1f75a6c7d2ed
2019-08-31 20:26:06 +00:00
drh
80f6bfc064
Improvements to the algorithm that determines which SELECT in a sequence
...
of nested SELECT statements that an aggregate function belongs to. This
resolves an issue identified by dbsqlfuzz.
FossilOrigin-Name: d768007473f4ed40abbdf2c7e501b580b1cc37c1620c7cb90af1f208a8c35145
2019-08-31 20:13:30 +00:00
dan
f66bfcb740
If a DELETE trigger fired by an UPDATE OR REPLACE statement deletes the row being updated, do not attempt to proceed with the original UPDATE operation. Fix for [d6a0fbc1].
...
FossilOrigin-Name: 4145b3e05051ba6729105157a876793ad14a05d895fc10fe704f437eab16ea93
2019-08-31 17:14:35 +00:00
drh
6a19865ff2
Remove some affinity tests that became unreachable due to the prior change.
...
FossilOrigin-Name: e2db1123faac26c0e0b6a1ebef1685ea7633bfcafd1ff743ba5380700f7745af
2019-08-31 01:33:19 +00:00
drh
7314495ff8
When the affinity of a table column is INT or REAL, make the affinity of
...
corresponding index columns NUMERIC. This increases the precision of
index lookups for large numbers so that it matches the precision of
ordinary comparison operators. Ticket [40812aea1fde9594]
FossilOrigin-Name: e0d909c740b774d8a46731696e33342be83206cc4a95d07f42fdb3d8cc2d7a8e
2019-08-30 23:56:34 +00:00
drh
a7ce167e5b
Make sure OP_RealAffinity has been applied to all columns of type REAL
...
in the excluded.* pseudo-table of an UPSERT.
Ticket [5a3dba8104421320]
FossilOrigin-Name: 67381dadede98a55d8d9e085d021e6fa6473071978967b6302e03b28cf2245e1
2019-08-30 23:15:00 +00:00
drh
efb5f9a173
Improvements to VDBE tracing. No changes to code in normal deliverables.
...
FossilOrigin-Name: 54553bf16fabd72d1967acef317beb518e086707ccd45890b7c7256b8da08b75
2019-08-30 21:52:13 +00:00
dan
9889ede28d
Add test case to window8.test. Also fix an error in a comment in window.c.
...
FossilOrigin-Name: 2925bfa5971c8557ecaa6ac18df0825ebbbd1622017509e83451d90640146fa8
2019-08-30 19:45:03 +00:00
drh
db3a32ed1c
Back out the change at [47cd634c98b502d4] which was incorrect. Add a test
...
case so that we don't accidently back out that change again.
FossilOrigin-Name: 596ac2a4eab28b74f4050fb4eb71883f2a1421fdbccf302413e4653391bb52c9
2019-08-30 18:02:49 +00:00
dan
1cac1766df
Add further comments to window.c.
...
FossilOrigin-Name: 900464567b2a5ce0c278a3297e4be1968f609258608aa0fbe2fc67709aa22a4b
2019-08-30 17:28:55 +00:00
drh
ac6627327c
New test cases for window functions with RANGE BETWEEN and DESC NULLS FIRST.
...
FossilOrigin-Name: f7002f86c780e279c9f8a6268f317586519c059c9de2115ff6f1cad272570c29
2019-08-30 16:46:12 +00:00
dan
8b47f52082
Fix a bug in RANGE window functions that use "ORDER BY <expr> DESC NULLS FIRST" as the window-frame ORDER BY clause.
...
FossilOrigin-Name: 39b4cad4a51bb5116d62ffb16ac36d96a9280321b049eb2d008605392f52a459
2019-08-30 16:14:58 +00:00
drh
ae144a1c9f
The expression "(X IS FALSE) IN (FALSE)" does not imply that X is NOT NULL.
...
Ticket [f8f472cbc77ba9c9]
FossilOrigin-Name: dd66134817ecbda01c59a05ad0d6ac44bee700ab10cd2119c869dd69af293fe2
2019-08-30 16:00:58 +00:00
drh
7a231b4973
The expression "(X IS FALSE) BETWEEN FALSE AND TRUE" does not implie that
...
X is not NULL. Ticket [fba33c8b1df6a915]
FossilOrigin-Name: 057fb8b1809b8b9c8fff0fd0804153b9644f0545c23c6ddc4758bda3381094b9
2019-08-30 15:11:08 +00:00
drh
38cefc83c8
The expression "(x IS FALSE) IS FALSE" does not imply that X is not NULL.
...
Ticket [a6408d42b9f44462]
FossilOrigin-Name: 45ff2b1f2693bb0231a864a511bb82cf2a5945ab3d806a5bbaf1517ecb287883
2019-08-30 13:07:06 +00:00
drh
f4d9c9822d
Remove a faulty testcase() macro.
...
FossilOrigin-Name: 80124ae55246b79023d23d3f55487ac3c0b40e8ff301c5daf4dd0631de8ddb29
2019-08-29 23:24:18 +00:00
dan
bd717a4d2e
Improve vdbe branch coverage of NULLS LAST code.
...
FossilOrigin-Name: e8e9f77d52974f6ba0a536d05837b280a996745deb3a2169bb29379f10e49df4
2019-08-29 21:16:46 +00:00
dan
9d23ea74d4
Fix other problems similar to ticket [c0390363].
...
FossilOrigin-Name: 96ff2ba9c4bb71d5f7c6f359986a76a5364b7ac3e1a612441543a9eabecf31df
2019-08-29 19:34:29 +00:00
drh
db586e4843
Add a missing VdbeCoverage() macro.
...
FossilOrigin-Name: 33da6092d3d04b6eb6ab396b8c4f668e3529e26bf11e26f5fcb9b61fe3470197
2019-08-29 16:48:10 +00:00
drh
f76ccb7d54
Remove an unreachable branch in the NULLS LAST logic of RANGE window
...
functions.
FossilOrigin-Name: 47cd634c98b502d40a493455ba6d73cbd0dae74944f9cf06fcbcd025f4b49d6e
2019-08-29 16:17:59 +00:00
dan
b6a9121bb3
Fix another case where SQLite assumes that if "~(? AND FALSE)" is true, "?" must be non-null.
...
FossilOrigin-Name: 616f5663b3dbd0929128c0990fc6d8bba1513c7ae196b87c450ac0b3b3203ecd
2019-08-29 15:50:16 +00:00
dan
1cd382e350
Avoid assuming that for "~ (? OR TRUE)" to be true, "?" must not be NULL, just as we do for "NOT (? OR TRUE)". Fix for ticket [c0390363].
...
FossilOrigin-Name: 84ae41fd2f50cb7c0c3f6522d0f94817e1bbf96eae5316279e3e32cee4e46e91
2019-08-29 15:06:35 +00:00
dan
50b3ea2daf
Fix a potential buffer overrun in fts5 caused by corrupted database records.
...
FossilOrigin-Name: c465d0eb478e42045e08efe8b6fa64d4bd4d747cdf743beae4608562b014169e
2019-08-29 14:25:44 +00:00
drh
0b79824ec5
Improve Lemon so that it enlarges some of its tables slightly in order to
...
avoid having to index range checks on table lookups for a performance
increase.
FossilOrigin-Name: 4be6a23a188bd1fea445283d6dcc2f5c3470c28852dc4895d63117ad0c773fcf
2019-08-29 00:27:12 +00:00
drh
6ee3fa87fd
Fix an unreachable branch in sqlite3ParserFallback()
...
FossilOrigin-Name: e059178b47109caee2c2211b2db6e594c014af636677118a64e10edf01ac017d
2019-08-28 11:49:45 +00:00
drh
010bdb4c79
Further improvements to parser speed by enlarging lookup tables to eliminate
...
the need to do range checking on the index prior to lookup.
FossilOrigin-Name: 47d3e091ae49eb7947af5abef9b5b96b16b86d349e51fe0677795649be6db473
2019-08-28 11:31:11 +00:00
drh
2e51716b15
Increase the size of the yy_lookahead table so that it is never necessary to
...
down bounds checking on the index.
FossilOrigin-Name: bafd872398e58766e996963372c7acc03a1e20a6d39a3867ca45d3ea0ed2ac1d
2019-08-28 02:09:47 +00:00
dan
8085d53d3c
Add support for "ORDER BY ... NULLS FIRST" and "ORDER BY ... NULLS LAST". Use this to fix ticket [f8a7060e].
...
FossilOrigin-Name: 94085fb3e756bc984237b74b6e29c68462ad860870c64dcb5124feaeec387660
2019-08-27 19:59:21 +00:00
drh
e893759cac
The ALWAYS() added by the previous check-in was incorrect. Take it back out.
...
FossilOrigin-Name: 336235db2b1167cdb2feb64b47eb6368c97c43ee9641b7bfccc5775a41dd0d0e
2019-08-27 17:59:01 +00:00
drh
7ec796d002
Add ALWAYS() to an always true conditional that results from the
...
previous check-in. Add a test case for ticket [dbaf8a6820be1ece] to
supplement those already checked into TH3.
FossilOrigin-Name: aff209804722ac902c7abfde80ad2677e0f51beb2c7f28f65d51105d984a1640
2019-08-27 17:28:05 +00:00
drh
790b37a240
Omit the "x IN (y)" to "x==y" optimization of check-in [e68b427afbc82e20]
...
(and ticket [e39d032577df6942]) as it causes difficult affinity problems
as demonstrated by ticket [dbaf8a6820be1ece] and the original assertion fault
is no longer a factor due to countless other changes of the previous 5 years.
FossilOrigin-Name: 7f5168a76a400fc2e1e40c6950470b1bfb38a0be54fc5518c17c29fdae7d8f1f
2019-08-27 17:01:07 +00:00
drh
6397a78b2b
If a TEMP TRIGGER references an auxiliary schema, and that auxiliary schema
...
is detached, move the trigger to reference the TEMP schema before completing
the detach, so that the trigger does not hold a dangling schema pointer.
FossilOrigin-Name: 069c2f4c61f06211a8981abc412afcc1536ece13380b13a70aa99123f8f527cd
2019-08-27 10:05:45 +00:00
drh
512e46a74c
Merge in recent fixes from trunk.
...
FossilOrigin-Name: ad816d01d4bd3908ff2c574d79d1a29b6d732df308f2f1b1cdf7c0bc7c1bd7cf
2019-08-26 20:41:33 +00:00
dan
d790c9a161
Tweak the shell tool ".recover" command so that it can recover rows that consist of a rowid and no fields.
...
FossilOrigin-Name: 279ac7fdec0b1409cd400b7b093f89089d93c49f596f378c6a3032434a85bf83
2019-08-26 14:57:58 +00:00
drh
554a9dc78a
Improved detection of number of column mismatch for vector assignment
...
in UPDATE statements. Ticket [78acc9d40f0786e8]
FossilOrigin-Name: bd4bda73df3794eef424eb13e08fc7cc54347d1ac69febaeec41f6b6cb4a42bc
2019-08-26 14:18:28 +00:00
drh
d86fe44ab5
Fix typo in a comment. No code changes.
...
FossilOrigin-Name: d0cc06d8a30444125e5655f6587a6355471c3447c08a2e5f7a046a4ed5cc5f09
2019-08-26 13:45:49 +00:00
drh
e2754c1fba
Enforce 80-character line discipline in the CLI. Minor improvements to the
...
CLI built-in help.
FossilOrigin-Name: 9690013a00d73a8047b25149ded50d20c74b5c62c0725eec50ed8477688e58a0
2019-08-26 12:50:01 +00:00
dan
666a42ffb3
Minor performance improvement for balance_nonroot().
...
FossilOrigin-Name: d7434cae3edc321e2f1f8d340a0e656b1613b736f8400fb271a0e80f59401b9e
2019-08-24 21:02:47 +00:00
dan
298680d15a
Fix a potential buffer overrun in fts5 caused by corrupt database records.
...
FossilOrigin-Name: 156d612800a7282fe0ebb20feb31d3fd577f4ab60fab8c00940c87143997aefb
2019-08-24 17:11:29 +00:00
drh
ee37f8b0a3
Fix the built-in edit() SQL function in the CLI so that it works with
...
zero-length blobs.
FossilOrigin-Name: e32490128684cfeeb8213baecc78a7942b8fb63d00e375edd965bf236faeed18
2019-08-23 23:05:32 +00:00