]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
5 years agoFix a problem with using json1 window functions with an EXCLUDE clause.
dan [Fri, 13 Sep 2019 20:42:46 +0000 (20:42 +0000)] 
Fix a problem with using json1 window functions with an EXCLUDE clause.

FossilOrigin-Name: 4a1978814da41608a16f6953bd575c97d587a34bd80b7ac0e619d62bfdc903d2

5 years agoFix the windowB test module so that it works even if SQLite is built without
drh [Fri, 13 Sep 2019 18:59:04 +0000 (18:59 +0000)] 
Fix the windowB test module so that it works even if SQLite is built without
JSON support.

FossilOrigin-Name: 807975c76b36347f02aa0ce9661d608adbffe1f7e77c15f8da677e47e1187153

5 years agoAdd the SQLITE_SUBTYPE flag, which may be passed to sqlite3_create_window_function...
dan [Fri, 13 Sep 2019 18:27:17 +0000 (18:27 +0000)] 
Add the SQLITE_SUBTYPE flag, which may be passed to sqlite3_create_window_function() to indicate that the window function uses sqlite3_value_subtype() to check the sub-type of its arguments.

FossilOrigin-Name: ba2ebc3a348decc5cedaf14960e30e7ae26a26824cfa198727f2499162142ef3

5 years agoFix a typo in the carray extension header comment - the comment that serves
drh [Fri, 13 Sep 2019 17:30:24 +0000 (17:30 +0000)] 
Fix a typo in the carray extension header comment - the comment that serves
as the documentation to this extension.

FossilOrigin-Name: 658a42d3633b31fda260f2c5a1a2c7dd8eb4eb0114d322369017c56faf5ecd42

5 years agoChange the meaning of the SQLITE_SUBTYPE flag so that it indicates that the user... window-functions-subtype-fix2
dan [Fri, 13 Sep 2019 17:05:48 +0000 (17:05 +0000)] 
Change the meaning of the SQLITE_SUBTYPE flag so that it indicates that the user-defined function cares about the subtypes of its arguments.

FossilOrigin-Name: af1bc20f502816db460d2b2d353f715da5cf660e59095de5214c829c1cb20981

5 years agoMerge latest trunk changes with this branch.
dan [Fri, 13 Sep 2019 16:19:53 +0000 (16:19 +0000)] 
Merge latest trunk changes with this branch.

FossilOrigin-Name: 14ef7543465dd14d8fa141fcceb1950b5c2d265a3e862323969d747b39c0cd8c

5 years agoEnsure that the idxStr for FTS5 is always zero-terminated.
drh [Fri, 13 Sep 2019 13:23:13 +0000 (13:23 +0000)] 
Ensure that the idxStr for FTS5 is always zero-terminated.
Fix for check-in [e6db945454a0dae2]

FossilOrigin-Name: 090cd07d37904da4610d6a6787a3cc825c9a8bdcc5f051267d4608bba9b49d03

5 years agoFix harmless compiler warnings.
drh [Fri, 13 Sep 2019 12:24:58 +0000 (12:24 +0000)] 
Fix harmless compiler warnings.

FossilOrigin-Name: a8927d14f88c44828e794787bab080455ab62705c93f65ce7d8db83478aa5a8e

5 years agoAllow fts5 to filter on multiple MATCH clauses in a single scan.
dan [Thu, 12 Sep 2019 19:38:40 +0000 (19:38 +0000)] 
Allow fts5 to filter on multiple MATCH clauses in a single scan.

FossilOrigin-Name: 9d418a7a491761eeb38a70898677a493e2631e5d62e75ee88431f52d3dfd2344

5 years agoFix typo for one instance of line number handling in the Lemon tool.
mistachkin [Wed, 11 Sep 2019 15:25:26 +0000 (15:25 +0000)] 
Fix typo for one instance of line number handling in the Lemon tool.

FossilOrigin-Name: 980be1730dc1239c63a107923bf2e32b4ec7d4bc31b9190e711cc35f18cc2bb4

5 years agoEnhance treeview to show SOFT-COLLATE for TK_COLLATE operators that omit
drh [Tue, 10 Sep 2019 17:51:27 +0000 (17:51 +0000)] 
Enhance treeview to show SOFT-COLLATE for TK_COLLATE operators that omit
the EP_Collate flag.

FossilOrigin-Name: a97804620a27acc30bebd2aaa04e38f2f36de48b0931038ca8bdc9cb0c36b8f4

5 years agoEnsure the columns of views and sub-queries maintain their implicit collation sequenc...
dan [Tue, 10 Sep 2019 15:33:52 +0000 (15:33 +0000)] 
Ensure the columns of views and sub-queries maintain their implicit collation sequences when the "push-down" optimization is applied. Fix for [18458b1a].

FossilOrigin-Name: 36997c4ade2ef3a274cd1ac52b44118fb3a05325adb650b7b338ecb43d060575

5 years agoEnsure the columns of views and sub-selects in the FROM clause of a select are always...
dan [Mon, 9 Sep 2019 20:17:24 +0000 (20:17 +0000)] 
Ensure the columns of views and sub-selects in the FROM clause of a select are always assigned implicit collation sequences, just as table columns are. Fix for [a7debbe0].

FossilOrigin-Name: b9ec72203c19c2b95e648ac1dfad74eec98d4ff82581cdc10dc4221ba551728f

5 years agoEnsure the columns of views and sub-selects in the FROM clause of a select are always... tkt-a7debbe0_
dan [Mon, 9 Sep 2019 19:49:42 +0000 (19:49 +0000)] 
Ensure the columns of views and sub-selects in the FROM clause of a select are always assigned implicit collation sequences, just as table columns are. Possible fix for [a7debbe0].

FossilOrigin-Name: 1863b7bf12521bdd2b51c5b8d3a4634bff3e15d3713e0b5343952df7da02f794

5 years agoAdd the SQLITE_SUBTYPE flag, which can be passed to sqlite3_create_function() and...
dan [Sat, 7 Sep 2019 18:20:43 +0000 (18:20 +0000)] 
Add the SQLITE_SUBTYPE flag, which can be passed to sqlite3_create_function() and similar to indicate to the core that a user function is likely to use sqlite3_result_subtype().

FossilOrigin-Name: 6aa438ce41d460a6782ae63503128b9140c28ff59c2b2eed48b004acf83e0560

5 years agoFix handling of NULL, text and blob values in window queries that use "RANGE BETWEEN...
dan [Wed, 4 Sep 2019 06:56:43 +0000 (06:56 +0000)] 
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

5 years agoUpdates to the default settings in Makefile.linux-gcc.
drh [Tue, 3 Sep 2019 16:23:41 +0000 (16:23 +0000)] 
Updates to the default settings in Makefile.linux-gcc.

FossilOrigin-Name: 3044cf6917ea8324175fc91657e9a5978af9748f72e1914bc361753f0b2d897d

5 years agoWhen we play games with COLLATE in order to commute an operator in the
drh [Tue, 3 Sep 2019 14:27:25 +0000 (14:27 +0000)] 
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

5 years agoFix a bug introduced earlier today by check-in [88833a9c2849c959].
drh [Mon, 2 Sep 2019 22:13:06 +0000 (22:13 +0000)] 
Fix a bug introduced earlier today by check-in [88833a9c2849c959].
Ticket [29f635e0af71234b]

FossilOrigin-Name: 6e7b4527d32cc1be0294614b9d7363d4b59cf654a954b86515b3f6888975ce73

5 years agoFix a potential crash in fts5 caused by using an auxiliary function on a "special...
dan [Mon, 2 Sep 2019 14:46:12 +0000 (14:46 +0000)] 
Fix a potential crash in fts5 caused by using an auxiliary function on a "special" query like '*id' or '*reads'.

FossilOrigin-Name: 9490683ae883561fa347cbe54ebdd61188d849b4852d904b508250ba5d0807ef

5 years agoWhen applying the IN_INDEX_NOOP optimization and the LHS has REAL affinity,
drh [Mon, 2 Sep 2019 02:21:58 +0000 (02:21 +0000)] 
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

5 years agoFix an obsolete comment that defines the meaning of one of the parameters
drh [Mon, 2 Sep 2019 01:25:07 +0000 (01:25 +0000)] 
Fix an obsolete comment that defines the meaning of one of the parameters
to the sqlite3FindInIndex() subroutine.  No changes to code.

FossilOrigin-Name: 0c946f0846b2835f8facca806a4d4ecc2b2e97343de245a0d91716d998b2a829

5 years agoWhen computing an expression value for an index-on-expression or a CHECK
drh [Mon, 2 Sep 2019 00:58:44 +0000 (00:58 +0000)] 
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

5 years agoRemove an obsolete paragraph from the OP_Column documentation. No code
drh [Sun, 1 Sep 2019 23:36:33 +0000 (23:36 +0000)] 
Remove an obsolete paragraph from the OP_Column documentation.  No code
changes.

FossilOrigin-Name: f6d8956cf8b5993a4332b9330e89d5c3d5f8872ea5a2ce3d2e91127406cc1839

5 years agoFix a harmless compiler warning.
drh [Sat, 31 Aug 2019 20:29:28 +0000 (20:29 +0000)] 
Fix a harmless compiler warning.

FossilOrigin-Name: 63c67a54b4d3e501f3059dcdfc6bb50c6b8dad63a34eb773e4408d9e4e780d7a

5 years agoMark new VDBE branches never taken.
drh [Sat, 31 Aug 2019 20:26:06 +0000 (20:26 +0000)] 
Mark new VDBE branches never taken.

FossilOrigin-Name: 83c2adffbfb6dcdddb38ad9f888647b0e39fa24dc0bff344238e1f75a6c7d2ed

5 years agoImprovements to the algorithm that determines which SELECT in a sequence
drh [Sat, 31 Aug 2019 20:13:30 +0000 (20:13 +0000)] 
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

5 years agoIf a DELETE trigger fired by an UPDATE OR REPLACE statement deletes the row being...
dan [Sat, 31 Aug 2019 17:14:35 +0000 (17:14 +0000)] 
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

5 years agoRemove some affinity tests that became unreachable due to the prior change.
drh [Sat, 31 Aug 2019 01:33:19 +0000 (01:33 +0000)] 
Remove some affinity tests that became unreachable due to the prior change.

FossilOrigin-Name: e2db1123faac26c0e0b6a1ebef1685ea7633bfcafd1ff743ba5380700f7745af

5 years agoWhen the affinity of a table column is INT or REAL, make the affinity of
drh [Fri, 30 Aug 2019 23:56:34 +0000 (23:56 +0000)] 
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

5 years agoMake sure OP_RealAffinity has been applied to all columns of type REAL
drh [Fri, 30 Aug 2019 23:15:00 +0000 (23:15 +0000)] 
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

5 years agoImprovements to VDBE tracing. No changes to code in normal deliverables.
drh [Fri, 30 Aug 2019 21:52:13 +0000 (21:52 +0000)] 
Improvements to VDBE tracing.  No changes to code in normal deliverables.

FossilOrigin-Name: 54553bf16fabd72d1967acef317beb518e086707ccd45890b7c7256b8da08b75

5 years agoAdd test case to window8.test. Also fix an error in a comment in window.c.
dan [Fri, 30 Aug 2019 19:45:03 +0000 (19:45 +0000)] 
Add test case to window8.test. Also fix an error in a comment in window.c.

FossilOrigin-Name: 2925bfa5971c8557ecaa6ac18df0825ebbbd1622017509e83451d90640146fa8

5 years agoBack out the change at [47cd634c98b502d4] which was incorrect. Add a test
drh [Fri, 30 Aug 2019 18:02:49 +0000 (18:02 +0000)] 
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

5 years agoAdd further comments to window.c.
dan [Fri, 30 Aug 2019 17:28:55 +0000 (17:28 +0000)] 
Add further comments to window.c.

FossilOrigin-Name: 900464567b2a5ce0c278a3297e4be1968f609258608aa0fbe2fc67709aa22a4b

5 years agoNew test cases for window functions with RANGE BETWEEN and DESC NULLS FIRST.
drh [Fri, 30 Aug 2019 16:46:12 +0000 (16:46 +0000)] 
New test cases for window functions with RANGE BETWEEN and DESC NULLS FIRST.

FossilOrigin-Name: f7002f86c780e279c9f8a6268f317586519c059c9de2115ff6f1cad272570c29

5 years agoFix a bug in RANGE window functions that use "ORDER BY <expr> DESC NULLS FIRST" as...
dan [Fri, 30 Aug 2019 16:14:58 +0000 (16:14 +0000)] 
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

5 years agoThe expression "(X IS FALSE) IN (FALSE)" does not imply that X is NOT NULL.
drh [Fri, 30 Aug 2019 16:00:58 +0000 (16:00 +0000)] 
The expression "(X IS FALSE) IN (FALSE)" does not imply that X is NOT NULL.
Ticket [f8f472cbc77ba9c9]

FossilOrigin-Name: dd66134817ecbda01c59a05ad0d6ac44bee700ab10cd2119c869dd69af293fe2

5 years agoThe expression "(X IS FALSE) BETWEEN FALSE AND TRUE" does not implie that
drh [Fri, 30 Aug 2019 15:11:08 +0000 (15:11 +0000)] 
The expression "(X IS FALSE) BETWEEN FALSE AND TRUE" does not implie that
X is not NULL.  Ticket [fba33c8b1df6a915]

FossilOrigin-Name: 057fb8b1809b8b9c8fff0fd0804153b9644f0545c23c6ddc4758bda3381094b9

5 years agoThe expression "(x IS FALSE) IS FALSE" does not imply that X is not NULL.
drh [Fri, 30 Aug 2019 13:07:06 +0000 (13:07 +0000)] 
The expression "(x IS FALSE) IS FALSE" does not imply that X is not NULL.
Ticket [a6408d42b9f44462]

FossilOrigin-Name: 45ff2b1f2693bb0231a864a511bb82cf2a5945ab3d806a5bbaf1517ecb287883

5 years agoRemove a faulty testcase() macro.
drh [Thu, 29 Aug 2019 23:24:18 +0000 (23:24 +0000)] 
Remove a faulty testcase() macro.

FossilOrigin-Name: 80124ae55246b79023d23d3f55487ac3c0b40e8ff301c5daf4dd0631de8ddb29

5 years agoImprove vdbe branch coverage of NULLS LAST code.
dan [Thu, 29 Aug 2019 21:16:46 +0000 (21:16 +0000)] 
Improve vdbe branch coverage of NULLS LAST code.

FossilOrigin-Name: e8e9f77d52974f6ba0a536d05837b280a996745deb3a2169bb29379f10e49df4

5 years agoFix other problems similar to ticket [c0390363].
dan [Thu, 29 Aug 2019 19:34:29 +0000 (19:34 +0000)] 
Fix other problems similar to ticket [c0390363].

FossilOrigin-Name: 96ff2ba9c4bb71d5f7c6f359986a76a5364b7ac3e1a612441543a9eabecf31df

5 years agoAdd a missing VdbeCoverage() macro.
drh [Thu, 29 Aug 2019 16:48:10 +0000 (16:48 +0000)] 
Add a missing VdbeCoverage() macro.

FossilOrigin-Name: 33da6092d3d04b6eb6ab396b8c4f668e3529e26bf11e26f5fcb9b61fe3470197

5 years agoRemove an unreachable branch in the NULLS LAST logic of RANGE window
drh [Thu, 29 Aug 2019 16:17:59 +0000 (16:17 +0000)] 
Remove an unreachable branch in the NULLS LAST logic of RANGE window
functions.

FossilOrigin-Name: 47cd634c98b502d40a493455ba6d73cbd0dae74944f9cf06fcbcd025f4b49d6e

5 years agoFix another case where SQLite assumes that if "~(? AND FALSE)" is true, "?" must...
dan [Thu, 29 Aug 2019 15:50:16 +0000 (15:50 +0000)] 
Fix another case where SQLite assumes that if "~(? AND FALSE)" is true, "?" must be non-null.

FossilOrigin-Name: 616f5663b3dbd0929128c0990fc6d8bba1513c7ae196b87c450ac0b3b3203ecd

5 years agoAvoid assuming that for "~ (? OR TRUE)" to be true, "?" must not be NULL, just as...
dan [Thu, 29 Aug 2019 15:06:35 +0000 (15:06 +0000)] 
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

5 years agoFix a potential buffer overrun in fts5 caused by corrupted database records.
dan [Thu, 29 Aug 2019 14:25:44 +0000 (14:25 +0000)] 
Fix a potential buffer overrun in fts5 caused by corrupted database records.

FossilOrigin-Name: c465d0eb478e42045e08efe8b6fa64d4bd4d747cdf743beae4608562b014169e

5 years agoImprove Lemon so that it enlarges some of its tables slightly in order to
drh [Thu, 29 Aug 2019 00:27:12 +0000 (00:27 +0000)] 
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

5 years agoFix an unreachable branch in sqlite3ParserFallback() lemon-optimization
drh [Wed, 28 Aug 2019 11:49:45 +0000 (11:49 +0000)] 
Fix an unreachable branch in sqlite3ParserFallback()

FossilOrigin-Name: e059178b47109caee2c2211b2db6e594c014af636677118a64e10edf01ac017d

5 years agoFurther improvements to parser speed by enlarging lookup tables to eliminate
drh [Wed, 28 Aug 2019 11:31:11 +0000 (11:31 +0000)] 
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

5 years agoIncrease the size of the yy_lookahead table so that it is never necessary to
drh [Wed, 28 Aug 2019 02:09:47 +0000 (02:09 +0000)] 
Increase the size of the yy_lookahead table so that it is never necessary to
down bounds checking on the index.

FossilOrigin-Name: bafd872398e58766e996963372c7acc03a1e20a6d39a3867ca45d3ea0ed2ac1d

5 years agoAdd support for "ORDER BY ... NULLS FIRST" and "ORDER BY ... NULLS LAST". Use this...
dan [Tue, 27 Aug 2019 19:59:21 +0000 (19:59 +0000)] 
Add support for "ORDER BY ... NULLS FIRST" and "ORDER BY ... NULLS LAST". Use this to fix ticket [f8a7060e].

FossilOrigin-Name: 94085fb3e756bc984237b74b6e29c68462ad860870c64dcb5124feaeec387660

5 years agoThe ALWAYS() added by the previous check-in was incorrect. Take it back out.
drh [Tue, 27 Aug 2019 17:59:01 +0000 (17:59 +0000)] 
The ALWAYS() added by the previous check-in was incorrect.  Take it back out.

FossilOrigin-Name: 336235db2b1167cdb2feb64b47eb6368c97c43ee9641b7bfccc5775a41dd0d0e

5 years agoAdd ALWAYS() to an always true conditional that results from the
drh [Tue, 27 Aug 2019 17:28:05 +0000 (17:28 +0000)] 
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

5 years agoOmit the "x IN (y)" to "x==y" optimization of check-in [e68b427afbc82e20]
drh [Tue, 27 Aug 2019 17:01:07 +0000 (17:01 +0000)] 
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

5 years agoIf a TEMP TRIGGER references an auxiliary schema, and that auxiliary schema
drh [Tue, 27 Aug 2019 10:05:45 +0000 (10:05 +0000)] 
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

5 years agoMerge in recent fixes from trunk. nulls-last
drh [Mon, 26 Aug 2019 20:41:33 +0000 (20:41 +0000)] 
Merge in recent fixes from trunk.

FossilOrigin-Name: ad816d01d4bd3908ff2c574d79d1a29b6d732df308f2f1b1cdf7c0bc7c1bd7cf

5 years agoTweak the shell tool ".recover" command so that it can recover rows that consist...
dan [Mon, 26 Aug 2019 14:57:58 +0000 (14:57 +0000)] 
Tweak the shell tool ".recover" command so that it can recover rows that consist of a rowid and no fields.

FossilOrigin-Name: 279ac7fdec0b1409cd400b7b093f89089d93c49f596f378c6a3032434a85bf83

5 years agoImproved detection of number of column mismatch for vector assignment
drh [Mon, 26 Aug 2019 14:18:28 +0000 (14:18 +0000)] 
Improved detection of number of column mismatch for vector assignment
in UPDATE statements.  Ticket [78acc9d40f0786e8]

FossilOrigin-Name: bd4bda73df3794eef424eb13e08fc7cc54347d1ac69febaeec41f6b6cb4a42bc

5 years agoFix typo in a comment. No code changes.
drh [Mon, 26 Aug 2019 13:45:49 +0000 (13:45 +0000)] 
Fix typo in a comment.  No code changes.

FossilOrigin-Name: d0cc06d8a30444125e5655f6587a6355471c3447c08a2e5f7a046a4ed5cc5f09

5 years agoEnforce 80-character line discipline in the CLI. Minor improvements to the
drh [Mon, 26 Aug 2019 12:50:01 +0000 (12:50 +0000)] 
Enforce 80-character line discipline in the CLI.  Minor improvements to the
CLI built-in help.

FossilOrigin-Name: 9690013a00d73a8047b25149ded50d20c74b5c62c0725eec50ed8477688e58a0

5 years agoMinor performance improvement for balance_nonroot().
dan [Sat, 24 Aug 2019 21:02:47 +0000 (21:02 +0000)] 
Minor performance improvement for balance_nonroot().

FossilOrigin-Name: d7434cae3edc321e2f1f8d340a0e656b1613b736f8400fb271a0e80f59401b9e

5 years agoFix a potential buffer overrun in fts5 caused by corrupt database records.
dan [Sat, 24 Aug 2019 17:11:29 +0000 (17:11 +0000)] 
Fix a potential buffer overrun in fts5 caused by corrupt database records.

FossilOrigin-Name: 156d612800a7282fe0ebb20feb31d3fd577f4ab60fab8c00940c87143997aefb

5 years agoFix the built-in edit() SQL function in the CLI so that it works with
drh [Fri, 23 Aug 2019 23:05:32 +0000 (23:05 +0000)] 
Fix the built-in edit() SQL function in the CLI so that it works with
zero-length blobs.

FossilOrigin-Name: e32490128684cfeeb8213baecc78a7942b8fb63d00e375edd965bf236faeed18

5 years agoMove some things in parse.y so that TK_COLUMN and TK_AGG_COLUMN are assigned the...
dan [Fri, 23 Aug 2019 20:33:01 +0000 (20:33 +0000)] 
Move some things in parse.y so that TK_COLUMN and TK_AGG_COLUMN are assigned the same values as they are on trunk for a very small speedup.

FossilOrigin-Name: d26fdfa3bc5f8d9c4a6000462080b0dd508e5cae9a83e0d126be48195224da8c

5 years agoRevise the VDBE comments for NULL-scan so that they also work make
drh [Fri, 23 Aug 2019 17:09:02 +0000 (17:09 +0000)] 
Revise the VDBE comments for NULL-scan so that they also work make
sense when reading a NULLS FIRST plan.

FossilOrigin-Name: bfe793780fa6fc7a1e7d0ee60606dda272985de9573887dca118e9510fc609f2

5 years agoAdditional simplifications of the WHERE loop code generator logic for
drh [Fri, 23 Aug 2019 17:00:22 +0000 (17:00 +0000)] 
Additional simplifications of the WHERE loop code generator logic for
NULLS LAST.

FossilOrigin-Name: 1383680d927d7d703933be7653c0019199845e7f7e82bcc76d9ca3808093e9d8

5 years agoSimplification of the WHERE loop code generator for NULLS LAST saves a
drh [Fri, 23 Aug 2019 16:12:20 +0000 (16:12 +0000)] 
Simplification of the WHERE loop code generator for NULLS LAST saves a
few CPU cycles and about a hundred bytes of code space.

FossilOrigin-Name: e3ed2f496f51234a8f81d90d47ba603b06dbed38b8bd8f1934294379cde74d3a

5 years agoInvert the meaning of the regBignull flag so that it is 1 when doing the
drh [Fri, 23 Aug 2019 13:32:03 +0000 (13:32 +0000)] 
Invert the meaning of the regBignull flag so that it is 1 when doing the
normal scan and 1 when scanning nulls.  This enables the re-do jump at the
bottom of the loop to be coded with a single OP_IfNotZero opcode, rather
than a sequence of OP_If, OP_Integer, OP_Goto.

FossilOrigin-Name: bf875e1a259a4167694e06349458452dc36c1d38aa6843518d9ae46ce74e5559

5 years agoExtra VDBE comments in the NULLS LAST logic provide landmarks to help
drh [Fri, 23 Aug 2019 13:08:49 +0000 (13:08 +0000)] 
Extra VDBE comments in the NULLS LAST logic provide landmarks to help
understand the EXPLAIN output.

FossilOrigin-Name: 649b08ead50f10a9ec0357a5e1ed020195d9f93be61ef703ea036a8e53f07a34

5 years agoAdd additional VDBE coverage marcros.
drh [Thu, 22 Aug 2019 21:13:56 +0000 (21:13 +0000)] 
Add additional VDBE coverage marcros.

FossilOrigin-Name: d3531f5be7d3769689e2cd8bdc9bab5608759de027d44cc123996f32a4a89583

5 years agoMerge fixes from trunk. Also fix a reference to the KeyInfo.aSortOrder field,
drh [Thu, 22 Aug 2019 19:35:24 +0000 (19:35 +0000)] 
Merge fixes from trunk.  Also fix a reference to the KeyInfo.aSortOrder field,
which should now be KeyInfo.aSortFlags

FossilOrigin-Name: 63e625c8eb06720eef30573aa562e38c90d228a9cf493f8bb59f09e50f0e3168

5 years agoFix the likely(), unlikely(), and likelihood() functions so that they have
drh [Thu, 22 Aug 2019 16:38:42 +0000 (16:38 +0000)] 
Fix the likely(), unlikely(), and likelihood() functions so that they have
no affinity, just like any other function.
Ticket [7e07a3dbf5a8cd26]

FossilOrigin-Name: 44578865fa7baf9760e355691ca9ce753295aaba7a4ee0bba29d4f85d9335bab

5 years agoFix a false-positive in sqlite3ExprNeedsNoAffinityChange().
drh [Thu, 22 Aug 2019 11:11:28 +0000 (11:11 +0000)] 
Fix a false-positive in sqlite3ExprNeedsNoAffinityChange().
Ticket [ac184eb571d5e6e0]

FossilOrigin-Name: e62eddbb048cbc2c15cb8eeb5b7a907e7cb08c21a27ebba96a069f62dbcb0f30

5 years agoFix the OP_SeekGE, OP_SeekGT, OP_SeekLE, and OP_SeekLT opcodes so that they
drh [Thu, 22 Aug 2019 00:53:16 +0000 (00:53 +0000)] 
Fix the OP_SeekGE, OP_SeekGT, OP_SeekLE, and OP_SeekLT opcodes so that they
preserve the datatype of the value in the register used as the key.
Ticket [d9f584e936c7a8d0]

FossilOrigin-Name: 81b9f0f55042777b37de78069f7089041a9ee21dd0a0c86b879053fb46e140b4

5 years agoAdd missing VdbeCoverage() macros to new code.
dan [Wed, 21 Aug 2019 19:58:11 +0000 (19:58 +0000)] 
Add missing VdbeCoverage() macros to new code.

FossilOrigin-Name: b1cbcdc6eb42cca0c42a05e0d6ba4c6c7f09adff0c59ecfc5b434a94dec07a41

5 years agoDisable broken test case in expert1.test.
dan [Wed, 21 Aug 2019 17:46:34 +0000 (17:46 +0000)] 
Disable broken test case in expert1.test.

FossilOrigin-Name: 73e30c2e92ccab274ff7cee48511c461de148786bb9d338921c1ecb193822282

5 years agoUpdate this branch with latest trunk changes.
dan [Wed, 21 Aug 2019 15:41:50 +0000 (15:41 +0000)] 
Update this branch with latest trunk changes.

FossilOrigin-Name: 6153bcf41a9aa0497f8210311c99ac23846223068f2b6a3a1c2d9dec7673c7e1

5 years agoAvoid assuming that "column IS ?", where column is declared UNIQUE, matches only...
dan [Wed, 21 Aug 2019 14:54:50 +0000 (14:54 +0000)] 
Avoid assuming that "column IS ?", where column is declared UNIQUE, matches only a single row (as "?" might be NULL). Fix for [b8689402].

FossilOrigin-Name: d02490a2f0cae047087130b4ad8f55f265845c2ffb3bde3b7d507edb54acea6d

5 years agoFix a broken assert() in the fts3 snippet code that was failing for queries containgi...
dan [Wed, 21 Aug 2019 11:31:48 +0000 (11:31 +0000)] 
Fix a broken assert() in the fts3 snippet code that was failing for queries containging more than 64 phrases.

FossilOrigin-Name: 4c01e0170e113ad052b6c3980beb4be9f1dc03fb3cf34132b90e8b82b23f654e

5 years agoFurther tests for the special null-handling on this branch.
dan [Tue, 20 Aug 2019 20:09:51 +0000 (20:09 +0000)] 
Further tests for the special null-handling on this branch.

FossilOrigin-Name: 0dbbb51f4d39cafb01d625d65c12dcb232a9c1da7ed5a9397bf55cfea1b980d2

5 years agoFix a problem with fts5 "ORDER BY rank" queries when the fts5 table name requires...
dan [Tue, 20 Aug 2019 19:11:29 +0000 (19:11 +0000)] 
Fix a problem with fts5 "ORDER BY rank" queries when the fts5 table name requires quoting.

FossilOrigin-Name: 00e9a8f2730eb7239bf7fd107c97c409e4f9fbd968510766373440a9079898eb

5 years agoAdd tests for sort-by-index cases that use IN() and non-default NULL handling.
dan [Tue, 20 Aug 2019 17:51:13 +0000 (17:51 +0000)] 
Add tests for sort-by-index cases that use IN() and non-default NULL handling.

FossilOrigin-Name: 09d660ecde723fb30f3bb3684bbb7f95825d78da6a6f33ddf57846054cd563e0

5 years agoDo not pass ORDER BY clauses with non-standard NULL handling to virtual table impleme...
dan [Tue, 20 Aug 2019 15:47:28 +0000 (15:47 +0000)] 
Do not pass ORDER BY clauses with non-standard NULL handling to virtual table implementations.

FossilOrigin-Name: a9a82ee88d2d12209a674bd19167277aa91a6912e7a8bbf3714f90d559307fee

5 years agoFix a segfault that could occur following an OOM while processing a SELECT statement...
dan [Tue, 20 Aug 2019 14:43:01 +0000 (14:43 +0000)] 
Fix a segfault that could occur following an OOM while processing a SELECT statement for which one or more of the expressions in the window frame declaration are themselves sub-selects that use window functions.

FossilOrigin-Name: 75aec4fc886c04fe098828cc03bc72c197cbf40f0a1890fe5bbb98d4fd5c3c7e

5 years agoAdd the new sqlite3_drop_modules() interface to the loadable extension
drh [Tue, 20 Aug 2019 13:49:12 +0000 (13:49 +0000)] 
Add the new sqlite3_drop_modules() interface to the loadable extension
mechanism.

FossilOrigin-Name: 658bd51623787be4ca87b066a051d119f39056286e223afef3691629cf1ab0e1

5 years agoRetain the affinity of an expression in a WHERE clause when it is transformed to...
dan [Tue, 20 Aug 2019 11:43:44 +0000 (11:43 +0000)] 
Retain the affinity of an expression in a WHERE clause when it is transformed to a reference to an index column on the same expression. Fix for [f043b113].

FossilOrigin-Name: 511da0815673ca4a176aa61dc23a8231b2ab77e8363fc184a78b6e17dba64d49

5 years agoFix a typo and a harmless compiler warning.
mistachkin [Tue, 20 Aug 2019 02:19:26 +0000 (02:19 +0000)] 
Fix a typo and a harmless compiler warning.

FossilOrigin-Name: ec4c63e00c957f98d61ddc1b9d20406c7e1072d6ab0c12ac6939db6c63d90cb8

5 years agoAdd the sqlite3_drop_modules() interface.
drh [Mon, 19 Aug 2019 20:44:07 +0000 (20:44 +0000)] 
Add the sqlite3_drop_modules() interface.

FossilOrigin-Name: e2c6fed8f84929ed51a4e876bb09c85ac4b86a2e4cf0832a7da724bb9f4df5bf

5 years agoOmit the "_except" term from the name of the new interface. sqlite3_drop_modules_except
drh [Mon, 19 Aug 2019 20:35:30 +0000 (20:35 +0000)] 
Omit the "_except" term from the name of the new interface.

FossilOrigin-Name: e5ba47c2d8eb9f48a0e0d325e57d0092d536f85983819634c871ebd51829f1d1

5 years agoFix problems with window frames that use ORDER BY ... NULLS LAST etc.
dan [Mon, 19 Aug 2019 19:59:50 +0000 (19:59 +0000)] 
Fix problems with window frames that use ORDER BY ... NULLS LAST etc.

FossilOrigin-Name: 75d665a494dd7d6e77d5a80af386ee5accc0a53416d5493424dc0fef6c7b01a0

5 years agoPrevent NULLS FIRST/LAST from being used in CREATE INDEX and other statements.
dan [Mon, 19 Aug 2019 17:26:32 +0000 (17:26 +0000)] 
Prevent NULLS FIRST/LAST from being used in CREATE INDEX and other statements.

FossilOrigin-Name: bb9767a287097a615aeb4abdba689b10e1a1c36c016c8e55905b508075e62c86

5 years agoAdd some extra tests for the lsm virtual table module.
dan [Sat, 17 Aug 2019 19:58:26 +0000 (19:58 +0000)] 
Add some extra tests for the lsm virtual table module.

FossilOrigin-Name: 4cb009b0f724f72eaea90e45488122f7c2a7d0caf31a8422da4060469507e921

5 years agoFix to the query planner for the LSM1 extension.
drh [Sat, 17 Aug 2019 19:55:26 +0000 (19:55 +0000)] 
Fix to the query planner for the LSM1 extension.

FossilOrigin-Name: 7496e872a1a50ac65ad04709365a43038fb015ac9c690196de3cb02ce54c2e57

5 years agoThe experimental sqlite3_drop_modules_except() interface.
drh [Sat, 17 Aug 2019 19:45:25 +0000 (19:45 +0000)] 
The experimental sqlite3_drop_modules_except() interface.

FossilOrigin-Name: 0851db4d337a87f8b2d3ce2ae9f9c928b9483591ca41a9e39cc01548059b1888

5 years agoFix the new ability to unregister virtual table modules so that it works
drh [Sat, 17 Aug 2019 19:31:09 +0000 (19:31 +0000)] 
Fix the new ability to unregister virtual table modules so that it works
for the automatic PRAGMA virtual tables.

FossilOrigin-Name: 5d6f4dfeea75c7dcd8c511545accb9eb4b405a02db034332249ba54794e313d2

5 years agoWhen populating an ephemeral b-tree for the RHS of an IN(...) clause, avoid applying...
dan [Sat, 17 Aug 2019 19:13:49 +0000 (19:13 +0000)] 
When populating an ephemeral b-tree for the RHS of an IN(...) clause, avoid applying an affinity to a value that may be used later on for some other purpose. Fix for [c7a117190].

FossilOrigin-Name: 43e8b14314d876178d487c3b519296ac1de065fdcaa70768e40d684015bceb9d

5 years agoAdd tests to ensure that this branch really does fix ticket [f8a7060ece].
dan [Sat, 17 Aug 2019 18:16:59 +0000 (18:16 +0000)] 
Add tests to ensure that this branch really does fix ticket [f8a7060ece].

FossilOrigin-Name: f892066425671a8a0ac923e3ad4744677f6434a66f97b91afa8141f11f179975

5 years agoFix problem with DESC indexes on this branch.
dan [Sat, 17 Aug 2019 17:55:54 +0000 (17:55 +0000)] 
Fix problem with DESC indexes on this branch.

FossilOrigin-Name: b49df1fe9b7174ebc60023179e8da628c926e59df3dc01b15d4a28e17807bb97