dan
df1b52e727
Ensure a cursor used by the SeekScan operator does not point to a valid row on the first iteration of the loop. Possible fix for [2d6e8400].
...
FossilOrigin-Name: 390cf60a286b13f454429f4652a133f95a7891a75c1ec6d16cd39990590fd3fb
2021-01-27 17:15:06 +00:00
drh
e5ceaac446
Add an extra log message in the case of an SQLITE_CORRUPT_INDEX error.
...
FossilOrigin-Name: 0571c24177d77ac966bcf42cb8ab00fdf541ce84af1468c8ef0b60c48c45a22f
2021-01-25 21:24:14 +00:00
drh
8ac090f51d
Enhance the query planner to enable it to use an index for IS NOT NULL
...
constraints, even if STAT4 is not enabled.
FossilOrigin-Name: 7b2a7c7314d2239992dc1d707280f3b75ba75bb074ba1e77b55cad01ca7fd51b
2021-01-22 21:23:12 +00:00
drh
17988aae5b
Merge fixes from trunk. Omit a conditional in
...
sqlite3IsLikeFunction() that was made unreachable by this enhancement.
FossilOrigin-Name: 0b42f9eb5dd710991af3cf4b16464b22db9539361d618e50eaa4d43c811577b4
2021-01-22 20:28:30 +00:00
drh
906602ac3f
Do not allow VACUUM to resize the page_size to 512 if the reserve_byte value
...
is 31 or greater. [forum:/forumpost/e807885dc5|forum post e807885dc5].
FossilOrigin-Name: d5ea75a09d4bf61262cead2604e35d8331b727c504807592d09f5d9e01ce794a
2021-01-21 21:36:25 +00:00
drh
71aff85503
Performance optimizations in exprAnalyze()
...
FossilOrigin-Name: 6d60cf540b8cc231448175f1e16e1f4f7a0aee26898570a5b8a09c89fae53c02
2021-01-21 20:42:36 +00:00
drh
6cca0aa9df
Always enable the IS NOT NULL optimization, even if STAT4 is not enabled.
...
FossilOrigin-Name: fc98218cf69e63bdb9e5f154521a341508502cd8cfe04cb870cabee2d99e0cb3
2021-01-21 17:54:41 +00:00
dan
7bb0a7d947
Fix a problem caused by using an SQL variable in an OVER clause within a trigger program.
...
FossilOrigin-Name: 02264ab6a02d6cc95cf865920bcbaf4307d034640e6e4f3371b009ae9818540e
2021-01-21 16:02:14 +00:00
dan
f380c3f13c
Fix a problem caused by using an SQL variable in an OVER clause within a trigger program.
...
FossilOrigin-Name: 4f676466e60ee2a420b7b2deace76f3a733ce1af278347428285715d9c67f022
2021-01-21 15:40:52 +00:00
drh
7b88f54914
Improvements to the auxiliary "main.mk" makefile so that it works better with
...
multi-threaded builds.
FossilOrigin-Name: d1873054d8e1006a370ea7891dbb9a62e7d36ce98cb92b58dcb0daf271265de3
2021-01-20 23:01:31 +00:00
dan
a2560ce934
Add tests for sqlite3session_memory_used() interface.
...
FossilOrigin-Name: 5596611f96f3401262b9dadc591bf7e3411d2c4a6f5be5cfe524e203d9820fd1
2021-01-20 10:59:47 +00:00
mistachkin
d6665c51e2
Fix harmless compiler warnings seen with MSVC.
...
FossilOrigin-Name: dc7938d2d715301595dee2fac6880af3716c4b3d1cbe7c3578d7fd30ba146a23
2021-01-18 19:28:56 +00:00
mistachkin
f3ebea8114
Update test helper procedure 'get_pwd' to handle the ComSpec environment variable being absent.
...
FossilOrigin-Name: fe1979552f43e0526f16481457e01981f29707401f77079f9854a8d91b35b5a4
2021-01-18 19:27:56 +00:00
drh
abc6b67aff
Enhance the query planner so that it is able to code EXISTS operators in
...
the WHERE clause as if they were IN operators, when appropriate.
FossilOrigin-Name: c1862abb44873f06ec0d772469d8a2d128ae4670b1e98c2d97b0e2da18df9a04
2021-01-18 12:35:16 +00:00
drh
06afa291cf
More comments on the EXISTS-to-IN optimization logic.
...
FossilOrigin-Name: 92cc29099f796f5f244dd80ee431c48d36d01eaece6f150119ead5ecd14eaae1
2021-01-18 00:11:20 +00:00
drh
9fcc8c69bb
Minor simplification of the EXISTS-to-IN logic.
...
FossilOrigin-Name: cac90a9f4ab0a8f3ff77ee1f8549213c2f97169fc3469e55d57caa564079ce2a
2021-01-17 00:13:12 +00:00
drh
9ffa258a01
Improved handling of vector equalities in the EXISTS-to-IN translator.
...
FossilOrigin-Name: ef49ee4a3766146963bfb6b013472f9836afb9c5b0d21a8533871cf961139e38
2021-01-16 20:22:11 +00:00
drh
4be8bdccd4
Give the EXISTS-to-IN optimization the ability to handle some cases that
...
involve vector comparisons, instead of throwing a mysterious error in those
cases.
FossilOrigin-Name: 87e78a19bb3ae1caf57aeeae53a5ab4efdccb57265f25d5c19b62eae53747aff
2021-01-16 18:55:10 +00:00
drh
2a3be742ca
Add debugging output about the EXISTS-to-IN optimization when
...
the ".wheretrace" flag has the 0x20 bit set.
FossilOrigin-Name: 0dad5ce34ad8a59200b013453c9334f8898e07f2c0107c8c734ecc34b67de572
2021-01-16 18:22:10 +00:00
drh
1e2896ec6e
Fix a hyperlink in the Lemon documentation.
...
FossilOrigin-Name: 2ffb2ffa0ea147edd88632d2bbe29cc1d66d0911ce8e1068c406c81dd5a20242
2021-01-16 12:15:41 +00:00
dan
f7588d4072
Add OOM injection tests for new code on this branch.
...
FossilOrigin-Name: 9a181dbaedcc2117e670e679ca94ed6d1fabd90c835671dee36424dd0646c4e5
2021-01-15 17:51:56 +00:00
dan
a828d565b6
Update header comments for routines added by this branch.
...
FossilOrigin-Name: 950030d679933f9ccd2b86ee650a4a78d338278a3629f0d289cca720a43e686b
2021-01-15 16:37:32 +00:00
dan
e8f7fcf6f4
Ensure the EXISTS->IN transformation preserves the collation sequence of the comparison operation.
...
FossilOrigin-Name: a373baae12c914e48fd84de77998e301fdd3da43b06b9d64ac24a14418ed48cd
2021-01-15 15:32:09 +00:00
drh
9d326d6793
Fix a potential NULL pointer dereference following OOM.
...
FossilOrigin-Name: 8ce3cb90965771530c0021173d98720fc4c76bb99e69f7a879f80471dea0aace
2021-01-15 15:21:27 +00:00
drh
19ef211d85
Add a new optimizer disabling bit to close off the exists-to-in optimization,
...
for testing purposes.
FossilOrigin-Name: a80c9a076d31729282004ca372913c9fdbfb6e74711fbb8c5dc12ee0ecba2b87
2021-01-15 15:17:14 +00:00
drh
10c9ef65fa
Small performance improvement in the EXISTS-to-IN translator for the
...
common case where the EXISTS operator is not found in the WHERE clause.
FossilOrigin-Name: dcb7772d7695ddbc0fe89e06c07ff4a6ae4fa05de914e2ec10b5cc07a62ed49f
2021-01-15 14:25:06 +00:00
drh
19f9cd73ff
Merge the latest trunk enhancements into the exists-to-in branch.
...
FossilOrigin-Name: 13c4c9088cc8a2426e30a2ad1e9b9969407249281c6ed16653d43a0e6852a2e4
2021-01-15 14:15:31 +00:00
dan
76cac6ef06
Add simple tests (and a fix) for the change on this branch.
...
FossilOrigin-Name: 897f3f40267dc922f0fda287484435e1fd8709bade3e87c3829e2f945bb5e4aa
2021-01-15 11:39:46 +00:00
drh
41d01407ea
Improvements to the min/max optimization. Fix for a performance
...
regression introduced at [b8ba2f17f938c035] reported by
[forum:/forumpost/4050026ab8|forum post 4050026ab8]
FossilOrigin-Name: 249a71cc6822d6bdd5bb9e727aac81c6549693b418e9c0987b96850ee332c940
2021-01-14 20:57:47 +00:00
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
5870dc80f9
The early-out of the inner loop on the min/max optimization was overly
...
aggressive for the cases where there is a join and outer loops contain
IN operators. Fix this. Test case in TH3.
FossilOrigin-Name: ccd3bae14b6b47bb0f9622700c04db989f76ce65e10e0709964cfd0675eca762
2021-01-14 00:53:14 +00:00
drh
5e5683ae46
Fix a harmless compiler warning.
...
FossilOrigin-Name: 83ec01e38cbd22147ba544e15eae32c72e0523a55b54851e483dc2effc64f206
2021-01-13 21:05:07 +00:00
drh
af7b76534b
Expand the number of optimization-disable bits from 16 to 32. Use one of
...
the new bits to disable the min/max optimization, so that we can more easily
verify that we get the same answer both with and within that optimization.
FossilOrigin-Name: fd0c9a123b58b7b134ed67f26dbb4196b61e56227f078422cc7e9a3497054c2d
2021-01-13 19:28:17 +00:00
drh
d193057ad1
Further enhancements to the min/max optimization of
...
[/info/b8ba2f17f938c035|check-in b8ba2f17f938c035] to fix the performance
regression identified by
[forum:/forumpost/623f571482|forum post 623f571482].
FossilOrigin-Name: 188772a1dbaf066fbddd39c718fdd87478b19a920622f4640bcb79d4ef065331
2021-01-13 15:23:17 +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
drh
e5baf5c283
Remove an unnecessary and incorrect #ifdef. Fix harmless compiler warnings.
...
FossilOrigin-Name: 31cd1bbfa5b06723288d99d1cb423f88353bdef770b82e9103f71a796d66f660
2020-12-16 14:20:45 +00:00
drh
9463d79353
Fix a typo in the sqlite3_free_filename() documentation.
...
FossilOrigin-Name: 48301edc90fe5811df0394b106edce7726d0ea86ac562c9f4db511b812a76433
2020-12-16 13:17:32 +00:00
dan
7f60706691
Fix another integer overflow triggered by a corrupt database in recently modified vacuum code.
...
FossilOrigin-Name: 4e2dd2a53364f1fed48b995fd5d2642472585f6da5e4735e9da193ba7ff45514
2020-12-15 19:27:20 +00:00
dan
0bf333467c
When the -statstep option is passed to the "rbu" executable, print out memory stats right before exiting, as well as every -statstep steps.
...
FossilOrigin-Name: 94f81b51176566409b7d16b30d861f48ad15bb43a145df6e02e0880f7c348109
2020-12-15 16:28:07 +00:00
dan
84b168ffa7
Change an fts5 assert() that can be triggered by a corrupt database to an if() condition.
...
FossilOrigin-Name: ea0a7f103a6f6a9e57d7377140ff9f372bf2b156f86f148291fb05a7030f2b36
2020-12-15 13:55:38 +00:00
drh
9f023ce539
Enhance UPSERT so that it allows multiple ON CONFLICT clauses and does
...
not require a conflict target for DO UPDATE.
FossilOrigin-Name: 6b01a24daab1e5bcb0768ebf994368d941b1dfc217bf6b661211d900331e68cf
2020-12-14 15:39:12 +00:00
dan
59964b4010
Fix an integer overflow problem in new VACUUM code.
...
FossilOrigin-Name: 59b4367fd852ba1bfefdff99a27b11657495a3f114ed6f85fdcf6c532f4a19fa
2020-12-14 15:25:14 +00:00
drh
1c19848386
Minor changes for test coverage.
...
FossilOrigin-Name: e5a8fa50f4e5e5c24664452eda4af80904f75e5123b8f84353347dbd505d416d
2020-12-14 13:52:03 +00:00
drh
250af6e0fb
More test cases. No new problems discovered.
...
FossilOrigin-Name: f34dd67e2d0dfc9e3b5d49148fb0162853119c097cbc3fe961878875ba98d8e3
2020-12-12 00:43:52 +00:00
drh
255c1c159b
New test cases with corresponding bug fixes.
...
FossilOrigin-Name: f22c21a94ca4cad0217f91c1a5a275bc348cb6ba0f3a54c927533bc8d8c96a90
2020-12-12 00:28:15 +00:00
drh
58b18a47df
Begin adding test cases. Fix one bug found so far. More are pending.
...
FossilOrigin-Name: aadd67ddf2a191629b5356395f75e4556aac904a6e2f6b83742fa4f26e4253a4
2020-12-11 19:36:19 +00:00
dan
855aed19e2
Fix an assert() broken by recent changes to vacuum.
...
FossilOrigin-Name: dd058da85ca54ae70e26cb0bdc75ff42998d4a8b29a5e2dcac44ee0e45776a85
2020-12-11 19:01:24 +00:00
drh
d3e21a1098
Small performance tweaks.
...
FossilOrigin-Name: 5321d60c575ef8f888d1b315df02cf9ed96a3ffc61babbc1429aa73b2a61a190
2020-12-11 17:11:56 +00:00
drh
ed4c54699d
Bug fixes so that legacy tests pass. New tests for new functionality have
...
not yet been added.
FossilOrigin-Name: aa76790e58cea9a2b707f5912fd66c76545e7417442553fc13c87f773a2fe1dd
2020-12-11 16:49:51 +00:00
dan
7710878333
Add an "#ifndef SQLITE_AMALGAMATION" block around the typedef for u64 in shathree.c.
...
FossilOrigin-Name: b411f29e1a6415f4a241777c45591b8389e746cd8b40d9b225e073bcb0a3bdbf
2020-12-11 16:03:19 +00:00
drh
d0a0538229
Fix the configure script on the autoconf distribution so that the
...
--disable-threadsafe option works. See
[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=244459 |FreeBSD bug 244459].
FossilOrigin-Name: e64ff2cce3c03ba27c3bf410948ece1424113e727870015eb3806b75d0d21f94
2020-12-11 14:34:58 +00:00
dan
69871baa15
Fix the expert extension so that it handles generated columns correctly.
...
FossilOrigin-Name: c2ae7ba6f8f4b10bd734051a0cfa8ed9675bd58c82ede4e9eadfd7cbcc03b82d
2020-12-11 14:22:44 +00:00
drh
61e280ad8a
Logic is in place to handle multiple ON CONFLICT clauses, but it does not work.
...
Any use of ON CONFLICT will likely lead to memory faults. This is an
incremental check-in to save my place.
FossilOrigin-Name: 155142314feb007d526f8f67723636fd50dc52d1cd4d3a67dd93b105c9d5c2be
2020-12-11 01:17:06 +00:00
drh
daf2761c62
Use an iterator for the index loop in sqlite3GenerateConstraintChecks().
...
The idea is that this iterator can be enhanced to traverse the indexes in
any order, as required by multi-index UPSERT.
FossilOrigin-Name: 64a4a91ecc5dcde3fa07d3cf038c74b9ede63d36628ecfb35203a9dfbbfe113c
2020-12-10 20:31:25 +00:00
dan
9257ddbf87
Remove a redundant branch added by [56a54258560].
...
FossilOrigin-Name: b4d6f6d728738710249ad74236c31a1872fdff7dadabd4c4a67d05826eb5df9e
2020-12-10 19:54:13 +00:00
dan
a64804b5e1
Changes to avoid loading large records into memory within VACUUM.
...
FossilOrigin-Name: 56a54258560fab715b83967634b2bd4c04be43cded112b46e85da9f99ee02f7c
2020-12-10 19:51:39 +00:00
dan
d2ffc9721e
Fix minor issues with new code on this branch.
...
FossilOrigin-Name: f7fa76d0963e7b34026dc20c920bfbf7961033fe2b99503f6857157595f86823
2020-12-10 19:20:15 +00:00
dan
46a6b1a1be
Merge trunk changes into this branch.
...
FossilOrigin-Name: 7337eed629b4537b8fc2dc87c3c71d0a664128a91fd00f3c5f18843505beee90
2020-12-10 18:07:01 +00:00
dan
7aae73588a
Better integrate the changes on this branch with OP_Insert and OP_IdxInsert.
...
FossilOrigin-Name: 101cef14910d6e865a94bc870aed599321b893188062a9a61d70a9434992cf23
2020-12-10 18:06:24 +00:00
drh
70f3eda5be
Add an optional function to the chsumvfs extension. When activated by
...
the SQLITE_CKSUMVFS_INIT_FUNCNAME macro, this function will invoke the
file-control that sets the number of reserved bytes to 8. This can be
used to initialize a cksumvfs database file by programming languages
that do not have access to the sqlite3_file_control() interface.
FossilOrigin-Name: 01841fb4bf3d6c5fd5bcbc7d1338998c50f69f84ca475fba7cf764d636714678
2020-12-10 13:49:00 +00:00
drh
91f2717f22
The DO UPDATE code generator searches for the correct ON CONFLICT clause to
...
use.
FossilOrigin-Name: a47e35ee2d901baaa37e7229d190f934e1b0bd3510147cd4a2a49c4a1411416a
2020-12-10 12:49:26 +00:00
mistachkin
d97a4c008d
Fix compilation issues with MSVC related to C99.
...
FossilOrigin-Name: c0de6c1fb2c486be1da01e5e4ca8c5634ba37822e418d57f272e018c3e3fc0a2
2020-12-09 23:35:51 +00:00
dan
cd1b2d0b54
Transfer large index or WITHOUT ROWID records between b-trees when vacuuming without loading them into memory.
...
FossilOrigin-Name: dfd4ca6891a893d0e9551689954d3e79114d5565f8a5264f96ad1d64fe1d6280
2020-12-09 20:33:51 +00:00
drh
e84ad92f17
For upsert, the constraint check code generator uses a copy of the index list
...
for the target table, which can potentially be reordered.
FossilOrigin-Name: 3194c00c2c6a32bdfd5acc9fda5b38ae131d20cd3b7aea8512a41b2e76808f6a
2020-12-09 20:30:47 +00:00
dan
1418b9daf6
Add tests for a 'delete' command on a contentless table where values that weren't actually inserted are NULL.
...
FossilOrigin-Name: 818c647cec7063b33b6c5de3e23599a1d61439fa6e9bf6c974b2522a5a9e1b44
2020-12-09 16:49:28 +00:00
dan
ebbf36878c
Avoid loading large intkey rows when VACUUMing, even if the page-size is changing.
...
FossilOrigin-Name: 0d2c3776065dc94119899ae4164995193b82fca7ac31868f3141b729d0b65ab9
2020-12-09 16:32:11 +00:00
drh
5602777e8f
Improved comments in sqliteInt.h. No changes to code.
...
FossilOrigin-Name: 8ccb8d1d55fa5aaf625c30f0e7c10aa403d79b5574dbdfa3fd0271a4e546f7e3
2020-12-09 13:11:02 +00:00
drh
20b86324a1
Initialize all terms in the ON CONFLICT clause stack.
...
FossilOrigin-Name: 5e683fd1cbde53f37cf8a2b1e981191e2b29e3376db554691767f33c37c7547e
2020-12-09 01:34:48 +00:00
dan
036e0675e6
Experimental changes to vacuum to avoid loading large records entirely into memory. Currently only works in limited cases only - for rowid tables when the page-size does not change.
...
FossilOrigin-Name: c90e063ca9ddcdd1e9f1a2e25a3f7d6e7ee798373ad8acf65b90536b0a124c0d
2020-12-08 20:19:07 +00:00
drh
2549e4cc2f
Enhance UPSERT parsing to allow multiple ON CONFLICT clauses. Only the
...
very last clause may omit the conflict target, but the conflict target may
now be omitted for the DO UPDATE resolution.
FossilOrigin-Name: 2ca62f4c71df6544cb8039bdc80e3701d09697c38800534371f6d44532fcffae
2020-12-08 14:29:03 +00:00
drh
0dffe465f7
Fix a bad assert() in math1Func().
...
FossilOrigin-Name: 4b286129138d44e6f8e9b3450289941e01d20fdfb9d0b5d846031425e8ca6b49
2020-12-07 23:14:25 +00:00
drh
e2ce8c446f
Fix to the --disable-math option to ./configure.
...
FossilOrigin-Name: 99ff6418492adcbaf2be728737735afa1c2997de5868395e69c53d08fc14491f
2020-12-07 21:19:17 +00:00
drh
63f8f98a63
Many more math functions. Semantics follows PG wherever possible.
...
FossilOrigin-Name: 6b93627b5d9819abf179a3e4a82e7afe17cbcafdabbd5f058de9ed114c9d477f
2020-12-07 21:13:06 +00:00
drh
f6e904bd92
Begin adding new SQL functions that depend on -lm: ceil(), ceiling(),
...
floor(), ln(), log(), and log10() so far. More to follow.
FossilOrigin-Name: 4db5f2f7875f6df78630a7816fc018141a6eee2e295b44fc7627eb66d07881ea
2020-12-07 17:15:32 +00:00
drh
aeb6bc5628
Fix harmless compiler warnings associated with the recent FTS5 enhancements.
...
FossilOrigin-Name: 1db7c751912beb57a697ac8e85b9c29e30da7b6c89207e9828bf08e56c58242f
2020-12-04 17:05:16 +00:00
drh
0a2fb7960c
Fix a bug in the ".eqp" command of the shell that was introduced by the
...
recent sqlite3SelectTrace/SQLITE_TESTCTRL_TRACEFLAGS changes.
FossilOrigin-Name: fd02dffceb0e21cd85c99d5481ab8567110d01c30ea701178547f32299944302
2020-12-04 16:58:20 +00:00
dan
b9ceb833f7
Ensure that fts5 function matchinfo() is registered before running tests that use it in fts5corrupt3.test.
...
FossilOrigin-Name: 932e05e093192991589e70c2cbcc8a57fb3dcc6df1c2673962bfd06ba5cfdd97
2020-12-04 16:49:25 +00:00
dan
ee8221859b
Fix a test script problem in walvfs.test.
...
FossilOrigin-Name: 4c5076fbe42cc6447c47bfc202501f945f78bd716cbe8e33599c67b7d0956611
2020-12-04 16:26:25 +00:00
drh
7b0ab21016
Fix an incorrect datatype no the sqlite3WhereTrace variable in test1.c.
...
FossilOrigin-Name: 4e6dab30f6d6795ecec9d8c4489fa4d210a3002715ad89812d65a1a846c164b9
2020-12-04 16:25:59 +00:00
drh
0a3e80b051
Eliminate the sqlite3_unsupported_selecttrace global variable by creating
...
a new test-control to control SELECT tracing. Note that SELECT tracing is
only available on debug builds.
FossilOrigin-Name: fb07c4e3c7ad3493c274cbfcf0dffdedcca18c0d90de04459134511d4e2a5277
2020-12-04 16:09:27 +00:00
drh
fda8e49207
Further changes to the trace variables to try to eliminate (harmless) compiler
...
warnings in all configurations.
FossilOrigin-Name: 3a4c98b989964e3e366fe9519e9b5ed935e893d5b69d92bc0388a14c7e7938e6
2020-12-04 16:04:45 +00:00
drh
c0622a4d03
Alternative implementation of ".selecttrace" and ".wheretrace" that uses
...
a test-control rather than global variables.
FossilOrigin-Name: d36d6f2923a2393c751c0ac7634433453be20df7567fd914e57cbb1ae15f68b2
2020-12-04 01:17:57 +00:00
dan
3190b88e75
When merging prefix lists in fts5, use 16-way merges instead of 2-way merges. This faster.
...
FossilOrigin-Name: 026a93508ec392ca5cd2578ae9eab64974f58beccda088e10d4cc951f237632f
2020-12-03 21:22:37 +00:00
drh
1de03abb03
Do not simulate OOM faults on the SQLITE_FCNTL_CKPT_START and
...
SQLITE_FCNTL_CKPT_DONE file-controls, as those are write-only and
the return value is always ignored.
FossilOrigin-Name: 62a2d394835276fabc0f1df2302605a700b2244775bf2e35e86529df8e40a0da
2020-12-03 19:25:06 +00:00
drh
0b1e70c4ce
Enhance the generate_series() table-valued function to support negative
...
step values.
FossilOrigin-Name: 9b60fc48706bb77b2d4fe27a7b5834a6dc229b4051a9285032da578e4f2849e6
2020-12-03 14:21:26 +00:00
mistachkin
4338000d47
Prevent potential segfault in the sqlite-expert idxPopulateStat1 context cleanup code.
...
FossilOrigin-Name: c24f13448b5a55f45b4d4786a878fa73fe3395b5724f3bc2eea22e5e2b074353
2020-12-02 20:07:49 +00:00
dan
64f1ef6abd
Allow a search for an N character prefix in fts5 to use a prefix index of size N+1, if no prefix index of size N exists.
...
FossilOrigin-Name: 78a7801d8fc9e58a62e5168e35b52b7440340549123fc6a537e2abd571f6fe7b
2020-12-02 19:08:15 +00:00
drh
f30bbcec90
Fix the ".open" command in the CLI so that it accepts command-line options
...
both before and after the filename.
FossilOrigin-Name: d330bf0c02e67f70f49496e4b1e484bb4e876622becc6a062b2aefbd585d0117
2020-12-02 18:27:48 +00:00
dan
0fa433b40c
Improve performance for fts5 column filters that filter for more than one column. e.g. "{col1 col2 col3}:phrase".
...
FossilOrigin-Name: d8de2f236d43a88fac7550a0451951dd5a945eb304e32f82e662479cea7c2684
2020-12-02 16:23:05 +00:00
drh
bb497fe36d
Parameterize the hash function in mkkeywordhash.c. This was an attempt to
...
find a better hash function, which turned out to not be successful.
FossilOrigin-Name: 2195d731f51a18f917c4299d8f4c7ee7c139c2527f62869d6da171a6d1d89ea6
2020-12-02 02:58:05 +00:00
drh
636f505864
Increase the version number to 3.35.0 to begin the next development cycle.
...
FossilOrigin-Name: edbabaa30823db7c7d169cb93722b5f74bc711359984fb7e139ca9d10fe7dae4
2020-12-02 00:22:09 +00:00
drh
c52a1e9f35
Slightly faster tokenization of non-keyword identifiers.
...
FossilOrigin-Name: 55fa22bd403cc8f0973efea898a7cfa3a32b57c7e2a7a4c30c3f2c72d5396f07
2020-12-02 00:20:00 +00:00
drh
f461bab265
Add the --lookaside SIZE COUNT command-line option to the dbfuzz2 testing tool.
...
FossilOrigin-Name: 2466960c0ba02ef9c325e9a5f8603db518e7529547f614c225fef430421e1643
2020-12-01 23:18:13 +00:00
drh
384f5c26f4
Version 3.34.0
...
FossilOrigin-Name: a26b6597e3ae272231b96f9982c3bcc17ddec2f2b6eb4df06a224b91089fed5b
2020-12-01 16:14:00 +00:00
dan
9f4fb42730
Update the tea/win/makefile.vc file that ships as part of the autoconf package to use "sqlite3" instead of "tclsqlite3" for the installed dll filename.
...
FossilOrigin-Name: 23212b1a054f05773a9f69f9802035eea6a9d759a2a09e22f46d1046c058b417
2020-11-30 18:52:08 +00:00
dan
aeb4e6eebd
Update the tea/win/makefile.vc file that ships as part of the autoconf package to use "sqlite3" instead of "tclsqlite3" for the installed dll filename.
...
FossilOrigin-Name: 93d4d9dc05bb86c08a12d56b3ce68ec39b69e57951a936fb3b326812c051c3b4
2020-11-30 18:43:40 +00:00
drh
56a5747e63
Do not reuse the obsolete SQLITE_TESTCTRL_PRNG_RESET value for
...
SQLITE_TESTCTRL_SEEK_COUNT. Give SEEK_COUNT its own unique value.
This avoids incompatibility with legacy test code.
FossilOrigin-Name: fdba0b129091d607dc0c1aa52f8631a208dbff22476a298bd5428e672593ed18
2020-11-30 14:20:17 +00:00
drh
d1032f952c
Improve the speed of the tokenizer by recognizing that tokens starting
...
with letters "_", "Y", or "Z" can never be SQL keywords and must be ordinary
identifiers.
FossilOrigin-Name: 16e281ed6219cc229dec7e3f1b40da2304dc270a74fd6ef78d04a088e30e7026
2020-11-27 20:56:16 +00:00
dan
cad760d16e
Fix a compiler warning in fts5_aux.c.
...
FossilOrigin-Name: 8edb983bc87898eff2cd2e7e672a32a47c71b2be9d818513d339e95560d45b2b
2020-11-27 19:40:13 +00:00
dan
6d19bf9460
Add missing cast to fts5 bm25() code.
...
FossilOrigin-Name: 6ff9673847c0b4174d9435e93d19af0ee7406b1a12edeb6edec98697e1646824
2020-11-27 16:15:55 +00:00
dan
3181706895
Remove a redundant "if( rc==SQLITE_OK )" from the fts5 bm25() code.
...
FossilOrigin-Name: d85f4f27f58adcc75fc7d59e63af95b2a338052d8748a11f22ec1e48d1aff4cc
2020-11-27 16:08:15 +00:00
dan
66efc393c5
Move an "if( rc==SQLITE_OK )" to outside a loop body in the fts5 bm25() code.
...
FossilOrigin-Name: 14a4dcf3474566d072007a37d214c892397c21dd3b7f8b55ad0e5edfb7130dd6
2020-11-27 16:05:31 +00:00
dan
1c5b23f170
Fix a case in the FTS5 integrity check where a corrupt database could cause a buffer overread.
...
FossilOrigin-Name: a32b4f650d2d543bd2773cbc8655c1679a20b35ac9ec4d08c7754ddf6d972acb
2020-11-27 15:28:26 +00:00
dan
ec8962869a
Update mkunicode.tcl to match the change erroneously made to machine generated file fts5_unicode2.c in [b7b7bde9].
...
FossilOrigin-Name: 326d579d777fdede6bc64f9525248767f4730de4e50260b0387e614a9d006416
2020-11-26 20:13:54 +00:00
drh
68b4034450
Update a requirement mark in the e_expr.test script.
...
FossilOrigin-Name: bb174a074b5833181900d396edda955254ea1768750a0ab3b6d714530b1fe13f
2020-11-25 18:44:20 +00:00
drh
d36f588f31
Fix harmless compiler warnings about unused function parameters.
...
FossilOrigin-Name: 25d067c270966d9506db8bedf280883e32b69050b14bdbbeda4bb2d9a362619c
2020-11-25 16:28:04 +00:00
drh
3ef2cb5991
Fix a potential NULL pointer dereference in the geopoly_overlap() routine
...
of the GeoPoly extension.
FossilOrigin-Name: b5665712e667a20d42a2e892d9d540f4273609eabd56f8178e1d5664280821f3
2020-11-25 15:29:08 +00:00
drh
f82d78e9c2
Fix the shell1.test test script so that it works on windows.
...
FossilOrigin-Name: 9bd15b07e58b1811c2a368ec76059ac683a2c35b163ef4bba01ccb8b7ca7288d
2020-11-25 14:50:42 +00:00
drh
b7c46aa8c9
Change the -init option to the command-line shell to honor the -bail option.
...
Also change it to report an error if the filename mentioned cannot be
opened.
FossilOrigin-Name: a29f54bd2c032374d7235bb1f9d4c04c094611bbc7d274b7b92722b5b802050c
2020-11-25 13:59:47 +00:00
drh
f862b55a56
Fix a typo in the sqlite3_txn_state() documentation.
...
FossilOrigin-Name: 5b4325295b2f17b7a4eaa2d3a30d06a24801992b3aa17c7d57e015f9f395fb95
2020-11-24 23:40:48 +00:00
drh
4989a530a1
Add the new sqlite3_txn_state() interface to the set of routines accessible
...
by run-time loadables extensions.
FossilOrigin-Name: db25f1dc8eb8b8bd45912e9b457d4cc32687bc4f709ce1878e9b4ccedbb18af9
2020-11-24 21:19:23 +00:00
drh
a7fc1686e4
Fix a harmless typo in a comment.
...
FossilOrigin-Name: b2a201f1b5dc2fc94b360df4807c108fac47db2399edd8763efbdd66b71ffe5f
2020-11-24 19:55:49 +00:00
dan
f5c3a75b63
Fix a bug in OOM handling code introduced by [6a28713d].
...
FossilOrigin-Name: 8a786ce99491401dd7660e54f1a1ba3b2300cecbe180b1a31e549ff5f5b77bdc
2020-11-24 17:55:34 +00:00
dan
2e3cb1382f
Ensure that super-journal and other journal filenames passed by SQLite to an sqlite3_vfs.xOpen() implementation may be safely passed to sqlite3_uri_parameter() and similar functions.
...
FossilOrigin-Name: 6a28713d59cde0882c3508160347c2ea18c7c4e9bfd1b053103af2d5e12a144c
2020-11-24 16:44:09 +00:00
drh
ef5b2d27b7
Remove the VERSION_NUMBER macro from configure.ac as it has been unused
...
since 2009 check-in [7f4810747b086498]. See also
[forum:/forumpost/bb2c634fcd|forum post bb2c634fcd].
FossilOrigin-Name: 5466dd55d4aa15fd96f00b6e205dfb868879357a476df7ffd29b97bb570629a5
2020-11-24 13:14:15 +00:00
drh
de9873bb0a
Syntactic changes to work around a bug in gcov 9.3.0. No changes to the
...
generated code for release builds.
FossilOrigin-Name: 4f1573b146193e5d552981a9d1d11e50da4da4a843f790e4af1cf0cc19a0b020
2020-11-23 21:05:29 +00:00
drh
d46beb06aa
In os_unix.c, put ALWAYS() on unreachable branches associated with pathname
...
normalization.
FossilOrigin-Name: b45a08e3c7edfa76b699d3e29f28daa5bd08039668ec57121e4e85edf36150f1
2020-11-23 17:36:06 +00:00
dan
39acaec16c
Fix a test script problem causing crash8.test to fail when run with leak-sanitizer.
...
FossilOrigin-Name: 2c437f7a2c87129d00c71fa569315b68e0ba9514041d93503350c9ae9f080f17
2020-11-23 15:30:16 +00:00
drh
1335ec7df7
Allow "substring()" as an alias for "substr()" for compatibility with other
...
SQL engines.
FossilOrigin-Name: aa2ee5754c9f8378c4d490ca756a6415042904477727f0d86e9c0190b5e8b275
2020-11-23 14:50:43 +00:00
dan
6a5e21149b
Add file doc/vdbesort-memory.md, containing notes on the way vdbesort.c uses heap memory.
...
FossilOrigin-Name: 07f53899a929cce93f17c0332819610c9517c7e54e00092af20efd746cf84438
2020-11-20 14:16:41 +00:00
drh
6fc74a4454
The xFullPathname method of the unix VFS now normalizes the filenames by
...
omitting surplus "/", "/./" and "/../" strings.
FossilOrigin-Name: c38dec6f52c01614c1bee8356daf0fcd9f708d029116e9bff51e06719a730dde
2020-11-19 21:12:08 +00:00
drh
e5dc4a2097
More test case changes so that shared-cache mode tests all work
...
with normalized database names.
FossilOrigin-Name: 6f0d5f0949130a4688319adf05d37c5ccd683ca9ad2dacb7ce433a5fe18ac3c3
2020-11-19 21:01:11 +00:00
drh
f4097026ef
Fix the tkt3793 test case so that work even when filenames are normalized.
...
FossilOrigin-Name: e85d32ac6c82d39f5dc9b28f881d5d72f5e5a7e16df12c19315bfa8edea1b0b4
2020-11-19 20:07:24 +00:00
drh
5dc18e33ae
Use an ephemeral table rather than a RowSet to remember rowids in the
...
two-pass UPDATE algorithm, as this uses much less memory for large UPDATEs.
FossilOrigin-Name: 842c432772e6cd8464cdb7bfdb38789adeea9aa9e0486d4034cc9841f085f517
2020-11-19 19:43:46 +00:00
drh
02e4b7d7df
If a read() or pread() indicates that the database file is unreadable due to
...
filesystem damage, then it returns SQLITE_IOERR_CORRUPTFS which is then
converted into SQLITE_CORRUPT before being returned to the application.
FossilOrigin-Name: 849e4e14fd06eda512381f5f8aa65f75ad0a955e835da7c63526a53cf5e8f4dc
2020-11-18 23:44:41 +00:00
drh
f56a4bfcd1
Improvements to the mechanism that attempts to report SQLITE_CORRUPT if
...
pread() says that the underlying filesystem is corrupt.
FossilOrigin-Name: b887c7504e7edeba758f3c1203c6cc56eef499fe05e7e6c6d82939bf7d78c57f
2020-11-18 21:50:05 +00:00
dan
8ea11095c9
Update cksumvfs.c so that if SQLITE_AMALGAMATION is defined, SQLITE_CKSUMVFS_STATIC is implied.
...
FossilOrigin-Name: 184e9d782dfbad8011b5b0043b3fd8e5a369ed7076e37e14b301483ce5ffe5db
2020-11-18 20:55:01 +00:00
dan
c30b78f6f3
Add test infrastructure for cksumvfs. And update cksumvfs so that it works in concert with version 2 VFSs. No changes to core SQLite.
...
FossilOrigin-Name: 43d4801df5dc4625f6829ed8246758493842b2416ba609ee0423ef63155cece2
2020-11-18 18:36:43 +00:00
dan
8bb3961d40
Fix a problem causing sqlite3_carray_bind() to return an undefined value.
...
FossilOrigin-Name: 083203a549d3cf26991d8626b308ff1e9e44be6abb72ab3d38e5fd53c99aed7f
2020-11-18 14:30:53 +00:00
dan
5011bb8dd2
Update test code to fix a problem with SQLITE_OMIT_VIRTUAL_TABLE builds.
...
FossilOrigin-Name: 29c779a07bf6ede1ec2cdb4695d801a5c113ab4b12d6cd22bcee8d2adb06891e
2020-11-18 14:12:20 +00:00
drh
5a07d10fd1
On unix, for certain error codes of read()/pread() return
...
SQLITE_IOERR_CORRUPTFS instead of SQLITE_IOERR_READ. And then convert this
error into SQLITE_CORRUPT prior to returning back to the application.
FossilOrigin-Name: 9538ea8447e7b07c05197d6ff2208d3e97b45798736c85b63e8f0c7a3a98c1f3
2020-11-18 12:48:48 +00:00
drh
32881bebbe
Claw back most of the performance lost in the previous commit.
...
FossilOrigin-Name: df8ce2675b070fcdc338918e7652a26ffc90439fe399ceac206fadf8a93a681f
2020-11-17 21:26:13 +00:00
dan
aff1a57f4d
Fix trivial memory leaks in the shell and sqldiff programs.
...
FossilOrigin-Name: 272793e5edc47e431be77d589718a001f2696869e3e15f1371a1890645a995a7
2020-11-17 21:09:56 +00:00
dan
12c9994659
Fix test file busy2.test so that it works with the "inmemory_journal" permutation.
...
FossilOrigin-Name: b192fdddb63ac56fd6725032af110a069baac52347c0012c130bf34f3cbe69e4
2020-11-17 18:25:48 +00:00
drh
ea847f1b94
Add a single-argument form to the CARRAY table-valued function, with
...
content bound using the sqlite3_carray_bind() interface that is included
with the extension.
FossilOrigin-Name: 7b229cb1202be203a87b8f47d284313f357deb1e6dfeb94bba7b46744c33512e
2020-11-17 14:41:37 +00:00
drh
7f42dcd901
Enhance the unix VFS so that it removes extra "/", "/./" and "/../" from
...
the database filename.
FossilOrigin-Name: 7ba89d3e5c68d970ed26c2ec6e6e34bae535c2cc0b22a022d20ac9ff4527b8ab
2020-11-16 18:45:21 +00:00
drh
ea2487200f
Modify UPDATE so that two-pass updates on a rowid table use an ephemeral
...
table to store rowids rather than a RowSet. This uses less memory, though
it is slower.
FossilOrigin-Name: 4673096dd8c5ed7aed098ff518a6d01d35c40fad991b89fddd91c19a727a4308
2020-11-14 20:03:34 +00:00
drh
b035b87ef8
Improved diagnostics output with ".wheretrace 0x800". No changes to
...
non-debug builds.
FossilOrigin-Name: 772ae83c61c87a9004a614d8ec120ba843286bff1edbd20b987fd592ced84d79
2020-11-12 18:16:01 +00:00
drh
75e6bbbeca
Fix a typo in a comment. No changes to code.
...
FossilOrigin-Name: 572f1ed59d29e74f810c74ef9e72ebc94c2d3e04befc03a1f88034f04a9c60a8
2020-11-11 19:11:44 +00:00
drh
235667a858
Use NEVER and ALWAYS macros to confirm that the return value from
...
sqlite3ExprSkipCollateAndLikely() is never NULL in some of its use cases.
FossilOrigin-Name: 76d2eb86e109fc3cbdba2e8175c22ed7660b59bb9315f6c55c565587f33ad43b
2020-11-08 20:44:30 +00:00
drh
78043e891a
Add ALWAYS() to conditionals associated with SHM locking that are always true.
...
FossilOrigin-Name: b599e89076d60afede7d2b3503b9338ca863d0c2d25799afe4080a6186386ea9
2020-11-06 16:48:55 +00:00
drh
4e451aad54
Suppress errors associated with TEMP triggers that reference objects in
...
non-TEMP databases. This is a continuation of the fix for ticket #3810
shown in check-in [ba1afc040171810d]
from [/timeline?c=trunk:200908061743|2009-08-06], based on a bug report in
[forum:/forumpost/157dc791df|forum post 157dc791df]
FossilOrigin-Name: 991ca9b26bacd8f6b64498057fe28f2068466a220f372fd365b6685f583f0e92
2020-11-05 19:13:44 +00:00
drh
114cb01796
Remove unused variable from speedtest1.c
...
FossilOrigin-Name: c0a18565e614021b74646de7efd11d3d46894ef9132fb26787ab0269dc6a647c
2020-11-05 14:50:21 +00:00
drh
6d5ab2a1d6
Fix an another OSS-Fuzz discovered assertion fault due to ALTER TABLE and
...
strange triggers.
FossilOrigin-Name: 6646d7898ca1d2f71ec906d9613fbfc5c59c6cf05f053529e6e32ab826d1cb78
2020-11-02 00:40:05 +00:00
drh
2fa7818571
Add the -tabs command-line option to the CLI.
...
FossilOrigin-Name: 7d01e84dc49074e6364267eea9fd20d46a457d2498121a0f218fbf482692392d
2020-10-31 18:58:37 +00:00
dan
7a39faecc2
Update the ALTER TABLE command to correctly handle UPDATE ... FROM statements within trigger programs.
...
FossilOrigin-Name: 3e6af890406b58da1c4aebec4d483be7ab0fdb589ef7a4c4e987d6bde18d6b97
2020-10-31 16:33:01 +00:00
drh
ed7974dee5
Always create a statement journal when using the OP_ParseSchema opcode,
...
as you never know when it might fail. See the discussion on
[forum:/forumpost/daa2c728cc|forum post daa2c728cc].
FossilOrigin-Name: aa512f72cf5adfece6299db17bd122aeff0cdee2a25f83f60e2ebb05e99c9591
2020-10-26 18:14:12 +00:00
dan
19f7bd3b07
Ensure that the table argument passed to Tcl_GetIndexFromObjStruct() in the sessions module test code is declared "static".
...
FossilOrigin-Name: 80eba105d6d1b49ba8ca2ad4e14ddec2de0bdc2f6686c2f8a1c1d24fc1fe846f
2020-10-26 16:22:31 +00:00
dan
d1d43efa4f
Prevent fts5 tokenizer unicode61 from considering '\0' to be a token characters, even if other characters of class "Cc" are.
...
FossilOrigin-Name: b7b7bde9b7a03665e3691c6d51118965f216d2dfb1617f138b9f9e60e418ed2f
2020-10-26 13:24:36 +00:00
drh
beb22d086b
Minor tweaks to query planning weights so that when STAT4 is enabled
...
and functioning, a full table scan is more likely to be selected if
that seems like the fastest solution. Only do this when STAT4 info
is available because an error has a large potential downside.
FossilOrigin-Name: 0e7e113d9f2c929c1f8a85e2cfad8e2e60f0e8770212b5e5320fb2a2c42911f8
2020-10-22 18:50:30 +00:00
drh
461ff3594b
Test case updates.
...
FossilOrigin-Name: 27c681c9c6672ad7098d8ff2c41e76d3e9e55866b6327ed85e73f63bd623ceed
2020-10-22 18:16:17 +00:00
drh
403869680b
Sometimes it makes sense to do a full table scan rather than try to use
...
an index when most of the rows will be selected. This branch is trying to
tune the query planner to make that happen more often.
FossilOrigin-Name: 0f42099ad65855c94af8472f3a6fddac7fc2a82e8fdfcc06a298eb6683a28688
2020-10-22 15:47:48 +00:00
drh
672f07c642
Fix the sqlite3_hard_heap_limit() so that it works with sqlite3_realloc64()
...
in addition to sqlite3_malloc64(). Improvements to OOM processing and
debugging aids in the fuzzcheck utility.
FossilOrigin-Name: 602d7369166d406a26834aa47d71d565a17d377d32e41f308821a50b41f91896
2020-10-20 14:40:53 +00:00
drh
1a56fce614
Fix an assert() inside of debug-only code that can fail following an OOM.
...
FossilOrigin-Name: 79da254f41a0d7d5fdc57f0cc40b3560bfcf7f79eed24a9fada1b6b4ca3adb5a
2020-10-20 12:37:51 +00:00
drh
94d6f3f836
Fix an incorrect table ref-count in the new recursive CTE logic that might
...
result in a reference to freed memory following a syntax error.
FossilOrigin-Name: 75a0288871ccb2a69a636cbb328fe19045a0d0ef96a193ecd118b9a196784d2d
2020-10-19 20:49:54 +00:00
drh
787f6d418d
Enhance recursive common table expressions to support two or more
...
recursive terms.
FossilOrigin-Name: 77e64647ec429c6e0d884abbd00dabebe738f89544a4984d6fd7a702b928ccfd
2020-10-19 12:35:08 +00:00
drh
07d7a8dca9
New test cases for recursive CTEs with multiple recursive terms.
...
FossilOrigin-Name: cd5182bd6f5969ba0812275f471224908296960358013327cebbe0c52b820f04
2020-10-19 01:44:43 +00:00
drh
340558540e
Allow multiple recursive terms in the compound SELECT of a recursive CTE.
...
This facilitates writing a query to find find the connected components of
an undirected graph.
FossilOrigin-Name: 5481fa8c79c34f434e99ab633ff3d0942a309a74fb0cf38e3d3617b51d5d21dd
2020-10-19 01:23:48 +00:00
mistachkin
a00a016740
Fix harmless compiler warnings.
...
FossilOrigin-Name: 7f8802bb7be61fdf7c7a591945d533d848bc46d2989f7739dd9ad89e1b6a9c65
2020-10-18 18:35:34 +00:00
drh
ff01ee34c9
Fix the SQLITE_DESERIALIZE_FREEONCLOSE flag so that it works as it is
...
documented to work.
See [forum:/forumpost/ba1dff667a|forum post ba1dff667a]
FossilOrigin-Name: d6fac8a1d3efeb2c4f03dae437b5b314765c93770a70603803a8039291dbcabb
2020-10-17 22:13:16 +00:00
drh
e93986a93b
Fix an incorrect printf() in debugging logic in where.c.
...
Problem reported [forum:/info/80a9c47769772207|by forum post 80a9c47769772207].
FossilOrigin-Name: 883da4dadc88809192e4ed2f753f8883471fb43aa330bc58b017c66e1acedc6c
2020-10-17 19:09:04 +00:00
drh
71cb422055
Minor fixes to the cksumvfs documentation in the header comment of the source
...
file. Enhance speedtest1.c so that it can more easily do performance
comparisons of cksumvfs.
FossilOrigin-Name: ed3bb818f58b75c087f2875331ec944397b6c61a5b14d8af4b9ec6f376bd1872
2020-10-15 17:59:38 +00:00
drh
f8c4c3a09f
The windows VFS accepts query parameter "exclusive=true" to cause it to
...
take a mandatory file lock, preventing other applications from even
reading the file.
FossilOrigin-Name: 05b573fdb27abec7d75aa1375325d45043cfd674f5b346fb341f001d7e04d160
2020-10-15 14:37:27 +00:00
mistachkin
d5157e01b8
Enhancements to TclKit batch tool for MSVC.
...
FossilOrigin-Name: 2a8a4552112be6e39e3475e9a8579582b5157086d3efd37971463c0e3958068d
2020-10-14 21:31:20 +00:00
mistachkin
05881886a6
Fix typo in a documentation comment.
...
FossilOrigin-Name: 462adc7d6b14de3862c2a3e57dba7efaf2ba9c104e1c127a5801a7b892059872
2020-10-14 21:30:56 +00:00
drh
7207be402d
Enhanced documentation for sqlite3_vtab_nochange() to make it clear that
...
it is an optimization and that virtual table implementations should be
prepared for it to always return false.
FossilOrigin-Name: 3e2643619d122616663688533977d6c60d45a269b4e2bdc330fd3ee5d39f2e03
2020-10-14 15:46:29 +00:00
dan
f6b0464e36
Fix some fts5 problems with signed integer overflow causing segfaults in -ftrapv builds.
...
FossilOrigin-Name: 7e17c2f4b7dc9b563d0b4da949bb134dc7c4fc9c86ce03891432a884ca6409d5
2020-10-12 18:09:16 +00:00
drh
c6712647c6
Improved quoting of the table name argument for the ".import" command
...
of the CLI. See [forum:34591fefbe|forum post 34591fefbe].
FossilOrigin-Name: ce97b56d63d6e03b909e049a0a62251d98c7bf643448193a28b42a5871899387
2020-10-12 17:57:29 +00:00
drh
c196219dd4
Add options --data-only and --nosys to the ".dump" command in the CLI.
...
FossilOrigin-Name: 57123b14a71027c21cb5eee089fcbc9330d07bf9091b01aecc4f9e3b9e4f7b09
2020-10-12 16:54:28 +00:00
dan
936a30598e
Fix ALTER TABLE so that it can run even if the schema contains unknown collation sequences.
...
FossilOrigin-Name: bc4bb9433fed519386511796cce475d74100b8ed707cdbffd8cbdf683b0faf35
2020-10-12 15:27:50 +00:00
drh
bbb29ecfb4
Add the --nosys option to the .schema command in the CLI.
...
FossilOrigin-Name: b72ee694532c0c5d2285dd580154546eb592fd6892cad9ad7a49e98737adb974
2020-10-12 14:56:47 +00:00
dan
4d906f1b5a
Fix UPDATE FROM statements on virtual tables that are declared WITHOUT ROWID.
...
FossilOrigin-Name: bcb0bc6a7b7006f07adb7266b1fecca39bf85a0adea6d78a341623a3546f2c2a
2020-10-12 14:29:11 +00:00
drh
1ca037f41e
Fix BEGIN IMMEDIATE and BEGIN EXCLUSIVE so that they work even if one or
...
more of the database files in the connection are read-only. Test cases
for this are in TH3.
FossilOrigin-Name: 2fa08c3963f008d4723c3f4f4496abcb6d4b575c85ba4a911a6aed5730b5948b
2020-10-12 13:24:00 +00:00
drh
0897c3c056
In the CSV extension, use SQLITE_TRANSIENT rather than SQLITE_STATIC on
...
return values that can in fact change.
FossilOrigin-Name: 54b54f02c66c5aeaa3504c52a04614e2fb4d7260da8367840d5ea5a71cdc2fda
2020-10-07 11:24:45 +00:00
dan
f46be6a1b9
Allow fts5 trigram tables created with detail=column or detail=none to optimize LIKE and GLOB queries. Allow case-insensitive tables to optimize GLOB as well as LIKE.
...
FossilOrigin-Name: 64782463be62b72b5cd0bfaa7c9b69aa487d807c5fe0e65a272080b7739fd21b
2020-10-05 16:41:56 +00:00
dan
a344ad47f3
Do not apply affinities when creating entries for automatic indexes on views. Fix for [95302bdb].
...
FossilOrigin-Name: df12f097224ebc9473d9e2a8933bd7efed6490d09af2c012c9b59a7892369b7f
2020-10-03 19:16:36 +00:00
dan
12a6a1eaf9
Fix a segfault caused by running "column LIKE NULL" against an fts5 table using the trigram tokenizer. Fix for [e33ee62575fc22].
...
FossilOrigin-Name: 6e72a08de764077f2bba6f7e3b99ea29001941671a971f2ccf7ceeb9c682fb1a
2020-10-03 17:06:02 +00:00
dan
95dca8d0cf
FTS5 does not handle tokens that contain embedded nul characters. Prevent the trigram tokenizer from returning such tokens. Fix for [2ba5930b2].
...
FossilOrigin-Name: b1d048748c054575425a4bebf0c5d09962f9329d5ce6a978cf54e508b238584c
2020-10-03 14:36:06 +00:00
dan
7093a3be03
Fix some test code so that testfixture can build with SQLITE_OMIT_WAL defined.
...
FossilOrigin-Name: dd009cd7aec3598e930806907601f4f0f9b0021ea99fa6c5e29e88f1246066ed
2020-10-02 15:15:18 +00:00
drh
7d14ffe4e1
Additional corner-case fixes for the in-scan-vs-index or OP_SeekScan
...
optimization.
FossilOrigin-Name: ad5ab24ebd557e7af1d92ab3fbcb3747c04da5ad4ed779fb6391dc94042687dd
2020-10-02 13:48:57 +00:00
drh
64208b50ce
Remove an incorrect assert() from the OP_SeekScan opcode.
...
FossilOrigin-Name: c0400f8c0bcb85ba39004feff753eae2f8e82065539e52b5788febd7644c417b
2020-10-02 12:49:06 +00:00
drh
9bb612f2c8
Fix a faulty assert() statement. Add new test cases.
...
FossilOrigin-Name: 80ecdb3da4558bb08ee3ec6edbde906ad5b3b8182e672b5ba0d5dfa8041cee0a
2020-10-02 12:42:51 +00:00
drh
04e70ce07d
For the OP_SeekScan optimization, the OP_IdxGT does not necessarily come
...
right after the OP_SeekGE. So use the P2 operand of OP_SeekScan to point
to the first instruction after OP_IdxGT. Problem found by dbsqlfuzz.
FossilOrigin-Name: 091d71939411bf2079098f09ddc0525f11f380119fd27114e2b3eec9a8ac0db4
2020-10-02 11:55:07 +00:00
drh
4ad1a1c74c
Disable the OP_SeekScan opcode of the in-scan-vs-index optimization when
...
in PRAGMA reverse_unordered_selects mode, as the OP_SeekScan only works
with forwards scans. Thanks to OSSFuzz for pointing out the problem to
us.
FossilOrigin-Name: c75c3a3b756635bfdab44e4b56a337e4a88af3a8803cd3e9a67abf3d0d3450dc
2020-10-02 02:02:18 +00:00
dan
d7d406e81c
Add experimental "trigram" tokenizer to fts5.
...
FossilOrigin-Name: c4e8ec7907de7cb9e610ef9f4930caf5c046618151fb4f61d5716b9fa3f31423
2020-10-01 17:24:36 +00:00
dan
a22c1c84cc
Add the -trigram option to the fts5txt2db.tcl script.
...
FossilOrigin-Name: a394dd260252e7b7dcbc90fd321dfd40d9375f0598ea52b01001c568cbdbafce
2020-10-01 17:15:12 +00:00
dan
ccf578d435
Add tests for the trigram tokenizer. Fix minor issues.
...
FossilOrigin-Name: 897ced99b44085012aa44d3264940dcbd4c77b295a894a1b58fb2c03a0f7fee8
2020-10-01 16:10:22 +00:00
drh
deaa61072d
Fix the OP_SeekScan opcode so that its variable names do not cause problems
...
for the test/vdbe-compress.tcl script.
FossilOrigin-Name: 7a78274a072324b94d6f79e5b7a198b2fa9321ff5d6a528b51f57d3ee95c765b
2020-10-01 15:46:21 +00:00
drh
644f43c0f7
Remove a debugging printf() accidentally left in the previous check-in.
...
FossilOrigin-Name: e9d1efa597fb073dc4bc4286e03059a350ed05d3e6476cd3247e6cde626f458b
2020-10-01 14:38:39 +00:00
drh
67306cb3b4
The IN-early-out optimization does not work for virtual tables. Do
...
not try to use it there. Fix for ticket [2d5a3163563d559f]. Test
cases in TH3.
FossilOrigin-Name: dbec6910d9648f4907373c818a5cb347a2e487784208751ccecfacca752ff99d
2020-10-01 14:36:15 +00:00
dan
33a99fad08
Add experimental unicode-aware trigram tokenizer to fts5. And support for LIKE and GLOB optimizations for fts5 tables that use said tokenizer.
...
FossilOrigin-Name: 0d7810c1aea93c0a3da1ccc4911dbce8a1b6e1dbfe1ab7e800289a0c783b5985
2020-09-30 20:35:37 +00:00
drh
fad4dd0fd1
Improved query optimization for multi-column indexes where the second or
...
later columns are constrained by an IN operator and the earlier index columns
limit the search to a small number of rows. Use the new OP_SeekScan opcode
which does scanning of the relevant range of the index but gives up and
falls back to doing a seek if the number of rows scanned grows to large,
in order to guard against pathological cases where the estimated number
of rows to be scanned is far too small.
FossilOrigin-Name: 4a43430fd23f88352c33b29c4c105b72f6dc821f94bf362040c41a1648c402e5
2020-09-30 18:06:51 +00:00
drh
4f65b3bbfb
For the OP_SeekScan opcode, adjust the number of steps run before giving
...
up based on the estimated number of comparisons needed to perform a seek.
FossilOrigin-Name: dc4172e6b8e1f62dc7329a3adb2223f290bc4c8055c265e88182ef432f4bcf10
2020-09-30 18:03:22 +00:00
drh
395a60dad4
Back out the incorrect optimization of check-in [e51ecadcbdef5ce6] as
...
ticket [5c4e7aa793943803] reports a case where the optimization does not
work.
FossilOrigin-Name: 7395e96b8cc370c8ac2657fb805915b0992a15d80f8bf256d277b423fec64675
2020-09-30 17:32:22 +00:00
drh
af3711536b
In the query flattener when substituting expression Y in place of expression X,
...
if X is marked has having come from an ON or USING clause of a LEFT JOIN, then
be sure that all subexpressions of Y, not just the root node of Y, are
similarly marked. Otherwise, if Y is an AND operator, it will be split up
during WHERE clause analysis and the subexpressions will not get the special
treatment needed by LEFT JOIN ON/USING clauses.
Fix for ticket [66e4b0e271c47145].
FossilOrigin-Name: 69f9eb7343a416c5ab426c8e1b9f0ae576544b4ccc5d87f5481c8ff884f696e1
2020-09-30 15:36:03 +00:00
shearer
1e6c58dee2
Better understanding of savepoint code
...
FossilOrigin-Name: ce6d8d621505f25e4fd43e7cf27445e1a2ddd58d79108d63499c2ae30cc9f610
2020-09-30 09:17:53 +00:00
drh
a957e22fa4
Add an sqlite3FaultSim() call to btreeNext() to make it easier to
...
simulate I/O errors in calls to sqlite3BtreeNext(), and in OP_SeekScan.
FossilOrigin-Name: 29cca775d3f5411624f0a8d55d34a038a24f1009d25b097315adb64e70c4b299
2020-09-30 00:48:45 +00:00
drh
f287d00108
In the OP_SeekScan opcode, changes to pOp must occur after the call
...
to VdbeBranchTaken() so that the VdbeBranchTaken() attributes the branch
to the correct opcode.
FossilOrigin-Name: 61fbe7aa7cc0e8fe3e6b1c5aec277183d8cd7c86b1e835c38e0b37a9b8063343
2020-09-30 00:10:22 +00:00
drh
a54e1b1fc8
The OP_SeekScan opcode is a no-op if the cursor is not pointing to a valid
...
row upon entry.
FossilOrigin-Name: 4afc96b5fe80bd192a23e0230edc207e641931c3bf48296b1a385c786386f1b7
2020-09-29 23:52:25 +00:00
drh
0b2949c36e
Coverage testing of the OP_SeekScan opcode. Fix a problem that comes up when
...
OP_SeekScan reaches the end of the table.
FossilOrigin-Name: 9e57e758a6a33f54d28a546b4eebfb5cfacef30dc4e0207e43bb9d2c06fc3439
2020-09-29 20:22:19 +00:00
drh
dfbaae7572
Improved comments on the new OP_SeekScan opcode.
...
FossilOrigin-Name: 6110fdd5bb7b4ae5c065404c802ae726362ef084966b73cffe58c4bfb98689d2
2020-09-29 17:29:11 +00:00
drh
c40076a8cf
Improved performance by manually in-lining the sqlite3VdbeIdxKeyCompare()
...
routine for the OP_IdxGT opcode and its kin.
FossilOrigin-Name: 2206a2c848a122ee220c89427f9be0460cba0706f58852139d7b37184ce29a29
2020-09-29 16:05:09 +00:00
drh
46f0f4e56d
Typo fix to repair the early-out optimization. Also avoid unnecessary
...
OP_SeekHit opcodes.
FossilOrigin-Name: 8fd7d8dfcd515aa6b65d6eb27b033d3b3a31db467b9100cc13c62bc60113019e
2020-09-29 15:32:54 +00:00
drh
f761d937c2
The OP_SeekScan opcode works, but using it requires disabling the
...
IN-earlyout optimization because the OP_IfNoHope opcode might move the
cursor.
FossilOrigin-Name: f3c36b840c9a29c0add28039db216f4207a308e5057fc76e3f0004024a8267ac
2020-09-29 01:48:46 +00:00
drh
68cf0ace3d
Revisiting the IN-scan optimization to try to fix it for the corner case
...
where the statistics deceive the query planner into using a scan when
an indexed lookup would be better. This check-in changes the code
generation to do the IN-scan using a new OP_SeekScan opcode. That new
opcode is designed to abandon the scan and fall back to a seek if
it doesn't find a match quickly enough. For this work-in-progress check-in,
OP_SeekScan is still a no-op and OP_SeekGE still ends up doing all the work.
FossilOrigin-Name: d720b6981eeb0ffdb14494ca63eca298ee724ae4ad4863c7c7cbfdad7fa52519
2020-09-28 19:51:54 +00:00
drh
75fa266341
Small performance improvement and size reduction by reducing the size of
...
the WhereTerm object.
FossilOrigin-Name: 43f7ddad800acf40917c5cc3d926640dbec17c34d5f1cbbb74bd80f44eeed0a5
2020-09-28 15:49:43 +00:00
drh
f573b4fb94
Avoid the possibility of integer overflow on the --pagecache option to
...
the CLI. See [forum:10a2892377|forum post 10a2892377]
FossilOrigin-Name: d3d13df31a97648f952beb2e1a783f947a80ec843227985ad9ebd14452d2f654
2020-09-28 13:34:05 +00:00
mistachkin
273ee15121
Fix harmless compiler warning seen with MSVC.
...
FossilOrigin-Name: 4591ee03d7a1ef3f0f6ad0629493fdb7a1c0ddb3277a9e87aa244cb0ca770593
2020-09-21 20:18:44 +00:00
dan
7548ab20e6
In fts5 integrity checks, do not compare the contents of the index against an external content table unless specifically requested.
...
FossilOrigin-Name: 782163693f37aeb65209bebbaeb6659a36881b8c4b4bec778b366658488bf966
2020-09-21 14:53:21 +00:00
drh
9ca41fbfa9
Remove a new assert() that the compiler finds is always true at compile-time,
...
to avoid a compiler warning.
FossilOrigin-Name: 8bbaee238593741da107b92b254cb5f0cf8b6bcc760bf2b25d20e46c8edee2a9
2020-09-20 13:33:28 +00:00
drh
79d9af960b
Attempt to silence harmless static analyzer warnings in Lemon and in the
...
Lemon-generated parser.
FossilOrigin-Name: de8ce22a46c90afa5475cd24c28b7a82b26410dc72d662af2f9d9e5e528e0eec
2020-09-20 12:10:28 +00:00
dan
68cffa65fb
Fix a typo in the documentation comment for sqlite3_preupdate_hook().
...
FossilOrigin-Name: 4542d194e2fef5e21e1c3679914bd9e21fab31cfb111cf640524fb3514a8afa3
2020-09-17 21:11:25 +00:00
dan
39c7125a97
Fix a problem in sqlite-expert causing it to ignore equality constraints on the second or subsequent columns of a multi-column PRIMARY KEY.
...
FossilOrigin-Name: c666c85a433fbc83edef4dbfb0399672e570f5d7979ab61cb39ff5488595d822
2020-09-17 17:01:16 +00:00
dan
f2e151aeab
Fix a problem in fts5 causing the in-memory hash table to be flushed more often than necessary.
...
FossilOrigin-Name: 9a55601d072bcd1ac0f6f1633216c7c8b3ff3e037451e2cfd285cbe19b60b9fc
2020-09-17 15:16:50 +00:00
dan
3acd3fb9d8
Fix a "jump depends on unitialized value" valgrind/asan error in fts5.
...
FossilOrigin-Name: 66f94d623c16b4527e42f0519e32ec78eaf9ee6fd61ee7d0eb657cc59a8f7d68
2020-09-17 14:16:02 +00:00
drh
f2fa084cf1
Earlier detection of corruption in the rtreecheck() SQL function to prevent
...
a (harmless) read of an uninitialized value.
FossilOrigin-Name: e2074b24788149562b15022ccd2784d6649f08ebc41410e3bfb2401baf0892e2
2020-09-17 11:56:04 +00:00
drh
bc2e95140b
Prevent use-after-free of the u.vtab.idxStr string following an OOM
...
while generating the OP_VFilter opcode.
FossilOrigin-Name: 751fe4edb2d4602e652523c2759de3f4fffd29d5c66cae68caf45b30fd8b750a
2020-09-17 11:32:14 +00:00
drh
f1ea425560
DISTINCT may not be ignored inside a UNION ALL common table expression.
...
Fix for ticket [c51489c3b8f919c5]
FossilOrigin-Name: 7d2b590d3abd66a7e6ae9046198eb669e0fd2f223f7691281e9ad795a12b8903
2020-09-17 00:46:09 +00:00
drh
d96e3821e4
Fix a pair of assert()s in "PRAGMA foreign_key_check" that might have given
...
a false-positive following an OOM.
FossilOrigin-Name: 9ea3039b538ffd0f348c8fbc9452af1fbf899a1f668af9a2404bdd0f8dd21351
2020-09-16 19:48:23 +00:00
drh
18ef40e563
Fix harmless compiler warnings in Lemon.
...
FossilOrigin-Name: 6c94ba4b1c16b676978808dcb24f63c2f22915af5dcfe9f635c037011affcf4b
2020-09-16 16:55:56 +00:00
dan
b5a69238b4
Fix a buffer overread found by OSSFuzz that could occur if a WITHOUT ROWID table with many columns was NATURAL JOINed against itself.
...
FossilOrigin-Name: 3d35fa0be866213274fc09250225b345f6b08a9b4ec373d53d95e627e24512be
2020-09-15 20:48:30 +00:00
drh
ddcfe92105
Do not invoke usleep() for more than 999999 microseconds.
...
FossilOrigin-Name: 1f5ed852f25515bbc0a7aaf236fdef40fa7e31805eee1249277fde4e68f95130
2020-09-15 12:29:35 +00:00
dan
86f477edaa
Catch fts5 index corruption caused by issuing 'delete' commands with incorrect data earlier in some cases. Also fix a couple of test script problems.
...
FossilOrigin-Name: b79f19edfd33c2a75f936c352668e14e81f35acf4f07edc27a21f941a7304b38
2020-09-11 15:01:49 +00:00
drh
94acc2ef42
Try again to fix the typo in the sqlite3_txn_state() documentation.
...
FossilOrigin-Name: 6d1ab0403c2855b595f5d294305f41f56a7a93503f2a58d1b1d12431d480704e
2020-09-10 15:09:11 +00:00
drh
4fb8452875
Fix typo in the documentation for the new sqlite3_txn_state() interface.
...
FossilOrigin-Name: 23f7d01758cbcf22bd34e78fb8284c7af18f3059a03c4ff6ab3e556ca11fce19
2020-09-10 14:54:57 +00:00
drh
786142a994
If an amalgamation is created using SQLITE_ENABLE_UPDATE_DELETE_LIMIT,
...
ensure that it can still be compiled without that option by setting the
SQLITE_UDL_CAPABLE_PARSER flag in the preamble.
FossilOrigin-Name: 5b905d7d7714d1d2c433ff58f5d6917d6d27302d44ca347aa740e768f1354b16
2020-09-10 12:41:46 +00:00
dan
ebd2ecdda7
Fix another (harmless in practice) tsan error in shared-cache mode.
...
FossilOrigin-Name: 5a74fa3f0a64f462c8add9beae231a9bbdd19e54d07b54f08726cb1411fc8d3a
2020-09-07 11:14:27 +00:00
drh
8ab0809473
Remove an artifical limitation on the length of columns in the "box"
...
output mode of the command-line shell.
FossilOrigin-Name: 783fa887c9ed1a7d72c310df1dd9de91c016061b05fdeec87fbb2a7eb0b952ea
2020-09-06 17:40:38 +00:00
drh
2b75d3beb0
Fix a bug in Fossil that might cause it to crash if there is
...
a multi-terminal token with a space following the "|" separator.
This does not affect SQLite.
FossilOrigin-Name: 430c5d1da57af452f236cc862139d84ab97b6020f6d327dae5268c58e6e83a87
2020-09-05 06:21:54 +00:00
dan
78f04753ae
Fix a tsan error that could occur when using shared-cache mode.
...
FossilOrigin-Name: de80bc87300257cc49d98e2d22e914211f213dce912f320c8b37b3883c73923c
2020-09-04 19:10:43 +00:00
dan
2b06b0769e
Ensure that the busy-handler count is reset at the end of each sqlite3_file_control() and sqlite3_prepare() (and _v2() and _v3()).
...
FossilOrigin-Name: 5dd05940617fb05ee2faf212b15afc3a8e9695318eccb76761b37359fea681d1
2020-09-04 17:30:59 +00:00
mistachkin
52cfe0312a
Fix harmless compiler warning.
...
FossilOrigin-Name: a711e8cd2c7b64e06241736ecef478ac64ddbe7b58e0933b6febba63f7fb06e1
2020-09-01 19:02:52 +00:00
drh
512aa78ca2
In the Lemon output, add a prefix comment that explains that the output file
...
is automatically generated and shows the name of the source file.
FossilOrigin-Name: d34caf3bb63d0512ea116a8c8c8343b76aa39441bd4b3e98231747a705b91d54
2020-09-01 12:26:55 +00:00
drh
60c71b02ca
Lemon updates: (1) include the #defines for all tokens in the generated C
...
file, so that the C-file can be stand-alone. (2) If the grammar begins with
a %include {...} directive on line one, make that directive the header for
the generated C file. (3) Enhance the lemon.html documentation.
FossilOrigin-Name: 84d54eb35716174195ee7e5ac846f47308e5dbb0056e8ff568daa133860bab74
2020-09-01 11:20:03 +00:00
drh
fa17e134b2
Improvements to the IN-early-out optimization so that it works more
...
efficiently when there are two or more indexed IN clauses on a single table.
FossilOrigin-Name: 35505c68c1945c35babd2496e02bc4907a15c8e7b8d77f05f230bd0e9d4891d7
2020-09-01 01:52:03 +00:00
drh
d321b6f4ad
Fix a harmless compiler warning.
...
FossilOrigin-Name: 3ca0b7d54d73d07cd6b32e650a809174bb1cd66ce5ecdb36f65b70899ea05824
2020-09-01 00:26:21 +00:00
drh
37ccfcfeb9
New test-control that returns the number of calls to
...
sqlite3BtreeMovetoUnpacked() on the main database and then resets the
counter. This only works for SQLITE_DEBUG builds.
FossilOrigin-Name: dca5b91926431768babac28a6faf7674a5014db95caba727995b470e92b3182a
2020-08-31 18:49:04 +00:00
drh
c51ceeb049
Fix the documentation for the OP_IdxGT family of opcodes to show that the
...
P5 operand is not used.
FossilOrigin-Name: 62f7d2a61259f296ffdcb3b3ee1a13925c4563ac8ed669f8a8a63fc7bc3a0a37
2020-08-31 12:29:03 +00:00
dan
acd3c8a995
Fix a sanitizer warning in zipfile.c.
...
FossilOrigin-Name: ded1a75b3cf39834d38a385f38ae969b296f6c9409856b7eea08645e861b1ac2
2020-08-29 19:00:19 +00:00
dan
d49c0c83ef
Improve performance of wal-mode locking on unix in cases where there are hundreds of connections to a single database within the same process.
...
FossilOrigin-Name: a1c19eea8f141b89a0921da0724096feb21a772ef6654f164e2c36ebf9f7871e
2020-08-29 15:15:07 +00:00
dan
6acdee6765
Fix handling of an xShmLock(SHARED, UNLOCK) call when the caller does not hold any lock on the specified slot, but another connection in the same process holds an EXCLUSIVE.
...
FossilOrigin-Name: 3eb365027b885e1f61965efd53a3643b6ff441ae01e79038a091314516a50dd4
2020-08-28 20:01:06 +00:00
dan
8337da6678
Modify the unixShmLock() function to avoid iterating through the (possibly large) set of connections to the same database file.
...
FossilOrigin-Name: e0faddf0dfc3a40b6b94408296dd781dd0264ecc9f2129ce4405438433fb00e0
2020-08-28 19:27:15 +00:00
mistachkin
72c38d87bf
Add the miscellaneous 'series' extension to the shell.
...
FossilOrigin-Name: fc0856dccfab273d50457052fa3c6da768d0eb2504ad04d9540da4e3222fc829
2020-08-28 18:47:39 +00:00
drh
7b8524168e
Update Lemon documentation. Patches from sgbeal.
...
FossilOrigin-Name: f5dc83442bf010bc4083e083b3a1acbb9918b7e685ca676dd899a0e09df196bc
2020-08-28 13:10:00 +00:00
drh
e2678b93af
Fix a couple of unreachable branches.
...
FossilOrigin-Name: f2d26f2b11317abd4f993faa1a4df7afcd1a2d4e448ecc69ca05e9ebf102cd62
2020-08-28 12:58:21 +00:00
dan
832aa023c6
Add fts5 test to confirm that for a table with columns a, b, c and d, "{a b}" and "-{c d}" are handled similarly.
...
FossilOrigin-Name: 1a04920998368e56276fd0b100be8343609c6ff8a731cf8e26a0490f9c6dabdf
2020-08-28 11:19:49 +00:00
drh
04cd60e18c
Remove a (harmless) redundant variable from the CLI implementation.
...
FossilOrigin-Name: 3f7bbb840de0a9b1ca89288805cb151aea6fcb82efda9ba39f51abf1b17c070b
2020-08-27 20:55:54 +00:00
drh
92e21ef079
Include the original text of the CHECK constraint in the error message for
...
anonymous CHECK constraints.
FossilOrigin-Name: 5ce34a955bb36d77edc9951cb7ac2ef9c876d7d3ff5852af682f558e248f428c
2020-08-27 18:36:30 +00:00
drh
359941bd33
Apple the same fix for ticket [9eda2697f5cc1aba] to text-to-integer
...
conversions that was done for floating point conversions by
check-in [1c76f1d8ec0937a2].
FossilOrigin-Name: aafb7a21041090e529491b0ce30c3902420be0551b1b2c55840a5fbb9105fb7d
2020-08-27 16:28:30 +00:00
dan
ca3ee7e18a
Do not attempt to run test script analyze3.test as part of the "prepare" permutation.
...
FossilOrigin-Name: f7f13cb1bc699c034a3f5f7a2431c8055cb79e2a14d5e70e1fc5dd6dec00fb26
2020-08-27 14:53:47 +00:00
drh
60081a0382
Enhance the ".databases" command in the CLI so that it shows the result
...
of sqlite3_db_readonly() and sqlite3_txn_state() for each database file.
FossilOrigin-Name: 0ffd16d23dd3b6467cce31af506c70fde44c3796d386c2a03896e43a6d683e60
2020-08-26 19:07:18 +00:00
drh
30497f4169
If the argument to the ".read" command in the CLI begins with "|" then
...
run the remainder of the argument as a command and read input from the
output of that command.
FossilOrigin-Name: 6c716f4b556ea8f9c9f15cffd81cb970488eadf1d5da2ba6b366d3bdeb36e492
2020-08-26 10:50:48 +00:00
drh
99744fa4ab
Add support for the sqlite3_txn_state() interface.
...
FossilOrigin-Name: ad195e3dd89d0f33b50070c18fb8f43c4eb24162515dfdd7c04d9e7d96b902a2
2020-08-25 19:09:07 +00:00
drh
58d6f633ba
Reduce the N in the logN term for the sorting cost associated with computing
...
DISTINCT by B-Tree by half, under the assumption that the DISTINCT will
eliminate about half the rows of output. This is really a wild guess. But
we do not have any better way of estimating what the row-count reduction due
to DISTINCT will actually be.
FossilOrigin-Name: 8787417ec1da8071d84c6ff0d7a90b5fd458ab6baba871327f36bc4e1bceca61
2020-08-24 23:44:27 +00:00
dan
599456f0ab
Correctly handle expressions like "x IS (not) true/false" within the rhs of IN() expressions. Fix for [f3ff1472].
...
FossilOrigin-Name: 493a25949b9a6d0be82169b597133e491d8be4f4147b6eae135b06c1d810abd3
2020-08-24 10:52:52 +00:00
dan
6c3b4b07d1
Fix a crash that could occur in SQLITE_MAX_EXPR_DEPTH=0 builds when processing SQL containing syntax errors.
...
FossilOrigin-Name: 5f58dd3a19605b6f49b4364fa29892502eff35f12a7693a8694100e1844711ea
2020-08-20 16:25:26 +00:00
dan
7b14b990d0
Avoid a buffer overrun in test code that could occur if certain test functions were passed a hex-string containing an odd number of digits.
...
FossilOrigin-Name: 3c5e63c22ffbfeb66eb6ee38912d29fad6f2bd4d74b6a25e89bd36bf40eaa661
2020-08-20 11:03:33 +00:00
drh
14f38b3d0a
Try to make SQLite easier to compiler for Mac Catalyst. See
...
[https://sqlite.org/forum/forumpost/803387a1c5 |forum post 803387a1c5].
FossilOrigin-Name: e1595a20d71e61957944cc2b634578968cda8fba08a1f1e75edba20dc9c6080b
2020-08-19 23:51:54 +00:00
drh
46fe138d98
Do not skip over TK_IF_NULL_ROW operators when bypassing TK_COLLATE operators.
...
Fix to check-in [ac31edd3eeafcef4] which was itself a fix for ticket
[45f4bf4eb4ffd788].
FossilOrigin-Name: 871f2ddcfbb9196dbd851a350e3471ee6d242d86bbd755201f7e2406fce3ac55
2020-08-19 23:32:06 +00:00
dan
1d42e619ac
Update releasetest_data.tcl so that the "Fast-One" configuration runs bigmmap.test as part of release testing.
...
FossilOrigin-Name: a0aa35aaa5694a96638a7c7b1cd69c7523750cbe95831a13c1ee5a6d48256b76
2020-08-19 15:24:19 +00:00
dan
fce445b8fa
Fix a problem in test file bigmmap.test.
...
FossilOrigin-Name: d8e47382160e98be646ce3ba568578493088d1bb11d513ded3e00b576fb07f06
2020-08-19 15:21:52 +00:00
drh
9191c702fc
Fix the -quote option on the CLI to set the correct column separator.
...
FossilOrigin-Name: c778f8295c3c9b6cd6107b33fd7664ae75c97840fc974c9f971755a523f185c4
2020-08-17 09:11:21 +00:00
drh
1d8f892a31
Optimization to sqlite3BeginWriteOperation().
...
FossilOrigin-Name: 2173d4c6e3addc75964508f2fc8e42755376b3bc285286fa90df4831a6fa280b
2020-08-16 00:30:44 +00:00
drh
45d827cb6a
Optimization of the sqlite3SrcListDelete() routine.
...
FossilOrigin-Name: 1b4acd1ac4a8d24f8804c6d0770f5b0022f569d51742b6954b26e525f04d38ca
2020-08-15 23:48:22 +00:00
drh
289a0c849b
Remove more unnecessary sqlite3GetVdbe() calls, replacing them with assert()s.
...
FossilOrigin-Name: b7dc932197665f0ebde3ffb8f0785c22da07ce307cfd5f0eab69e86e4b38fcde
2020-08-15 22:23:00 +00:00
drh
f0b41745c5
Avoid unnecessary calls to the sqlite3GetVdbe() routine. Add assert()
...
statements to prove each call is unnecessary.
FossilOrigin-Name: 86d3790caf92e9cb7a9aaaa110f309b4b6945ac30cfd53fc3e5aa1ec3075ada5
2020-08-15 21:55:14 +00:00
drh
398221e2ad
Omit the unnecessary not-NULL check on the upper bound of a forward index
...
range scan. The subsequent OP_IdxGT will always catch the NULL. Similarly,
omit the not-NULL check on the lower bound of a reverse index range scan,
as the SeekLE opcode will disallow the NULL.
FossilOrigin-Name: e51ecadcbdef5ce6e41d68412aee70aa4a1416c850358a6fa7e9a1ab443e719d
2020-08-15 19:58:59 +00:00
drh
861889e4f8
When doing an UPDATE or DELETE using a multi-column index where only a few
...
of the earlier columns of the index are useful for the index lookup,
postpone doing the main table seek until after all WHERE clause constraints
have been evaluated, in case those constraints can be covered by unused
later terms of the index, thus avoiding unnecessary main table seeks.
FossilOrigin-Name: 7fee0b1075d622835dc6828c061be516102da9e2809f52d9ab7c4bbef7dfb871
2020-08-14 21:51:02 +00:00
drh
a3d6d6a93f
Update the version number to 3.34.0 for the next development cycle.
...
FossilOrigin-Name: 70f34f3df5358d36c8578afbc05756450c46da36b8dce339ed87fc0b9d4057cb
2020-08-14 21:37:32 +00:00
drh
f8556d0106
Optimizations to the logic that converts main table accesses into equivalent
...
index accesses. Code is now slightly smaller and faster than trunk.
FossilOrigin-Name: 611b640442025e57b8e161f8ddac1f19bd3be9a3d5266f4cef287595c3ed9257
2020-08-14 21:32:16 +00:00
drh
68c0c71065
For UPDATE and DELETE, use OP_DeferredSeek always. If the seek must later
...
be resolved, add the OP_FinishSeek opcode after all WHERE clause terms have
been processed. This obviates the need for the WHERE_SEEK_TABLE and
WHERE_SEEK_UNIQ_TABLE flags to sqlite3WhereBegin() and the ensuing
complication, and it allows the covering index optimization to be used
further into WHERE clause processing.
FossilOrigin-Name: a495f60d315e34b1a1bc5fb1336e05047add52c8fb2710b577c97b10a5e734f6
2020-08-14 20:04:26 +00:00
drh
5e6d90fe15
Experimental change to try to get some DELETE operations to access values
...
using the index rather than the main table, so as to avoid unnecessary
main table seeks.
FossilOrigin-Name: 2f7cb6ab39e54fd6eb3a280d3022c3d4f4ed92e83af7226e63e0199a96397a6b
2020-08-14 17:39:31 +00:00
dan
e0404386f2
Fix an inconsequential memory leak in sqldiff. Update the "Sanitize" case in wapptest.tcl to use -fsanitize=address,undefined, and to run more tests.
...
FossilOrigin-Name: 613fb5c2525be77e48bad0a74e8b7bf53489365060fb9c7713a0caddb1820c71
2020-08-14 16:14:40 +00:00
drh
ef215fbf3b
Version 3.33.0
...
FossilOrigin-Name: fca8dc8b578f215a969cd899336378966156154710873e68b3d9ac5881b0ff3f
2020-08-14 13:23:32 +00:00
dan
96e337df6b
Fix "make test" handling of environment variable QUICKTEST_OMIT so that it can be used to exclude test files in other than the main test directory.
...
FossilOrigin-Name: b050976079ba4a22d4dfeadb81f40cf71da6588c95bf2b634d88b416de5accd7
2020-08-13 17:27:57 +00:00
drh
a3e6495970
Improvement on the previous fix.
...
FossilOrigin-Name: f6cffa2d50bfebe5b025f412b7a49b7fdafb798aaf1ddc80e6656ccd1f012a7f
2020-08-12 16:19:12 +00:00
drh
b6a74caf93
Fix an assertion() fault in ALTER TABLE found by OSSFuzz. Test case in TH3.
...
FossilOrigin-Name: 41de742c5713ab1a0c0c15c44af3ffac40bbc527ae2dc11d829ba9773eb4c84a
2020-08-12 15:39:43 +00:00
drh
c08716a317
Fix harmless USAN warnings from gcc9.
...
FossilOrigin-Name: 72c4c69fea13f5e24df25645e6941ce3ff896f0a3c73cd63329f819cc907ab40
2020-08-11 21:53:42 +00:00
drh
4dfdb86c8d
New test cases for the use of the ieee754 and decimal extensions in the CLI.
...
FossilOrigin-Name: bc1590f32fc4e2696b4126bd0302cb6405031dd4f55b86f3f1611f7f39299f85
2020-08-11 18:17:04 +00:00
dan
91faeec8d0
Modify a test for corruption within the wal checkpoint code to account for the pending-byte page. And for the fact that test configurations might move the pending-byte page.
...
FossilOrigin-Name: 7dfb74c37e678dde347d9d85846672f82ad282e300e32676330b764be2e4d580
2020-08-11 18:00:10 +00:00
drh
8c1fbe81d0
Minor comment fixes. No changes to code.
...
FossilOrigin-Name: 533aeb90085d989078073067172135db98e37e00be84f99757255858126196e4
2020-08-11 17:20:02 +00:00
drh
24c22753fc
Remove an unused #define from sqliteInt.h.
...
FossilOrigin-Name: d5b254f94c1ce6f0f26024d0b9c80e610f7cc891360bc4c2cb116e9eda2874b3
2020-08-11 16:46:21 +00:00
drh
47eb561c40
Simplify #ifdefs associated with Parse.eParseMode. Fix an #ifdef error
...
associated with SQLITE_OMIT_AUTOVACUUM.
FossilOrigin-Name: 5bbd4bddd3b9fa64d134ed62bce3eb4a09456bf24dec2474b5d764a3a3775964
2020-08-10 21:01:32 +00:00
dan
9f567eb9f5
Fix a problem causing test failures in corruptL.test for some permutations.
...
FossilOrigin-Name: 680bdc6524ad6af0e74401e96e3a576145042fb865c1582bfaffc11d4ff76a4f
2020-08-10 19:35:01 +00:00
dan
26c48d2aab
Fix a problem building fts3 separately from the amalgamation.
...
FossilOrigin-Name: 2a167cfbb2abd76e1b33116b671e58a767fc972dd79bee0004aad09a1dd2b487
2020-08-10 19:30:21 +00:00
dan
12a4c41917
Fix a shell tool build error caused by some combinations of options.
...
FossilOrigin-Name: 33cd5341ac2ec84c86fbd3371f15c9153f83c1739f85dd8c3956fe2093d49afd
2020-08-10 14:34:36 +00:00
drh
08b9208660
Fix harmless compiler warnings that surface in newer versions of GCC.
...
FossilOrigin-Name: 9d670a318381f219b467653f5f9539097808b887ae37291ce13be462dedfb18d
2020-08-10 14:18:00 +00:00
dan
ed0af52cb1
Fix another test script problem in walvfs.test.
...
FossilOrigin-Name: 1b89d3931e368a66be5075bdf49eedd3839591ee268e3ac293040b5bf7639746
2020-08-10 11:21:48 +00:00
dan
80aff0847e
Fix minor test script problems.
...
FossilOrigin-Name: 5d54cd44d076cfede60bd404a59bd700a950420b961ae9fdec4365a3e4ed18ed
2020-08-10 10:43:43 +00:00
drh
14d093f847
Fix a harmless compiler warning.
...
FossilOrigin-Name: 6f91769fdb0734905f05e1f4d1c81364e6e874450c9f13a0de2259d564f582a7
2020-08-09 17:58:45 +00:00
drh
8afc09dea3
Fix the check-in at [41474548ef3f7454] so that it computes the pointer in
...
time for error checking at the end of the routine in the case of a non-OOM
error.
FossilOrigin-Name: 13d2fed760e7d0def573c56b7181f45622b0ed78d61952a6de901f96949d074e
2020-08-08 20:15:16 +00:00
dan
07066d90f6
Fix test script busy2.test so that it works with the inmemory-journal permutation.
...
FossilOrigin-Name: b412d1d175fde9c6402b6fda7c73ac2db2471f2c9416d5c5073549732dea6d98
2020-08-08 20:11:22 +00:00
dan
47d38e2444
Changes to busy2.test, corruptL.test and fkey5.test so that new test cases pass with all test permutations.
...
FossilOrigin-Name: d62d1711e2b0f18bb4dfb8899299c8e5b4c8205989b719699da60bcfe1884cf3
2020-08-08 20:03:12 +00:00
dan
35a37c2a47
Fix a test script problem causing an error for SQLITE_ENABLE_OVERSIZE_CELL_CHECK builds in corruptL.test.
...
FossilOrigin-Name: a85520e0074d574cb4ac5239bb225f8f0b0b3ea1d782cd1cbc79797b4c583fb0
2020-08-08 19:52:53 +00:00
drh
c664355c0f
Move a pointer computation until after OOM checks to avoid a nuisance USAN
...
warning.
FossilOrigin-Name: 41474548ef3f7454e44fbf648429730b3f5ba1ff0086fd2f2d0e59b8f51d85e6
2020-08-08 17:55:39 +00:00
dan
a6c13b22b2
Change the name of sqlite3SelectTrace to sqlite3_unsupported_selecttrace.
...
FossilOrigin-Name: 5ecd03a27b81637ec92af654451a8fff46f1768ddb7c7a443d2a4a933b4475c1
2020-08-08 17:02:39 +00:00
drh
d43c0cbed2
Update requirement marks due to wording improvements in the documentation.
...
FossilOrigin-Name: bf875a1c7fcb2b41a4d3bd741bb358a635b869d0b6fc9d24385cd5779686d78c
2020-08-08 15:40:42 +00:00
drh
7033ce4fdc
Reorder declarations in the decimal extension for C89.
...
FossilOrigin-Name: eface2da2c0b3daee2a5fd640cca3d3757d0930f62900fc810c50c104635241d
2020-08-08 00:44:45 +00:00
drh
799443b14f
Do the oversize-WAL corruption test before the size hint is issued.
...
FossilOrigin-Name: fdc5fb902d7f2d10f73e64fe30c67153b59b26c5d707fc9c354e90967dbcc214
2020-08-07 19:52:01 +00:00
dan
26b9540fc2
Fix a file-descriptor leak in test script corruptL.test.
...
FossilOrigin-Name: ec2c340c39bc78e4bce0eb01ea408c95ba121103cc77f300f29f3001fc345c20
2020-08-07 18:52:03 +00:00
dan
88819d5870
Return an SQLITE_CORRUPT error if the final expected size of the database when checkpointing is not reasonable - where reasonable is defined (basically) as the sum of the sizes of the database and wal files.
...
FossilOrigin-Name: e2799563c8a97f617c6d932719b312e3d5bff051a9a397492df8d88e8bb4260a
2020-08-07 16:28:02 +00:00
drh
b19493434f
Add the --checkpoint option to speedtest1.
...
FossilOrigin-Name: 4cffa9bb44d6f0bdb23cae913adfb224f0814e65a2abb9120179f0b288e70f77
2020-08-07 14:47:55 +00:00
drh
2c40b8f3da
Fix compilation issues with MSVC.
...
FossilOrigin-Name: c5a7e6d2c203ebe5f22ab5c676d33759b542ac57c8bad85d8f561a53bd26917c
2020-08-07 14:22:56 +00:00
drh
f82ce382f9
Fix the columnar output modes in the CLI so that they work with parameters.
...
See [https://sqlite.org/forum/forumpost/17ba6aac24 ] for details of the
problem fixed.
FossilOrigin-Name: d573aa9b1299bc25e46fc8a4b4f7c665263490db86c66f11e2d903dcd7071995
2020-08-06 16:45:22 +00:00
mistachkin
cec5f1d127
Fix compilation issues with MSVC.
...
FossilOrigin-Name: af07d8458ae5e2933134b706f80f9538f011970221904bf9f50ed6e47d306e14
2020-08-04 16:11:37 +00:00
drh
53218e2e2c
Back out a NEVER() that turns out to be reachable.
...
FossilOrigin-Name: 8cf342d4e5eb67b17aee595d9d75f7798eccaebc1ec88e646d344d8d4ab64977
2020-07-31 23:34:53 +00:00
drh
41af5b34bb
Remove an ALWAYS() that turns out to be reachable.
...
FossilOrigin-Name: 12bb75d9edc4c11de58d8b1105b95366c58ac4daaa9ad659499dded89a0d7cb5
2020-07-31 02:07:16 +00:00
drh
1991888238
Test for schema corruption is reachable after all.
...
FossilOrigin-Name: 2032236cce2ea040dec4cb1c03284bf4882efc1e0158703ab93d8a3451c805a5
2020-07-30 23:47:00 +00:00
drh
e592c18c1c
Provide an alternative "guaranteed-safe" method for overwriting the WAL index
...
on recovery, in case some platform is found for which memcpy() cannot do this
safely.
FossilOrigin-Name: 168cccbabbd4807bdb04953f395cd1a245c46e9d4816a09c9d024ecd5432759d
2020-07-30 22:33:36 +00:00
drh
013e7bb749
Fix compiler warnings in MSVC.
...
FossilOrigin-Name: 96e3dba2ed3ab0c5b2ecf65a3408633e0767c884d48c270e9ef10ab9fa3ec051
2020-07-30 17:37:49 +00:00
drh
91d028f0a1
Allow for page numbers as large as 4294967294 (0xfffffffe) which means
...
database files as large as 281 TB.
FossilOrigin-Name: 166e82dd20efbfd355ef3fb8b500bfebd8b946f1b13619b46722de96b57ed039
2020-07-30 17:29:39 +00:00
drh
48bf2d72b9
Fix unreachable branches.
...
FossilOrigin-Name: 905752da9815ff8242b3cb9a77b1ffdc5cfc76143f47c774890f617a542457a5
2020-07-30 17:14:55 +00:00
drh
8deae5ade3
Fix signed/unsigned compiler warnings.
...
FossilOrigin-Name: 1d69eee8b085d514f442840346f001b4785f8ec64f5ba66943e9577b26e2e29c
2020-07-29 12:23:20 +00:00
drh
1024822ba8
Earlier detection of out-of-range page numbers in the btree layer.
...
FossilOrigin-Name: 805bb67a82be51dc6077480691ed815c63a37bd8fc00cf7e67e020349c6e322e
2020-07-28 20:32:12 +00:00
drh
6528bcdc80
Merge enhancements from trunk.
...
FossilOrigin-Name: 969c25bb14fbd99ca8523abf0ae78a75a3dde539e3323d105690aef4940041eb
2020-07-28 17:51:48 +00:00
drh
9044361a9a
If a writer crashes in WAL mode and leave the SHM file in an inconsistent state,
...
subsequent transactions are now able to recover the SHM file even if there are
active read transactions.
FossilOrigin-Name: ee8a108058c304f9b6b02f84f1da01a0b7a3a21992627bcc1f97d42e8d23da69
2020-07-28 17:29:13 +00:00
drh
e7f3edcd49
Add an sqlite3FaultSim() to make an OOM case more accessible and remove
...
the ALWAYS() on the conditional that is false when the OOM actually occurs.
FossilOrigin-Name: 2a251af84ff1f5ca281aa69c5410d6ae7aa5a85ef47149909a297525e1651e9d
2020-07-28 17:17:36 +00:00
drh
f31230af12
On recovery, always overwrite the old with the new, even if they are the same.
...
Add ALWAYS() macros on branches currently thought to be unreachable, pending
additional testing.
FossilOrigin-Name: 7052cf1d533f6404d0f45cf0b3e8a11c1ee27eccb64680a7fd308c8da7cbd544
2020-07-27 20:16:37 +00:00
dan
cddfc3922c
Fix a couple of test scripts to match the new wal recovery behaviour on this branch.
...
FossilOrigin-Name: 3af61e83532f76f0f3252a28663415d37b096ddf05a9c58fa79303933c09abce
2020-07-27 15:05:20 +00:00
drh
8caebb26c5
Improved error reporting if walLockExclusive() fails.
...
FossilOrigin-Name: cf962d213abe1b55ebbcfecf1de9d5d61709509d1ce3cbd56d8cf4c9ad65e5a9
2020-07-27 15:01:10 +00:00
dan
d3e38b7c0e
Allow a wal mode recovery to proceed even if there are readers.
...
FossilOrigin-Name: 74374aebf9abf3d6b6a3920967a079ceaa4c6276dc6c177682742c2be405b7b7
2020-07-25 20:16:27 +00:00
drh
25a78fdfa2
Merge recent changes from trunk.
...
FossilOrigin-Name: 22e8e6901a119698de831ede6d8b03c4fd6576eaa8686a97a0b8aeea7593688a
2020-07-24 13:49:38 +00:00
drh
8adc8f1ecb
Remove a surplus space from a comment
...
FossilOrigin-Name: 73fecc688ab5c459245c9bb89432139a083ef378404b4dae3397a7f4e253f72a
2020-07-24 11:01:29 +00:00
drh
0c52f5a2b0
Fix other potentiall pointer aliasing problems associated with subclassing
...
of the sqlite3_file object for various VFS implementations.
FossilOrigin-Name: 270ac1a0f232d75537be40abae559004e950b992cb2c7e94cd6de66e96ae17bd
2020-07-24 09:17:42 +00:00
drh
d9059bdb5b
Fix pointer aliasing problem in the in-memory journal code.
...
Ref: [https://sqlite.org/forum/forumpost/d44eb2fc44 |forum post d44eb2fc44]
FossilOrigin-Name: 892e9191dc8f805678a501db1993437ee99a1e1849496a0a24ceec9b84123257
2020-07-24 09:14:44 +00:00
drh
38f0ccc070
Add the OMIT_ZLIB compile-time option to sessionfuzz.c. (Originally
...
checked into the wrong branch.)
FossilOrigin-Name: 6019bf8a2db548fea4be4f49961937d5b12eba9e42c7c7a58babfaf3288cb0cd
2020-07-23 18:03:14 +00:00
drh
b140347395
Fix a typo in an error message.
...
FossilOrigin-Name: 849b03d8de62251707ee0d31c9f1cd98cbd296c70c1a2c8d7c1658840a930fe4
2020-07-23 15:23:53 +00:00
drh
a92eae9751
Merge fixes from trunk.
...
FossilOrigin-Name: dd39418ee47529cc3ffbe01eccf31f1304a266a196bf81a2a2cb2e650c195b97
2020-07-23 14:27:51 +00:00
drh
2add24c0d4
An ORDER BY clause can slip into an SRT_Upfrom query via the query
...
flattener, even without the SQLITE_ENABLE_UPDATE_DELETE_LIMIT compile-time
option. So always enable the code to deal with that case.
FossilOrigin-Name: 6a3111cd0693bb51191d55a32ecd436341638d54ecb2df0778de681b4969241b
2020-07-23 14:12:47 +00:00
dan
9d44327a83
Fix another case where a corrupt record could cause an assert() to fail in fts3.
...
FossilOrigin-Name: 28515bbbae4fbc260457dea7a0f7414be1837d6db27fec5514f8da358bfc1f0c
2020-07-23 13:45:47 +00:00
drh
ed109c06e1
Merge support for partial integrity checks.
...
FossilOrigin-Name: b5443b47af95f4f0ef527bee90f186ee25faa5df197dbcc3e14d48eee095e4aa
2020-07-23 09:14:25 +00:00
drh
17d2d592fb
Add the ability to do a PRAGMA integrity_check (or quick_check) on a single
...
table by specifying the table name as the argument.
FossilOrigin-Name: 65dd321432e8f80bc1cb11be8ca06656b41ac997a74a5eb271c797cf0fbb764e
2020-07-23 00:45:06 +00:00
drh
134599e557
Detect out-of-bounds rootpage values in the schema.
...
FossilOrigin-Name: e4a92688fca31335bf15933dec10ecba04cf340ee2f726fd36d46d4c76660eee
2020-07-22 21:11:10 +00:00
drh
ca439a4967
Disable rootpage bounds checking when the SQLITE_TESTCTRL_EXTRA_SCHEMA_CHECKS
...
setting is off, to facilitate reaching obscure error states during testing.
FossilOrigin-Name: d7dd4fc464c791915f646b1ad228697d1fa16f530fc7d0e9aa702c8df3068c65
2020-07-22 21:05:23 +00:00
drh
69306bf43a
Improvements to rootpage bounds checking during schema parse.
...
FossilOrigin-Name: 75599a9731be19e213a8ae174b038a43381bc6883a6b7f4058c2c1625fdea432
2020-07-22 20:12:10 +00:00
drh
3b3ddbae36
When parsing the schema, detect out-of-bounds rootpage values and throw an
...
error.
FossilOrigin-Name: 6c3a2727dc912ed800146e07db5d15d0f3468d13701165ba763c4b114c3e18e8
2020-07-22 18:03:56 +00:00
drh
584e8b7630
All TCL tests now passing.
...
FossilOrigin-Name: 4c5f3c6cacf84a36d0347790d98d82d1f584cd1537a13a2736348405c4d20367
2020-07-22 17:12:59 +00:00
drh
bb39ac7773
Most test cases now passing.
...
FossilOrigin-Name: 92e2ab38930c76811dbf5abfe6b9ea9e12562a4bb4bb06cdb0cf49ac30da0bc3
2020-07-22 13:56:14 +00:00
drh
abc3815860
Continuing work toward supporting unsigned 32-bit page numbers.
...
FossilOrigin-Name: 9ce1710aad43cebe5ad50859c7685fb83e40cdd4a60913bd2b7e659bc59942fd
2020-07-22 13:38:04 +00:00
drh
55550b7602
Enhance showdb to be 32-bit clean.
...
FossilOrigin-Name: a8200327d4e8e78abef09c64345e0036f730fbbb20ae88935ef6c9972e6c7d5e
2020-07-22 11:42:50 +00:00
drh
a7982eacd5
Merge fixes from trunk.
...
FossilOrigin-Name: d2aac001204621062e6cb3230ce2ac1b4545cb83b3ebb6bfebccee4d51162e97
2020-07-22 10:36:49 +00:00
drh
2f04583f04
Work-around for [ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96270 |GCC bug 96270].
...
FossilOrigin-Name: 9679c0c61131f0e986551701a64191da0ee0f50880eaa57fe4bf520e3fecf634
2020-07-21 18:36:06 +00:00
drh
82b0f106ce
Add the sqlite3Int64ToText() routine and use it to convert integers to text,
...
as it is much faster than the generic text formatter.
FossilOrigin-Name: 14eed318aa9e6e16d1aa13a9f34e3822aa135c39ba06c77df7743509fed6c95e
2020-07-21 18:25:19 +00:00
drh
bbd620e22c
Fix the ".read" command so that it gives an error when its argument is
...
a directory.
See [https://sqlite.org/forum/forumpost/4c53c434ca |forum message 4c53c434ca].
FossilOrigin-Name: 6d258c3c7ecafa1114e4a63739971ff527580868659c2f2c47d2c0adb92c1453
2020-07-20 23:33:11 +00:00
drh
09cf569292
Fix a corner-case error in the new UPDATE FROM logic helpfully discovered
...
by OSSFuzz.
FossilOrigin-Name: 5cc200939d3a33566ddb858fc74c878acc72cfe5cf4c9b1d08e7b13e4d5ff566
2020-07-20 18:07:35 +00:00
drh
4e6861d23d
Add the "enlargedb" utility program used to construct very large database
...
files for testing.
FossilOrigin-Name: 66858d87507bfdd17bb76c0afb1108ad5dec752438a79bf57f0f51690232e943
2020-07-20 14:54:36 +00:00
drh
a192807c13
Faster column name lookup in the columnIndex() routine using hashing.
...
FossilOrigin-Name: de2a90812498e504c9b8eeb83bfc48a948b45e87bdfa242c0aa9f0377d90740f
2020-07-20 13:11:19 +00:00
drh
e9261dbd53
Initial changes to allow database up to 281TB in size.
...
FossilOrigin-Name: 9cb7da9bdb666ea40771513b89591dca275f1e92092b39190df747e3797178a3
2020-07-20 12:47:32 +00:00
drh
51da8daf82
Fix test case result on a DELETE with an INDEXED BY clause due to
...
improvements in the query planner at [d901837fea1ed54d]
FossilOrigin-Name: 020dbfa2aef20e5872cc3e785d99f45903843401292114b5092b9c8aa829b9c3
2020-07-18 18:59:11 +00:00
drh
a7c74006a0
More harmless compiler warning fixes.
...
FossilOrigin-Name: 4c0d208c455abb983217a6dfea7634f677f8360fb57857e1421334fe7a5a23e2
2020-07-18 18:44:59 +00:00
drh
aec7dc6563
Fix a harmless compiler warning.
...
FossilOrigin-Name: 5a0b0c6e11146e200c3417903232e6932102b02d7bf128bac4b7cd74c257acd1
2020-07-18 18:03:26 +00:00
drh
d9674b385c
Add UPDATE FROM compatible with postgresql.
...
FossilOrigin-Name: 88baf1eb0706503214012520be4d872594ccc5b4c9674c44cc07b67ade2bfcf2
2020-07-18 15:52:15 +00:00
drh
387af48ed4
Add ALWAYS() around a conditional that is always true.
...
FossilOrigin-Name: 270e17bba1d35f8c300844e75b2aa15f79a1ab62e40bc5e6bc9694902f8f7dde
2020-07-17 22:20:23 +00:00
drh
4c0086d7f0
Use #ifdef to omit code that is only reachable when the
...
SQLITE_ENABLE_UPDATE_DELETE_LIMIT compile-time option is used.
FossilOrigin-Name: 587ded6035a3ce91db81a29fe34ed30d0e59022cba6f107f25b04d034ef37ba9
2020-07-17 18:07:36 +00:00
dan
07ca7d610b
Make it an error to repeat the target object/alias of an UPDATE statement in its FROM clause.
...
FossilOrigin-Name: d90a37e930c66afe95165955ae47efde08f52c8ce16c4fb239da0233335db050
2020-07-17 16:31:37 +00:00
dan
7e1d9512af
Add a couple of "#ifdef SQLITE_ENABLE_UPDATE_DELETE_LIMIT" blocks missing from new code on this branch.
...
FossilOrigin-Name: cc471df04aecf344d0aa47138014c07d3f93462ae1f8ff86ec5589cfb62c658d
2020-07-17 15:34:54 +00:00
drh
b1c993f681
Relax pointless restrictions on allowing tables in the FROM clause from
...
crossing over LEFT JOINs, as long as the table being moved is not the
right table of the LEFT JOIN.
FossilOrigin-Name: c1ea064948ba08c4be209ad6efc2126a7367bcb06266ea35eb957bf2d4e2cb9f
2020-07-16 18:55:58 +00:00
dan
9a23d26cba
Modifications to test code so that the sqlite3MemdebugHastype() assert() statements are enabled for Tcl tests.
...
FossilOrigin-Name: e3c423cb1407c06a3806ae6304e4713c37cd446f4cc399731884e3d009938e57
2020-07-16 14:52:24 +00:00
drh
369e758fdc
Small performance improvement and size reduction in sqlite3DbStrNDup().
...
FossilOrigin-Name: 35cd87063d1933b87bc2176f957ecd758d7d167e9473fa615e33caec3be14783
2020-07-16 14:19:57 +00:00
dan
01b2344b3c
Add OOM test for UPDATE...FROM statements inside triggers.
...
FossilOrigin-Name: 917a479b0d11fb59abf41d0317ffc541eb4b83928df9382b4782953c0035fa3e
2020-07-16 10:48:37 +00:00
drh
b866a65d4d
Fix a double-free of the FROM clause of an UPDATE inside of triggers.
...
FossilOrigin-Name: 706c8da2f6d9299f0ad3b3c93332b38071e8e88b4d1660c1841309919b64fd18
2020-07-16 02:36:24 +00:00
drh
6265c47a1a
Separate VdbeCoverage() macro for different jumps.
...
FossilOrigin-Name: da593e57df042527decfea68baacc72d463728544cab81c70fbb25839791f706
2020-07-16 00:45:25 +00:00
drh
525326ef72
Fix a problem in UPDATE FROM in which it tries to free using sqlite3_free()
...
instead of sqlite3DbFree().
FossilOrigin-Name: 8ca87526523a985674fed5a8770726587b3a2e48d65721916902063ab5dba49c
2020-07-15 21:53:53 +00:00
dan
ac45b7402d
Support a FROM clause in UPDATE statements, as postgres does.
...
FossilOrigin-Name: 7d7d5ecbd70cc39ab7a641ae26af0d3b69d5cb02e626b620102a6e19e7d8a577
2020-07-15 20:01:07 +00:00
dan
e7cf8fdd17
Add tests for UPDATE...FROM and foreign keys.
...
FossilOrigin-Name: 6c3668f9ed898337e664bec95865f15688a6bba43f095358dda5d08abef2bbaa
2020-07-15 19:38:49 +00:00
dan
576d5a8634
Fix problems that could occur if a table with the same name as the table being updated appeared in the FROM clause of an UPDATE statement.
...
FossilOrigin-Name: 13224cbd75990615088f3e30ccba05d31b3099fae4300c9ab8f7663bc5f0eb6f
2020-07-15 18:30:01 +00:00
dan
243210b79b
Fix a problem in SQLITE_ENABLE_HIDDEN_COLUMN builds occuring when an UPDATE...FROM fired an INSTEAD OF trigger.
...
FossilOrigin-Name: 5176cb7a6a4e8cfa1973aaae46fcd7d39baedb70ae20bfacc82d62ca39fb0aa3
2020-07-15 15:32:59 +00:00
dan
42d7a77b61
Update this branch with changes from trunk.
...
FossilOrigin-Name: 53b8b507a10364f5d580655d89c950a5f14c2a8114625fd8749d77f289413b22
2020-07-15 11:00:29 +00:00
drh
d8b3c19991
New test cases for decimal and ieee754.
...
FossilOrigin-Name: 73d62f82f94347c60e026bc9cb859fec2d8b5f0c756df0c4941f11817234bff8
2020-07-15 02:15:03 +00:00
drh
9951522f0b
Improvements to the min()/max() optimization so that it is able to use
...
indexes where terms are constrained by IN operators.
FossilOrigin-Name: b8ba2f17f938c03543a89dd29d6987163f7a4085a51de1aa14ea5504501c4f72
2020-07-14 23:58:04 +00:00
drh
19543b9b7b
Now appears to work. All legacy tests pass. Need to add new tests, however.
...
FossilOrigin-Name: 81e6450980ee745686aee5e2b84672d3c8404a041c82c658aa562013294b8628
2020-07-14 22:20:26 +00:00
dan
e7877b2d6b
Support UPDATE...FROM statements in trigger programs.
...
FossilOrigin-Name: 4f6d8d0ebf40029218a1d3b05ea657c0c5953b01c6f0b6a628465aa44c67e7f3
2020-07-14 19:51:01 +00:00
drh
c37b7680a4
Fix an obsolete header comment on the sqlite3WhereIsOrdered() routine.
...
FossilOrigin-Name: 5041f6a1c439b43c654e72a391517c115e222ef0e9a565907b03149b535e92c8
2020-07-14 15:30:35 +00:00
drh
fc5bba7dc1
Merge fixes from trunk.
...
FossilOrigin-Name: 2af372f59ea250ccf9ab7c30fe4bf8376a5da6e35c401edf643b9a193a38d33d
2020-07-14 13:02:30 +00:00
drh
bc2cf3b295
Early detection of freelist size corruption in incremental vacuum.
...
FossilOrigin-Name: f25a56c26e28abd44373230c6b5763aed35c9a7648abede8a53409dccc0bee1d
2020-07-14 12:40:53 +00:00
drh
751a44ed24
Fix a crash. Not all tests pass, but tests do at least run to completion now.
...
FossilOrigin-Name: b5d38e28c62dbc4f5f0e1b2590c9d6c2de9a140cc3528cae1968fd741e337fb0
2020-07-14 02:03:35 +00:00
drh
6e4b140e94
Fix an obsolete assert().
...
FossilOrigin-Name: 221e021077e2bbce693a89a16361418ced20f4e8f5a27e8c461648cff663a2c5
2020-07-14 01:51:53 +00:00
drh
9d575e46f3
Merge latest changes from trunk. This branch still does not work.
...
FossilOrigin-Name: 6144387238c03b8b33ae98d624f7ffa44a7829d3e0d4a0a01b5528e71ab4f08b
2020-07-14 01:03:05 +00:00
dan
f067ae8eba
Add test for LEFT JOIN in UPDATE...FROM statement.
...
FossilOrigin-Name: 4f3dff045ab90e80479960fed64cf36f23dd0e13144edbde15043913ad3faac5
2020-07-13 20:43:13 +00:00
dan
be952c11dc
Add test cases and fixes for UPDATE...FROM statements that modify primary key columns.
...
FossilOrigin-Name: 47c87af3e52bce10fbcc2cbe832d659b0c204bfb3368d9314fa1b01120129254
2020-07-13 20:10:29 +00:00
dan
a7f82d9f47
Merge latest trunk changes with this branch.
...
FossilOrigin-Name: 5ee3c27e20d12a126fb773b428bb864102b949a5b26a8d5c523753dcedf4be10
2020-07-13 18:04:27 +00:00
drh
5b107654e9
Readd the ALWAYS() macro that was removed by [f7a74f89dbd58b47] as the
...
condition is no longer reachable due to the previous check-in.
FossilOrigin-Name: 9cb03beae42d814a1b1b69f72865fde502d3f443313ec29edd010d1de40225eb
2020-07-13 15:35:08 +00:00
dan
27da907f8e
Fix a problem causing queries containing window functions to ignore collation sequences under some circumstances.
...
FossilOrigin-Name: e6c2192ef88e9990c8b91755c8e779f09e23f936a17123d8e42059257b756ed7
2020-07-13 15:20:27 +00:00
dan
bbc9e1908a
Fix an integer overflow bug in fts5 triggered by a corrupt record.
...
FossilOrigin-Name: 49da8bdce17ced910b414d50e8df79800513dcf03a196197dc1ea8e47deeda92
2020-07-13 11:06:30 +00:00
dan
56215eaff4
Add second test case for the improvement in [30735432].
...
FossilOrigin-Name: 1bd18ca35bdbf3034591bf8981fd3a985f0920379bc4dc81e0e6a819667998e9
2020-07-11 16:45:20 +00:00
drh
a1085f0640
Improved detection of a corrupt database schema. Fix for a problem discovered
...
by dbsqlfuzz.
FossilOrigin-Name: 30735432bc33cb953b6d7d2a2de9eb378f9740e0e663f50c727c3f138cd43a2b
2020-07-11 16:42:28 +00:00
drh
6af305de1e
Remove unnecessary code from the window functions implementation.
...
FossilOrigin-Name: 1e87da9c93309d1d69b1e0ab65c615b9ff9c1c6813ad0c7b90d2495be4ba0adc
2020-07-10 21:43:53 +00:00
drh
413b94af89
An attempt to get the Min/Max optimization working with IN constraints.
...
Not currently working.
FossilOrigin-Name: 4a64c16fb7a07431e534fb9bbcf778646be8a1c718d5d10873fbccb0c867aac7
2020-07-10 19:09:40 +00:00
dan
b16425d05a
Fix a broken assert() in fts3 that could fail when handling corrupt records.
...
FossilOrigin-Name: 5124732370fd53c93314c9c79b4251bd46ce81c2e7aa4f59e2c1889cc4263d5a
2020-07-10 11:12:36 +00:00
dan
7db1ed50b8
Fix handling of another corrupt database case in fts3.
...
FossilOrigin-Name: ccff8cb8267d4c5605484f7a35c1836937f20b3d6879fe84cd84dc24bbbffc77
2020-07-09 21:29:34 +00:00
drh
9c673a29bd
Fix a comment typo. No changes to code.
...
FossilOrigin-Name: 610ee8d5dc855fd163daa3c93b44db7874463d69df5a01ab4113b725a031b9d4
2020-07-09 14:05:47 +00:00
dan
b13d5c25d6
Remove bashism from configure script.
...
FossilOrigin-Name: 138beebb2aa21ed18525dbe02c80426c6caabf6a5f6532a95b738a39b31ad4d5
2020-07-07 19:24:34 +00:00
drh
d1d89140c0
Increase the resolution of the vdbe opcode counters to 64 bits, as
...
apparently some users run single prepared statements that go for
longer than 4 billion instructions. See forum post
"[https://sqlite.org/forum/forumpost/d07949dc94 |Possible freeze in the progress loop]"
FossilOrigin-Name: 612eb590ea44fd402e630f2d62558beb7ce57d7d0ba113c8b72ea60a895c5a43
2020-07-06 12:13:05 +00:00
drh
a78d2c0528
Fix the table_info pragma so that it always checks the schema version and
...
reprepares, even if it is a no-op.
FossilOrigin-Name: 6da77973abc325ae8baf64615267a614a0b8bb8dfd0a01a9f7d6c3a8f359564f
2020-07-04 20:29:56 +00:00
drh
a4e42d24df
Fix the line-number of error messages coming out of the ".import" command
...
when the --skip option is used.
FossilOrigin-Name: e0a8b11dfd6b3ab89ae5032d60cf3c1bba7198a1a2debe5c691b5d1f2e1befee
2020-07-03 21:24:42 +00:00
drh
27ee29f68c
Fix a compiler warning about an unused procedure in the parser.
...
FossilOrigin-Name: b27bb4fe389e12472a6144441df2dca6a7393024f2621fd22dd1a2b4033c46ec
2020-07-03 21:18:07 +00:00
drh
5f0d37b57e
Update the lemon documentation to match recent enhancements.
...
FossilOrigin-Name: ca7630a5772ab919482a3629e11627143a1e1ec290a570ce4188189e671f9015
2020-07-03 18:07:22 +00:00
drh
c601f1016c
If the amalgamation is built using OPT_FEATURE_FLAGS =
...
-DSQLITE_UDL_CAPABLE_PARSER then it can be compiled with or without
the -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT option and it works either way.
FossilOrigin-Name: 1f96a29dd8654ee30d36982a8bcd3f17a4b9193d3879fdb38fa3f03eeeff3080
2020-07-03 17:24:35 +00:00
drh
0a34cf551c
In lemon, add "%if" and "%else" and allow boolean expressions as the
...
argument to "%if", "%ifdef", and "%ifndef".
FossilOrigin-Name: 951d22b72f80de9e23df645abcc3d88ca1a275b46ea23b84152ef48716922b37
2020-07-03 15:41:08 +00:00
drh
4b849b0b09
Fix the pragma_foreign_key_check virtual table so that it accepts arguments.
...
FossilOrigin-Name: 07f849dee3d245ecf80ba3c3ce8dfc630e71ddb1e9c0bcc1f08cee22001fcb07
2020-07-03 12:32:04 +00:00
drh
ec1650a239
Fix a problem with "PRAGMA foreign_key_check" where if a table in one
...
schema appears to have foreign key constraints against another table in
a different schema, the pragma will try to check the constraints even though
they do not apply because they are in different schemas.
FossilOrigin-Name: 81bc4b65ae2a68128b0be75a7a3d4f47f05cc588ff130ba56366ab9b16289228
2020-07-03 12:15:59 +00:00
drh
15cedda902
Minor simplification to the 32-bit varint decoder.
...
FossilOrigin-Name: 6ffd17b668a8ad561c37e89063afb6e7f8425e557e93025b7527fe3656585d77
2020-07-02 17:05:11 +00:00
drh
e3863b5176
Ensure that the "PRAGMA schema_version" command causes the schema to be
...
reparsed and reloaded.
FossilOrigin-Name: 27d4a9a7b530c77a5b2593d1a5232b10746da9906f8d12890de7a8fbd7270256
2020-07-01 16:19:14 +00:00
dan
fa4b0d4453
Fix a problem with VM code generated for some aggregate SELECT statements that feature min()/max() aggregates both with and without FILTER clauses.
...
FossilOrigin-Name: 2094da753feb847254473b148d11e535c44dbae9b17454f1a4f8f7e90aefba3f
2020-07-01 14:07:45 +00:00
dan
3f1d0f56e4
Add a test to ensure that "PRAGMA wal_checkpoint = FULL" invokes the busy-handler to wait on read-locks.
...
FossilOrigin-Name: f068fb116286b1dbdee9c168900348cfcab84e6d8413f3456e4e492f650d11b0
2020-06-30 18:21:45 +00:00
dan
f488bc1147
Avoid a potential buffer overread in fts3 when processing corrupt records.
...
FossilOrigin-Name: 4d0cfb1236884349168f8e2ec5e18c0232965148af78615e0d5c9b0e13a35422
2020-06-30 15:32:12 +00:00
drh
b8fec21983
Fix generated columns so that they play well with upsert.
...
See the [https://sqlite.org/forum/forumpost/73b9a8ccfb |forum post]
by "iffycan" for details.
FossilOrigin-Name: fa9d93cf32fac4b86044acf5d1b9ea2f36e964ed7142cf1d270986c9ef3fb766
2020-06-29 20:26:50 +00:00
drh
ec43d8040a
Change the magic number used to identify the "excluded" pseudo-table in
...
an UPSERT statement into a #define constant.
FossilOrigin-Name: e96c2ac9ab1a1c51b1498f4b91fb71d2987c30579d072b2f0297da9eb945cb97
2020-06-29 20:20:40 +00:00
drh
da36933eb4
Document the dual-use of the P5 operand to the OP_MakeRecord opcode.
...
FossilOrigin-Name: a73f80f22a585d1a2f55650d5cda4ece6c4ef039ef5eae2c02c3e5c269d4c30a
2020-06-29 20:09:04 +00:00
drh
8ddf635811
Change the name of IntegrityCk.mallocFailed to IntegrityCk.bOomFault to
...
avoid confusion with the sqlite3 object field with the same name.
FossilOrigin-Name: 87c7d962581f4bb1224086701352850ede9847dc76235b33c7c2a35ef594d382
2020-06-29 18:30:49 +00:00
dan
2bfd35b8d2
Add test script to verify busy-timeouts are working for SQLITE_ENABLE_SETLK_TIMEOUT builds.
...
FossilOrigin-Name: ada43e7c490bf72a50ee84e1db994e149744b2a943260449076b83d1874813b2
2020-06-29 17:52:53 +00:00
drh
64185e31fc
Do not run resetAccumulator() after a malloc failure.
...
FossilOrigin-Name: 1b426603f05033bcee0331c6f664cd5ed2ebf8f5d4cde8c6673c7a699ff53bb1
2020-06-29 16:30:10 +00:00
dan
b695bab055
Fix another fts3 problem with processing corrupt records.
...
FossilOrigin-Name: 6e0ffa205312416830340ea6e621dfb1a529e5603d569941ed6263930dc28c45
2020-06-29 13:33:56 +00:00
drh
5cbb442ea3
Small performance improvement in the sqlite3_step() interface.
...
FossilOrigin-Name: 61400ef9f1337c77263b4d3e43a1983b0c4cf7137f066a2691768c98877035ef
2020-06-29 13:12:42 +00:00
dan
30b5db1261
Fix a problem that could cause an infinite loop in the fts3 'merge' command.
...
FossilOrigin-Name: be545f85a6ef09cc6c762f7d2ab7a0b3adf5590c3fbdc9903e6b5b5cec6e823f
2020-06-26 20:41:18 +00:00
drh
22f874168a
When computing the verification hash in speedtest1, do not include the
...
value of floating point results (which can very in trailing bits depending
on platform) but merely hash the fact that a floating point value was
received.
FossilOrigin-Name: e12225d59c63ba392db4fa8dc26700ac26b20c8b98ea5107eef0e0b5138ace87
2020-06-26 17:56:43 +00:00
drh
0581214577
Improvements to speedtest1.c for more consistent verification hashes.
...
FossilOrigin-Name: d34b8ff5f8d04a75996f6ca9d3a0563c83e8e833c1eb08ac3861431f36f7bfb1
2020-06-26 16:17:27 +00:00
drh
6df54c30fc
Improvements to speedtest1. Added the --memdb and --output options. The
...
--verify option now outputs a hash of SQL outputs. The speed-check.sh script
disables the hashing feature with --legacy and adds the --verify option.
FossilOrigin-Name: f3455cecf22ea98f9ad48e92d620c8e2ec94877e4581731afff0f2bd32014a1d
2020-06-26 15:42:55 +00:00
drh
85c4754697
Add the ieee754_to_blob() and ieee754_from_blob() functions. Fix the handling
...
of subnormal forms in the two-argument version of ieee754().
FossilOrigin-Name: c78cbf2e86850cc6882d3f0bd5415f6e731c3c675ffe77bb343682c619cb8cd9
2020-06-26 15:32:29 +00:00
drh
3c99dbb18b
Add --verify to speed-check.sh and add --memdb and --output to speedtest1.c.
...
Other improvements to speedtest1.c.
FossilOrigin-Name: 89a11120ab2ce13f8a539cb05a9d0628a1f83b4790910b2023c21d60aabc43ee
2020-06-26 14:05:58 +00:00
drh
d8d335d737
Fix a possible null pointer deref following OOM. Discovered by dbsqlfuzz.
...
FossilOrigin-Name: cc888878ea8d5bc754c69de523819d32d6d9853857e31d7287f9dbfd723428db
2020-06-26 04:34:28 +00:00
drh
0f40e8dd41
Update the showlocks utility program so that it functions on files with
...
a huge number of locks without overflowing the stack.
FossilOrigin-Name: adb7484f93329c7a94cd84e30bc4a8dbf2d6e901eba17cc3454afb8ba346cbf4
2020-06-25 23:21:09 +00:00
drh
99f363b35e
Enhance the --verify option to speedtest1.c so that it computes and displays
...
a hash of the result from all SQL queries, for verification purposes.
FossilOrigin-Name: 60d1e46c8c8a3c853034fd79f204bcb5d50d1c366eb246849c333a2d0abc2648
2020-06-25 20:28:13 +00:00
drh
8cda77d44a
Add the ieee754_mantissa() and ieee754_exponent() functions to the iee754
...
extension. Build the ieee754 extension into the CLI.
FossilOrigin-Name: db2f0836b64cd2e119684f1cf75fa3b19a84ca6aca1a239f7e2b9298016e2c95
2020-06-24 15:06:29 +00:00
drh
ec18b6e5b9
Fix the decoding of subnormal values in the ieee754 extension.
...
FossilOrigin-Name: 838817b680f02b3845d6d56f85d5d36fa5ae7453afef7a1a5a24624255f2dc3e
2020-06-24 13:52:10 +00:00
drh
b5b9bf8540
In the one-argument version of the ieee754() extension function, if the
...
argument is an 8-byte blob, interpret that blob as a binary64 floating point
and decode it.
FossilOrigin-Name: 4199c1e8aa47d77df3ef598cb6f5418f67970dd00f34823463c85eabfc8d2b77
2020-06-24 13:14:00 +00:00
drh
9f683de872
Add the decimal extension. It is built into the shell, but is an optional
...
add-on for the library. It is not included in the amalgamation.
FossilOrigin-Name: 5391687bf8563b3fdd157b436b2cbb6a0ee5f676727d41bbddfaa8eacc39729b
2020-06-24 12:29:19 +00:00
drh
e6b430b178
Fix the ".selecttrace" command in the CLI (only available when compiled
...
with the non-standard -DSQLITE_ENABLE_SELECTTRACE option) so that it does
not segfault if invoked without any arguments.
FossilOrigin-Name: d45c27a3e5edaa2bd9ff0473e18c6536aa5d15f9a4d22dfee894a5ee4347f8d7
2020-06-24 11:45:35 +00:00
drh
9e44f265a7
Enhance the --testset option on speedtest1 so that it can accept a
...
comma-separated list of test modules to run in order.
FossilOrigin-Name: 780e8aaa231b2b585505c3886d5a13d39dba546fdd8020331ad4de2ae92922b0
2020-06-23 20:03:57 +00:00
drh
24aee8af6e
Try to remove end-of-line whitespace when building the amalgamation.
...
FossilOrigin-Name: be3e7814e4cdbc09eaa5112d7d4135b3a2cedbfe66217d9973b1b39a44464e93
2020-06-23 17:57:08 +00:00
drh
e78c027b64
Fix a harmless compiler warning.
...
FossilOrigin-Name: e1416c8b0628afa062d8cff40d0cd3576dc85460e55b21a271f88fcb608b9f59
2020-06-23 15:29:22 +00:00
drh
6b64718618
Avoid unnecessary normalization in decimal_sum(). Trim excess trailing
...
zeros off the result of decimal_mul().
FossilOrigin-Name: 0294ce071c863eb517e97beff31c3d95a4370e979a969415162302a90d3fda0e
2020-06-23 14:44:57 +00:00
drh
427af8dc3d
Add the decimal_mul() function.
...
FossilOrigin-Name: 72eee04b67268ad38fd51ff32849f08c0a54cf1b481d5ecb11d77cc9c729ee03
2020-06-22 21:25:37 +00:00
drh
beb9def059
An extension for doing decimal arithmetic on strings.
...
FossilOrigin-Name: 4c3b85607feb53462ccc8b89bea699fdb132c402eae597afa33cc40a85c32329
2020-06-22 19:12:23 +00:00
dan
3259295533
Fix problems with handling return value of mmap() in lsm_unix.c (mmap() returns MAP_FAILED on error, not NULL).
...
FossilOrigin-Name: da06168c09df5c0e8e10d0f9618e69217d4c0173a8199660bad2805f009d7b08
2020-06-22 16:02:06 +00:00
drh
a764709bf3
Work around a bug (an incorrect warning) in Clang-8.
...
FossilOrigin-Name: 067291143a63db924ead4810defb4bc6f195557412f5d1c22299f30d2d9f2a79
2020-06-20 03:43:46 +00:00
mistachkin
96e3c39bd5
Reverse unintentional spacing change in the previous check-in.
...
FossilOrigin-Name: c7b2ee1edb108430454578c1623ba6aee1e2a7bc30cb2f9884ea3e21c3b75635
2020-06-19 15:35:07 +00:00
mistachkin
7cff0e34e0
Include 'sqlite3rc.h' in the amalgamation archive targets.
...
FossilOrigin-Name: 3df579ca32e8250725957d1982897a43281c73e8373af49abd6e7bd674f30e74
2020-06-19 15:33:23 +00:00
drh
067b92ba00
Extend the refactoring into extensions. Clean up stray newlines.
...
FossilOrigin-Name: 7a876209a678a34c198b54ceef9e3c041f128a14dc73357f6a57cadadaa6cf7b
2020-06-19 15:24:12 +00:00
drh
1e32bed3c1
Further refactoring of the schema table name.
...
FossilOrigin-Name: 9536fa0ae0c1ae6e2e98d2fa11e5acda7f3c9b8ca5061b6f7f8cae63a11d936b
2020-06-19 13:33:53 +00:00
drh
ccb2113a62
Refactoring various names. No changes in the resulting machine code.
...
FossilOrigin-Name: 7bb08b1bfcf184e4b59c8c9028926a0052612ff6a6731914ccdb8dee07ea4a98
2020-06-19 11:34:57 +00:00
dan
877859f2d3
Fix an assert() that could fail when operating on a database with a corrupt schema.
...
FossilOrigin-Name: 4a340c9bc7d939efc947e3b17ca79314482f74368b15567dd089d40e4270890e
2020-06-17 20:29:56 +00:00
dan
0ad1b3284a
Fix an assert() in fts3 that could fail when processing a corrupt record.
...
FossilOrigin-Name: 4adc0a1b0d84c2df6d6bf0d5d9d3fa9f7d048af8d232c4beb77518727890f212
2020-06-17 14:54:06 +00:00
dan
5d237bfab1
Fix a problem with retrying constraint failures within sqlite3changeset_apply() calls with the SQLITE_CHANGESET_INVERT flag is set.
...
FossilOrigin-Name: d73e857b833dfc29400049ca7f01ca465f980466e3aa67214c3c5e5573181419
2020-06-17 14:14:11 +00:00
dan
74bbd37dae
Add new file doc/wal-lock.md, containing notes on wal-mode blocking locks.
...
FossilOrigin-Name: c6b1d3a385751633d3ac1853e13d5e847185dd6432fb8b960a4080f61357c08c
2020-06-16 19:51:56 +00:00
drh
dd853c382a
In the CLI, only interrupt tabular outputs at the end of a line. And print
...
"Interrupt" on a line after stopping the output.
FossilOrigin-Name: f3bd689336fecaa1e2928b826c6aedb0178d322f4633ac429dd1ae6fbc08e7f1
2020-06-16 17:34:40 +00:00
drh
dc8339eaac
Add a test case covering the previous check-in to the test/fuzzdata8.db file.
...
FossilOrigin-Name: 95379da0e1ad5110648a5b3af24e7caab66a6f1ad6efdf374c83ae4ef1fed515
2020-06-16 14:12:43 +00:00
dan
b65ce39607
Fix an assert() in fts3 that can fail when processing a corrupt record.
...
FossilOrigin-Name: a58a6d6fb241a50c4c7c9af8a9c65bc4746e905b2ae12290c7182afa944053a2
2020-06-16 14:06:20 +00:00
drh
346a70ca1e
Provide "sqlite_schema" as an alternative name to the table that holds the
...
database schema.
FossilOrigin-Name: 61782a7ae3c25cf59d7a676cb295eb024d17c46e532ae78c6fe871a91d712fa9
2020-06-15 20:27:35 +00:00
drh
999429882e
Fix the CLI so that interrupts work in columnar output mode.
...
FossilOrigin-Name: 9472f1fe58222b738ad10fc93ceb365dc33b65c2bbca571f52bcd5bdb74b347e
2020-06-15 20:05:37 +00:00
drh
b13c3a33fd
Fix the --enable-update-limit option to ./configure.
...
FossilOrigin-Name: d31fd57ea538668238787fde10a6a57bbd8a428c73f2e54b2e95ee9a645bc75b
2020-06-15 14:38:57 +00:00
drh
b7cbf5c1b2
Fix a defect in the query-flattener optimization identified by
...
ticket [8f157e8010b22af0].
FossilOrigin-Name: 10fa79d00f8091e5748c245f4cae5b5f499a5f8db20da741c130e05a21ede443
2020-06-15 13:51:34 +00:00
drh
86d2de2571
Check-in [1d4f86201dab9a22] changed a testcase() to an assert() because we
...
didn't know how to reach that condition any more. But YongHeng's fuzzer
found a way. So now we change it back. Ticket [9fb26d37cefaba40].
FossilOrigin-Name: 90b1169d1b200d35a3f9f0ad2ae35a1b336bdd9b1ad0494ba80a382354c8d8b8
2020-06-14 13:40:13 +00:00
dan
cd653a3266
Avoid deleting expression nodes in the flattener code, as they may be referenced by AggInfo objects further up the stack.
...
FossilOrigin-Name: cc1fffdeddf422404170fa163ab80372ae58b444d7012b2c164021b221709b3e
2020-06-13 21:24:40 +00:00
drh
74e0d96695
Identifiers "TRUE" and "FALSE" cannot take on their boolean constant values if
...
they are operands of the "." operator.
FossilOrigin-Name: ad738286e2441b5e84d05366db3fcafabe66be766f21fe6c17f43a8fabab16fb
2020-06-13 03:18:21 +00:00
drh
0dc90d43e5
New test case added to test/fuzzdata8.db.
...
FossilOrigin-Name: 14a5cbddc887e23a684fabab1a213cce261bd6cffa0663d4f138b92d0b65b9c2
2020-06-12 15:45:02 +00:00
dan
56e38185fe
Fix a buffer overread in fts3 that could occur when decoding a corrupted record.
...
FossilOrigin-Name: 9a4a40c45feb2bb89020dc7711b4753479112ceae7ce2a44521d72afeddfac83
2020-06-12 15:17:27 +00:00
drh
6aa7515c46
Remove a NEVER() that turns out to be reachable.
...
FossilOrigin-Name: 44e573ecd5c2b60107133d60c51f3a04a3f904e9c1cf926e9b8ea977c7acae8d
2020-06-12 00:31:52 +00:00
drh
b5aaee5e31
Add a new assert() to the SELECT processing.
...
FossilOrigin-Name: 98cea4a32ba558c137d71a5e373a6803d764d34c5640907371dcf6468ffb2e64
2020-06-11 16:04:10 +00:00
dan
46daa99b8d
Avoid rewriting compound SELECT statements that use a different collation sequence for ORDER BY and record processing a second time if they contain window functions. Fix for [b706351c].
...
FossilOrigin-Name: 32a88bdd4be5acdc1b80856bf6e32724dc3a467d5050bec0fe1a3dfedcc06f34
2020-06-11 15:53:54 +00:00
drh
9216de8a23
Provide the ability to use the SELECTTRACE() debugging macro outside of the
...
select.c source file. Use this to add a new SELECTTRACE() entry in
window.c for improved tracing of window-function parse-tree rewriting.
FossilOrigin-Name: 30c6d895b573d5f2a53487b3b7a0d20be7e382c7a0bc87336bd43fbd2fa89bf4
2020-06-11 00:57:09 +00:00
drh
ac4f7cf8d3
Make sure the bbox object is fully initialized in geopoly, even if reading
...
a corrupted database.
FossilOrigin-Name: fd5abb1a7b5a55127d5c0d5ff448020d8bccab44e4f5afe1eb88fc19578af735
2020-06-10 14:30:15 +00:00
dan
f65e379919
Ensure that the "push-down" optimization does not push constraints down into compound queries if any of the component queries uses window functions.
...
FossilOrigin-Name: 094dcfe779613301521e8bb990432df187b3686add75a3420b4a193f02f3467f
2020-06-10 10:58:15 +00:00
drh
7b4c4d4a67
Disable AggInfo consistency checks when unwinding after an OOM.
...
FossilOrigin-Name: 65179814aa0ae5927bae97c10ef20f290535399b889d96d5b88931f62635f212
2020-06-10 03:07:26 +00:00
drh
d124549fce
Ensure that aggregate functions that (a) are part of SELECT statements with
...
no FROM clause and (b) have one or more scalar sub-selects as arguments are
assigned to the correct aggregate context.
Fix for ticket [7c6d876f84e6e7e2]
FossilOrigin-Name: c29a9e484e1dd245962afbbf511b183462af5e86c511261ccf018345e773f940
2020-06-09 23:50:13 +00:00
drh
bc050b8f27
Mark an always-true conditional with ALWAYS().
...
FossilOrigin-Name: 35a236841764a10cdcda63f34e1a8e7ffa43933bc89cb32f675454327834d7bf
2020-06-09 22:11:06 +00:00
dan
ed41a96bc1
Ensure that aggregate functions that (a) are part of SELECT statements with no FROM clause and (b) have one or more scalar sub-selects as arguments are assigned to the correct aggregate context.
...
FossilOrigin-Name: 16a41fa8c4c74bba4e908a9c19e6cf5a927cac140e2070c9abf303158be7257b
2020-06-09 17:45:48 +00:00
dan
cfb8bf6a50
Modify a test file to avoid causing Tcl to allocate too much memory.
...
FossilOrigin-Name: 232431f32ef77a9dfc4eeb7765dca24af72051fd5460f648d0c5ba318c8a01fc
2020-06-09 13:53:56 +00:00
drh
81185a5138
Give the expression pointer fields of AggInfo distinctive names in order to
...
simplify tracking of all their uses.
FossilOrigin-Name: a53bdd311c4154fd5e1131efbb9665362f79db5a35ce9f7b1547f74b8ee2d8ba
2020-06-09 13:38:12 +00:00
drh
e26d428a59
Improved tree-view debugging output for aggregate functions.
...
FossilOrigin-Name: b5711b4eead10ef4b0b61f2e2c54768d215a4105f6d47d2ea78991b6e53a6831
2020-06-09 11:59:15 +00:00
dan
5c10930fa9
Fix a case where a corrupted fts3 record could cause an assert() failure, or spurious SQLITE_NOMEM error in builds with assert() disabled.
...
FossilOrigin-Name: d48af4d2cfff3d5f4ccc3db5d658e8b503255b577e6e62b5c2b4a4437875b895
2020-06-08 14:43:41 +00:00
drh
e6463a717a
When an Expr object is changed and that Expr is referenced by an AggInfo, then
...
also update the AggInfo. Also, persist all AggInfo objects until the Parse
object is destroyed. This is a new fix for ticket [c8d3b9f0a750a529] that
avoids the follow-on problems identified by tickets
[0899cf62f597d7e7], [1f6f353b684fc708], [e5504e987e419fb0], and
[f7d890858f361402].
FossilOrigin-Name: 6e6b3729e0549de028f6c5bf494b2d69d621c81b61a1dc0a329d3950039342fb
2020-06-08 11:34:40 +00:00
drh
2f82acc036
Fix minor OOM problems.
...
FossilOrigin-Name: 8b23d80271aab38abe42ee8b3ca4b746572ecef26c2a37b094b01560e6be9d45
2020-06-07 22:44:23 +00:00
drh
bf7909734a
AggInfo objects might be referenced even after the sqlite3Select() function
...
that created them has exited. So AggInfo cannot be a stack variable. And it
must not be freed until the Parse object is destroyed.
FossilOrigin-Name: 3c840b4df306e2db1da08673e9ede973b4cb6d2b3f9eeeab5835e39452ee3056
2020-06-07 20:18:07 +00:00
drh
896366282d
Alternative fix to ticket [c8d3b9f0a750a529]: Prior to deleting or modifying
...
an Expr not that is referenced by an AggInfo, modify the AggInfo to get its
own copy of the original Expr.
FossilOrigin-Name: 7682d8a768fbccfe0cc956e9f6481637146e1ab9763b248ff11052761ce32e32
2020-06-07 17:33:18 +00:00
drh
a0365c487c
In the debugging treeview output, change the name of "SELECT-expr" expression
...
nodes to be "subquery-expr", so as to not confuse them with actual SELECT
nodes.
FossilOrigin-Name: c1c8937a30feff6aa4385b0c264fd8e70d54422a0629c2ce38082d85d3334a57
2020-06-05 04:01:50 +00:00
drh
c060508445
Always use ?...? to indicate optional arguments in the output of ".help"
...
in the CLI. Change ".mode column" so that it automatically activates
".headers on" if headers have not been previously turned on or off.
FossilOrigin-Name: 2827c0a186596299e43eb3e7378eea462d2b060b2c3388ce5cb2bc8e0b43999e
2020-06-05 00:54:27 +00:00
drh
0908e38536
Add support for "box" mode in the CLI: Like "table" except that it uses
...
unicode box-drawing characters instead of ascii-art.
FossilOrigin-Name: 6da784c9e174744d6deeb76c553b515b96c1fcb80c55a281e476959ec680fb72
2020-06-04 18:05:39 +00:00
drh
634af38115
Improved display of ".mode table" output for empty result sets.
...
FossilOrigin-Name: 7efabd683b79743b407ad71dda56db00fb0d668828bdc342145816b4f1c3bf3a
2020-06-04 16:54:10 +00:00
dan
b55389412f
Use __has_extension(c_atomic) instead of __has_feature(c_atomic) to detect support for atomic load and store operations with clang.
...
FossilOrigin-Name: 362255791f8801e0d9869e36239b8b2cb29c38bf0b86894bd2d159ce46d8447e
2020-06-04 16:34:49 +00:00
dan
ec206a7d34
Use AtomicStore() to set values in the wal-index hash table.
...
FossilOrigin-Name: 1ab30c75f2fe14d1ee77d0eace4e29ba8f805d63e2da0897b111ea1311f409aa
2020-06-04 16:07:51 +00:00
drh
21b473de78
Work around a bug in clang-11.0.0.
...
FossilOrigin-Name: 3c2bf8042ec46195c67dfd91df084f5bc19162fd26389920e716b310c80deea6
2020-06-04 02:50:47 +00:00
drh
a5f3fb3015
Fix for ticket [810dc8038872e212]. Thank to user "Maxulite" for tracking
...
down the problem!
FossilOrigin-Name: 89af93d77fa7959a4ee7364bae6c02c40963a3cdf80b0a4a8af9c9764d5c7bb5
2020-06-03 19:28:10 +00:00
drh
56f1873d10
Simplification to the interrupt handling logic in sqlite3VdbeExec() saves
...
a few bytes of code space.
FossilOrigin-Name: 43e0e59bd4e34c6e88c004ea951c0d76ff1cf0a034389f490495a5d12e239382
2020-06-03 15:59:22 +00:00
drh
094afffaec
Improve the query planner so that it is better able to find full
...
index scan plan when there is an INDEXED BY clause.
FossilOrigin-Name: d901837fea1ed54de43ad59eb47c02cbfd2eb215fc57317b5ea8c22a7df947c4
2020-06-03 03:00:09 +00:00
drh
e566cebb26
Draw the dashes below the headers in "explain" mode in the CLI.
...
FossilOrigin-Name: c6b7833ac7d9cc75cb45d5e8041367ebd6f197f776766e6143535c227fc72a20
2020-05-30 15:34:49 +00:00
drh
e557b0155b
Improved VDBE comments on the ANALYZE code generator. This change
...
also fixes a harmless use of an uninitialized integer variable as an input
to the %d format on a VDBE comment.
FossilOrigin-Name: 1cb248a3fc4c35c5bc3993b554edcccaa5c5e91570af67ebb99643a15221ae33
2020-05-30 00:30:08 +00:00
mistachkin
375b0b014b
Enhancements to the incremental build support for MSVC.
...
FossilOrigin-Name: 2e25d915bcb8d6f1747f9befdef64d2e0e495cc6c5948a8eff5d0097b6613d06
2020-05-29 21:06:52 +00:00
drh
42c2a04eb7
Remove a stray "&" character in the CLI, detected by a clang warning.
...
FossilOrigin-Name: 5865d2f2d0333024366ecf1d919535fd4ec05c637feff16d75028ccdc8db4b50
2020-05-29 20:16:19 +00:00
drh
02c17a4da7
Add the "shelltest" target to the MSVC makefile as well.
...
FossilOrigin-Name: 9924c0456bfcd2058c9620a93dfbfd4c7d960c68910ce6aed7364dff42baba5c
2020-05-29 19:45:03 +00:00
drh
9776784f94
Fix the ".import" command of the CLI to clean up better after errors.
...
Add the new "shelltest" makefile target on unix platforms.
FossilOrigin-Name: 50d4ddf1330b88551de51439eb535f385dee6b53013802dd62f832d16b3025b6
2020-05-29 19:39:35 +00:00
drh
7da29a3ad3
Improvements to help text for the CLI.
...
FossilOrigin-Name: 6a01e4c444b072e31a320121a6810d7c986c2c54ce45f9b11683233b1e7af8da
2020-05-29 19:17:20 +00:00
drh
1d29fd85a3
Fix a memory leak in the CLI when an unknown or unrecognized
...
argument is given to the ".dump" command.
FossilOrigin-Name: 71bfbbcc1a8d0e02073a381a5b31a5ccd5477011b22904b9989b6129d81f02e7
2020-05-29 19:03:03 +00:00
drh
8c748633a9
Improvements to columnar output in the CLI. Columns automatically expand
...
to contain the largest row.
FossilOrigin-Name: 4e1db8e9a9ee370a398f13fd8546a520111b8cfb84460389535b5bc5bd9f4f82
2020-05-29 16:15:58 +00:00
drh
0285d98de7
Space to hold the ".width" of columns in the CLI is now obtained from
...
malloc() and hence is not limited in the number of columns supported.
FossilOrigin-Name: 445ed5dab2c26e9f4a7fb5277abdba3359d23cf5318cfd0d8322162d9616ee7a
2020-05-29 14:38:43 +00:00
drh
d6f252490e
Incremental improvements to tabular output modes in the CLI. The
...
"markdown" and "table" modes no have headers turned on by default.
FossilOrigin-Name: af28bff91ad7e2d69db0052323c9c05c75a41d4134974bd1305f1c4f579d3558
2020-05-29 12:31:53 +00:00
dan
d31fcd4751
Expand upon a comment in os_unix.c. No changes to code.
...
FossilOrigin-Name: 77933dc4dbe0e0af3b13a14293a8bd684edc5056f4ae9291c6f95d4433bf90ce
2020-05-29 11:07:20 +00:00
drh
69c093da98
In the json output mode of the CLI, do correct quoting of escape characters.
...
Also, show BLOBs as JSON strings, possibly with embedded \u0000 bytes.
FossilOrigin-Name: 0278147a7d2b50bed9f59ed3d3a04ecc6d46f072eb510e463f6707df1d829020
2020-05-29 00:21:43 +00:00
drh
30c54a01db
Progress toward adding new output modes to the CLI: json, table, and
...
markdown.
FossilOrigin-Name: 14f55fafec11491e87e6526c72cf85c689d74ba18418a1ae9646586ec206767a
2020-05-28 23:49:50 +00:00
drh
c683573fd4
Enhance the ".quote" mode in the shell so that it honors .separator.
...
FossilOrigin-Name: b5e33ed537e7d7dcabc9f6dc91d6838e0d1657f323440e09e2e24ffa2ba6141a
2020-05-28 20:37:17 +00:00
drh
56c65c92cb
When the sqlite_stat1 data is missing for some indexes of a table but is
...
present for the table itself or for other indexes in the same table, then do
not let the estimated number of rows in that table get too small, as
doing so can deceive the query planner into ignoring a perfectly good index.
FossilOrigin-Name: 98d4262018a81a9a36dd8beb4b02ff0e75cdcbb8a121d143157ffb37b228d60d
2020-05-28 00:45:16 +00:00
drh
b639a2094a
Small performance improvement and size reduction in the expression
...
code generator.
FossilOrigin-Name: eeb53e219551d8a05a87f1de9a7cd9af295d08a296f1f435a8509ea1252ccdcc
2020-05-27 12:44:28 +00:00
drh
399062cccb
Change a datatype from i16 to int to appease Converity and help eliminate
...
a false-positive.
FossilOrigin-Name: 5b560ec49041d89c87ea3315d8fc17f7fb0e03a82091934be7373b290183f82e
2020-05-27 00:02:07 +00:00
drh
a3d6b8e5a7
Fix the cksumvfs extension so that it will not register itself more than
...
once.
FossilOrigin-Name: d5cdd57150db914b61b8b9c61c6caac9690fe7b647ee2c003e75b9b62be62752
2020-05-26 20:33:18 +00:00
drh
ed505ce3e4
Performance optimization in the transfer of error messages from statements
...
to connections.
FossilOrigin-Name: 0e898f4fed1c851cb90f940175110e632a20668a285d39f5f94f7358c3064882
2020-05-26 20:31:17 +00:00
drh
47937cfd8d
Increase the version number to 3.33.0 to begin the next release cycle.
...
FossilOrigin-Name: 790badb390d59062cd2d8d1dec76cc6104c9425610a67503f6be38076b6a458e
2020-05-26 11:23:48 +00:00
drh
ed1e910448
Changes to sqlite3SelectNew() to work around a false-positive warning
...
from GCC-10. The code is very slightly larger and slower as a result.
FossilOrigin-Name: 04e1edd8e5821a377407263829ed0d87968c708c9aeb1282107ea6f39a11c1cc
2020-05-26 11:10:25 +00:00
drh
bdd4f7d91c
Innocuous changes to help Coverity avoid false-positives.
...
FossilOrigin-Name: 4ec8a5a203f10d228d0b3389120638766cc343179dbe38d5dbf69b650765934c
2020-05-26 10:54:46 +00:00
drh
d63c76fb31
Version 3.32.1
...
FossilOrigin-Name: 0c1fcf4711a2e66c813aed38cf41cd3e2123ee8eb6db98118086764c4ba83350
2020-05-25 16:19:56 +00:00
drh
b6907e2993
Extra assert() statements in the printf() logic.
...
FossilOrigin-Name: b1b182be2ab34cec1d94c5570bc361331a34f727eb9fa4aadfabb7f1ef79f83e
2020-05-25 15:41:03 +00:00
drh
0934d64045
Defensive code that tries to prevent a recurrence of problems like the
...
one described in ticket [7a5279a25c57adf1]
FossilOrigin-Name: 572105de1d44bca4f18c99d373458889163611384eebbc9659474874ee1701f4
2020-05-25 15:19:52 +00:00
drh
efc752b131
Fix minor compile issues with optional extensions.
...
FossilOrigin-Name: 3261ee9ec26bbeaa64190c12556a1d8146270b6660c70004830bd38c1b5b63f4
2020-05-25 12:49:58 +00:00
drh
91960aa53f
Make sure variable declarations are at start of scope even when
...
SQLITE_ENABLE_SNAPSHOT is used.
FossilOrigin-Name: a77ceaf6ba934b1d73c90b8980191a65d02ad6ce1e11e6baf573b3a132685545
2020-05-25 12:02:12 +00:00
drh
d3bf766127
Attempt to work around a false-positive warning in the CGo compiler.
...
FossilOrigin-Name: d4bf60f464789935dc193ea99bf730c8fade448c7dca13eb3ce297965980f36e
2020-05-25 01:31:09 +00:00
drh
e859e43bb8
Version number to 3.32.1.
...
FossilOrigin-Name: 56e5063c326ffbfd3e3cb6f2b05718412aca2cb183274bfe11f5666effdd04b9
2020-05-24 12:36:20 +00:00
drh
c37577bb2d
When rewriting a query for window functions, if the rewrite changes the
...
depth of TK_AGG_FUNCTION nodes, be sure to adjust the Expr.op2 field
appropriately. Fix for ticket [7a5279a25c57adf1]
FossilOrigin-Name: ad7bb70af9bb68d192137188bb2528f1e9e43ad164c925174ca1dafc9e1f5339
2020-05-24 03:38:37 +00:00
drh
e40cc16b47
Move some utility Walker callbacks into the walker.c source file, as they
...
seem to belong there better.
FossilOrigin-Name: dac438236f7c5419d4e7e094e8b3f19f83cd3b1a18bc8acb14aee90d4514fa3c
2020-05-24 03:01:36 +00:00
drh
ca74fbf6f1
Improvements to parse-tree tracing logic. No changes in deliverable code.
...
FossilOrigin-Name: f7e5a68a7ebbb97a5beb050a75b3b4cf2fd6adc54653da993a8950fb3a5799f7
2020-05-24 02:05:04 +00:00
drh
16dc07f756
Minor fix to a comment. No code changes.
...
FossilOrigin-Name: efdbb2b499bda8ffcfe54f5d6ece08a2c58fe7a490d9550785d806bd404abb8c
2020-05-24 00:30:38 +00:00
drh
dd6c33d372
Limit the "precision" of floating-point to text conversions in the printf()
...
function to 100,000,000. Fix for ticket [23439ea582241138].
FossilOrigin-Name: d08d3405878d394e08e5d3af281246edfbd81ca74cc8d16458808591512fb93d
2020-05-23 19:58:07 +00:00
drh
8e50d65aaf
Improved bytecode comment.
...
FossilOrigin-Name: 9224f1543b51a674ad6d7db8e90d97e1b0d1abe68bed3417820ebd09d27270f9
2020-05-23 17:56:49 +00:00
drh
0b0274a90c
Version 3.32.0
...
FossilOrigin-Name: 5998789c9c744bce92e4cff7636bba800a75574243d6977e1fc8281e360f8d5a
2020-05-22 17:46:16 +00:00
drh
f25f8d5834
Change a NEVER macro into a NO_TEST comment, as the conditional is reachable,
...
but only when compiling for Windows 32-bit.
FossilOrigin-Name: ce36b6d1331edba5a921fef32553e2470a79bdb1f62d2cfd81190691c83d5b06
2020-05-21 20:38:39 +00:00
dan
23e3c340b5
Avoid another potential OOB read in sqlite3expert.c.
...
FossilOrigin-Name: 0ccea80092f16e7f17f4c4de4f8be3fdef217199fcc08ace37e179c1b22c1294
2020-05-21 19:13:46 +00:00
drh
4f1315a432
Back out the change from [7fab1393c2b22b1f] that tries to convert invalid
...
surrogate characters in UTF16 into the replacement character 0xfffd, as we
find that this breaks some software.
FossilOrigin-Name: 4218c7b71fb6b227dbe4b852718584c150164af2d84e067cb810aa602554a609
2020-05-20 15:02:04 +00:00
drh
5a8cd2e40c
Add compiler hints to disable TSAN for the routines that access the -shm
...
file header in WAL mode using a double-read with memory barrier.
FossilOrigin-Name: 3117c1b5a9e348fd8d16ba9d03fdafaad8514567fb3403f72b86d6162ad40bde
2020-05-19 15:51:10 +00:00
dan
10757ed0ca
In os_win.c, avoid calling sqlite3_uri_boolean() on anything other than a main-db filename.
...
FossilOrigin-Name: cb0a18e64f8d81c2ada9f698faaf5ca68a0666687bf6f3abc860324cb1997463
2020-05-19 15:40:07 +00:00
drh
1a7feefac5
User-suggested improvement to the README.txt for the ICU extension.
...
FossilOrigin-Name: 1d1293c25abdd4b0fca64e5b1d0a118e2f339635dbc89422c0c2463fbf9ee27f
2020-05-19 12:29:56 +00:00
drh
f16cf653f4
In wal.c, improved comments on concurrency issues. More use of
...
AtomicLoad() and AtomicStore().
FossilOrigin-Name: 4bf566feca3a8fbe5e386533aac30e0ac25836cfc820a3abd91e156bd6198b4a
2020-05-19 12:27:29 +00:00
dan
a5ee67d5b3
Add vdbevtab.lo to build of libsqlite3.lib in Makefile.msc.
...
FossilOrigin-Name: f64d054b799c0af8d582fd9aff9bcbfa380ef08026ba5db8c5f89f6f56dfdad9
2020-05-18 18:02:37 +00:00
drh
c795e3df7a
Avoid harmless UB in memcpy() in the JSON extension.
...
FossilOrigin-Name: 69e149f76853d196c8855fedfc98848b60fb116ac36bc08824b1a122469f8ece
2020-05-17 13:47:28 +00:00
drh
d924e7bc78
Use the sqlite3Realloc() interface internally, rather than the public
...
sqlite3_realloc64() equivalent, to avoid unnecessary calls to
sqlite3_initialize().
FossilOrigin-Name: 1313557b512297e7b75ed748894379b2022aecf696d5a58318e46a668321c1ff
2020-05-17 00:26:44 +00:00
drh
b2eb7e46eb
Performance optimization for the sqlite3FindTable() subroutine.
...
FossilOrigin-Name: 55910b9a7287be92af9f95e0af54af822055d15b7eabbcc81d61410d0bf67726
2020-05-16 21:01:00 +00:00
drh
8c1febb2f9
The OP_RealAffinity opcode is not necessary after reading values from
...
a virtual table (such as rtree). It is harmless, but it does use CPU
cycles. Might as well leave it off.
FossilOrigin-Name: dc18d89354cffcb726722c234a0271ab628a71277b22887eea2bf118028193a6
2020-05-16 18:01:02 +00:00
dan
becd68ba0d
Fix a use-after-free bug in the fts3 snippet() function.
...
FossilOrigin-Name: 0d69f76f0865f9626078bee087a22fb826407279e78cf9d5382e1c985c9f64a9
2020-05-16 17:26:58 +00:00
drh
c48428899d
Extra memory barrier during initialization.
...
FossilOrigin-Name: 043a7e142dfc2b0da5fbc0b025d005ccad4886f0b0ff65426ba9155ca40394ca
2020-05-16 16:23:48 +00:00
dan
62c94d0afe
Add sqlite3BeginBenignMalloc() and EndBenignMalloc() calls to debugging function sqlite3VdbePrintOp().
...
FossilOrigin-Name: 6f857d0e9e0893524c2f828a1a1600fefb6efeff12ecbc9bb1da106a5aff9c1c
2020-05-16 15:18:27 +00:00
dan
b2c6fe225a
Update code in sqlite3expert.c to account for the fact that "-- TRIGGER xyz" VM comments are now omitted for some builds.
...
FossilOrigin-Name: 7cf93dc55c48c68731a1fe3ae3517fcfeb5c252bfa87e715a333c6194bcc0ace
2020-05-15 18:48:31 +00:00
dan
d48eafb984
Fix another build problem for SQLITE_OMIT_VIRTUALTABLE builds.
...
FossilOrigin-Name: 5e1eb0fa3afd74251bc8f484e3edfa81b15610479431af205bd952c91eecd21f
2020-05-15 16:19:35 +00:00
drh
cc1d9109c4
Fix a documentation typo. No changes to code.
...
FossilOrigin-Name: 758353c72627a847ba027ca44a750bbf057827dafd05811f56e4765dfc77623b
2020-05-15 16:05:31 +00:00
drh
bbf6d4328e
Adjust some requirement marks. No changes to code.
...
FossilOrigin-Name: 7285ae2ce8fb1439e1acea2ec321abbc76aab0a2e84b58683fddb0a7bf74fb1b
2020-05-15 15:03:51 +00:00
dan
2629adc7b2
Update test file e_fkey.test to account for the fact that new columns with REFERENCE clauses and non-NULL default values may now be added using ALTER TABLE if the table is empty.
...
FossilOrigin-Name: 4087fce97252beda2456164afe9508f952fc9fe4be68ad0e9b330569a78e42f2
2020-05-15 13:52:33 +00:00
dan
34d1566763
Fix SQLITE_OMIT_VIRTUALTABLE testfixture builds.
...
FossilOrigin-Name: 3d9780c5f6095ea35bc731a51eb34d7cf8bd5dcece825b686b94fd50131626e2
2020-05-15 11:36:16 +00:00
dan
a796de8300
Test script changes to account for the fact that the "p5" column in the EXPLAIN output is now an integer, not a text values containing a 2-digit hex value.
...
FossilOrigin-Name: 102126d80872fdb7469233611cab28100c8455aab4ce25702b83398394559185
2020-05-15 11:26:31 +00:00
mistachkin
a8e41ecaca
Enhancements to long-path support in the Win32 VFS.
...
FossilOrigin-Name: 0119d96decd344ae711388ac8475b92464a6d018ecf73862170f137410036dac
2020-05-15 01:18:07 +00:00
drh
043c8f60a8
Move some new test cases from fts3snippet.test into fts3snippet2.test.
...
FossilOrigin-Name: fa203999944133941a38e5c858f1f66fc1ef4d2f33222ab81cbf4e3fc1539f1c
2020-05-15 01:13:46 +00:00
drh
856408abf4
Add the SQLITE_ENABLE_FTS3_PARENTHESIS option to fuzzcheck. Add a new
...
test case that uses that option.
FossilOrigin-Name: c49a33db954f1a3fbc1889bbe9f3f3fdb8fb00e31aafb91cd6f5d1602db5c2b9
2020-05-15 01:02:00 +00:00
drh
219b8e7e75
Fix a null pointer deference that can occur on a strange matchinfo()
...
query.
FossilOrigin-Name: a4dd148928ea65bd4e1654dfacc3d8057d1f85b8c9939416991d50722e5a720e
2020-05-14 23:59:24 +00:00
drh
3d863b5e4e
Do not allow a virtual table to be renamed into the name of one of its
...
shadows.
FossilOrigin-Name: eca0ba2cf4c0fdf757bae19c6397a48245adb99e8017ddc28f01804072a30b2c
2020-05-14 21:16:52 +00:00
drh
3c0e606bba
Implement the IIF(x,y,z) SQL function that is short-hand for
...
"CASE WHEN x THEN y ELSE z END". For compatibility with SQL Server.
FossilOrigin-Name: fce173cd211b15867369b6a54fad48168352fc83981a722ce98e57299b88608a
2020-05-13 18:03:34 +00:00
drh
ffe421c76a
Remove unused constant SQLITE_FUNC_COALESCE.
...
FossilOrigin-Name: a116b20f863e9732cd08fbfbb1aa48204a17d611c9c1edde85dcf59310bde782
2020-05-13 17:26:38 +00:00
dan
8b4f231c47
Use AtomicStore() and AtomicLoad() in a few more places to avoid a theoretically undefined behaviour. This is not actually problem on any known hardware.
...
FossilOrigin-Name: fda57d4d2f1499c861d43026aa9362d1a30d67c9c002ebf5b0cdc25251537fbb
2020-05-13 13:33:30 +00:00
drh
2493dcdd07
New test case in test/fuzzdata8.db.
...
FossilOrigin-Name: fa11230135610f01c56d6f436f30a8b57a50b430fe7397ea3a0b6642986b3a39
2020-05-11 11:11:25 +00:00
dan
efa78884a8
Fix a problem handling constant integer expressions with collation sequences in PARTITION BY clauses.
...
FossilOrigin-Name: 155e6649efe8614718be7ac6c3cccf5b073ae57496dc220db5e4313621f5188e
2020-05-11 10:55:24 +00:00
drh
9e5fdc41c1
Release some restrictions on columns added by ALTER TABLE so that they
...
only apply if the table contains one or more rows.
FossilOrigin-Name: 3a16c0ce4d8851f79f670d94786032c8007619154ece44647dc9cc5b1f9654ff
2020-05-08 19:02:21 +00:00
drh
98aa1d735e
Fix the count-optimization so that it honors the NOT INDEXED clause.
...
FossilOrigin-Name: 0d23a0b209900f4d7c6c13f75d4364f19afc23db72f9cfdb11e05b81502e8040
2020-05-08 18:22:00 +00:00
drh
91d4c374e2
New test cases added to test/fuzzdata8.db.
...
FossilOrigin-Name: 3fce9711a47329811cd333ae2f1d1384a96d73b9a5d6f9d08454a57a3fd24fc8
2020-05-08 15:28:07 +00:00
drh
acc175215a
Do not retry on a failed realloc() unless SQLITE_ENABLE_MEMORY_MANAGEMENT
...
is available, meaning that the retry has some possibility of success.
FossilOrigin-Name: e9a8f910b5e2b84dd77364783f0610bca970cc88aa037c88636c72145b99f411
2020-05-08 10:44:23 +00:00
dan
2d3ed22a3f
Fix a failing assert() in fts3 triggered by a corrupt database.
...
FossilOrigin-Name: cb299a090c81cdc5c116c4e15ab38fce112916f8b0fad0c7f2ab127e79238a94
2020-05-07 19:55:40 +00:00
dan
b28f44eba2
Changes to avoid deadlock in SQLITE_ENABLE_SETLK_TIMEOUT builds.
...
FossilOrigin-Name: 652e4b23fffbff128b177697d7217b7d5aad8baf2364df1646b268ce6774e0fb
2020-05-07 14:39:56 +00:00
dan
11a8182e5c
Fix an error that could occur if the first transaction executed by a connection configured to use blocking locks is a write-transaction for which the WRITER lock cannot be obtained.
...
FossilOrigin-Name: 49e4dc72f7a4b28e4b49d7b91030bc986aea3ff44dac38cb6e68305800cd1de5
2020-05-07 14:26:40 +00:00
dan
4cbe5d3588
Merge trunk changes into this branch.
...
FossilOrigin-Name: ac4ee69664278a828e0a64c5be3b96fdb6eb6acc95646a9425c667aea328791c
2020-05-07 14:05:08 +00:00
drh
e937df81f0
Fix the handling of reserve-bytes so that the maximum value of 255 can be used.
...
FossilOrigin-Name: 99749d4fd4930ccf15227f67c732266af9e09dd3cabdc0834fb450ef98196441
2020-05-07 01:56:57 +00:00
dan
a8aae52391
Avoid leaking a file-handle in test file walsetlk.test.
...
FossilOrigin-Name: 3cfc675e2e917b69108feb3a75728b573abe8e44f0890a7d20d307b0b6784c0e
2020-05-06 21:25:39 +00:00
dan
bc9fc18e45
Fix an assert() failure that could follow an IO error.
...
FossilOrigin-Name: e89c864299024cdce395a15c19b000b976142b9eed267901a288adaa695f9e65
2020-05-06 21:24:29 +00:00
drh
783e159e48
Fix harmless compiler warnings.
...
FossilOrigin-Name: 92dc59132f8547635d73c61c21ea29b380c401ddc84a6d01412808e00386b9e8
2020-05-06 20:55:38 +00:00
dan
7a623e1d25
Fix a problem preventing building without SQLITE_ENABLE_SETLK_TIMEOUT defined.
...
FossilOrigin-Name: 98eb54c6d83992886f17a00b6fc8998df230e3b5f45bafc6fae0d15a9ee5a4c6
2020-05-06 20:45:11 +00:00
dan
7bb8b8a4f7
Add error code SQLITE_BUSY_TIMEOUT, used internally by the OS layer to indicate that a call to xShmLock() has failed due to timeout of a blocking lock.
...
FossilOrigin-Name: f3ef9c7c2b4ba3de1057ad569f068b241d5f23e6629d8e0dacf85e57fd13b8aa
2020-05-06 20:27:18 +00:00
dan
fc87ab8c4a
Fix compiler warnings in non-SQLITE_ENABLE_SETLK_TIMEOUT builds.
...
FossilOrigin-Name: 22de99ef410ba2a540871f3e61157d8dc4b969416f14808aeca73971b17fcd51
2020-05-06 19:22:59 +00:00
dan
861fb1e9dc
Block on the WRITER lock when attempting to run recovery.
...
FossilOrigin-Name: 105d6c9bbcadc64faa2b24e315cb13227b17cfc6bf1b3512713f80ce56976a3d
2020-05-06 19:14:41 +00:00
drh
e0a8b712c1
Provide the SQLITE_DEFAULT_LEGACY_ALTER_TABLE compile-time option.
...
FossilOrigin-Name: 63e659d9a793227604aa95685a8d83cd08305f1d01e135407a3ffc6d54482ab8
2020-05-06 18:43:57 +00:00
dan
d0e6d13301
Add tests for running recovery when opening a write transaction or performing a checkpoint with blocking locks enabled. Fix some failing assert() statements.
...
FossilOrigin-Name: d096ea3fe20f8af90f9e3f798fd0a69527b32ac8e208ade58b9d0af0e831f41b
2020-05-06 17:18:57 +00:00
dan
293e9f5d6c
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: a3727dba10b476f414f0a049b35f2a5c169a408eccefa6833821560684e07f8b
2020-05-06 15:07:25 +00:00
dan
58021b237a
Unless upgrading an existing read transaction, have ENABLE_SETLK_TIMEOUT builds attempt to use a blocking lock when opening a write transaction on a wal mode database.
...
FossilOrigin-Name: d6f819a9e6b35f3fd558bd93255a6a24ad690a0fa15a82b009ca9c641db983c6
2020-05-05 20:30:07 +00:00
drh
fde2592503
The only known path to a corruption detection branch was cut off by the
...
previous commit implementing earlier index corruption. So make the branch
NEVER. Maybe a fuzzer will find a new path.
FossilOrigin-Name: 9a84d8eb44b12ddea921baa73ac3bffa8c8d23a852605dc1dbde37907360bd79
2020-05-05 19:54:02 +00:00
drh
85bd353ac2
Earlier detection of index corruption caused by missing index entries.
...
FossilOrigin-Name: f339f31f9e9a856b576f99c5230fdf6d60fdc2873e48cb5aa0a4ab1d04e3c930
2020-05-05 18:42:49 +00:00
drh
eb8305bbc7
Fix a compiler warning in cksumvfs.c.
...
FossilOrigin-Name: 68033bcade87e6046f4c0a49936d63ce531c680c1def98fae02afa0c79db2c7f
2020-05-05 13:41:40 +00:00
drh
3d42fb788a
Fix harmless compiler warnings.
...
FossilOrigin-Name: 8eee591d3cb9fadfd5cac5543bd66ef9cb371a72d3ad3241fb3bfd67fb216eda
2020-05-04 19:52:00 +00:00
dan
8714de97c0
Changes to avoid deadlock in SQLITE_ENABLE_SETLK_TIMEOUT builds.
...
FossilOrigin-Name: 553423c23142cf0ec219192315d57ce8a0e10c3d8678d28bc110a1a9a7c17cee
2020-05-04 19:42:35 +00:00
drh
44a5c86c6c
Minor change to the sqlite_stmt virtual table, for test coverage.
...
FossilOrigin-Name: 838987b2097c4b7acaa65aea99cfdaf199f04d76bcf6ef12743c60b338a965f7
2020-05-04 19:04:23 +00:00
drh
20e34f9110
Simplify the initialization of built-in extensions.
...
FossilOrigin-Name: 729f2397358d0382e255ba0058bf70bc9ed410b7621a67466da13de437d3ba5c
2020-05-04 17:15:21 +00:00
drh
995e1af9fa
Ensure that the master-journal name is in a form suitable to be passed
...
into sqlite3_uri_parameter().
FossilOrigin-Name: d1ba026d882f070b351280028e2fa88a3cca59b46d4683302e24c6677e0951b9
2020-05-04 11:47:38 +00:00
drh
278b0517d8
Add the SQLITE_FCNTL_CKPT_START file-control and use it to optimize
...
the cksumvfs extension.
FossilOrigin-Name: efdecb13091316aeac2722f58577cb0314e008e857f2816a2a222bac0a83e9e1
2020-05-02 04:08:23 +00:00
drh
477a357278
Add support for PRAGMA analyze_limit and approximate analysis.
...
FossilOrigin-Name: 812547525d35df975f40cbbeb604cc9cd2dec809c1ca083cbb139fe59ffa1d73
2020-05-02 03:46:32 +00:00
drh
f72981f2d9
Add a missing VdbeCoverage() macro.
...
FossilOrigin-Name: 77a55c394d2c313a5710229bee9262457dcfc6620e6500f9f526c5f6acf87cef
2020-05-02 03:29:21 +00:00
drh
c75921ac4e
Merge the bytecode and tables_used table-valued functions. Requires
...
-DSQLITE_ENABLE_BYTECODE_VTAB at compile-time.
FossilOrigin-Name: d09bcce37f1eaf084e3b07eb4a23653ea1f370cdd290ce3875408186adf87022
2020-05-02 00:31:00 +00:00
drh
7e088a6c0a
Corner-case changes to the bytecode virtual table for testability and
...
correctness.
FossilOrigin-Name: baa720e4a88f268ed95337daab5f434fd3263b00f09101cddc6424765bf3b722
2020-05-02 00:01:39 +00:00
drh
51f1c6f3ec
Merge recent enhancements from trunk.
...
FossilOrigin-Name: 96dfc71ea599702ef38b60952d03e95dce5a8c534cd943e076e9c76b00e61e65
2020-05-01 18:58:21 +00:00
dan
7465787b97
Fix problems with UPDATE...FROM statements that modify rowid or primary-key values.
...
FossilOrigin-Name: 623ab585d1aa1bdde2df17f1936aa4eec2d997b274acc5c7b291d9566a9ec2c5
2020-05-01 18:43:49 +00:00
drh
fcf31b28ff
Add the SQLITE_FCNTL_CKPT_START file-control. Use it to optimize the
...
cksumvfs extension.
FossilOrigin-Name: b40f5aa344ae10cf4da83b3aa9e4866d6f6ffb06ba7e34ec1ce80c92468cf3bf
2020-05-01 18:37:34 +00:00
drh
e754830eae
Merge recent trunk enhancements.
...
FossilOrigin-Name: 2100b2c8f339e9778723fa0c91e479bab8675cf6fbea1664b6af49f40db6d27b
2020-05-01 15:04:13 +00:00
drh
5051194270
Clarification to the sqlite3_uri() family of interfaces. Documentation
...
enhancement only - no changes to code.
FossilOrigin-Name: 853703cd6d44d6dd48ef5eda6523e374b8ebdf7c338ddaad31c15a40a8b3fd9b
2020-05-01 13:45:12 +00:00
drh
8b2d8de3e2
Update documentation for sqlite3_close_v2() for clarity. No functional
...
changes.
FossilOrigin-Name: 80498b69ea489e8816c80a52c9e55a62699116fcbfdcbfd922ef23c2d9938871
2020-05-01 13:32:19 +00:00
drh
cdb6ce980b
Add the new SQLITE_IOERR_DATA result code and use it in cksumvfs.
...
Also enhance cksumvfs to emit an sqlite3_log() message whenever it finds
an invalid checksum.
FossilOrigin-Name: a094e8bfdef10d9e5d97f5a9f7c15b0fc547358b83367762ba5c2dfd2c9d0117
2020-05-01 11:31:43 +00:00
dan
8b023cf592
Add OOM tests for the new code on this branch.
...
FossilOrigin-Name: e4a18601e5093896e5b323c21aec986b07259353d2ef9455d0a81c6846f40282
2020-04-30 18:28:40 +00:00
dan
1e113844fc
Report an error if an UPDATE...FROM statement has an ORDER BY but no LIMIT clause. Add tests for multi-column primary keys.
...
FossilOrigin-Name: ffcdb6689123bb871c9bd8f977197f86f37c42e9094e2d4bb187ff479f74cf65
2020-04-30 15:49:56 +00:00
dan
f2972b6083
Fix problems with using LIMIT and FROM clauses as part of single UPDATE statement.
...
FossilOrigin-Name: b717dc3c5fafb9b86a141e7ecffc030fd9b36aa57a0b3e5200d64ad23a0aa13d
2020-04-29 20:11:01 +00:00
dan
9ed322d6c3
Fix various bugs in new feature on this branch.
...
FossilOrigin-Name: 823ba94e29dece1687e28711e503a1f56d392c306b0cbc0a20548180834530d1
2020-04-29 17:41:29 +00:00
drh
95063d8c90
Do not allow page_size changes on an active cksumvfs database.
...
FossilOrigin-Name: 2c17cdce26fd935e6d81ff828f4670291fc014013c93b2a1578506598345ee86
2020-04-29 01:09:46 +00:00
drh
451f89a896
Fix incorrect error message when something goes wrong with the
...
sqlite3_dbpage() table-valued function in the .dbinfo command of the CLI.
FossilOrigin-Name: 0dcf002463f5931c3875d2038d2b97298f1800b1cdfa70485d6430ab758f3b25
2020-04-28 23:09:56 +00:00
drh
065e4a8d29
Add the cksumvfs extension.
...
FossilOrigin-Name: 237c10f941cc6cb775693ae87513ff1b816f12b5e9c3d57b057421204d2d02cf
2020-04-28 20:47:40 +00:00
drh
23bef340be
Use AtomicStore() when setting the mem0.nearlyFull boolean to avoid
...
harmless TSAN warnings and to forestall doubts about threadsafety.
FossilOrigin-Name: ce980af65a9b528f112baa22a95020a98ac5340155a0b53b09c46f99aad9b12b
2020-04-28 14:01:31 +00:00
drh
9f603fcefd
Use an AtomicLoad() macro in sqlite3HeapNearlyFull().
...
FossilOrigin-Name: 7556bc632e271d8a1e4fd836ce91e28213768ac09c90857b91171e9cd1009884
2020-04-28 11:45:41 +00:00
dan
69887c99d4
Allow a FROM clause in UPDATE statements.
...
FossilOrigin-Name: f353a1a613bb7ad8cedcda377a7fe6fd05ee03b1f50665b00b84a868a71c5bec
2020-04-27 20:55:33 +00:00
drh
e238e31413
Yet another attempt to enhance sqlite3_load_extension() so that it works
...
with Window-style pathnames using a backslash separator character.
FossilOrigin-Name: b73d9a7d6f7fec0ffc9640902a849289c305f8651e891388c01255c4da7a6c4b
2020-04-26 22:04:48 +00:00
drh
ec9a25c7c7
Fix an issue with check-in [bc3bf7c6681a96bc] when compiling on Windows.
...
FossilOrigin-Name: 57b16d8ca3d1ede3b411389256bec6686433aae716f47bca309ee7c8e5fe3128
2020-04-26 14:33:54 +00:00
drh
7d9ad75a56
Fix the sqlite3_load_extension() interface so that it tolerates backslashes
...
in place of forward-slashes in pathnames on Windows.
FossilOrigin-Name: bc3bf7c6681a96bc18a1ed02f0ccced4731d5dab45f60c347dd1841706e6b62a
2020-04-25 21:05:51 +00:00
dan
07f9e8f4f3
Ensure affinity is not discarded from a view column if the view appears on the rhs of a LEFT JOIN. Fix for [45f4bf4e].
...
FossilOrigin-Name: ac31edd3eeafcef46164a4506bbc32c711bb7cd78378aeaa4c9bb12524ac5ea1
2020-04-25 15:01:53 +00:00
drh
ab2172e69f
The new sqlite3_database_file_object() interface requires that the pager
...
never invoke xOpen with SQLITE_OPEN_MAIN_JOURNAL unless it is using
a pointer to the journal name found in the Pager structure itself. Make
this the case when processing a master-journal.
FossilOrigin-Name: b4987a5ced0c0f2c606c040e0c1b8ee11175f40ae35a7446308a43e77b1f1db2
2020-04-24 18:20:30 +00:00
drh
742efb6749
New test case for ticket [1dcb4d44964846ad].
...
FossilOrigin-Name: 9e9f1e96c9aac60fcbbcda6923e01e350ca4dd88acefb9d400979419ba4e1e4d
2020-04-24 17:55:52 +00:00
drh
5415ab49b4
Fix an uninitialized variable in the newly enhanced ".output" command of
...
the CLI.
FossilOrigin-Name: 65c6c26bb48d5347ce53bb3607de3a03a5a03946b232d35e46a20533f86750f8
2020-04-23 20:45:46 +00:00
drh
542bd6521e
Fix an off-by-one error in the "calculated" page count output from the
...
sqlite3_analyzer utility for databases that are more than 1GB in size.
FossilOrigin-Name: 8789368b91fb5b7477bdba3a953412fc3839b4894443b65186f7b8f79f6369c9
2020-04-22 13:49:25 +00:00
dan
fc7f31742d
Fix an integer overflow in fts3 causing a usan error.
...
FossilOrigin-Name: e256f85289a78e629acdf83e5bf1f8df2a0ffb3d559738eb9e49db6c228dc8c0
2020-04-22 11:11:17 +00:00
drh
4d34766f4e
Clarify the comment on the sqlite3BtreeGetRequestedReserve() routine.
...
No changes to code.
FossilOrigin-Name: 52a6acca6d5d376308d354c02f4d676d9375c34c3841d7b1941196ee8b4e2511
2020-04-22 00:50:21 +00:00
drh
6ef2dc137d
Add the sqlite3_database_file_object() interface.
...
FossilOrigin-Name: f534ebeaaf34f825550138f09f9a40221dfa7cd5c6537ef9f86dce5249025ec3
2020-04-21 20:19:25 +00:00
drh
9a1bb3f616
Add the sqlite3_database_file_object() interface to sqlite3ext.h.
...
FossilOrigin-Name: 3cabe06b6e9433cbfb4bf7bd72a425f43b54f57d84a205adbaa6a1147bbe46bf
2020-04-21 19:27:08 +00:00
drh
480620c713
Experimental API: sqlite3_database_file_object().
...
FossilOrigin-Name: ae697b152d22737169892411a0c4d908895ff5fb249cce9bdb1ba0bbe32806f0
2020-04-21 01:06:35 +00:00
drh
3b9f154bb7
Do not use O_NOFOLLOW when opening a directory just to call fsync() on
...
that directory.
FossilOrigin-Name: 2fc80ef16ce5878311ab88a0c64631813572ffbb71f75363b4619c9667e0926b
2020-04-20 17:35:32 +00:00
drh
541ef2c36c
Enhance the ".filectrl" command in the CLI to support the --schema option.
...
FossilOrigin-Name: 698d40db58b76f4094687d46b5c6292702a62168054f9e6a70ee86650a6635f7
2020-04-20 16:21:30 +00:00
drh
45248de39a
The SQLITE_TESTCTRL_RESERVE operator is removed. In its place is the
...
more generate SQLITE_FCNTL_RESERVE_BYTES which is an API and which can
operator on more than just the main schema.
FossilOrigin-Name: abc1aad74f7b6a1e72fb09936239f2224aa942d16296c6a3de0b8daef4bc8471
2020-04-20 15:18:43 +00:00
drh
871f45441c
Remove an obsolete comment. No changes to code.
...
FossilOrigin-Name: 4135cb024456288d9c85aef5fb572dbb591527dd33d9a60ca5946b712c269941
2020-04-20 14:05:54 +00:00
drh
7a43100afb
Add the --bom option to the ".excel", ".once", and ".output" commands
...
of the CLI. Also fix the "--all" option on ".help" so that it works with
two dashes in addition to just one.
FossilOrigin-Name: d5b0def96ba6d90f47bc96fab1ccf9c501d84885d086744035b16fd96f3e248c
2020-04-18 14:12:00 +00:00
drh
1d9ea27f7e
Fix the ".excel" command and the ".open -x" and ".open -e" command so that
...
they work better when running from an in-memory database and on Windows
and when running from a script.
FossilOrigin-Name: 07752164c2bf00b6885808533bbdb2cefbf1bf281a887b0b4f6316649a6cb810
2020-04-17 23:46:54 +00:00
dan
054a081555
Merge accidentally created fork.
...
FossilOrigin-Name: cb772b7a8fb53694cb267e74c11f49d2b9fd6920821c4e232f90ec35739c8904
2020-04-16 15:56:03 +00:00
dan
7576a68c8c
Improve corruption detection in fts3 shadow tables earlier in order to prevent an assert() from failing.
...
FossilOrigin-Name: a9ec8c8f80a59badabb0afdb4189f0fd2934f936530d4151de395b3a7e7c1f1f
2020-04-16 11:35:27 +00:00
drh
c39b121a95
Clarification of the byte-order determination for UTF16 inputs to routines
...
like sqlite3_bind_text16() and sqlite3_result_text16() and others that
accept UTF16 input strings.
FossilOrigin-Name: a42fdcf54bcbd72a301dad4a040346dc48e67cacab43479ec618f5c32108c55f
2020-04-15 17:39:39 +00:00
drh
f05dd03a6e
Build the UINT collating sequence extension into the CLI.
...
FossilOrigin-Name: 2b8c6b035a276029850de02651712a5fd69f4dfee45083d24b9d1f998004829b
2020-04-14 15:53:58 +00:00
drh
e6a85962e7
Add the UINT collating sequence extension. The implementation is copied out
...
of the "natsort" branch.
FossilOrigin-Name: 6f46c6e3e3c471ca864d7596e0211ee90316b784c8fe22c7ae177c9d29731dc7
2020-04-14 15:48:55 +00:00
mistachkin
43e862723e
When compiling the shell for WinRT, avoid using Win32 APIs that are unavailable.
...
FossilOrigin-Name: 85d3dc8c50d8dbb8eac1956e8976e861d3b671e03355ca9257060fa3dca51cc4
2020-04-09 15:31:22 +00:00
drh
75b5f22c01
Merge recent trunk enhancements into the bytecode-function branch.
...
FossilOrigin-Name: 7e6576ec00fde277c5c7abac264f7ec7e531de00c4e112bf733a07fe703fadcc
2020-04-09 15:07:22 +00:00
drh
ad996da0f6
Merge trunk enhancements into the approximate-analyze branch.
...
FossilOrigin-Name: 17901ea6a1951b8c55671408841901c6660e3f8099378204f080b171a684d718
2020-04-09 15:01:09 +00:00
drh
4b3282d8a0
Limit LIKE/GLOB pattern length to 100 bytes (default is 50K) when running
...
dbsql cases in the fuzzcheck utility.
FossilOrigin-Name: 10306118e8591e727af477a1a15d136852d21170e645bd0e75f7c88346b037d7
2020-04-07 15:07:11 +00:00
drh
aa0696ee9a
Add the --spinner option to the fuzzcheck test program.
...
FossilOrigin-Name: b1eae2686f03a6e20a49ca2b3a654b3019506d4941708ee3919c339cd093a57d
2020-04-07 13:08:56 +00:00
drh
2d99f95721
The ALTER TABLE fix of check-in [7e5ad8e0ab7ee91a] is no longer needed due
...
to the changes at check-in [4cf8721f5ceb1fda]. But, we keep the defense
in place as an assert() for extra safety.
FossilOrigin-Name: 230556e859536bbadf0daf8133a9a01ef4f03148b3296723e37bad66e3fc3d82
2020-04-07 01:18:23 +00:00
drh
b3120fdf5b
Remove dead code that was added during initial development of RENAME COLUMN
...
but never actually served a purpose.
FossilOrigin-Name: c95c4cda4640f05d61b13b4e60494dec07d4483734fc41ffcce73fb5163cbb0d
2020-04-07 00:54:09 +00:00
drh
4047bdfd2c
Performance improvement in sqlite3ResolveExprNameList().
...
FossilOrigin-Name: 7e170e67f24c7cdef7e7ceac4e0b81a75382618e4abe9e604f3d7f6db9dc6396
2020-04-06 20:35:52 +00:00
drh
d44390c8c5
Performance improvement for column name lookup.
...
FossilOrigin-Name: 1e4b6a93987cdfbf829e2ff35ef417c290625f2894ad11949e301af518f1fb44
2020-04-06 18:16:31 +00:00
dan
85f2c76cf9
When running ALTER TABLE, avoid adding some internally generated tokens to the token map to improve performance on schemas with nested views.
...
FossilOrigin-Name: 4cf8721f5ceb1fdaefdc355b3211f75c53c4cdf9d2582ca70fc96777a9b057c2
2020-04-06 16:37:05 +00:00
drh
47f8ef32a0
Remove a NEVER() that could be true in sqlite3MatchEName().
...
FossilOrigin-Name: 921448f0e24a3753374b32be9d7bf36a9ca5d8522eff9f0b51dc243f08652419
2020-04-04 11:58:22 +00:00
drh
2e52a9c611
In the push-down optimization, do not substitute columns that have previously
...
been identified as being constant by the propagate-constants optimization.
Fix for ticket [51166be0159fd2ce]
FossilOrigin-Name: 70c44811d12f540d4ec1c29dedbe999cf79b82e326a8712ae2fa0725d6bd8a65
2020-04-04 00:15:54 +00:00
dan
c59b4acf5d
Avoid factoring out constant expressions on the LHS of an IN(...) operator, as the IN(...) operation may affect the affinity of these values.
...
FossilOrigin-Name: 98d56b4a34fddcbaecd953a045ae0270b4d78c1edf34cc73522fb4e12743af80
2020-04-03 19:37:14 +00:00
drh
a96a69b7db
Add a test case to fuzzdata8.db for the recent Henry Liu bugs.
...
FossilOrigin-Name: 42b02454b146ca1b04c0a5321465326435fc5b995f5498d3b1cf69c558a20f95
2020-04-03 16:11:32 +00:00
drh
eb110d9687
Merge updates from trunk.
...
FossilOrigin-Name: 348c40136c8ec20f36ccdd4c8a6d4ec2d8274328b86b25b385813e3aae31ea8b
2020-04-03 15:48:05 +00:00
drh
c415d91007
In the event of a semantic error in an aggregate query, early-out the
...
resetAccumulator() function to prevent problems due to incomplete or
incorrect initialization of the AggInfo object.
Fix for ticket [af4556bb5c285c08].
FossilOrigin-Name: 4a302b42c7bf5e11ddb5522ca999f74aba397d3a7eb91b1844bb02852f772441
2020-04-03 13:19:03 +00:00
dan
4db7ab53f9
Do not suppress errors when resolving references in an ORDER BY clause belonging to a compound SELECT within a view or trigger within ALTER TABLE. Fix for ticket [a10a14e9b4ba2].
...
FossilOrigin-Name: 684293882c302600e112cf52553c19d84fdb31663d96e5dd7f8ac17dda00a026
2020-04-03 11:52:59 +00:00
dan
fb99e388ec
Fix a case when a pointer might be used after being freed in the ALTER TABLE code. Fix for [4722bdab08cb1].
...
FossilOrigin-Name: d09f8c3621d5f7f8c6d99d7d82bcaa8421855b3f470bea2b26c858106382b906
2020-04-03 11:20:40 +00:00
drh
49d01abaac
Fix a minor problem with EXPLAIN QUERY PLAN for triggers.
...
FossilOrigin-Name: 6e11c03f84efa93b218b07e39b6b56b1d872639f39c18498ee54d8cd8364d4f5
2020-04-02 19:58:31 +00:00
drh
e1cd73f671
Minor changes for better test coverage.
...
FossilOrigin-Name: ae3ac297d2deee2a687ae2e9cf98aaf3e1b41196363238101a19d38092aebec6
2020-04-02 17:21:51 +00:00
drh
91654b2016
Fix an obsolete comment in the parameter binding logic of the CLI.
...
No changes to code.
FossilOrigin-Name: c9c735e201d7900d8c2b766463a6c90f547d9844352719dc650734e25e635fad
2020-04-02 13:21:10 +00:00
drh
c004bd54e3
Fix another harmless compiler warning.
...
FossilOrigin-Name: 949eec2530bbe7f48daddfb3022d60ea5d7a43f0f5d120e71c682054feb721db
2020-04-02 13:08:54 +00:00
drh
e0ef4e2b47
Add a missing #ifdef to avoid a harmless compiler warning.
...
FossilOrigin-Name: cc54de354317ebc080d4d1ee25427b31a49c4a75e01cb5d9966f1aaeb2ad098d
2020-04-02 12:53:17 +00:00
drh
e065a18a4b
Merge enhancements from trunk.
...
FossilOrigin-Name: d1731385c077f298b0cf654d6183ed40f7e5c07e4e2ab7f69109cf951ce99d9e
2020-04-02 12:24:08 +00:00
drh
31e3744ecb
Simple fixes to PRAGMA analysis_limit.
...
FossilOrigin-Name: c20d4fdee21409ebc9c65c9540af8ac48d1f4425499a6674ef9319655c192612
2020-04-01 01:15:16 +00:00
drh
49a76a8fe5
Add "PRAGMA analysis_limit=N;" to limit the number of rows visited by
...
ANALYZE when N is positive. Positive N also disables collecting stat4.
FossilOrigin-Name: a279b151c1623807774daf4975175c62ea252eefb71f9820ced6773769b392c5
2020-03-31 20:57:06 +00:00
drh
dcdd707a9c
Merge recent enhancements from trunk.
...
FossilOrigin-Name: c705ce266ad25af71791035590875f0ea9f2c72826b3eda17f065d2bf091de92
2020-03-31 18:41:21 +00:00
dan
892edb69c4
Use __atomic_load_n() and __atomic_store_n() for a few more things where they are available.
...
FossilOrigin-Name: a49f8ec552bede7da731e0571ccf49de1a30e7be3a5673150436c8b411ba6ffc
2020-03-30 13:35:05 +00:00
dan
3e42b99175
Fix "GCC_VESRION" typo in wal.c.
...
FossilOrigin-Name: fbd9378727141848ba2f5a8eee3076ecbd315e4a87b264c6d890103d56b2e4bc
2020-03-30 11:17:37 +00:00
drh
218da8c6f1
Enhancements to the SQLITE_ENABLE_SETLK_TIMEOUT compile-time option to avoid
...
rare deadlocks on recovery.
FossilOrigin-Name: 06885e9aa4e430d10f4b32105bcf405c65fd6f7b4cd451baf56fb4f12f408963
2020-03-28 19:02:39 +00:00
drh
b1243a6d9c
MSVC does not allow constant expressions as initializers for
...
constants with /fp:strict.
FossilOrigin-Name: 076658e5d21d9284448f41312b83a6c3d25394c2bfa088ef6cdfe1dc60277856
2020-03-28 12:01:25 +00:00
dan
97ccc1bd11
Modifications to the way blocking locks are used in SQLITE_ENABLE_SETLK_TIMEOUT builds so that multiple processes or threads may not deadlock when operating on a single database.
...
FossilOrigin-Name: c516027d5fd876b7d0bf566435667d554db29ded30ad6fc1165caa4a93d015a0
2020-03-27 17:23:17 +00:00
drh
8f78a528d5
Add the tables_used() table-valued function as a variation on bytecode().
...
FossilOrigin-Name: 6283c677d57220e54375a6463f453c6d068e042263558df16cff1055d1b0d3f5
2020-03-26 16:48:18 +00:00
drh
c5eeacd58b
Merge updates from trunk.
...
FossilOrigin-Name: d7db09101878102e192ee7a81437e8f6f2e317ddf110852673a2e81d1f80ae0e
2020-03-26 15:28:46 +00:00
drh
95b395901a
Reinstate the optimization that converts "x IN (y)" into "x==y".
...
FossilOrigin-Name: 27936e6884e77093533719c7955a17f051cfb359872e51a6d1481152e6256443
2020-03-26 00:29:50 +00:00
drh
cdbb28154e
For the LIKE pattern in the .dump command of the CLI, accept backslash as
...
an escape character.
FossilOrigin-Name: 029ceea612f5c7a1420939d8a772eefcc6f9550d24d57b52ae1729ea9d85fae9
2020-03-25 20:31:45 +00:00
drh
8e9297fb79
Enhance the ".dump" command in the CLI so that it accepts multiple LIKE
...
pattern arguments and shows the union of all matching tables.
FossilOrigin-Name: 45fba3d7055f90f67005ca740687f060a2311db40c8f6a161bfea0424e6ebf6d
2020-03-25 12:50:13 +00:00
drh
7797207554
Optimize the "subprog IS NULL" constraint.
...
FossilOrigin-Name: ca8c5f028b9f6f32639c8bc9df5dc02537e21385fcbe7e1ae600c640977ea0d5
2020-03-24 18:41:58 +00:00
drh
cf08f08d2c
Fix a memory leak.
...
FossilOrigin-Name: c9f3405eeac8aff171b5d76bae954f3b51b353d16286a3d2af43ef942c212abc
2020-03-24 17:52:31 +00:00
drh
0518d06117
Provide content for the bytecode.subprog column.
...
FossilOrigin-Name: df893364b7cea07ff2b15b80cb294dccaffe701d51452264599b55304a36fa7c
2020-03-24 13:27:53 +00:00
drh
eeb55d8694
Fix the build so that it works even without SQLITE_ENABLE_EXPLAIN_COMMENTS.
...
FossilOrigin-Name: 5896cbf4d0c7854c29c96d2ea2cea4adaedaa027a0fe4a3f0ac4dfbeaabb8dec
2020-03-23 23:17:38 +00:00
drh
8c5163a697
The bytecode() function now runs and sometimes works, but it untested and
...
there are known problems.
FossilOrigin-Name: 6819b86eb2de516c445655a83f9b2ba5ae0bff660cffaf84f1345d9be79b051e
2020-03-23 20:58:55 +00:00
drh
cb49f5468e
Further simplification and modularization of the EXPLAIN logic.
...
FossilOrigin-Name: aee1c12f4227cea9e8c6295cee3ec11797422c31b48c9468f176eb52f8261fe8
2020-03-23 19:14:11 +00:00
drh
356cd76aa8
Begin breaking appear the sqlite3VdbeList() routine into subroutines that
...
can be reused by the bytecode() table.
FossilOrigin-Name: 2c4dd79fbd4b9f72634a732abb9ed833cd8c9b05fe1e10af8f23e6d6ec023c7c
2020-03-23 17:24:46 +00:00
drh
691b5c54b8
Infrastructure for the bytecode() table-valued function. The function itself
...
is not yet implemented.
FossilOrigin-Name: 2795f0d633577e0de66b389d9e8e44c55e85975bdc62f1a0b8f93959d19b22bf
2020-03-23 15:49:22 +00:00
drh
74a07986ce
Fix to the recomputation of the colUsed field added by check-in
...
[a9bb71ba708ba722]. This fixes ticket [5829597ac43811e3].
FossilOrigin-Name: 5d14a1c4f2fc17de98ad685ad1422cdfda89dfccb00afcaf32ee416b6f84f525
2020-03-21 23:10:38 +00:00
drh
f7f6dbf501
Enhance the treeview system to show the SrcList_item.colUsed field for
...
FROM clause elements.
FossilOrigin-Name: 8a5c539b77aa174c048a504d211c56902075f9b42b654e1f8cc5767739e5fcc9
2020-03-21 22:03:32 +00:00
dan
7d76fad8eb
Simplify some of the code modified by the previous commit.
...
FossilOrigin-Name: 04abadb545d1b34bdd74d62becb3bfd83aceee373fd6b4b708d5ad53f41d9464
2020-03-21 20:58:05 +00:00
dan
31f170f396
Ensure that "main" can always be used to refer to the main database, even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME.
...
FossilOrigin-Name: 682b426f5658254e63dff02c960b557fb33cb3e944fdd14faa0aa9988af7269a
2020-03-21 15:41:55 +00:00
dan
465c2b8964
Consolidate some code on this branch.
...
FossilOrigin-Name: a85c63daa640e02fdfd891a05a1a09e848c9621a5dd6e112338451008623ecbb
2020-03-21 15:10:40 +00:00
drh
2c3629e1c9
Change a bitfield in sqlite3_stmt into an unsigned character, for slightly
...
smaller code and better performance.
FossilOrigin-Name: 0d4d3c642494ad494b4ec937215eaf833158e62e5ae59ed981d6b546220c13b8
2020-03-21 15:07:27 +00:00
drh
62b6e1d042
Performance optimization in sqlite3VdbeMakeReady().
...
FossilOrigin-Name: aa92f9b95f95d40cc58910da87168a5bd440f71deb072dc651bb15936315786c
2020-03-21 14:22:27 +00:00
drh
2aee514b4c
Recompute the set of columns used for each table when the table is
...
involved in query flattening.
FossilOrigin-Name: a9bb71ba708ba72255ba8d18c9856e38ddf53eae2d61c8435149354fb2b2459e
2020-03-21 00:05:53 +00:00
dan
00bd55e1ae
Allow "main" to be used to refer to the main database even after SQLITE_DBCONFIG_MAINDBNAME has been used to assign another alias.
...
FossilOrigin-Name: 75c85ca32f9ae4a28fd8f8ff2f7639599413d22af706e9799a0e76cc560d14eb
2020-03-20 20:54:28 +00:00
dan
ec8e689a20
Avoid an undefined integer overflow in fts3 by detecting data structure corruption earlier.
...
FossilOrigin-Name: 86e98ddc19470410ccc6d2cf4ad56ef0bc5a23b7fbe6331b8cae374689f54529
2020-03-20 20:18:49 +00:00
drh
589c787620
Chagnes the ESCAPE clause on the LIKE operator to overwrite wildcard
...
characters, in order ot match the behavior of PosgreSQL.
FossilOrigin-Name: 11e0844f71e8f2d27ce9363fb505e02fd7795c61dae0b3886cf0d8df4484dd97
2020-03-19 18:13:28 +00:00
drh
f0a2172d1d
Fix an integer overflow problem with the dbstat virtual table that comes up
...
when trying to analyze a corrupt database.
FossilOrigin-Name: 1d64f4a8af81fe1235fffa54884d8f842a48ff6a33d6172f0cd65bf42fe8b2a1
2020-03-19 17:27:52 +00:00
drh
91a23dc299
Fix a typo in a comment. No changes to code.
...
FossilOrigin-Name: 3a51919ac23ae7312d78905334dc97742b517a7476052a85aa07945d9c77697b
2020-03-19 15:57:03 +00:00
drh
78a50d7280
Fix the build for when SQLITE_ENABLE_STAT4 is defined.
...
FossilOrigin-Name: 8f0a8c2aa45f7cf7339094d83893aeb046b010b5b97bb4dae99ac07a8ebf2fa6
2020-03-18 15:58:13 +00:00
drh
59a8cb7931
Add the SQLITE_ANALYZE_LIMIT compile-time option (expected to be temporary)
...
that sets a threshold at which ANALYZE starts to use approximations during
the analysis process.
FossilOrigin-Name: a773fd4698d474fda5e57bc77ed66a79cf74efee2706f43f6def6f450bfd1fc0
2020-03-18 14:43:05 +00:00
drh
9f27463684
Provide an estimated row count to stat_init() for STAT1 analysis.
...
FossilOrigin-Name: 714419fe85cfdad22979183a94e4569c87740652758ab76b646753cf2b013b54
2020-03-17 17:11:23 +00:00
drh
e50478d727
Remove the SQLITE_OMIT_BTREECOUNT option. Btree count is required.
...
FossilOrigin-Name: a9bfa47aeea27e91611ba913d33e6635d2016e2c2ab78f9b0657f1bd8933e1a8
2020-03-17 13:41:51 +00:00
drh
dc4a1687b8
Improved bytecode comments for the ANALYZE command.
...
FossilOrigin-Name: c38ea4139d87535b789f43eb1e38b2dc4b8312352a721035283e67cf0f3d5067
2020-03-17 13:07:04 +00:00
drh
9d8c287309
Merge changes from trunk.
...
FossilOrigin-Name: 93d710262eb046e2370660b1096ac634373755f92a2e9b1220df3b2bda5f9eeb
2020-03-17 12:37:27 +00:00
dan
553948e514
Fix handling of window functions in aggregate queries that have no GROUP BY clause. Also remove a faulty assert causing the error reported in [618156e3].
...
FossilOrigin-Name: 38e3dd389d142e520c71139ec84aa3c7722992af28a5f93a7f16e0ea176b74bb
2020-03-16 18:52:53 +00:00
drh
14c98a4f40
At the end of the right-hand table loop of a LEFT JOIN that uses an IN
...
operator in the ON clause, put the OP_IfNoHope operator after the
OP_IfNotOpen operator, not before, to avoid a (harmless) uninitialized
register reference. Ticket [82b588d342d515d1]
FossilOrigin-Name: 8b437b47266ec2d80d85eafcfdd6949556d6c28d9d67d5f43d89799f0f5b7bd0
2020-03-16 03:07:53 +00:00
drh
ba25c7e29f
Remove stray comment characters at the end of an #ifdef that were
...
accidently left in the previous check-in.
FossilOrigin-Name: ea914bec81c49625072fc9d23faa048300f3a0421e069d303b7203edcdfb3743
2020-03-12 17:54:39 +00:00
drh
576d0a9fd9
Fix comments and strengthen assert() statements associated with the
...
OPFLAG_SEEKEQ and BTREE_SEEK_EQ flags.
FossilOrigin-Name: 231749213854756b599b33413b17b35186f17889b0c73f109fa9db726b415558
2020-03-12 17:28:27 +00:00
drh
e31f00bbef
Merge enhancements from trunk.
...
FossilOrigin-Name: 4945a66237fa3861bc691d5fbef0d40286b596a0902b4f4c032d1d6528bb1a1b
2020-03-11 20:03:22 +00:00
drh
2267a7fa87
Do not factor out constant functions into the initialization section of a
...
prepared statement, because even though they are constant, they can still
throw exceptions. Instead, put such functions in an OP_Once block. This
fixes ticket [3c9eadd2a6ba0aa5] and causes COALESCE() and CASE...END to
be short-circuit.
FossilOrigin-Name: c5f96a085db9688a09793f52ce1ecf033c2e6e2e5873a19fe0fb374b242b317f
2020-03-11 19:56:26 +00:00
drh
9b258c54e4
Rename sqlite3ExprCodeAtInit() to sqlite3ExprCodeRunJustOnce().
...
Other changes to make the new code cleaner. Test cases added.
FossilOrigin-Name: d7f18489978fdbbe3ab317485518cac91a75416ccef55898301afdd76d3b415b
2020-03-11 19:41:49 +00:00
drh
38dfbdae8a
Do not factor out constant functions into the initialization section at the
...
end of the prepared statement, be cause if they throw an exception, it will
abort the statement even if the function is never called. Better to put
constant functions in an OP_Once block.
FossilOrigin-Name: 97a18a5cd701848a9660385e31bffe2c397e3cfe57ccdb876f44d08c00d1d39a
2020-03-11 17:58:27 +00:00
drh
8d5cea6b61
This variant to the fix for ticket [e0c2ad1aa8a9c691] uses fewer CPU cycles.
...
FossilOrigin-Name: fb5a8a9edd0a4f979d6c30278d4ddc73c651f56ae989b4e5983fca36887c5ceb
2020-03-11 02:04:15 +00:00
drh
2e51dc6c9b
Merge updates from trunk.
...
FossilOrigin-Name: e05f743f619a6b60d0782ee85c73f6866696962954d7cb3eceb03af79c6a6189
2020-03-10 22:55:51 +00:00
drh
e7375bfa72
Enhanced detection logic for preventing the use of static schema expressions
...
by code generating routines.
FossilOrigin-Name: 5f60b527b938c0778e8f725c635ce0dc5ed7a4e01fd6252aa2cdb64da2f625bc
2020-03-10 19:24:38 +00:00
drh
5cf1b611a2
Further changes to ensure that expressions held in table and index definitions
...
do not get passed down into code generator logic where they might be modified.
FossilOrigin-Name: f45f5de000834da5b23cdcf12c3f0e3073287756afe06bdb77b95fb65b250258
2020-03-10 18:55:41 +00:00
drh
24e399038b
Make a copy of the expression that defines a value of a generated column
...
before sending it to the code generator routines.
FossilOrigin-Name: 03d201c041c17579e791c73fe6babd60b9f892a84ffd1470851f8eb2857d3990
2020-03-10 13:35:04 +00:00
drh
0c76e892d9
Apply the correct affinity transformations when pulling values off of the
...
sorter index used for GROUP BY. Ticket [e0c2ad1aa8a9c691]
FossilOrigin-Name: 101f7dea75a203f1f3aa422a607ef701eb0901ba4d5e8d1075cd350454a61956
2020-03-10 11:50:43 +00:00
drh
088489e8d9
The sqlite3ExprCodeFactorable() routine should make a copy of non-factorable
...
expressions, as they might be coming from a DEFAULT or generated column
in a table constraint.
FossilOrigin-Name: a2d6f108c5d07559b125823a04c9cb072c80be80d7913097891a6192c7e1e225
2020-03-10 02:57:37 +00:00
drh
9d33d9e7ac
Background work for experiments trying to enhance ANALYZE so that it runs
...
off of samples of the entire index and does not need to read the entire
index.
FossilOrigin-Name: 29d1cc5c3619a88229f18c3c8131228f8a2d151ac3d9203f0c7fc538a996ecec
2020-03-10 01:24:13 +00:00
drh
afa1ecac9b
Cleaner separation of the STAT4-specific logic in the implementation of
...
ANALYZE.
FossilOrigin-Name: 3df07e5a9a3781a4cf866fc6ee0e5c6f9cd7ca35ce0a6eb3aa7f5f3502e0ffae
2020-03-09 18:26:11 +00:00
drh
ccb3781673
Enhancements to the ".import" command of the CLI.
...
FossilOrigin-Name: cab1834cfc71f71bfed3c5170a0ba40a39385c3b2c50b7c6b6f09cc830dd1b1e
2020-03-09 15:39:39 +00:00
pdr
45dc9ca46b
Fix typos in RowSet.
...
FossilOrigin-Name: 86465c08f4d629a296332a7985937326ac43ea2822c5651bf03862cd79d370fc
2020-03-09 03:21:33 +00:00
drh
ed5e66881e
Fix typos in the Lemon documentation.
...
FossilOrigin-Name: 35f1f151ac478d6b46f3685d2565c35108ef74bd33ce96fb65300d3c303b289b
2020-03-09 01:02:45 +00:00
pdr
db9cb17dc7
Avoid a redundant NULL check
...
FossilOrigin-Name: 25dc53f6608dd9b8b4e8d8ee22e194a6d41d15811781752797cb42fc22ee1317
2020-03-08 13:33:58 +00:00
dan
0ea2d42ac3
Report an error if the main, or any other, database encoding is modified by an external process (perhaps using the backup API) after the db has been opened.
...
FossilOrigin-Name: 895bd20b29e223496e1585483c6ce3335ae9050f2e5de4d6b69d0e40df396862
2020-03-05 18:04:09 +00:00
drh
42a630b1da
Change the sqlite3.pDfltColl (the default collating sequence for the
...
database connection) so that it is the collating sequence appropriate for
the database encoding, not the UTF8 collating sequence. This helps to
ensure that the database encoding collation is always used, even for
expressions that do not have an defined collating sequence.
Ticket [1b8d7264567eb6fc].
FossilOrigin-Name: 4a5851893c3d71cc823b6ab5df5e58a852cd322fff26290f1ea05b63d67f564a
2020-03-05 16:13:24 +00:00
drh
4cf2121e1c
When printing the OP_CollSeq opcode for EXPLAIN listings, include the
...
text encoding with the name of the collating sequence.
FossilOrigin-Name: eb5c1b77d1c55fc286ff8fccfd61e21cb67aec92d6f93b093b9af5c32165d82b
2020-03-05 14:19:49 +00:00
drh
f5cfe6f2c4
Fix a false-positive in the debugging logic that attempts to detect the
...
use of uninitialized registers inside triggers.
Ticket [c4c56482ced89d90]
FossilOrigin-Name: 0463576b5de0a1ee71530f0e4988fc9cceda79148520bea2c67f1fbc4a99cea9
2020-03-03 20:48:12 +00:00
drh
d346fe0ab5
Remove an invalid assert() on the debugging logic that checks to ensure that
...
register values are not used after they go stale. Ticket [d165ad781b39d574].
FossilOrigin-Name: bd94d7d052734460904c687756231f8aa243a2252f07f742dd1e437aa940f536
2020-03-03 20:04:29 +00:00
drh
b3f0d92b91
Improved detection of corruption in the interior nodes of a segment btree
...
in FTS3/4.
FossilOrigin-Name: cc99447ac923166104e8a7c75088ed95279f4491b30cfa37dc3ee5e005dd9fac
2020-03-03 01:16:04 +00:00
drh
39b3bcf8ef
Enhance the fuzzcheck test program so that it is able to simulate OOM errors
...
in the same way that dbsqlfuzz does.
FossilOrigin-Name: a65c8d4e26b2428ecb8232a4a6a44443aa1701319223397e61a823a5aa1827de
2020-03-02 16:31:21 +00:00
drh
a2ec2e4843
Fix a faulty assert() statement in the stale-register detection logic.
...
Ticket [da5a09be6dabbf42].
FossilOrigin-Name: 219c296cc8cab13fa12b64c297bc4a98d8e21491309d97a031edf89ae77fce75
2020-03-02 01:50:48 +00:00
drh
7f05d52c4c
Ensure that the NULL-scan pass counter is initialized when a ORDER BY NULLS LAST
...
is used on the right table of a LEFT JOIN. Ticket [e12a0ae526bb51c7].
FossilOrigin-Name: 704bb9a39acbee420c1d6ac9eb1466a02dd77d3334b938bfddf235973129b5fe
2020-03-02 01:16:33 +00:00
dan
0a21ea997d
Fix a problem with window functions occuring within sub-selects that are part of an OR term in a WHERE clause of the outer SELECT.
...
FossilOrigin-Name: 1e174ed0d29366eb56ad1a0cc8defcb440b426bfd9525aed2f93468248606efc
2020-02-29 17:19:42 +00:00
drh
4a3a3eb3d7
In the CLI, add the ".oom" command for debugging builds.
...
FossilOrigin-Name: 9c3136a722715952d155aae55cbc6d1fb921c6940d8e7d3e32fcba000f6ac1ed
2020-02-29 15:53:48 +00:00
drh
2826918d10
The RTREE extension behaves has if data columns have type REAL, so we
...
should actually declare them as REAL so that automatic indexes handle
them correctly. Ticket [e63b4d1a65546532]
FossilOrigin-Name: 85a9b6a92fd5805d5936f02d555af395441607b9eb5f4dae63560b5e65663b00
2020-02-28 16:04:28 +00:00
dan
9e5ecdc172
In sqlite3changeset_apply(), ensure that DELETE and UPDATE changes are always executed on main database tables, not similarly named temp tables, as documented. INSERT statements are already being handled correctly.
...
FossilOrigin-Name: f71a13d072398c9fc3556f42d75159cc2d0edc2c42f6c47f64503a7fbbca6e37
2020-02-27 17:16:45 +00:00
drh
be284e4ece
Fix harmless compiler warnings from MSVC.
...
FossilOrigin-Name: 951b39ca74c9bd933139e099d5555283278db475f410f202c162e5d1e6aef933
2020-02-27 16:21:39 +00:00
dan
67e2bb92df
Optimization for "SELECT min(x) FROM tbl" where "x" is indexed and NOT NULL. This also allows similar queries on NOT NULL virtual table columns to be optimized.
...
FossilOrigin-Name: 59726777934e201d94e99ca693f0fda4ebfb1c7883d0258ce542f63f9924c28c
2020-02-27 15:07:16 +00:00
drh
47a60d4518
Extra zero terminators on the end of the blank filename returned by
...
sqlite3PagerFilename() for an in-memory database. This helps the result
work better with sqlite3_filename_journal() and similar functions.
FossilOrigin-Name: 63e533d28e87bbb10e0c611de4b79d22aae291b163fe59d1f95dcad9ab3939e4
2020-02-27 13:54:18 +00:00
drh
df97d43930
Ensure that the filename passed into the xFullPathname method of the VFS is
...
acceptable as an argument to sqlite3_uri_parameter(). The interface spec does
not guarantee this, but it has been so historically and some applications
have come to depends on it.
FossilOrigin-Name: bfb09371d452d5d4dacab2ec476880bc729952f44ac0e5de90ea7ba203243c8c
2020-02-27 11:32:14 +00:00
drh
a8781d9d93
Update the fuzzcheck test module so that it avoids inserting text values
...
that contain embedded NULs in the XSQL table. Fix some legacy entries in
the test/fuzzdata8.db that had embedded NULs. Add in new dbsqlfuzz cases
that have accumulated over on the dbsqlfuzz project for a while.
FossilOrigin-Name: 47d4240c4a837e829f593bb2aad7563010838f55345e7a0d8e2ea79462aeeb3c
2020-02-25 20:05:58 +00:00
drh
f575c1cf06
If STAT4 determines that a WHERE clause term that is not used by an index
...
has very high probability of being true, then do not use that term to reduce
the estimated output row count.
FossilOrigin-Name: 40739c793b0e98a3bae296d3a1f74944edcdd4cc33c26b417fde4eaf6f14d062
2020-02-24 17:05:09 +00:00
drh
f06cdde2cf
Rework this changes so that instead of setting the WhereTerm.truthProb when
...
a term is seen to be of low selectivity, it merely sets a new flag
(the TERM_HIGHTRUTH flag) which causes whereLoopOutputAdjust() to ignore
that term.
FossilOrigin-Name: 4558163b6a525990f0f1b6629dbb76daf49bcaf1ddbaf0c50fe05ce9ee480ff8
2020-02-24 16:46:08 +00:00
drh
35d3cb80c4
Disable the new analyzeG.test module if not building with STAT4.
...
FossilOrigin-Name: 4a9d3005769e0398183b03a3e132e3946b9d1c48073af2e0559d7beeac3245c0
2020-02-24 13:35:34 +00:00
drh
2ed1b0e753
Merge bugfix from trunk.
...
FossilOrigin-Name: b542dee9de843c19664c19df7435c6034d23d0d213804d588ec0ff599082d576
2020-02-24 13:26:29 +00:00
drh
0990c415f6
Fix a problem with ALTER TABLE for views that have a nested FROM clause.
...
Ticket [f50af3e8a565776b].
FossilOrigin-Name: c431b3fd8fd0f6a6974bba3e9366b0430ec003d570e7ce70ceefbcff5fe4b6fa
2020-02-23 17:34:45 +00:00
drh
cea1951e80
Do not activate the truthProb adjustment mechanism if the truth probability
...
is less than the heuristic value, as there could be correlations unknown to
stat4. Also add additional tracing output to make truthProb adjustments more
visible.
FossilOrigin-Name: c535fea147ce5c6e4aab25d3c85a3f53a7364c5b5ee10fb6d393c5911a02be7e
2020-02-22 18:27:48 +00:00
dan
5c19346451
Add new test file analyzeG.test, containing a test for the change on this branch.
...
FossilOrigin-Name: 243ab1852a2291595527ea1f26e78ad83eda285ae28f876bc1c703677f495cfa
2020-02-22 17:32:00 +00:00
drh
89efac94fd
When stat4 information is available, try to use it to improve the truth
...
probability of WHERE clause terms that do not participate in the index.
FossilOrigin-Name: 1babd6ec5d60e2c34aa1c0285ead768a88004218468e97262411973fe3487022
2020-02-22 16:58:49 +00:00
drh
e8c4f03266
In the OP_Column opcode, if the cursor is marked NullRow (due to being the
...
right table of a LEFT JOIN that does not match) and the cursor is the table
cursor for an OR-optimization with a covering index, then do not substitute
the covering index cursor, since the covering index cursor does not have
the NullRow flag set. Ticket [aa4378693018aa99]
FossilOrigin-Name: f02030b3403d67734bba471a91ad5bfdb03ddf6fdc3ef14808a04495e43b0470
2020-02-22 13:01:19 +00:00
dan
8a64d62d31
Add test case for previous commit.
...
FossilOrigin-Name: 14d14eb537075c6ac77513b1e7305bed8bc01a9034dfb763fd96f76400f2b705
2020-02-20 14:11:08 +00:00
drh
5f69512404
Early-out on the INTERSECT query processing following an error.
...
FossilOrigin-Name: a67cf5b7d37d5b1484be32092635faafd8f76e5881898cd9435517c4b287d663
2020-02-20 14:08:51 +00:00
drh
1cfee74a28
Fix a potential NULL pointer dereference following OOM. Problem discovered
...
by dbsqlfuzz. Test case in TH3.
FossilOrigin-Name: 5aeb5a2d295e10d5fc1d456b3acaf8ac13c04cb5bb71a8c4571541d366e95887
2020-02-19 15:39:46 +00:00
drh
4b9e736898
Remove a NEVER() macro and add a test case to cause its argument to be true.
...
FossilOrigin-Name: ee034fe916448e953ee7824e5c0db99a36a0ad138ebfb25f751bf84cb80a8fa7
2020-02-18 23:58:58 +00:00
drh
4defdddc31
Add the new sqlite3_create_filename() and sqlite3_free_filename() interfaces
...
for use by Shims. Use these interfaces inside the multiplexor.
FossilOrigin-Name: 9469f36ac89e4b75d0ab25fefbeff25201992c53141da915dcaa017083cab6db
2020-02-18 19:49:48 +00:00
drh
0184a256e3
Convert invalid surrogates to 0xfffd when translating UTF.
...
FossilOrigin-Name: 7fab1393c2b22b1f3b159b631e06e7e0d3900850ee249c38e4d3cdd0aacf637e
2020-02-17 23:08:16 +00:00
drh
78d1d225d8
A better (smaller and faster) solution to ticket [4374860b29383380].
...
FossilOrigin-Name: abc473fb8fb999005dc79a360e34f97b3b25429decf1820dd2afa5c19577753d
2020-02-17 19:25:07 +00:00
drh
bf48ce49f7
Take care when checking the table of a TK_COLUMN expression node to see if the
...
table is a virtual table to first ensure that the Expr.y.pTab pointer is not
null due to generated column optimizations. Ticket [4374860b29383380].
FossilOrigin-Name: 9d0d4ab95dc0c56e053c2924ed322a9ea7b25439e6f74599f706905a1994e454
2020-02-17 00:12:04 +00:00
drh
ac9e184e1f
Avoid an infinite recursion on an illegal recursive definition of an
...
fts5vocab table.
FossilOrigin-Name: 109ee07433b274a39954cef62bf67d47bcda960df9bef56127210ebf1c3c104c
2020-02-16 17:40:35 +00:00
drh
fdfd45aef3
Fix problems in the constant propagation optimization that were introduced
...
by check-in [1c3e5c20a9e6f501]. Fix for ticket [1dcb4d44964846ad]
FossilOrigin-Name: c9a8defcef35a1fee6bcbb88252a2d0076dabe8381b0128b2257b5b5cc494e0f
2020-02-13 22:12:35 +00:00
drh
ab7fdca2ee
Disallow the skip-scan optimization in the absence of sqlite_stat1 data.
...
FossilOrigin-Name: e0c6b8bdb76fcd4f08c89ff20dce6a33ef3c11752e1e919fec5c4e7d423c4b93
2020-02-13 14:51:54 +00:00
drh
0ba3621592
Omit O_NOFOLLOW from the open() call when opening /dev/null, since /dev/null
...
is a symlink on Solaris, we are told.
FossilOrigin-Name: 0c683c43a62fe25c6cb765e4a31556ec91a7c21af79349b3d7eeb13f73dd1cdc
2020-02-13 13:45:04 +00:00
drh
77c9b3ccb3
Fix an incorrect assert() statement that was added yesterday.
...
Tickets [41c1456a6e61c0e7] and [fb8c538a8f57ae2a].
FossilOrigin-Name: abfb043ebb0c55fdc2be58255bc852b13865d81fa4c2e0dbe8c375810557aafe
2020-02-13 11:46:47 +00:00
drh
efdba1a8b3
Increase the default upper bound on the number of parameters in a single
...
SQL statement to 32766 (from 999).
FossilOrigin-Name: 2def75693a8ae002375aff80db0e6c970c75f75e8b6ba64f2c518712badb0ae8
2020-02-12 20:50:20 +00:00
dan
41aa442cf4
When determining whether an == or IS constraint in a WHERE clause makes an ORDER BY term redundant, consider the collation sequence used by the == or IS comparison, not the collation sequence of the comparison expression itself. Possible fix for [fb8c538a8f].
...
FossilOrigin-Name: 16aed5d0c63dcdc2054dbb8a4b6b992476640433bf81e19301e6db5a3fc82633
2020-02-12 11:57:35 +00:00
drh
df9b5cab93
Mark the sha1() extension function as SQLITE_DETERMINISTIC.
...
FossilOrigin-Name: 7d8dcfb95cea732e7588e7505bf80a171dd2e371b164c9435c6ac286060df6df
2020-02-10 19:24:49 +00:00
drh
b6664744c0
Fix the build for when SQLITE_VDBE_COVERAGE is used.
...
FossilOrigin-Name: 084381649edf374ccc5664f136055109a31d4c3a19c4ae2ee5275f630507a2a3
2020-02-10 13:29:10 +00:00
drh
dc4f6fc099
During byte-code generation, strive to avoid jumps that merely jump to the
...
following instruction.
FossilOrigin-Name: bcf876e67e75f6709f2b25683a3952bbbb87c672bb9d7af456feebc0ab9f6c31
2020-02-07 19:44:13 +00:00
drh
b48c0d59fa
Simplify the code by removing the unsupported and undocumented
...
SQLITE_HAS_CODEC compile-time option
FossilOrigin-Name: 5a877221ce90e7523059353a68650c5fdd28ed032807afc2f10afbfbf864bdfe
2020-02-07 01:12:53 +00:00
drh
c84ad31851
There is no need to keep track of the number of changed rows or of the
...
last-insert-rowid while running VACUUM.
FossilOrigin-Name: a8a7c05b16f6c73ac55c359fbf62cae4a76eb0d105a3c53e9f47cede9fd85916
2020-02-06 20:46:08 +00:00
drh
0de19cac43
Unroll the comparison loop inside keywordCode() for to avoid unnecessary
...
comparisions and thus help that routine run faster.
FossilOrigin-Name: cec5f920f5c2a963f88329a08a443fc04be2dd6f7f2d840be63c0ab1de898f0a
2020-02-06 15:38:43 +00:00
drh
c879c4eac0
Separate OP_IdxInsert and OP_SorterInsert into completely separate opcodes,
...
helping each one to run a little faster.
FossilOrigin-Name: 447d71f0867a11f789eba164ea77470b3ae4953927556304b0861cf690250776
2020-02-06 13:57:08 +00:00
drh
5bdad79f01
Remove dead code from the sqlite3_filename_database() function.
...
FossilOrigin-Name: 1b6185550f2bcfa11513898984f1fc2029e0356e9acdc786c5c4a8006b1da2ba
2020-02-06 13:09:56 +00:00
dan
fcbc673752
Fix some fts3 problems found by usan.
...
FossilOrigin-Name: fb7ccf61bed8d862986eda7096bec3df5947f1d1c88f27e7d9c8acf420f40c50
2020-02-06 10:55:10 +00:00
drh
2a74006087
Small size reduction and performance improvement in the
...
sqlite3VdbeMemFromBtree() interface used to pull content out of the b-tree
and into an sqlite3_value object.
FossilOrigin-Name: ae6dd8d3e921670ee6450453b54245dd71bcfff3fd1bc7fdb7cf4cf9585c3375
2020-02-05 18:28:17 +00:00
dan
3cdc820544
Enable more detailed log messages in SQLITE_ENABLE_CORRUPT_PGNO builds if database corruption is encountered.
...
FossilOrigin-Name: 57c36a293e16bb4d9652874124ee1447bef278e08664bc8dd0070a0ee2ef1173
2020-02-04 20:01:44 +00:00
drh
92a27f7bf2
Extend the OP_Copy-coalesce optimization fix of check-in [b36126c1889e323c]
...
so that it is also correctly disabled by the CASE operator.
Ticket [9d3666754ac37d5a].
FossilOrigin-Name: 29a969d6b1709b80d9cb88b60971e4eb021f7f5f8ee9a619be74b833a78a35ef
2020-02-04 01:41:44 +00:00
drh
40d1db8d20
Fix a problem with the byte-code decompiler that was inserted by the
...
enhancements at [4248980a356f659b]
FossilOrigin-Name: af63e95dcdd6e9741cdddc3698e857e3b8be40048d3036f939f3583e517c4eff
2020-02-04 00:55:27 +00:00
drh
51f37b2bb8
Cosmetic change to the xfer-optimization to put the OP_RowData opcode closer
...
to the corresponding OP_Insert opcode. This makes it slightly easier to read
and understand the code.
FossilOrigin-Name: 0ea2dbfc9088561d62c3456803cb08d357e4e60f1d21f6ed37315564be4957d3
2020-02-03 19:56:51 +00:00
drh
081ce2042c
Increase the version number to 3.32.0.
...
FossilOrigin-Name: 8130bbb4217bd4a4db1f6bf97115a60bee8b29943bed0c7bdf54bba5edbed8fc
2020-02-03 12:25:18 +00:00
drh
9dce0ef4ca
On an INSERT or UPDATE, perform affinity conversions on new data prior to
...
running CHECK constraints. Ticket [86ba67afafded936].
FossilOrigin-Name: 1d4f86201dab9a22df9ef8175a7ebf3640e97cdb23a06fb454b4c69bfda3a9af
2020-02-01 21:03:27 +00:00
drh
d7b10d74e1
Fix the comment display for the OP_Function opcode. And at the same time,
...
improve the comment generating logic to make use of the newer
sqlite3_str_appendf() interface.
FossilOrigin-Name: 4248980a356f659b10b12c778592996d53c91fae4ea50c8566678da176bdd152
2020-02-01 17:38:24 +00:00
drh
745befd13f
Merge the sqlite3CodecQueryParameters() fix into trunk.
...
FossilOrigin-Name: a812f533693a3605f297199ae0320d663e872208675e86860c5c1803943943aa
2020-02-01 14:20:35 +00:00
drh
1eac966076
Fix a problem in sqlite3CodecQueryParameters() that was introduced by the
...
query parameter encoding changes for the 3.31.1 release.
FossilOrigin-Name: cc65ca541265bd7061ed8f5ec9a54f3c384c41019c5ea1c68dcaabeff3495839
2020-02-01 13:30:39 +00:00
drh
7aedd5d70b
Fix a minor typo in a comment in the btreeinfo extension.
...
FossilOrigin-Name: b5a66d10f4bbaf10def7b50b9ed98b05b41bb2c2af5ab9a90f6cda61169ab123
2020-01-31 14:52:19 +00:00
dan
d03f77ae46
Fix a problem with the processing of IN(...) constraints handled by virtual table implementations that do not set the "omit" flag when the virtual table column contains at least one NULL value.
...
FossilOrigin-Name: dcb4838757ca49cf149a6e883b3eb0ac8a075147387a078280dfabe39b1a3e8d
2020-01-29 15:03:01 +00:00
dan
759e9cc064
Add a test case for commit [ffd8bb93].
...
FossilOrigin-Name: bcd5b37b8ebd67537f60c0061fcbc70b2aebebb88d6fb842ccf321a3e20c122c
2020-01-29 13:56:35 +00:00
drh
48118e4060
Remove a NEVER() that is in fact reachable. Test cases in dbsqlfuzz and TH3.
...
FossilOrigin-Name: ffd8bb9351fbd8c1285491d4e10734f6816689de6042d640c178a5ecda75a5ef
2020-01-29 13:50:11 +00:00
drh
ffd3fd0c30
Add new memory barriers during initialization.
...
FossilOrigin-Name: a9b2adc5d61790abd86839d12e7ecb98a85d7e4cde5f94558530e32449d9e483
2020-01-29 13:10:50 +00:00
drh
9ca9a53a42
Modify a couple of FTS test cases so that they work on big-endian platforms.
...
FossilOrigin-Name: b20503aaf5b6595afafee6aa2bc6276354a62b0f583f6d94e31fedfdfc130347
2020-01-29 12:37:59 +00:00
drh
02a95eb9bb
Faster decoding of 32-bit variable-length integers in cases were we do not
...
need to know the number of bytes in the encoding.
FossilOrigin-Name: 59a31b16b54a0068c81ee65bc2fa905c2c826e98da3a7ffd8c3ea860a2827b4a
2020-01-28 20:27:42 +00:00
drh
925ab5c17e
Small performance improvement to the key-comparision routine for strings.
...
FossilOrigin-Name: 41454499a2b63c5fe6fae2d2085773a5f7d869250dcbe669929d20c961211f70
2020-01-28 20:09:39 +00:00
drh
fbfd113365
Reinstate the optimization of converting "a IN (C)" into "a=C" but only
...
if C is a constant. If the RHS is a table column, the complications of
managing affinity and collations become too involved to mess with.
FossilOrigin-Name: 8ac26a23d7f0ef29c5eb007c7467181f8b96102c8600ea8a5b15cc7584af27bd
2020-01-28 18:09:53 +00:00
dan
4b2f45be34
Fix a 4 byte OOB read in test_multiplex.c.
...
FossilOrigin-Name: 912148913c11d98e48119a2c1fa7a0e52f318af36e7e2491d968ffde286c949f
2020-01-28 16:55:32 +00:00
drh
b9f2e5f777
Minor change for compatibility with the s390 architecture.
...
FossilOrigin-Name: 04885763c4cd00cbca26d048f2b19316bfc93e8edebeceaa171ebfc6c563d53e
2020-01-28 15:02:23 +00:00
drh
562fd18b9d
Version 3.31.1
...
FossilOrigin-Name: 3bfa9cc97da10598521b342961df8f5f68c7388fa117345eeb516eaa837bb4d6
2020-01-27 19:55:54 +00:00
drh
f54f105446
Update the version number to 3.31.1.
...
FossilOrigin-Name: 6fb9a8fb85486a8fccc462856316ef523450c23a7a7a81c8dfb323fbe809f8f5
2020-01-27 17:09:02 +00:00
drh
532b0d23fd
Revise the layout of filenames in the Pager object so that it is unchanged
...
from prior versions. It turns out that some important 3rd-party software
does questionable pointer manipulations on those filenames that depend on
that legacy layout. Technical this is a misuse of SQLite by the 3rd-party
software, but we want to avoid unnecessary breakage.
FossilOrigin-Name: 34ab760689fd493eda482e856047708d74e769a01cc90b69da456d79ffe39aea
2020-01-27 14:40:44 +00:00
drh
9a3bdeba3e
Fix typos in the sqlite3ext.h header file that prevent some newer APIs from
...
being accessed from loadable extensions.
FossilOrigin-Name: 14331989fcaf6591336290ed1548e9c90f0f153e27f456f4c30c966f9c23aa6e
2020-01-23 15:00:18 +00:00
mistachkin
8122c6e9be
Fix variable declaration issue seen with MSVC.
...
FossilOrigin-Name: 8a6fe3066cf0599fcf2960e8fb3ae39e4e7a61ec81e8ec71d0b5910aee2c16f6
2020-01-23 00:08:25 +00:00
drh
78b5220328
Fix a NEVER() macro that can be true if compiled with
...
SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION.
Ticket [b985f0bd1636d9bc]
FossilOrigin-Name: 9f0f5d593a383ec2bebb6513ad566813f5b3dc6f052c61bcd76e8ac557bbb062
2020-01-22 23:08:19 +00:00
drh
1a3220ace6
Version 3.31.0
...
FossilOrigin-Name: f6affdd41608946fcfcea914ece149038a8b25a62bbe719ed2561c649b86d824
2020-01-22 18:38:59 +00:00
dan
d0add948ea
Update test file exclusive.test so that it works with the "journaltest" permutation.
...
FossilOrigin-Name: 4daf94d83319231e42243625c804d5db2d14f10fa5ea1a1f358c3603c47b955b
2020-01-21 16:31:26 +00:00
dan
8c812f98a3
Fix a problem with using views in SQLITE_OMIT_VIRTUAL_TABLE builds. Also some test case fixes required for the same builds.
...
FossilOrigin-Name: 934ee8bdb481a5cbd3d9c5f53028073129d3bca4fee14fe4a49bbf9c0c9d74f7
2020-01-21 16:23:17 +00:00
dan
7d2a1be84b
Fix a case in fts3auto.test that fails for SQLITE_DISABLE_FTS4_DEFERRED builds.
...
FossilOrigin-Name: d241055ead935f0e461a67f483788bcd59f7e8d65ade54b9c7c7c4fec9414102
2020-01-21 15:01:14 +00:00
dan
70a32703ac
Fix an assert() that could fail in SQLITE_MUTATION_TEST builds following an error in a query that uses CTEs.
...
FossilOrigin-Name: c7e29458a73bbe73a1429477d0c01d5a7b870ab75d3cb08a703be21714e439b7
2020-01-21 14:42:48 +00:00
dan
39ef8b31fb
Fix a problem in the userauth extension causing it to occasionally set "PRAGMA count_changes" (and some others) to true.
...
FossilOrigin-Name: 3a62f64222ebd176c06e89b9fe5275b7b1f09df0afbae1c5c148a4e527e9d80b
2020-01-21 13:40:35 +00:00
drh
988af251d8
Fix the series.c and spellfix.c extensions to use SQLITE_VTAB_INNOCUOUS
...
correctly. Fix the documentation on sqlite3_vtab_config() to take into
account SQLITE_VTAB_INNOCUOUS and SQLITE_VTAB_DIRECTONLY.
FossilOrigin-Name: 9265cb7f026c0e959bd034d4cd94fe597744e0dd455d0a20736ee5f5bee880c8
2020-01-21 12:29:02 +00:00
mistachkin
cbf1c8c25b
Improvements to the autoconf TEA Makefile for MSVC.
...
FossilOrigin-Name: cffcf12f03906debeac6a974534b4439a4952cc72767e3bcb8e6d91da944d69f
2020-01-21 01:45:27 +00:00
drh
be03cc9fcf
In the fuzzcheck test program, reduce the default expression depth limit
...
from 1000 to 500 to avoid stack-overflow problems when running stress tests
using clang ASAN.
FossilOrigin-Name: 63d886f4ce3c770498b8bdad45b04143a3f63197d81793bde107450aba4a9c87
2020-01-20 14:42:09 +00:00
drh
4b86e20485
Enhancement to the CLI to allow the ".parameter init" command to work
...
even if defensive mode is turned on.
FossilOrigin-Name: 4d46255096671ae7be33081e81bb25561304e069f459ffa7587f1f19381a1851
2020-01-19 20:37:26 +00:00
drh
38e14fbd5f
Documentation improvements.
...
FossilOrigin-Name: 535afe150939d06342fbbed4ca1b6a1472fde51ac9edd4b4b583b87d90f509c2
2020-01-18 23:52:45 +00:00
drh
76a1fce53b
In the TCL interface, add the ability to change the
...
SQLITE_DBCONFIG_TRUSTED_SCHEMA setting using the "db config" method.
FossilOrigin-Name: 1accfa8cf05856b03cecab7a2cd0c0337842a0003cfbec207b6f0acdd93e8f15
2020-01-18 22:20:14 +00:00
drh
fe7046044c
Allow non-deterministic function in CHECK constraints. It turns out that
...
PostgreSQL, MySQL, and SQLServer all allow this. We should be the the
exception. Ticket [830277d9db6c3ba1]
FossilOrigin-Name: 8c8ce526adb60b8061e55151599ca8b11f1ec2e968d3bacc73a2a249e9e95ee1
2020-01-18 21:34:31 +00:00
drh
f71eb2091f
Do not use memcpy() of zero bytes when initializing a pager. This avoids
...
a warning.
FossilOrigin-Name: cca437788e092b21ed1784dd94d4b1c7204ff1717538d276a10880d1345904bd
2020-01-18 19:46:42 +00:00
drh
a01fda7113
Disable a redundant test case that uses a very large stack, and hence
...
is unable to run with -fsanitize=undefined,address.
FossilOrigin-Name: 3c63f68e12af36e9fd9a3dd4daec9402e75e80bcd819d39c0215a427fd0d7803
2020-01-18 19:07:00 +00:00
mistachkin
591711751e
Fix harmless compiler warning seen with MSVC.
...
FossilOrigin-Name: cd0437ba5b13593ebe4ec30d6236623183f8cfa30ca8a0612662eccb282a863e
2020-01-18 19:02:20 +00:00
drh
cea7b5d57e
Add extra front margin to the fake empty filename returned by
...
sqlite3PagerFilename() for an in-memory or TEMP database.
FossilOrigin-Name: fee945671a19a93287f9bfadc346f9821fb1311c7fc75b95a6a48d1419c840e7
2020-01-18 14:50:06 +00:00
drh
1ee02a1ce5
Fix the VDBE so that it correctly handles the sequence of operations
...
OP_OpenEphemeral, OP_OpenDup, OP_OpenEphemeral, and OP_OpenDup in that
order on the same cursor.
FossilOrigin-Name: a1be6ee0188911448c064e2c25fb0ca1daad50f3d50fb49a34430bd09736b4a9
2020-01-18 13:53:46 +00:00
drh
2d58b7f40f
Fix a typo in a comment. No code changes.
...
FossilOrigin-Name: 4363f69c3ad5a9859471547cab713f1acabd5fce13872cc1ddaa972d6c1dfb35
2020-01-17 23:27:41 +00:00
drh
929a940678
The compress() function should not be deterministic since the same input can
...
have multiple possible compressed outputs. The uncompress() function, on the
other hand, is deterministic.
FossilOrigin-Name: 84f314902c48336849081c7e9fe2a52caf171b8215a1c6e80cded0700c447eb1
2020-01-17 21:12:22 +00:00
drh
ef9f719d0b
Fix #ifdefs so it compiles cleanly with all SQLITE_OMIT compile-time options.
...
Update compile-time option testing.
FossilOrigin-Name: 7584e4b649d57767aac3906da6b06549d5b772aaa69f469c623ae5da834d54d5
2020-01-17 19:14:08 +00:00
drh
915530dcc8
Improved rounding in the 'unixepoch' feature of the date and time functions.
...
FossilOrigin-Name: c9abf1bd2d2496ced9ef4619cd997933cd58452e6ab527ba70746c9975104b6a
2020-01-17 16:47:07 +00:00
dan
a369d98b9a
Update test script instrfault.test to account for the fact that bound blob values cast to text values are now intepreted using the text encoding of the database, instead of always as utf-8.
...
FossilOrigin-Name: 4d6cb28811c01599e34c0394fe5ed17d47f14893c860590c9b4660bef68eb294
2020-01-17 15:45:59 +00:00
dan
d1eb23cd26
Fix a case in "fuzz.test" that could fail, as non-deterministic functions may no longer appear in CHECK constraints.
...
FossilOrigin-Name: a370871e21bd1028ac968ca4f48e6b5f75e647ac40d4342aeb0504a848452908
2020-01-17 11:18:54 +00:00
drh
be0330e853
New testcase() macros in select.c, for coverage of the change from two
...
check-ins ago.
FossilOrigin-Name: 52206488f315803df73f964774270ef4783923407a2567936f56b0a1a88b4400
2020-01-16 17:53:24 +00:00
dan
1d7d8c8f74
Add the SQLITE_FCNTL_CKPT_DONE file-control for the use of custom VFSs.
...
FossilOrigin-Name: 3cc39e5069c8a6a32ecc49c571593615c0f347cadcd3e0325b7f9a11ddc1f546
2020-01-16 16:32:57 +00:00
drh
39df24a3f0
Do not allow the constant-propagation optimization to apple to ON/USING clause
...
terms as it does not help and it might cause downstream problems.
FossilOrigin-Name: 1bc783da63d58b05c690468b569cb2787846357b63c1100d11777666c5787bf4
2020-01-16 16:12:07 +00:00
drh
7db212a70b
Fix an SQL syntax error in the comment on the omit-left-join optimization.
...
No changes to code.
FossilOrigin-Name: 86b5e5a20e967af7ac444ff0a40c2e8b93b7e5c505eebf6d3753a341b05503a8
2020-01-16 12:25:14 +00:00
drh
7d07a5f4e0
Clean up the definitions of the TERM_ constants in the code generator.
...
Formatting only - no logic changes.
FossilOrigin-Name: af06f80a590e20f64fa2f630e85fa728c266ea4696b975cc5f2ab72a3b914379
2020-01-16 11:51:09 +00:00
drh
b5f0e40578
Do not allow the "PRAGMA encoding" statement to change the database
...
encoding if TEMP content exists, or content in any other attached
database. Formerly, encoding changes were allowed if just the main
database file was empty. Ticket [a08879a4a476eea9].
FossilOrigin-Name: 03b003c988d27f3aa1b1e44972ee5a3c7e44ad667ec7f2b8a31d0411c66583d3
2020-01-15 16:20:16 +00:00
drh
be22a85406
Fix the urifuncs.c extension (used for testing and debugging only) so that
...
the sqlite3_filename_database() SQL function and its siblings correctly handle
an invalid schema name passed in as the argument.
FossilOrigin-Name: 3d7434a9d85dae9135473d1c58c22ac01a282e654807aa10be9b39f127291594
2020-01-14 16:50:09 +00:00
drh
05e8c5407f
Remove an ALWAYS on a branch for improved database corruption detection
...
in btree.c:freeSpace(). Test case found by dbsqlfuzz.
FossilOrigin-Name: 54bf04811951db6c894f272f870e3e41f8f5e05a25c1115efbbdbd0d8bba54be
2020-01-14 16:39:54 +00:00
drh
299b102b93
Add the new noop_nd() debugging function to the noop.c extension.
...
FossilOrigin-Name: 72911fb1b010ae093a161b9c0d21cbdedcbc1f924a55f12227fbe342bd978e08
2020-01-14 16:33:07 +00:00
drh
c1f73e29bf
For the showdb utility program, more accurate detection of when the database
...
is in autovacuum mode for the "pgidx" subcommand.
FossilOrigin-Name: 9ce2192b81a81bb8928e3184664694ed2f863ce41c2777cdc35e6b61486aea46
2020-01-14 13:24:14 +00:00
drh
76c1206845
Fix a minor typo on a comment in the CLI implementation.
...
FossilOrigin-Name: db4fb3503c4e1e40d7bd140187014e8f0cc186c441a0c7462987c77e2c83136a
2020-01-14 13:13:19 +00:00
drh
a14de91367
Improvements to sqlite3_open_v2() documentation.
...
FossilOrigin-Name: 4c4fd62a092b8db6398c64a92c9ff35915eedcce1079a77aeda81811d94096c4
2020-01-14 00:52:56 +00:00
drh
c6b2f9e323
More documentation updates. No code changes.
...
FossilOrigin-Name: a684d4ef08a48962c632b598242f5e34c9b2fa3ad6339023fbce8ac91582b5e3
2020-01-13 15:25:43 +00:00
drh
3c867026c0
Documentation updates. No changes to code.
...
FossilOrigin-Name: cc0e0aa3a7d534b806cdf63200b32ab3b7f0e08dde717f043a36d2f91c8a046c
2020-01-13 13:33:08 +00:00
drh
3b8eb08b17
Better than removing the incorrect assert() is to change it into a
...
testcase() together with a comment indicating where an appropriate test case
can be found, and the ticket that provoked the change.
Ticket [614b25314c766238]
FossilOrigin-Name: 3e3c60d8124672ff72a57dfa2e51276316bcac8c8ae8a5739da358f26924b0fb
2020-01-12 22:38:17 +00:00
drh
d8df36bd4e
Change the zipfile virtual table so that the xBestIndex method gives a
...
reasonable cost estimate even if no filename is specified. The missing
filename error continues to be raised in the xFilter method. Meanwhile,
the more reasonable cost estimate avoids unnecessary wierdness in the query
planner.
FossilOrigin-Name: 0e468aa6decc73be307596782a778a739ff1b5dc0eb10fc4bd6776e460f99f8b
2020-01-12 22:25:58 +00:00
drh
ca7d3e1d42
Remove an incorrect assert(). Fix for ticket [614b25314c766238]
...
FossilOrigin-Name: 6a999c5aa0d1d5569a5bda50d27e3a15c13e93e69d00db97c5294901522064a3
2020-01-12 22:20:07 +00:00
drh
ffe4d4a2d5
New apis: sqlite3_filename_database(), sqlite3_filename_journal(), and
...
sqlite3_filename_wal(). Also sqlite3_uri_key(). And the other sqlite3_uri
functions now work using the journal or wal filename in addition to the
database file. And the sqlite3_db_filename() result is guaranteed to work
as an argument to the sqlite3_uri functions.
FossilOrigin-Name: fd7bcc53524096f5245e5ae04c12780d2c43b9b3af17ec529447aed21b82cc2b
2020-01-11 21:08:59 +00:00
drh
cdfadc7948
Minor changes for consistency between sqlite3_filename_wal() and
...
sqlite3_filename_journal().
FossilOrigin-Name: 9a70ff43a7b6848a71d5049f5a4ae24e3eb8a83d5c6651f5a9937abf03b3eccf
2020-01-11 20:27:02 +00:00
drh
8080403e44
Redesign for better legacy compatibility. Add the sqlite3_uri_key() interface.
...
FossilOrigin-Name: bcb43d11c4d0be36888c9e968ccdf85e7d7fccd72a29866f85c014e0562d4b93
2020-01-11 16:08:31 +00:00
drh
8875b9e7b5
Rearchitect the way in which filenames are stored in the Pager object so that
...
the sqlite3_uri_parameter() interface will work from journal and WAL filenames
too. This check-in implements the central idea, and compile and runs somewhat,
but crashes on an extended test.
FossilOrigin-Name: 2ae77bd2335708343bce4541b4d2cf16edfe3fd5bc2dfb93757238c926aa960b
2020-01-10 18:05:55 +00:00
drh
b2fe5a7c35
Fix to the register validity tracking logic in debug builds. No impact
...
on release builds.
FossilOrigin-Name: 0a500da6aa659a8e73206e6d22ddbf2da5e4f1d1d551eeb66433163a3e13109d
2020-01-10 01:05:49 +00:00
drh
e5f8801044
Documentation updates on newer APIs. No changes to code.
...
FossilOrigin-Name: 8845a8c22a4ceabee130ce2addbe07e13b0496eeb542c89850f8658d21a48f89
2020-01-10 00:00:18 +00:00
drh
2e22579dea
Fix the fossildelta.c extension so that it will compile on mingw.
...
FossilOrigin-Name: 20237d5dc4451f142b511e50a4acef4574cef17b9222c87dcebfe1ed1bab0ad9
2020-01-09 23:07:21 +00:00
drh
bebce86cde
Merge in the untrusted-schema enhancements.
...
See [/doc/87aea3ab1cdda453/doc/trusted-schema.md|doc/trusted-schema.md]
for details.
FossilOrigin-Name: 5720924cb07766cd54fb042da58f4b4acf12b60029fba86a23a606ad0d0f7c68
2020-01-09 20:44:37 +00:00
drh
32d184e049
Only register the fts3_tokenizer() function using a single text encoding.
...
FossilOrigin-Name: 966964af1021feebc56cfda7b08bc787be7f447d682299f7958463aca30a73af
2020-01-09 20:33:36 +00:00
drh
7be5e3dd4c
Fix a harmless compiler warning.
...
FossilOrigin-Name: edbf911fdeda14bd63cd752f6237896400eb5a65ef486abe7b91433621d21b5c
2020-01-09 20:33:13 +00:00
dan
fbb6e9ff48
Fix an assert() in window.c that could fail with some obscure SELECT statements that use window functions.
...
FossilOrigin-Name: 83dc55679a91bf5d1d13706088ce58eed02b9aad1ad0ae237966e78e0d769663
2020-01-09 20:11:29 +00:00
drh
b84fda37ef
Fix a problem in the encoding display in the updated PRAGMA function_list.
...
FossilOrigin-Name: 318ff7720bc60c30c0826becce424226e9cec25c1d59cb2cdb75793739322760
2020-01-09 16:28:50 +00:00
drh
51ebd5fa14
Fix minor typos in the trusted-schema.md document.
...
FossilOrigin-Name: 87aea3ab1cdda4533e6fed605d1295e83bae0bbb9e1b238d239ce158a0d42954
2020-01-09 16:00:08 +00:00
drh
3858be3e59
Minor formatting changes in the trusted-schema.md document.
...
FossilOrigin-Name: 55553b5e5ece8282f6a56a6f5c71024eaaef3c86ec42203af3da708b0de3643b
2020-01-09 15:18:08 +00:00
drh
b0c4ef711f
Design notes for the new-security-options branch.
...
FossilOrigin-Name: af7c1ed4f8a7293d0ecacca3cfbe9414e0de5ec40b418ce7831b8dc724feb747
2020-01-09 14:51:47 +00:00
drh
32266a1072
Simplified error message for the unsafe use of a virtual table.
...
FossilOrigin-Name: d662129a601e05e8fca5717a890b5bc920b80a750d061f3c2494788d32b917a5
2020-01-09 13:08:28 +00:00
drh
05b32ee3c0
Fix a problem that restricted edgy functions in TEMP tables.
...
New test cases added.
FossilOrigin-Name: 8878c40753566a8c4ccd1d413019cabde7569b947f730527d13bfc3db384e97d
2020-01-09 01:20:03 +00:00
drh
014fff20ad
Block edgy functions used in DEFAULT constraints.
...
FossilOrigin-Name: da434dc149786e4b1cd80b3b2b25f8b614d0dec62d5439f839a66b536999e398
2020-01-08 22:22:36 +00:00
drh
2eeca2046e
Performance improvements and test cases added. Allow "PRAGMA trusted_schema=ON"
...
FossilOrigin-Name: 30882ca80f6c51f6bb7b2692c1ac3f19a7c61a23aa8730be79aec0ae3ef08d54
2020-01-08 20:37:45 +00:00
drh
0dfa5255bc
Check for whether or not it is safe to use non-innocuous functions as the
...
function is being coded, not when its name is resolved.
FossilOrigin-Name: 1da802d54b689a462e1fe899c6ffa08ef14d34f36728b14b055b5a76b1edc274
2020-01-08 17:28:19 +00:00
drh
15f3eacfc0
Provide the -innocuous option to the "db func" method in the TCL interface.
...
FossilOrigin-Name: 0138652b6c2f21fd67e59a23a396a5b9d6a16ee9b44701cddfc49b23fddfce5b
2020-01-08 15:44:10 +00:00
drh
6d35956c86
Fix the rot13.c extension to be deterministic. Add the noop.c extension.
...
FossilOrigin-Name: a679122ca8ec95d5c8afba3a1a50170db9dd519a3810e56877b8f56e858d0175
2020-01-08 15:43:29 +00:00
drh
b7e519956a
In the TreeView debugging output, show a "DDL" mark on SrcList and Expr nodes
...
that derive from a non-TEMP schema.
FossilOrigin-Name: fe7472fd2a70b4df6cb62041b72ed1638ba27ed1e6ceb8aaf56d1c8a82d91889
2020-01-08 14:39:57 +00:00
drh
19ca76af38
Merge recent changes from trunk.
...
FossilOrigin-Name: 5962921fceaf2ec645379a5f1d18e2c2c13abbf92cf64606caee69f45a21c500
2020-01-08 13:08:52 +00:00
drh
87969b2a11
When doing a test-to-double conversion on a BLOB with an odd number of bytes
...
and assuming a UTF16 encoding, ignore the last byte.
Ticket [9eda2697f5cc1aba].
FossilOrigin-Name: 1c76f1d8ec0937a2d2e4ce75f98494c953e9621db31945d7e44f45d90d1c3892
2020-01-08 12:17:46 +00:00
drh
ded33ccea4
Fix a minor formatting error in the display of BLOB values during VDBE
...
tracing.
FossilOrigin-Name: 295442887a3cd5868df26c5be244649ffb3bae8367f5cf02fe513424a1c9f6a7
2020-01-08 11:36:30 +00:00
drh
4a62581b32
Improvements to the documentation of sqlite3_create_collation().
...
FossilOrigin-Name: fa866aec56deca8cc1b70814215bbdc683f41bc0826da0f8804d952de429820c
2020-01-08 10:57:27 +00:00
drh
f8f76d672b
Simplification of the logic in the constant-propagation optimization.
...
FossilOrigin-Name: 1c3e5c20a9e6f501befa2bf6241a1b5190872bd83b765dac67065d252d04ea4f
2020-01-08 04:36:01 +00:00
drh
c9301e6e7c
Fix the constant propagation optimization so that it does not try to
...
propagate constant expressions that have affinity. Ticket [82ac75ba0093e5dc]
FossilOrigin-Name: 6db1c3498f6bfa01bb460e62b802b63ec4bf43577a17a94e1e2fa0ecc1e64960
2020-01-08 01:43:47 +00:00
drh
97bffe674f
Fix a misworded comment. No code changes.
...
FossilOrigin-Name: ee0bc7ede0fbf3e54bb934c0d580c62d7393c984cbc374ece6d57fe9211dac26
2020-01-08 00:39:37 +00:00
drh
2b1c2aad9f
Create the "trusted_schema" pragma. Add sqlite3_vtab_config() calls to set
...
the risk rank for many virtual tables.
FossilOrigin-Name: 4c21373c21c9b17b222ae65297a039a035e6ec6b505c00c33704e3c03f94f834
2020-01-07 19:45:40 +00:00
drh
3f68142b82
Enforce SQLITE_VTABRISK restrictions.
...
FossilOrigin-Name: 3d87ff312e617a26846d482b423163cad9c222513f33e128f0fe348dda27c7c9
2020-01-07 18:10:56 +00:00
drh
406dfcb843
Fix a performance regression caused by the previous check-in.
...
FossilOrigin-Name: d7d98d3dff2f0e0cfa5bb8be8e5fd2af5ab470be399eafe3d77b23ee1262f70d
2020-01-07 18:10:01 +00:00
drh
b77da374ab
Invert the UNTRUSTED_SCHEMA setting to be TRUSTED_SCHEMA.
...
FossilOrigin-Name: f5fcf1fbc6473f8e91315b14d67745f2748010641b7463d1f4ca51e6fdf97462
2020-01-07 16:09:11 +00:00
drh
46d987405c
Merge recent fixes from trunk.
...
FossilOrigin-Name: 5dfa33a09e608d26549e46c58a5563754688af68fa99415f9a548e91f81aca7c
2020-01-07 15:44:22 +00:00
drh
1402b8e5b6
Merge enhancements from trunk.
...
FossilOrigin-Name: 9c50f6c28a4cadb2c33954c066a8e94f8aaf4c31b6c0309db35efc472cb0bcaa
2020-01-06 19:30:36 +00:00
drh
2928a15b3c
Refactor names of flags for improved legibility.
...
FossilOrigin-Name: 411e8ec2219bb4181aaf2209fb1e7baf5e8df8b8c8adb82a69b48cf7e8e7e7d4
2020-01-06 15:25:41 +00:00
drh
67c826536f
Refactor the names of the new controls for restricting what actions the schema
...
can take behind the application's back.
FossilOrigin-Name: 65d7d39a858c51ffd781f5a6335e029895e597aeb1e1ccdadea8ce79c8ad412f
2020-01-04 20:58:41 +00:00
drh
337ca519e1
Enhance PRAGMA function_list to show internal functions if the direct use
...
of internal functions is enabled via the SQLITE_TESTCTRL_INTERNAL_FUNCTIONS
test control.
FossilOrigin-Name: 7a8d7ca726666f4384925f959df0d58f7622229e06f1b5e643a3caccd539bb6e
2020-01-04 19:58:28 +00:00
drh
0ad4f792a9
Merge all fixes and enhancements from trunk.
...
FossilOrigin-Name: b878c30f03e895bbc5c4c99c0f727d49093bb78bdc275593cf4852148579ae69
2020-01-04 19:19:54 +00:00
drh
af23236660
Merge the latest fixes from trunk.
...
FossilOrigin-Name: 26ef709a47294c512a70aecd37d29caecec2af261977d9fb2c4d78d09b12f77a
2020-01-04 15:37:57 +00:00
drh
79d5bc80c7
Enhance PRAGMA function_list so that it shows all instances of each FuncDef,
...
the number of arguments, the encoding, the type, and the flags. Use this
capability to locate and fix incorrect function flags in the standard build.
FossilOrigin-Name: 9ca906d24a2e88eddb2fd067783512b66cfc49dce1596d816a1c38a09d128218
2020-01-04 01:43:02 +00:00
drh
4be621e1ba
Invert the SQLITE_FUNC_SAFE bit to be SQLITE_FUNC_UNSAFE. The external
...
bit is still SQLITE_INNOCUOUS. It gets inverted as the appdef function
is registered.
FossilOrigin-Name: 1c266cb3be46d26e640752a99979acb1a1809361ba70ca3fca981c42383c360e
2020-01-03 21:57:53 +00:00
drh
c4ad849921
When UNSAFE_IN_VIEW is disabled, only allow functions in views that are
...
tagged with SQLITE_INNOCUOUS.
FossilOrigin-Name: 9ee79b254e4c51a2a41f7ed49ad389d8d7105e649483adb79772052fa0ade3c0
2020-01-03 20:57:38 +00:00
drh
9ee00200ef
Merge fixes from trunk.
...
FossilOrigin-Name: 002406df22995880d002be2e4cebb4d560283d4e0d7a4b5a34edcb110802b543
2020-01-03 15:22:54 +00:00
drh
618ee33614
Merge enhancements from trunk.
...
FossilOrigin-Name: 091403a6705f5f1352c76eacbfdca75fe0bab12ab9b156842641de07c38d3f66
2020-01-02 23:50:50 +00:00
drh
b945bcdaf1
Experimental branch with new sqlite3_db_config() options that could possible
...
enhance security for applications reading potentially compromised database
files.
FossilOrigin-Name: 96a2db2612f2e47bbec0e374a242820c88f03c42ccbf8467abccaef41469bae2
2019-12-31 22:52:10 +00:00