3640785453
Add an SQLITE_TESTCTRL_OPTIMIZATION mask that can disable the query planner
...
heuristics that are designed to help with star queries.
FossilOrigin-Name: fec4ff185a2f3f1bee8f27432206276636cf27365d2d41cd7282f8c0425f2e96
2025-01-19 19:14:21 +00:00
0f4de9bf9d
Add a simple test case (many more are coming soon to TH3). Fix an obsolete
...
assert().
FossilOrigin-Name: aa829a131a3431791083cf60d9cf00e7b3c0fafdd39a23e761b629a2287ab875
2025-01-18 21:19:02 +00:00
50c4420030
Add support for automatic query-time indexes on WITHOUT ROWID tables.
...
FossilOrigin-Name: 89c4cbd9529081941d7283a401c4a8d71b241f4577ebf6d3eb2ebe5a1cf92f2e
2025-01-18 21:00:19 +00:00
e432f2a316
For the purpose of the query planner heuristic added by [38db9b5c83], a query
...
should only count as a star query if the fact tables are connected to the
dimension table by an INNER JOIN. If a LEFT JOIN is used, then the fact
tables are constrained to be in inner loops anyhow and so the heuristic does
not make any sense. But it does interfere with AUTOMATIC index creation, which
causes the performance regression reported by
[forum:/forumpost/d87570a145599033|forum post d87570a1455].
FossilOrigin-Name: 0852c57ee2768224af79910e6f26e70a4962651dae0f8b45cbfc847e6707d7bb
2025-01-17 23:49:40 +00:00
c5dd908c89
When two indexes have the same cost, use the narrower one (the one with the
...
smaller average on-disk row width).
FossilOrigin-Name: 398559678f2b9a65b245ed73b4d512c4fccc69d42b5a6a1c1b7755a80b69d073
2025-01-16 01:47:03 +00:00
65d0312c96
Check-in [da9124fee28c155c] broken the new SQLITE_IOCAP_SUBPAGE_READ mechanism
...
for inhibiting direct-overflow-read. This check-in fixes the problem.
FossilOrigin-Name: 113078d555eaf740666680562ebbb04f7d823b72e8b2d553627e54ab3d7bf653
2025-01-15 21:13:38 +00:00
d1047faad6
When choosing between two indexes with the same cost, pick the one with the
...
smaller predicted number of bytes per row.
FossilOrigin-Name: d4bd0d4214551f88f248698fefc821575b722ce5c194d0b3796f572e4704f641
2025-01-15 20:23:22 +00:00
874b5e9fbb
Variable names and conditional logic simplified in where.c. These
...
changes are cosmetic only and do not affect the resuling machine code.
FossilOrigin-Name: dbc2d6a244fdafd208239894dbdd8f139db6ca20dd8f1ed00d87028e0cb60570
2025-01-15 19:30:10 +00:00
ff6bff4059
Have windows SQLITE_ENABLE_SETLK_TIMEOUT builds block indefinitely if the busy-timeout is set to 0x7FFFFFFF.
...
FossilOrigin-Name: daefcafe799ad7613cbdff1fb1e9d40659892906875b28fbc112abd7679e48ea
2025-01-15 12:45:38 +00:00
f1747f93e0
Remove a stray tab character from a comment.
...
FossilOrigin-Name: 315079b150b47e013e2cde4985bc39d24e0f6f6c6e60f9383fb8ea4ea897c67a
2025-01-13 13:32:56 +00:00
43afab28a0
GCC 13 has become more quite pedantic about the signature of functions matching the
...
type of pointers through which the functions are called. Make adjustments to
extension functions and test procedures to work around this. No changes to the
core.
FossilOrigin-Name: ed83b79100b4345235aec990303c4526874f0c2f8701160c4639a80633ebaf70
2025-01-13 11:28:34 +00:00
14bc98d8e2
Fix harmless "implicit fall through" warnings that suddenly appeared when
...
I upgraded to gcc-13.
FossilOrigin-Name: 3e2875dac27de1525d9c78f38ac5f1fc12fec7e1b43dbdf47798b128fae49084
2025-01-11 16:28:41 +00:00
4b5e8c926a
Better job at suppressing harmless scan-build warnings. This time testing
...
and working.
FossilOrigin-Name: c847973947de67579fab78a65ecfc90bf59fd5db0b7fa7a9c1abb1fc92213d01
2025-01-11 14:43:47 +00:00
27661f24cd
Fix harmless scan-build warnings.
...
FossilOrigin-Name: b93af6feb7c0c3af30a47810a7c0e77ce41c386fac164c64bb5871a6c153db7e
2025-01-11 13:59:42 +00:00
fd11e5c082
Improvements to [14b38ae6ab86a314] so that the Tcl interface is better able
...
to work with boolean values in both Tcl86 and Tcl90.
FossilOrigin-Name: 4e85343d6107a46682b549667410c296d7f4d17e3ac04ded7357afcbbfbe3e6d
2025-01-07 16:36:47 +00:00
ece1729958
Fix a memory error in test logic introduced by [8704034254938662].
...
FossilOrigin-Name: 8a56e98d257e280d308b9fdc26e17e202f00a70fb9a780e30924e87a189fc7f4
2025-01-07 15:39:57 +00:00
4717d573e4
Make the TCL extension aware of the booleanString type within TCL.
...
FossilOrigin-Name: 14b38ae6ab86a314a63ca9513850b43fcc670864f94d03a2706eff469980da88
2025-01-07 12:14:32 +00:00
e53393250a
Fix a typo in the previous check-in.
...
FossilOrigin-Name: 7d41885e85b0e2ef28bac34d663af07c35b21ee3e8b14481d2371f623bce681d
2025-01-07 11:54:43 +00:00
4a6896379f
Minor fixes to tclsqlite.c to promote portability.
...
FossilOrigin-Name: dd934f032fa6fc790a951006512e3ed76a5f2930858932918eafdbe3ceec4620
2025-01-07 00:17:54 +00:00
a5dbae3781
Fix a minor problem with the sqlite3_get_table_printf() test interface.
...
No core changes.
FossilOrigin-Name: a0df29c7a3eb4f558aba00598d827643830591def3101a4d5464543527b8d13c
2025-01-06 18:32:53 +00:00
1388a71690
Allow the 2nd argument to ".param set" to use previously bound parameters,
...
as suggested by [forum:/forumpost/823e1bd746|forum post 823e1bd746].
FossilOrigin-Name: 13a35ad792dc0afe1f7b60230aef392ae01e702972b963d732e332f21848f38b
2025-01-04 19:50:44 +00:00
ded37f337b
Add comment to the columnIsGoodIndexCandidate() routine to record the results
...
of a failed experiment. No changes to code.
FossilOrigin-Name: 9ee57a30a49d9813bf2669a5d8346f7e018e3fbf1792739951311a8d3a249d45
2025-01-03 11:51:50 +00:00
04364cb3cc
Improve the treeview output for CteUse objects.
...
FossilOrigin-Name: 2b16d6947ca4a102ddab4d5ba3e340a75e1e5c28e45e874ee5ff52f9b5fb964f
2025-01-02 21:23:25 +00:00
db258d8ff7
Improvements to the display of subqueries in the FROM clause for treeview
...
output. (Debug and analysis code only - does not affect production builds.)
FossilOrigin-Name: 4a2d65cdcdd3d21bb7d9ea0efb434484f1b8642c2bb6457db58bc2a5f4fc16e5
2025-01-02 18:43:29 +00:00
3835cf6ea1
Add a test case for ROLLBACK TO of database truncate operations made through the sqlite_dbpage vtab.
...
FossilOrigin-Name: eb335beb1eb9ebbea4cb793d24f65787d0d9d8539bc6b5971e4e4298fdfce0c2
2025-01-02 15:27:15 +00:00
a683b055fb
Improvements to the way that truncation is implemented in sqlite_dbpage().
...
FossilOrigin-Name: ac4bb2e4ecf0bdb0d8ac12b1ccb42d51af02f519a038cfc79faab5c216971056
2025-01-02 15:03:13 +00:00
71d6456f59
New assert() statements to show that the sqlite3_value.db field is initialized
...
for MemArrays.
FossilOrigin-Name: 7cd8ccf57d1ae0f597ec5004201395f61ef4750728f3c1b9c4dd52d28916a4f7
2024-12-30 13:54:52 +00:00
6b19c72f26
Add an extra assert() to releaseMemArray() just to prove that the
...
sqlite3_value.db field is never NULL.
FossilOrigin-Name: b969ef1def5121c7ff54e3586528274f006ca994b308cf88ccaa9d4f56bf30df
2024-12-30 12:29:18 +00:00
e0190a6984
Fixes to the substr() SQL function so that it can handle ridiculously large
...
numbers in its 2nd and 3rd arguments without signed integer overflows.
FossilOrigin-Name: c1de8f916ea617109a903c436c57d082756fbb2b933ba9ce6998b9b912b12dea
2024-12-28 12:32:01 +00:00
362d51a159
Omit code to link all winShm objects open on a single node into a list. This is no longer required.
...
FossilOrigin-Name: b400ab4ba99d3ed7e90c93257d729563c630ef451017a702d42f322a4e57b663
2024-12-26 16:10:15 +00:00
4e3b6a14fd
Merge trunk changes into this branch.
...
FossilOrigin-Name: 3e2893097c59820def88bb4739189c9c9a4f70a98a0a72b81959658f069715f6
2024-12-26 14:40:11 +00:00
ce50282c3b
Properly wait for asynchronous results for calls to LockFileEx() on FILE_FLAG_OVERLAPPED files even if LOCKFILE_FAIL_IMMEDIATELY, which usually causes LockFileEx() to return synchronously, is specified.
...
FossilOrigin-Name: 35b3e73c5a9efa12f9bb0dad1721fce128cd1e3bcbc87027ee4ea685a12a70d5
2024-12-24 14:44:38 +00:00
ccfb50d55e
Correction to check-in [a9759fc78d6cb0df] - printf() parameters values must
...
be integers.
FossilOrigin-Name: 2db531d1911369ea932d3559abcc02389e5f9ad72b46b0801dfb6063855aee1b
2024-12-19 19:52:13 +00:00
be2a40d489
The BTree mutex must be held when calling sqlite3BtreeLastPage(). This
...
check-in fixes a bug introduced by [cf8b99e17872c054].
FossilOrigin-Name: e6c30ee52c5cdc193804cec63374d558b45e4d67fc6bde58771ca78485ca0acf
2024-12-19 19:02:09 +00:00
2dcd4fad6b
Fix additional integer overflow problems in the substr() function.
...
FossilOrigin-Name: 472abb492f1d1553ae6bdf53cc64bebfe75423526335beab7eaff26cc495cd7d
2024-12-19 12:08:39 +00:00
b097ef29d1
Fix possible integer oveflow in the second and third argument to substr().
...
FossilOrigin-Name: b04b4006f38f83d36eaf43c4bace7d53866b02b45e0ddcf1704266fed3bfc11c
2024-12-18 20:29:29 +00:00
47bc07d425
Avoid 32-bit roundoff error on the second argument to round().
...
[forum:/forumpost/170aeab92a|Forum post 170aeab92a].
FossilOrigin-Name: a9759fc78d6cb0df7c81f20c2c5c358729e571ebee50ee2b1441a15239d0b4b6
2024-12-18 18:29:19 +00:00
2fb488d10a
Do not attempt to truncate a database in sqlite_dbpage if the database is
...
not larger than the requested truncation size.
FossilOrigin-Name: cf8b99e17872c054e7ac0832d12633ce497c843dfc67148daf3b17762fd2b424
2024-12-17 14:32:37 +00:00
32dd04b41e
Code formatting changes to make trunk more like wal2.
...
FossilOrigin-Name: 8f725472b0fe62359a4cd3237b43d7b834e042d8ce425abde06e3ed6c62dbafa
2024-12-16 18:04:39 +00:00
800bf8fd93
Fix a problem on this branch causing a file-handle to be leaked following an OOM condition.
...
FossilOrigin-Name: 5ca12dc964b2d8c3d11a2be5be7eac0dc994cec3a8b5fdfeac4ff8dde19a5a93
2024-12-16 15:13:34 +00:00
bd1a5932d9
Changes for better alignment with the wal2 branch.
...
FossilOrigin-Name: 4fab85b3d0d1cad2d185f2456de7ddf281badf8561cc051e10e16655441dcc84
2024-12-16 13:25:49 +00:00
276172e4a3
Remove unnecessary end-of-line whitespace.
...
FossilOrigin-Name: ae580443d210811c12209866112fc8b0b83281e24945504b748a17d93ad84062
2024-12-16 12:08:47 +00:00
9ee02515c4
Fix a harmless compiler warning that comes up when using SQLITE_DEBUG in
...
separate compilation mode.
FossilOrigin-Name: 52e0f8cab9852538da0778d5f57dd85b0774e764157692111a007aecd963f10a
2024-12-13 01:29:22 +00:00
d26bb375be
Fix a buffer overread in test code. Add test configurations for ENABLE_SETLK=1 and FOR_WINRT=1 builds to release testing.
...
FossilOrigin-Name: b558db5db7e7c9aced1d24d74dc5ee2fab7cd04ec6570247c9c45723eb6f8fc0
2024-12-12 20:59:32 +00:00
35d302ccb1
Increase the maximum number of arguments on an SQL function to 1000 with the
...
capability to increase it further up to 32767 using a compile-time option.
FossilOrigin-Name: e8d7d68ba0bb0bc2f948db5d9966990a5d23597fc3658b7cd0bc99d53c7353a9
2024-12-12 15:11:27 +00:00
b1ad83a342
Ensure that all win32 API functions invocations in os_win.c are made via the function table. Fix asan error in test code.
...
FossilOrigin-Name: 2ffdc799c63ff8858f2aa9177ca9c74be2df5d7594cb10fb0a233537d83fd563
2024-12-11 15:30:58 +00:00
d50eb9c999
Ensure windows may block on a SHARED (but not EXCLUSIVE) DMS lock.
...
FossilOrigin-Name: 55e4e7bb0074859e8c3e736e7eceb69af8408ce75135f5baa09e98aaf4e2a321
2024-12-10 19:00:07 +00:00
50ebf16dd6
Merge latest trunk changes into this branch.
...
FossilOrigin-Name: d67a42d62555cf9294e11a04d3c7cfdf11ca7978d60fc085f5a73e36aff8313e
2024-12-10 17:36:20 +00:00
6e53f67c63
Fix harmless typo in a comment describing the columnMallocFailure() function.
...
FossilOrigin-Name: 0f3b484fd71fd77947a1de7c24f35f8eed2911d0565d03edb7970b8f3092a5da
2024-12-10 12:32:34 +00:00
e57527c14f
Make the TCL interface more rebust against very large strings coming
...
out of TCL9.
FossilOrigin-Name: e2bae4143afd07de1ae55a6d2606a3b541a5b94568aa41f6a96e5d1245471653
2024-12-09 20:46:36 +00:00