drh
997670f997
Check-in [70e12efd1b189560] left a path through lockBtree() that failed to
...
set the BTS_PAGESIZE_FIXED flag. That omission is fixed by this check-in.
dbsqlfuzz 02c9ab74eb0619c9ae3b894ce157fae1d7f94645
FossilOrigin-Name: 30dcc872eb1c9549708009c86357826c4f15ffa17e379dab5cd4aec596643728
2023-06-12 13:31:20 +00:00
drh
26d71f03fc
Make sure temporary sqlite3_value objects used by STAT4 are reset to NULL prior
...
to being reused, to prevent a memory leak associated with
the custom xDel string value destructor.
dbsqlfuzz 65209ab5d5730e4fd14fff9d024325a77239036e.
FossilOrigin-Name: 88be7075cdc7000d3a1e84e49064cf8c28fc7caca9c464f44a83265223961b51
2023-06-11 21:58:20 +00:00
drh
b102d62749
Defer setting the BTS_PAGESIZE_FIXED flag until after we are certain there
...
are no errors and the page size has been set.
FossilOrigin-Name: 70e12efd1b189560e07f59db03a20b8c1ab19224aae4fc3d7c0bdfd2568064ea
2023-06-10 19:33:02 +00:00
drh
26e136bb9a
Fix an assert that can go bad if STAT4 content is corrupt. This is a
...
follow-up to the previous check-in.
FossilOrigin-Name: ac1d3860af4eb30e4a7444b01d7b5afc91a4b1f5e3fe5414a491c6edc7ff1631
2023-06-10 18:40:20 +00:00
drh
04b92471f7
Extra space to prevent a buffer overread on corrupt STAT4 records.
...
dbsqlfuzz 7128d1b41ce9df2c007f9c24c1e89e2f1b2590ca.
FossilOrigin-Name: b99135288b157044e2319833e8632c89483778f876aa45ee66e46ffb6ae42ab2
2023-06-10 17:05:05 +00:00
drh
7520116441
Simplify a memcpy() in defragmentPage(). It now might copy more content than
...
is strictly necessary, but runs faster and uses less code space. Possible
reasons for the improved performance:
(1) the copy is now always 8-byte aligned,
(2) fewer intermediate results are required which means less register
pressure which helps the compiler to optimize the subroutine.
FossilOrigin-Name: 6e5607ae4d872954483a8d7a5c866aa41e4af70fae9652fb7eb211b316ab724d
2023-06-09 15:54:18 +00:00
larrybr
55be21647e
Fix straggler misspellings and tidy the custom dictionary. Also include pickups from [forum:/info/c61fb09afd|forum post c61fb09afd].
...
FossilOrigin-Name: 8c291d99946eb32b20b743921202f9c7cfb716268ff526817b27adbb7942e40b
2023-06-07 17:03:22 +00:00
drh
c5a5a54c51
Remove additional traces of FTS1 and FTS2 that were missed by [2bb50d5aedef0fd2]
...
FossilOrigin-Name: 9a12bac5d24c7a8364d2127fd12c3409a53ef83e408d10f344ddd311cdba98af
2023-06-07 15:00:54 +00:00
larrybr
bc91738e66
Add a C-source spell-checking facility. make misspell (on Nix)
...
FossilOrigin-Name: 26c1bb4bd9e9f56613c3aa87407a7f562fd4ebde5bfd6dece02078001d9a45f8
2023-06-07 08:40:31 +00:00
drh
b3d7f1c2db
Prototype implementation of the octet_length() SQL function.
...
FossilOrigin-Name: 2db989c8635f7e89b3ea58d1fde94787fced039ac1a118d9b6362811eda73f87
2023-06-03 11:22:30 +00:00
larrybr
f1967a7018
Clarify sqlite3_is_interrupted() return. No code change.
...
FossilOrigin-Name: b6c2d3d203100a34335aeba23a8fb82a13297b65eed494d5044ade3bed683bc3
2023-06-02 21:31:15 +00:00
drh
038158e94a
Restore the LEFT JOIN strength reduction that was partially lost in
...
[d747afda5683ca5f] when strength reduction was generalized to all OUTER JOINs.
FossilOrigin-Name: 2d962b84dd8ac2d0968f0283f8f082c1c2a7a1f99b59053b2ad8f58745396447
2023-06-02 18:05:54 +00:00
larrybr
a3f943942c
Do that last CLI fix more simply, using established means.
...
FossilOrigin-Name: a1823b297616bc2bd64eda9df4850fb460d8da8959ae3728195db896d1f89e7b
2023-06-02 13:31:12 +00:00
larrybr
4e8a0eb4e7
Fix CLI fault on missing -nonce reported by [forum:/info/f8c14a1134|forum post f8c14a1134].
...
FossilOrigin-Name: cd24178bbaad4a1dafc3848e7d74240f90030160b5c43c93e1e0e11b073c2df5
2023-06-02 12:56:32 +00:00
drh
4ffcce88ad
Fix the OUTER JOIN strength reduction theorem prover's handling of the CASE
...
operator.
FossilOrigin-Name: 73d7b14b1713d93c4ae07995e9aa6485cbad90bd6125584dbaeccb0cc9410ea3
2023-06-02 00:03:28 +00:00
drh
179c32cb57
Generalize the LEFT JOIN strength reduction optimization so that it works for
...
RIGHT and FULL JOIN as well. Rename it to the "OUTER JOIN strength reduction"
optimization.
FossilOrigin-Name: d747afda5683ca5feb92866a14ccc4c5127d3378ece5cad2c3da819f2477b457
2023-06-01 20:38:22 +00:00
drh
39a7a1a9be
If the filename argument to sqlite3_load_extension() is an empty string, then
...
raise an error. It turns out that if dlopen() is called with an empty
filename, it tries to load the current executable. And then if the caller
requests some other function from the current executable, mischief can result.
FossilOrigin-Name: d01688554715eb4aaa1b1fd1a6b660b84e930edb0e062156ecf5228ee81ca754
2023-06-01 16:40:28 +00:00
drh
f96148c4c6
Add an ALWAYS() on an unreachable branch.
...
FossilOrigin-Name: a00928d48061c1169d5564996e19e7d7c2b962842100bb119846d0f696123c23
2023-06-01 00:28:11 +00:00
drh
e411b69537
Fix the LEFT JOIN strength reduction for IN operators in the WHERE clause.
...
Further simplifications and refinement of the algorithm.
FossilOrigin-Name: 96c72dde79d4069f6c2f81467a35b617633f86f7a7dcafbda991affdaa1f8537
2023-06-01 00:01:20 +00:00
drh
d8cf688469
Add a comment to explain why both sides of an AND must be non-null-row in order
...
for the overall expression to be non-null-row. No code changes.
FossilOrigin-Name: 8396032ce14a75f408f0a75bcb36a6504d5188f20886e275746a2c336a74296f
2023-05-31 18:52:46 +00:00
drh
29e70da4a4
Improved detection of when the LEFT JOIN strength reduction optimization
...
can be applied.
FossilOrigin-Name: f544a8e47cdd5ad7233887a558489983f4f305a39391ff463c43e2e4157da087
2023-05-31 18:35:12 +00:00
drh
d3b54d624f
Minor enhancement to the sqlite3_trace_v2() documentation. No code
...
changes.
FossilOrigin-Name: fba97230e38276f2a02fc24353c3d911dfa24f3a4f75f691de9461d4daf3ae54
2023-05-31 12:42:09 +00:00
drh
7d65f1bec0
Simplifications to the new timediff() logic.
...
FossilOrigin-Name: d6954259bd3f8475f3804fd02a1591d037efa9df54da45776863c024ff90e596
2023-05-30 14:46:30 +00:00
drh
30bb082d3a
All date/time modifiers of the form (+/-)YYYY-MM-DD without the following
...
HH:MM:SS.SSS.
FossilOrigin-Name: fa9237a8ab803ca3f67fe753516b7bdb98be3d625e8e241ddf9b02509210e225
2023-05-30 11:13:56 +00:00
drh
36a5f1e90c
Problems fixed. All tests are passing now.
...
FossilOrigin-Name: cff293b0a79107def7bfe54fd60ac4a721c5098c85229d9b46a4e2c4cbf34a6a
2023-05-30 02:50:32 +00:00
drh
6abbef89e6
Improvements to the timediff() function. Test cases added. Not all test
...
cases are passing.
FossilOrigin-Name: 2cf6518140d61e2123dc20f39d7e97e7bce17e7641405df7fd63e1cdda444ae0
2023-05-30 02:16:33 +00:00
drh
1936a1933c
New date/time modifier: (+|-)YYYY-MM-DD HH:MM(:SS.SSS)?
...
FossilOrigin-Name: 3832b8a9ef84d9b53b48dfce9c1e724897cd7b3e05711e01675419655f894eac
2023-05-29 20:33:33 +00:00
drh
0cbc2143b9
Prototype implementation of a proposed "timediff(X,Y)" SQL function.
...
FossilOrigin-Name: 054a195125a273bab026ada5f07cc7c32818007027a1fd028ca59d2f179276d4
2023-05-29 18:01:42 +00:00
dan
583a5cf5d2
Avoid performing aggregate processing more than once for a single expression. [forum:/info/36ff78b2a3|Forum post 36ff78b2a3].
...
FossilOrigin-Name: 367b4cc549a14222d54530538e692e9d1a365002c1b8c4ef80ddc0523bfdb3a2
2023-05-23 17:35:18 +00:00
drh
ddf6b27579
When converting an aggregate expression to AGG_COLUMN, be sure to remove
...
the EP_Unlikely flag if it is present.
[forum:/info/fbfe330a2009d036|Forum post fbfe330a2009d036].
FossilOrigin-Name: 48e65f18b2ebbe786e84e208f2c6c68de6067ba86912fea5a120fd41d0af2184
2023-05-23 15:16:20 +00:00
larrybr
d294792d1a
Avoid duplicate WIN32_LEAN_AND_MEAN #define. Fix a trivial nit likely never observed.
...
FossilOrigin-Name: 81ffcf41d69ae73ee8c037f675e18e2b46a15bee34062914640456381262d6fc
2023-05-22 20:36:55 +00:00
drh
fe19414331
Improved documentation for sqlite3_reset(), in response to
...
[forum:/forumpost/a72bab3dea|forum post a72bab3dea].
FossilOrigin-Name: 1dfeb3dceee8f30daf5462683f264b9de23e7068e036e70b11ee1b608ac2f7fa
2023-05-19 16:42:49 +00:00
stephan
8e2fd6eae3
Correct typo in an 'extern' decl name, reported in [forum:1d4342156439233b|forum post 1d4342156439233b].
...
FossilOrigin-Name: 6ac18827d8c5be35442dc452af703023c759916c179f165c4e54b3e430a8f7b0
2023-05-19 12:41:14 +00:00
drh
2c6c98dbf0
Fix incorrect b-tree root page reports from the enhanced PRAGMA integrity_check
...
output introduced in version 3.42.0.
FossilOrigin-Name: 9b538f62539bcde7d7d7ad06eccdc558ecbd3f9160db35197568f4d3b4247c76
2023-05-18 23:25:48 +00:00
drh
a03be7987b
Fast-path the btree transaction start for the common case where a
...
transaction is already active.
FossilOrigin-Name: 798c3ff20c606b5f9fde16dc67781f238370a7c450bc239c3a98d0f4ca370399
2023-05-17 19:23:24 +00:00
drh
653882ed8c
Simplification, performance improvement, and size reduction in the
...
codeAllEqualityTerms() function of the code generator.
FossilOrigin-Name: 4fbe02651e877e442d62308d7f607e503695104cd71c5565132fcd1398c120df
2023-05-17 16:13:48 +00:00
drh
60fd5c34ab
New assert() statements to verify that Expr.iColumn is never used as an
...
array index when its value is negative.
FossilOrigin-Name: 6084c5fb6d3fcedf35cd6c597a44ec7bf8b4a2576c7b277e5342d2a7905318e7
2023-05-17 15:46:46 +00:00
drh
9c9b33cbaf
Improved assertions on substExpr().
...
FossilOrigin-Name: 6dbd5b3cc801a75ea23842a43eb7106b62fc1d26dd5a8477a0217325539a7c1a
2023-05-17 13:21:45 +00:00
dan
32a5feb53e
Avoid an assert() failure that could occur in SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds when a WITH clause attached to an UPDATE or DELETE statement created a CTE of the same name as the table being modified.
...
FossilOrigin-Name: 8edf56d1698c3db38250db3b25864f658488414efb3a6b3e1443283b6affd26d
2023-05-17 11:31:51 +00:00
drh
010bd47b98
Fix two assert() statements that failed to take into account
...
the likely() built-in function. This does not impact production code.
FossilOrigin-Name: 8504fe812c5b4956c8acad515d537add54cb591bc81747113f9b24526d7685b8
2023-05-17 00:26:50 +00:00
drh
eb4455e4e4
As evidenced by [forum:/forumpost/f3f546025a|forum post f3f546025a], the
...
new RIGHT JOIN related restriction on the push-down optimization implemented
by [da3fba18742b6e0b] also needs to apply to the automatic index
(a.k.a. hash-join) optimization and to the Bloom filter optimization.
Computation of the restriction is now
moved into the sqlite3ExprIsSingleTableConstraint() routine.
FossilOrigin-Name: 4902015dcf3869f08d9986e422faa231d9218a5e0fc59ba8df0f407e4eb3d605
2023-05-15 02:06:35 +00:00
drh
fa746af4a3
Simplify the interface to constructAutomaticIndex().
...
FossilOrigin-Name: c5da16551619718bf649c517515261706843e11e131f0b99e1fd6927d0f7e238
2023-05-15 01:02:50 +00:00
dan
5e65cd1caa
Remove unnecessary call to sqlite3_dbdata_init() from shell.c.
...
FossilOrigin-Name: 84ca2000007d217f911a3b1586143fc9261c0697a9e9fadda6bd3dd6afdfb099
2023-05-13 19:38:30 +00:00
dan
fd0791587b
Add an "#ifndef SQLITE_HAVE_SQLITE3R" directive to shell.c.in, to avoid including the recovery code a second time if the shell is being compiled with sqlite3r.c.
...
FossilOrigin-Name: 6f1a60fb7b3ef463b4131dfecbc72b7c778c794a9aa13ce4617ab6dd895508b2
2023-05-13 19:13:40 +00:00
larrybr
ea51c09a8b
Mention that sqlite3_mutex_free() accepts NULL as a no-op.
...
FossilOrigin-Name: 603d9ad5012ca8996783996d7b8cd6a1aabf12b21604a2ccc137f4c2d99427b9
2023-05-13 15:34:15 +00:00
larrybr
fb74019a14
Fix unlikely strange result of CLI edit().
...
FossilOrigin-Name: ab3797e844c97fed344b36f30cfb788aca9e0d68c574fb833712219eb712db44
2023-05-12 14:51:00 +00:00
drh
69bc8c70f9
Ensure the _O_U16TEXT is defined for Windows builds of the CLI.
...
[forum:/forumpost/c80aa942dc6bf2|Forum post c80aa942dc6bf2].
FossilOrigin-Name: 504effa89b48c0dc6cd12b3eaf6017be3f32017c601af17759a3cc185346d868
2023-05-12 13:20:57 +00:00
drh
26a3e56649
Remove a stray CR from end of line in a source file.
...
FossilOrigin-Name: 48139fb904de4b7b383e7f8c29bed83ad878eb22b1dd773c366a0aee74613d23
2023-05-12 12:57:44 +00:00
drh
61791c6f4c
Fix harmless typos in comments.
...
FossilOrigin-Name: 607c3efbe0293d7c11a955a9f21e24fb9f7f1bb758e13e60f4ba0cc0ac8b900c
2023-05-12 12:45:56 +00:00
drh
6b429dc11b
Ensure that all prepared statements are expired and forced to reprepare
...
whenever the database text encoding changes.
[forum:/forumpost/43cbfc4d23|Forum post 43cbfc4d23].
FossilOrigin-Name: 469718f106e1cfa7f8f4714a9e743108c361af81e0258061c2b76880a7c352ae
2023-05-12 10:52:12 +00:00