]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Wed, 28 Aug 2019 11:49:45 +0000 (11:49 +0000)]
Fix an unreachable branch in sqlite3ParserFallback()
FossilOrigin-Name:
e059178b47109caee2c2211b2db6e594c014af636677118a64e10edf01ac017d
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
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
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
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
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
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
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
drh [Mon, 26 Aug 2019 20:41:33 +0000 (20:41 +0000)]
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
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
drh [Mon, 26 Aug 2019 13:45:49 +0000 (13:45 +0000)]
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
dan [Sat, 24 Aug 2019 21:02:47 +0000 (21:02 +0000)]
Minor performance improvement for balance_nonroot().
FossilOrigin-Name:
d7434cae3edc321e2f1f8d340a0e656b1613b736f8400fb271a0e80f59401b9e
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
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
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
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
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
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
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
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
drh [Thu, 22 Aug 2019 21:13:56 +0000 (21:13 +0000)]
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
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
drh [Thu, 22 Aug 2019 11:11:28 +0000 (11:11 +0000)]
Fix a false-positive in sqlite3ExprNeedsNoAffinityChange().
Ticket [
ac184eb571d5e6e0 ]
FossilOrigin-Name:
e62eddbb048cbc2c15cb8eeb5b7a907e7cb08c21a27ebba96a069f62dbcb0f30
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
dan [Wed, 21 Aug 2019 19:58:11 +0000 (19:58 +0000)]
Add missing VdbeCoverage() macros to new code.
FossilOrigin-Name:
b1cbcdc6eb42cca0c42a05e0d6ba4c6c7f09adff0c59ecfc5b434a94dec07a41
dan [Wed, 21 Aug 2019 17:46:34 +0000 (17:46 +0000)]
dan [Wed, 21 Aug 2019 15:41:50 +0000 (15:41 +0000)]
Update this branch with latest trunk changes.
FossilOrigin-Name:
6153bcf41a9aa0497f8210311c99ac23846223068f2b6a3a1c2d9dec7673c7e1
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
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
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
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
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
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
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
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
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
mistachkin [Tue, 20 Aug 2019 02:19:26 +0000 (02:19 +0000)]
drh [Mon, 19 Aug 2019 20:44:07 +0000 (20:44 +0000)]
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
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
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
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
drh [Sat, 17 Aug 2019 19:55:26 +0000 (19:55 +0000)]
Fix to the query planner for the LSM1 extension.
FossilOrigin-Name:
7496e872a1a50ac65ad04709365a43038fb015ac9c690196de3cb02ce54c2e57
drh [Sat, 17 Aug 2019 19:45:25 +0000 (19:45 +0000)]
The experimental sqlite3_drop_modules_except() interface.
FossilOrigin-Name:
0851db4d337a87f8b2d3ce2ae9f9c928b9483591ca41a9e39cc01548059b1888
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
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
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
dan [Sat, 17 Aug 2019 17:55:54 +0000 (17:55 +0000)]
Fix problem with DESC indexes on this branch.
FossilOrigin-Name:
b49df1fe9b7174ebc60023179e8da628c926e59df3dc01b15d4a28e17807bb97
drh [Sat, 17 Aug 2019 17:07:15 +0000 (17:07 +0000)]
Ensure the functions that appear to be constant are not factored out of
expression that originate on the right-hand side of a LEFT JOIN.
Ticket [
6710d2f7a13a2997 ]
FossilOrigin-Name:
500c9152daaf11cf69d778aa8592175f6088337c6667c59af6df3a24cd81eb0e
dan [Sat, 17 Aug 2019 15:47:32 +0000 (15:47 +0000)]
drh [Sat, 17 Aug 2019 15:27:58 +0000 (15:27 +0000)]
Activate introspection pragmas by default. The new option
SQLITE_OMIT_INTROSPECTION_PRAGMAS must be provided to keep them out.
FossilOrigin-Name:
9c4bca64fb5f635296a8d7d7c1bf2808e02ca734a9983e5cee9132f5352a9a6d
drh [Sat, 17 Aug 2019 00:53:29 +0000 (00:53 +0000)]
The SQLITE_DIRECTONLY flag, when added to sqlite3_create_function() prevents
the function from being used inside a trigger or view.
FossilOrigin-Name:
de767376987f7668b0770c4920f1532e341b5a27f797d69c0f5e92b87d036170
drh [Fri, 16 Aug 2019 22:58:29 +0000 (22:58 +0000)]
Add the ability to unregister a virtual table module by invoking
sqlite3_create_module() with a NULL sqlite3_module pointer.
FossilOrigin-Name:
31e34fa3390196cdc3178bf120224b08df5ec58fa2c77079ede6e9461a430dad
dan [Fri, 16 Aug 2019 21:07:19 +0000 (21:07 +0000)]
Add support for using indexes for some ORDER BY clauses that use non-default NULL handling. Still some problems on this branch.
FossilOrigin-Name:
81069d7196857e909c94195d67388f71bc9f832eafd9156d8c5cdddb63513b4a
drh [Thu, 15 Aug 2019 23:11:42 +0000 (23:11 +0000)]
Fix harmless compiler warnings in the TCL interface.
FossilOrigin-Name:
f17e72291f197a92b3e15e054271b997d45211a5a31ca4ea6c7fbb33026d5f1f
drh [Thu, 15 Aug 2019 21:27:20 +0000 (21:27 +0000)]
Add the SQLITE_DBCONFIG_ENABLE_VIEW option, together with a "db config"
command in the TCL interface that can access that option as well as all the
other sqlite3_db_config() boolean options.
FossilOrigin-Name:
61b4bccd2984f4c2cf50f58ef08677588e57aa7e079af07473b2e188d9ce4f52
drh [Thu, 15 Aug 2019 20:04:09 +0000 (20:04 +0000)]
Provide the SQLITE_DIRECTONLY flag for app-defined functions that prohibits
the use of those functions within triggers or views.
FossilOrigin-Name:
fc745845d8d76adc165575e2192f4176e3c28e614c72571d56f4011560499fe1
drh [Thu, 15 Aug 2019 14:35:45 +0000 (14:35 +0000)]
Ensure that the optional "sz=N" parameter that can be manually added to the
end of an sqlite_stat1 entry does not have an N value that is too small.
Ticket [
e4598ecbdd18bd82 ]
FossilOrigin-Name:
98357d8c1263920b33a3648ef9214a63c99728bafa7a8d3dd6a1241b2303fd42
dan [Thu, 15 Aug 2019 13:53:22 +0000 (13:53 +0000)]
Ensure that SQLite does not attempt to process incompatible window functions in a single scan. Fix for [
256741a1 ].
FossilOrigin-Name:
4f5b2d938194fab7627486e2ced633def2c90d9d3328e3700612feb9dbfa3d9a
drh [Thu, 15 Aug 2019 13:46:39 +0000 (13:46 +0000)]
Avoid downgrading SQLITE_CORRUPT errors detected by the schema parser into
SQLITE_NOMEM or SQLITE_ERROR errors.
FossilOrigin-Name:
b2e79f8ff0836fcc98a2df9377aad9137307c34058030ecd1b5d4ec3277ed36a
drh [Thu, 15 Aug 2019 13:17:49 +0000 (13:17 +0000)]
Ensure that the cell overwrite optimization does not overwrite the header
of the b-tree page.
FossilOrigin-Name:
4cc5694cbd69749c146679c367860952fdf3f5356426ddfd1dce470569702bc1
drh [Thu, 15 Aug 2019 00:04:44 +0000 (00:04 +0000)]
Early detection out-of-bounds page numbers on the direct-overflow-read
optimization gives consistent error messages regardless of whether or not
the optimization is enabled.
FossilOrigin-Name:
b517a52fa36df0a0854a75858b5e81861771d2e9032a5a0ad79aa76ae64130a2
drh [Wed, 14 Aug 2019 15:17:21 +0000 (15:17 +0000)]
Always check for reads past the end of the file on the in-memory journal
driver. This used to be an assert().
FossilOrigin-Name:
4d41ca7d6efbdac70890a8d4159488fc7f59bf78a550b00597b4df990c4fcaef
mistachkin [Tue, 13 Aug 2019 20:34:35 +0000 (20:34 +0000)]
dan [Tue, 13 Aug 2019 17:56:56 +0000 (17:56 +0000)]
Update test cases so that they work with ICU enabled.
FossilOrigin-Name:
408144a1832569ced8e04840f0dd36a3867405f36b13631b0f13c0f7b8a0fb01
dan [Tue, 13 Aug 2019 17:27:43 +0000 (17:27 +0000)]
Update some corruption test cases to take [
724f4df9c ] into account.
FossilOrigin-Name:
927cd7b4c52fae665e57fb6039c6829e339cff5ad5c405800cac3ee149ef5be1
dan [Tue, 13 Aug 2019 15:11:25 +0000 (15:11 +0000)]
Fix a problem with RBU function sqlite3rbu_bp_progress() when used during an RBU vacuum.
FossilOrigin-Name:
8c44b02f1479cec61554800702a3c1d806e4ee64b41ba2af17320f62794a02fe
drh [Mon, 12 Aug 2019 18:26:46 +0000 (18:26 +0000)]
Make sure the btree cursor overflow cache is cleared when overwriting
a cell in sqlite3BtreeInsert(). Ticket [
3cf9bb227e9a5d32 ]
FossilOrigin-Name:
7dae7b969ed314605a3a2da2cfdce4d81152740f5d3bfbc2a6e311b13ee325a7
dan [Mon, 12 Aug 2019 16:36:38 +0000 (16:36 +0000)]
Experimental implementation of NULLS FIRST/LAST. This branch still has problems - the most significant of which is that ORDER BY clauses with a non-default NULLS FIRST/LAST qualifier can never use an index.
FossilOrigin-Name:
07babb0f897fc8c9cb5b30481899c32fdd743f3f3ca508d8d957826252107dd5
drh [Mon, 12 Aug 2019 16:25:11 +0000 (16:25 +0000)]
For the ".testctrl prng_seed" command in the CLI, if the argument is "random"
then select a random integer seed and print the seed value on stdout.
FossilOrigin-Name:
636ca4472c9f41eb3989f28854d4968867837399a2092f389d1b814d98cccbae
drh [Mon, 12 Aug 2019 14:17:43 +0000 (14:17 +0000)]
Add a TESTCTRL that disables the verification of type, name, and tbl_name
in the sqlite_master table.
FossilOrigin-Name:
48d9b48ab4ace234eb1a055cf33cb533a1c3aa82d0a6e086d96226bd9474ceca
drh [Mon, 12 Aug 2019 00:08:07 +0000 (00:08 +0000)]
Validate the type, name, and tbl_name fields of the sqlite_master table when
loading the schema, unless writable_schema is engaged.
FossilOrigin-Name:
724f4df9ccc2b683f7091a3f7a8c20ee210f44d7a610cd1b4c49da1c274add08
drh [Sat, 10 Aug 2019 15:06:03 +0000 (15:06 +0000)]
Fix the sqliteExprImpliesExpr() routine so that it recognizes that
"(NULL IS FALSE) IS FALSE" doe not implie "NULL NOT NULL".
Ticket [
9080b6227fabb466 ]
FossilOrigin-Name:
da01ba4fa47c6508b31533ccd769e637af04bd37f51463372fbc6c848d892a4d
dan [Sat, 10 Aug 2019 14:35:06 +0000 (14:35 +0000)]
Add extra test cases related to the previous commit.
FossilOrigin-Name:
3c690b2b05b7338f3325c50a0750c6023e1173afa4388e836ecb2cc49f19a0ac
drh [Sat, 10 Aug 2019 14:16:17 +0000 (14:16 +0000)]
Remove two incorrect assert() statements from the logic used to derive
column names and types from subqueries.
FossilOrigin-Name:
712e47714863a8ed7ff73324d9fec569633e8b901c436c633b0220d16a7a9302
drh [Fri, 9 Aug 2019 20:26:01 +0000 (20:26 +0000)]
Allow the RHS of a row-value IN operator to use a compound query with
an ORDER BY clause.
FossilOrigin-Name:
eaf15d9bae6773058341d6219241f44ce728ad1cb9cf649f2efd4dddd81ec461
mistachkin [Fri, 9 Aug 2019 01:59:14 +0000 (01:59 +0000)]
Modify signature of sqlite3VdbeChangeOpcode() to accept int instead of u32.
FossilOrigin-Name:
68b7f2acf4d228f32250e37cbc0eb5d275b512d49071bbb38e1f5634b705f7d3
drh [Fri, 9 Aug 2019 01:11:32 +0000 (01:11 +0000)]
drh [Thu, 8 Aug 2019 19:40:29 +0000 (19:40 +0000)]
drh [Thu, 8 Aug 2019 19:19:42 +0000 (19:19 +0000)]
Remove support for SQLITE_ENABLE_STAT3. The sqlite_stat3 table is now ignored,
if it exists. Run ANALYZE using STAT4 to get the equivalent functionality,
which presumably everybody has been doing for a long time now.
FossilOrigin-Name:
f1cd234c9888142e0ac542d866d7fb55a81fb7edd0a5cd810191b4e0395ffc7d
drh [Thu, 8 Aug 2019 18:49:16 +0000 (18:49 +0000)]
Fix a case of the Expr.affinity to Expr.affExpr refactor that was missed
in the [
a29f2a7d07beff64 ] check-in.
FossilOrigin-Name:
83450d10707e2c7c075f3930a8c231c49c593b9cdf0e6097b0187eb877755d2d
drh [Thu, 8 Aug 2019 16:23:12 +0000 (16:23 +0000)]
drh [Thu, 8 Aug 2019 15:24:17 +0000 (15:24 +0000)]
Remove support for STAT3. The sqlite_stat3 tables are ignored, if they
exist. STAT4 continues to work as it always has, and as it is a superset of
STAT3 is the recommended replacement.
FossilOrigin-Name:
1e17ea2fd1df4ad49138c787c8fe3207dd0c25c93f9001d52a9b69f8c12e841c
drh [Thu, 8 Aug 2019 01:39:07 +0000 (01:39 +0000)]
Remove a NEVER() that is reachable from a corrupt database.
FossilOrigin-Name:
30e6ee27a9fb78291c324ac9b80db4579280140430804ecd4692e312f9938525
dan [Wed, 7 Aug 2019 19:57:21 +0000 (19:57 +0000)]
Remove use of the affinity() function from view.test, as it is only available in SQLITE_DEBUG builds.
FossilOrigin-Name:
7f2246a17be9915b3492624a3d8deff56694bdc372f7627e3f16c1869415b1a3
dan [Wed, 7 Aug 2019 18:34:21 +0000 (18:34 +0000)]
Add "set TMP=%CD%" to the start of each msvc script output by releasetest_data.tcl. Otherwise, since binaries compiled with SQLITE_TEST all choose the same sequence of pseudo-random numbers, collisions between temp file names cause errors when running multiple tests in parallel.
FossilOrigin-Name:
f5d0436d8dc650cadb61a5fe76fd1a0d68dabba54ff0c2a8c138f9dfbdab1c3f
dan [Wed, 7 Aug 2019 17:45:37 +0000 (17:45 +0000)]
Eliminate some more cases of redundant sorting in window-function queries.
FossilOrigin-Name:
8158d2aca68c5a253054376fdf1b8eaab2db874f4b93524742be7340e9c50dd5
drh [Wed, 7 Aug 2019 13:25:21 +0000 (13:25 +0000)]
Do not make SQLITE_READ authorizer calls for tables without names, as all
such tables will be internal-use-only tables for subqueries and whatnot.
FossilOrigin-Name:
193c87fc96f964984a144c1a4506ef9db033ab2b80e64dd4d09d820fef466407
dan [Tue, 6 Aug 2019 21:16:28 +0000 (21:16 +0000)]
Ensure that when the col in an operator like "val IN(col)" is a column of a view, its affinity is not used to coerce val. Fix for [
0a5e2c1d ].
FossilOrigin-Name:
17b3d2218c02a4005d4c96471c452105b54abb25901ae62990b01f0c955135fe
drh [Tue, 6 Aug 2019 20:55:06 +0000 (20:55 +0000)]
Improved reuse of file descriptors for which close() is delayed to prevent
clearly of posix advisory locks.
FossilOrigin-Name:
509c1ba26a4c12c63ecf04ddfa2f175eaf4dd9b96ab7be15faebd36deb0a0a31
drh [Tue, 6 Aug 2019 20:26:17 +0000 (20:26 +0000)]
Enhance the ".recover" output in the shell to use double-quotes around table
and column identifiers.
FossilOrigin-Name:
846d2d2d2f7fd2e4178c70bc2b92f18941a7972fe88c0129035b7a253ed21785
dan [Tue, 6 Aug 2019 18:40:36 +0000 (18:40 +0000)]
Add "PRAGMA foreign_keys=OFF;" to the start of the script output by ".recover", just as is done for ".dump".
FossilOrigin-Name:
bfc29e62eff0ed00c153e18a27815f7e3ba316f46871e9645b84ab1e6709a392
drh [Tue, 6 Aug 2019 15:32:42 +0000 (15:32 +0000)]
Ensure that columns of views and sub-queries that are expressions with
no affinity are comparied without any type conversions, as required in the
documentation. Tickets [
61c853857f40da49 ] and [
d52a29a9e6bc55c5 ].
FossilOrigin-Name:
9c8c1092a8ce80e114fcfe8ce780332a6f269b8c87df226242b582d2d825c393
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)]