dan
6bfc167a67
Allow the planner to convert an EXISTS(SELECT...) expression in a WHERE clause to the equivalent IN(...) expression in situations where this is possible and advantageous.
...
FossilOrigin-Name: 9f90a88221d0694951c353e58efce342eb0b868b8ca6a4469c8205e5c7855b24
2021-01-14 20:50:40 +00:00
drh
aa556b0fa7
cli: Omit surplus whitespace at the end of lines in .explain output.
...
FossilOrigin-Name: 11e4eb095746602961a178044809a68a77ba7b367596997bef726e54062423d9
2021-01-13 12:59:20 +00:00
drh
b9366f8e32
In the .selecttrace output, show the ORDER BY clause added by the Min/Max
...
optimization.
FossilOrigin-Name: db0ecfe66433f8915b6eb16d3735a4a0d0f8e0bbc395bc9c1364387506fc4657
2021-01-13 11:44:51 +00:00
drh
b782e05c64
Merge the ParseCleanup enhancement to trunk.
...
FossilOrigin-Name: 35824c1bcbd89ae4a94acfbe511bfbd888c418b981819e72bc9a991fc82d136c
2021-01-12 16:26:36 +00:00
drh
21d4f5b53a
Fix a potential use-after-free following an OOM in sqlite3ParserAddCleanup()
...
and add a mechanism to detect situations where this might occur in the
future.
FossilOrigin-Name: 38ef8ab9830e12acd2c710e113939b1f8dced02612c6933c37a3c948a4030d0a
2021-01-12 15:30:01 +00:00
drh
d9cc532a1e
Rerun autoconf.
...
FossilOrigin-Name: 8f3ab5da4c8906b63e2c1a0021a3ba4f60e7199e8640518060f998876a002663
2021-01-12 14:23:03 +00:00
dan
ef36ccd1a4
Fix for the top-level configure script so that it works with tcl 8.7.
...
FossilOrigin-Name: 4810f814ff13db31b95b471d53e9654ecde286c23d10984e3cc8788d79ee79ee
2021-01-12 14:19:12 +00:00
drh
cf3c078f93
Add a linked list of ParseCleanup objects to the end of a Parse object and
...
use that list as a place to put other sub-objects that need to be deallocated.
Have a single such list for infrequently used sub-objects is more efficient
than doing an a separate check for each kind of sub-object.
FossilOrigin-Name: affa2b7b316941b8a6c4d0d1ff212c81a593faf1d05d129e14d2b70d73a25c59
2021-01-11 20:37:02 +00:00
drh
a6e6cf2c8f
New CLI command: ".stats vmstep" enables the display of the virtual-machine
...
step count only, after each command. Useful for optimization problems.
FossilOrigin-Name: 49dfce469e6a17111b349e53578479daf783064200bf0eec5bf8a91d3553b19f
2021-01-09 19:10:04 +00:00
drh
4ee492f176
More detailed compile-time testing before attempting to use atomic load
...
intrinsics. See
[forum:/forumpost/fc0237a39b30ac0a|forum post fc0237a39b30ac0a].
FossilOrigin-Name: 5204c2c4a7b73a64764b0d2d1d7c53709bb64e0d2685a829c7bf31af13bab5e7
2021-01-09 18:24:33 +00:00
drh
1242c0ccf4
Fix an issue with sha3_query() when the first argument contains blank
...
SQL statements.
FossilOrigin-Name: 24baab9a9faab50c26d7167821031cd66aaf784baefbc0f92354ae54ac43a714
2021-01-08 19:53:18 +00:00
dan
3a5e975947
Update cksumvfs to check that the xCurrentTimeGetInt64 method of the underlying VFS is not NULL before invoking it.
...
FossilOrigin-Name: c71f6cadcc8c2172ad4113bbe4026aac4ebb8a91485454e8a14de32d197a93aa
2021-01-07 16:59:35 +00:00
dan
5cb960b7af
Fix problems with some "crashsql" tests.
...
FossilOrigin-Name: 0c8e2ede5c325aa7fef8e8587057ec8c865fc7cf3e974a2733066fbac640b983
2021-01-07 16:29:34 +00:00
drh
c2dbf35f49
Fix harmless typos in comments per
...
[forum:/forumpost/7849e58dd5|forum post 7849e58dd5]
FossilOrigin-Name: d1e22e2f76cce7eb9f9029646176daef2d9e41c7bb1d3e1da182fbdd0096605c
2021-01-07 16:10:14 +00:00
dan
31afee9372
Add extra test for handling of embedded nul characters in the fts4 unicode61 tokenizer.
...
FossilOrigin-Name: c2c2c7e945f5d5700d91b8e779117e70e388ffc613912a434885ae27f5fe4e22
2021-01-04 18:28:29 +00:00
drh
e81f879f51
In Lemon, factor the parser stack overflow detection logic out of the
...
yy_reduce() subroutine and into the main parser routine, so that when overflow
is detected, it can exit immediately. This saves a single conditional in
the main loop of the parser.
FossilOrigin-Name: 203c049c662380411522d0c7c493201331bbb2792a7c5b12684f04f532a0695d
2021-01-02 23:56:37 +00:00
drh
c8af879e5f
Avoid allocating space to hold the prepared statements for CREATE statements
...
when parsing the schema of an existing database, since those prepared
statements are never used.. This helps to make startup faster,
FossilOrigin-Name: d01e9f2d00dc439c529cd8885a219fcddbaad73b9f471b020e2a0c18e2add69b
2021-01-01 22:06:17 +00:00
drh
630fc34c1a
Faster and smaller test to ensure that the sqlite_schema.sql field is always
...
a CREATE statement of some kind.
FossilOrigin-Name: 76de2bb04b1c02a6c0300cd61d9b3d2477d845aa0d1cdb9dbe4f354b9fedd923
2021-01-01 21:02:37 +00:00
drh
37114fbfcc
Change the unions of the Table.addColOffset field from characters to bytes.
...
This makes the query that implements ALTER TABLE ADD COLUMN more complex and
slightly slower, but also makes CREATE TABLE statement parsing faster by
avoiding a call to sqlite3UtfCharLen(). Since, CREATE TABLE parsing is far
more common than ALTER TABLE, this is a net win for performance.
FossilOrigin-Name: 6f25f2529f1495a26129d7d407979906e4962b2de351f901d41cb037d05ba780
2021-01-01 20:04:34 +00:00
drh
3e992d1ab7
Use the column name hash to improve performance of column name collision
...
detection while parsing CREATE TABLE statements.
FossilOrigin-Name: d02820f03575e4633a7917427f11c19f99bd7b92f37d0ffe6fdc2418ad729813
2021-01-01 19:17:01 +00:00
drh
266f0f4585
Modify the makefile rule for "startup" so that it always builds with
...
-Os and -DSQLITE_THREADSAFE=0 and no other options, for consistency of
performance.
FossilOrigin-Name: 5ac939e0adc923378173297e934c3664254a4fefbcddcc842bf4cc42dbaacf4f
2021-01-01 18:32:15 +00:00
drh
88efc796c2
Size reduction and performance increase in sqlite3Prepare().
...
FossilOrigin-Name: 41f45c8e894f48049325ccfef12cec0887b636bfad5d531a47628eb9e8612924
2021-01-01 18:23:56 +00:00
drh
e2b0a12d58
Small size reduction and performance improvement in sqlite3VdbeMakeReady()
...
by linking the new prepared statement into the prepared statement list sooner
rather than later.
FossilOrigin-Name: 2996e800a02967f9d0e27c816cf0b7b581a25634f94abcf167f27b019e1515e5
2021-01-01 17:01:33 +00:00
drh
69e856ae66
Streamline processing of the authenticator callback for the common case
...
when there is no callback.
FossilOrigin-Name: d3196685d958bf22b5c362e96bbf8e1df58cc09cc3abc4bfa94bb33bc28c61aa
2021-01-01 16:43:26 +00:00
drh
33e1ec224e
Add the "startup" test program designed to measure startup performance,
...
and in particular schema parsing time.
FossilOrigin-Name: 7b3b31efb0047c5a461f487905cffba2b0ddb1518a6e757ca092eb40e1e2cd49
2021-01-01 15:13:17 +00:00
drh
4fd4a7a1e9
Do not attempt to take a pointer to the ceil() and floor() functions as
...
those routines are intrinsics on some versions of MSVC.
FossilOrigin-Name: e5d7209e118a84537a85c0c9cd2b7ca4cd6ccf04181dc840b19339b4c93840cd
2021-01-01 01:44:06 +00:00
drh
85d31b9f37
New test case for the HAVING fix of check-in [f62f983b56623f0e].
...
FossilOrigin-Name: 45f46317ab8bd92dcd346bf00ba3a33b0cfd030b790c04e19ef33cff124d8d7f
2020-12-30 13:20:27 +00:00
drh
c4403ca61a
New test cases for cursor renumbering in the UNION ALL query flattener.
...
FossilOrigin-Name: 270babf259750f3d6c490a08df608a101b24b3c06b9e8a938a0e09a854af6a20
2020-12-30 13:10:57 +00:00
drh
a06eafc8fc
Do not set the P3 parameter on OP_RowCell when copying an index btree, as
...
P3 is not used in that case.
FossilOrigin-Name: eef070a4aadf02a845d0ed00767be049d3b76e811e24797a116776fa836d1b03
2020-12-29 15:06:26 +00:00
drh
277a30d9ce
Fix missing comma in ctime.c that would cause the ENABLE_MATH_FUNCTIONS
...
output rw to merge with whatever row followed. Problem reported in
[forum:/forumpost/aacac97680|forum post aacac97680].
FossilOrigin-Name: 328bc4a01dd67096be49c8b5a656109ad2839a7959d1b00c02a96bfbcb44ec18
2020-12-28 21:42:38 +00:00
dan
0cb735b9fb
Add the sqlite3session_memory_used() API to the sessions module. For querying the amount of heap memory currently being used by a session object.
...
FossilOrigin-Name: 823f75c2e448b649cbe9e174be21524ae3f580beedced65701ad49a2dcc5ee19
2020-12-23 16:46:39 +00:00
dan
7225bfef16
Fix SQLITE_OMIT_WINDOWFUNC builds by moving declaration of sqlite3ExpandSubquery out of "ifndef SQLITE_OMIT_WINDOWFUNC" block.
...
FossilOrigin-Name: 9587fa8b29fc2f91d751a71b909f574014656f24d276b4974f47fcc18dbadcb8
2020-12-22 20:35:22 +00:00
mistachkin
9a60e716f7
Fix a couple spelling typos in comments.
...
FossilOrigin-Name: 907ddf86766ebdbe39bdc89543c1a7bbd65c710c9f3a3a4d796845b2c02b711b
2020-12-22 19:57:53 +00:00
dan
f39168e468
Fix a problem handling sub-queries with both a correlated WHERE clause and a "HAVING 0" clause where the parent query is itself an aggregate.
...
FossilOrigin-Name: f62f983b56623f0ec34f9a54ce1c21b013a20399162f5ee6ee43b23f10c2ecd5
2020-12-22 16:23:29 +00:00
drh
06ddb08f3f
Simplification to the aggregate-function analysis error detection logic at
...
the end of sqlite3Select().
FossilOrigin-Name: 82884438e30ad8241f8249927fe92e0856d78b64d7ade38f3d5bb1c931d958d0
2020-12-22 14:54:20 +00:00
dan
961a72601b
Fix problems with joining UNION ALL sub-queries against other sub-queries that contain LEFT JOIN.
...
FossilOrigin-Name: d554f710a5abbe64022f47a14ef67227c861a8f0991d85d240434e9a709cf8b8
2020-12-21 19:50:10 +00:00
dan
a3d33ebe4a
Fix a problem when flattening joins between a UNION ALL sub-query and another sub-query that uses more than one window function.
...
FossilOrigin-Name: ef9733fe1c6b31849a5da1037d21915f82e0e4ab42d1a23ead8a121012f1bace
2020-12-21 18:39:58 +00:00
drh
6d5f928d22
Enhance documentation to show that "ro" is the correct way to say "readonly"
...
in the mode= query parameter.
FossilOrigin-Name: 788b96851d9ced84757c48dc3e0414cab27ee7e50e9730dab30b2e42a7762397
2020-12-21 14:51:33 +00:00
drh
237f41ab8d
Add the --timer option to fuzzcheck. Get the --timeout option working in
...
fuzzcheck when running dbsql tests.
FossilOrigin-Name: 3b0c9b41a877c7344ef3b7c5b6981436005716e25b41b1a1ffc145520243abd3
2020-12-21 12:14:59 +00:00
drh
8e2b9c2a89
Always declare the sqlite3WhereTrace variable, even for non-debug builds.
...
FossilOrigin-Name: 88d93ee380b6fd87474545f20ade874ba05c784c787ce9c45ebfcffed3795308
2020-12-20 14:51:17 +00:00
dan
5763f3d582
Fix a broken assert() in fts5 that could be triggered by corrupt database records.
...
FossilOrigin-Name: b79f59f9ad897d5bd4b9d17e6219bc765b02450bfe14dc020485f221ba6b02cb
2020-12-19 15:39:10 +00:00
drh
e69ba68363
Allow UNION ALL sub-queriesto be flattened even if the parent query is a join.
...
FossilOrigin-Name: df1d6482f9e92dafdca1948e96eef52d8646eef9c356394afabe431d6357dd34
2020-12-19 13:58:06 +00:00
dan
d131b51cbd
Fix for the previous fix in the case where a UNION ALL sub-query is joined against some other compound query.
...
FossilOrigin-Name: 63c5cfb9ae8f4598a523bed2a60c0e69172179952961a573113fcf756c06551d
2020-12-18 18:04:44 +00:00
dan
964fa26e0c
When flattening UNION ALL subqueries into a join query, ensure that separate cursor numbers are used for each segment of the newly flattened query.
...
FossilOrigin-Name: c510377b0b052e400f2ee4f20220b61cdf74ee44b9bb9e6490787c88dd4c55aa
2020-12-18 16:13:39 +00:00
dan
9353beaff1
Fix a part of the header comment for flattenSubquery().
...
FossilOrigin-Name: dc0937ce9d5569e3409b2b036a9f15b896125f4eb2eec30e3f0bbe4a92bcd0ad
2020-12-17 17:17:12 +00:00
dan
8daf5ae2ed
Add test cases and minor fixes to this branch.
...
FossilOrigin-Name: 5d6dc29d5f81738b07e4fee652fb2343fc409c2545f2f4667e8ee82d1a75f721
2020-12-17 16:48:04 +00:00
drh
18a4bbdf63
In the CLI, add the ".filectrl data_version" command. And put the various
...
".filectrl" subcommands in alphabetical order.
FossilOrigin-Name: 3434452148eef39ba3ba2f40a6fedb6ec4f5157cbc2763b3ec90ec7f2b126382
2020-12-17 15:17:42 +00:00
dan
13dd0228d3
Fix a problem with sqlite3_expanded_sql() that could occur with statements that use both numbered (e.g. "?1") and unnumbered (i.e. "?") parameters.
...
FossilOrigin-Name: 2a6cd6833e44dd6a2ac388815f43be6508f6fa6db5e451e964276a6c87e6c5ae
2020-12-17 11:24:26 +00:00
drh
0a8b6a9f8f
Enhance the sqlite3BtreeTransferRow() routine so that it does more careful
...
checks for corrupt database pages.
FossilOrigin-Name: 85952e71175dae73c4e587a3b80783825d91fe8567a819e072da651c1ff4131b
2020-12-16 21:09:45 +00:00
dan
de9ed6293d
Allow sub-queries that use UNION ALL to be flattened, even if the parent query is a join. Still some problems on this branch.
...
FossilOrigin-Name: 00e4bf74d3dfb87666a2266905f7d1a2afc6eb088d22cfd4f38f048733d6b936
2020-12-16 20:00:46 +00:00