Commit Graph

28768 Commits

Author SHA1 Message Date
dan
14101a3c28 Experimental change to explain query plan to identify covering indexes on expressions.
FossilOrigin-Name: 3bb03a2891e30c58b66e3665a8877a8eab4a8bac57ee153d8d31358caeaf4b7c
2024-10-11 20:36:26 +00:00
drh
4859bc9a9f Update comments in ext/misc/sqlite3_stdio.c to reflect the latest enhancements.
No changes to code.

FossilOrigin-Name: 9621c3b527702b47799538e028f96945b5697752dbb56078aa7f114c72fd4e1a
2024-10-11 19:57:41 +00:00
drh
4dfc4dc2df Add the doc/compile-for-unix.md document.
FossilOrigin-Name: a3e16e478b03ccc12888eb5700c2e480a446957368f4b37ed322af2f4c9cd7c4
2024-10-11 19:33:22 +00:00
stephan
ea7ea76a59 Avoid a segfault when calling src-verify without any arguments.
FossilOrigin-Name: c0c4e6f111b9b16538aad33e83f02f8d7835e952649f5cee610c068722bea4a4
2024-10-11 19:22:32 +00:00
stephan
c85c102efe Add two missing $(BEXE) suffixes, as reported in [forum:9ad28680d394afda | forum post 9ad28680d3]. Problem introduced by [1218a203483cecdc] being incomplete in where it added that suffix.
FossilOrigin-Name: de9663c0aae92e457ddda48b751b32f205bfab29f60b055571e5f69b41ffd584
2024-10-11 19:18:44 +00:00
drh
2623a19ab0 Improved instructions in the TEA readme for building the TCL extension.
FossilOrigin-Name: bf996f710212fbc0c0c67789e3f6f1a805e7b81e0265b312265ca7286e76d6f3
2024-10-11 19:13:02 +00:00
drh
b8d18f321c Update the README for the TEA extension in the amalgamation tarball.
FossilOrigin-Name: acc866c8f1b73fd57f434c5cb2576c2a7b9475a127febbcc27e8c714bbe29a8a
2024-10-11 19:08:45 +00:00
dan
4723539637 Avoid running some new tests in lock5.test with the inmemory_journal permutation.
FossilOrigin-Name: 0b12e2e55c6d4b329f0a7629965f313f48b6d3918d36d3371953c56e0c688a28
2024-10-11 18:59:29 +00:00
drh
ed3cf6ef37 Update the autoconf Makefile.msc
FossilOrigin-Name: 911ab3299771a607a135f0bcde3057b0ed337870362396bf72506210fdff729e
2024-10-11 17:43:47 +00:00
drh
17408fbbd8 An improved method for statically linking sqlite3_analyzer.exe using Tcl9.
Enable wildcard expansion of arguments to testfiture on Windows.

FossilOrigin-Name: 9b87ea219bce5689a69efac31063b9b11928e59124c0d36194715ff7faa5129d
2024-10-11 17:02:37 +00:00
drh
b23cce9a16 Fix the CSV output mode in the CLI such that the line ending is NL by default
but goes to CRLF if ".crnl on" is set.  Make the .crnl command available on
non-Windows builds.  Update the .crnl command such that if it has no arguments
it shows the current setting.

FossilOrigin-Name: da750e39df7bf42330d8c8b266300da07247c9619895861b4cff4be7c94db7cf
2024-10-11 14:30:58 +00:00
drh
0b453b3b33 Avoid undesirable NL to CRLF translation when doing binary output to the
Windows console.

FossilOrigin-Name: d25bdce36abed95524ad058a277aba7bb17270e7ff1476474713dbc29742c762
2024-10-11 14:02:48 +00:00
drh
64366ae114 Improvements to TCL9 support. Fixes to the Makefiles so that the "install"
targets are consistent and so that they work better with TCL9.

FossilOrigin-Name: bcfae7183e92ce37717852bae5b1dd526903fa8429fb6f738c2147d4e5231642
2024-10-10 10:47:37 +00:00
drh
7b179a3098 For compatibility, allow the TCL interfact to continue working with TCL 8.5.
FossilOrigin-Name: 69346e9d4704e8fd82cbb3359913191e05cb38ee591baf97dcfe321db0ea085e
2024-10-10 10:33:31 +00:00
drh
f553588c76 Adjustments to the Makefile.msc to get static builds of sqlite3_analyzer.exe
working with TCL9.  Update the compile-for-windows.md document for TCL9.

FossilOrigin-Name: df16d07d8db042cdb1dc6bb9a00a0265ba791a615d74f9152d0b3344e618fe93
2024-10-10 09:59:06 +00:00
drh
50ec92f7ce Improvements to Makefile.msc: (1) Attempt to find sane values for key
variables based on the value of TCLDIR.  (2) Default to TCLVERSION 90 instead
of 86.  (3) Add the "tcl-env" target that shows the values of key variables
associated with TCL.

FossilOrigin-Name: 6b7a789a416fb62a532882d10e41c7048a6805f5fbbc008f36f9802be45d9ebb
2024-10-09 20:05:26 +00:00
stephan
94fe1ad1c6 Add quotes around $(CC) in tclextension-related targets so that a CC of "ccache cc" works.
FossilOrigin-Name: e8f719d13fbcbaf1b52b421d7af59759b1b4692d4010a68d5865dfeaf3cf8cb0
2024-10-09 17:47:43 +00:00
drh
da1bf77cc2 Fix a problem in the generate_series() extension introduced by
[d50b784807333c54].

FossilOrigin-Name: 41d58a014ce89356932d717843a1fa6e0735f15a7b7265c41ac85a9722a5d826
2024-10-09 16:32:19 +00:00
dan
8f97647477 Fix the xCheckReservedLock() method of the flock VFS to avoid dropping the file lock.
FossilOrigin-Name: f7acb189d8eadf2de2fa992b3ff7293838fd0f8fd3c61e9f0238226a36ea6bcf
2024-10-09 16:28:26 +00:00
dan
48dd75df73 Fix the xCheckReservedLock() method of the flock VFS to avoid dropping the file-lock.
FossilOrigin-Name: 8ffaf85249ff38ceea037a6e96b3484c912f1c1aa55b8642297d592768661344
2024-10-09 15:40:07 +00:00
drh
492925a8f0 Change the makefile to prefer the use of tclsh9.0 if it is available.
FossilOrigin-Name: 28e2b9a23f61530bc5eea364a74817fca03fa31f70d4eefb0942a89c1d79f765
2024-10-09 13:54:24 +00:00
drh
97b0610602 Make it so that the TCL extension installed using "make install" has the
same name as the one installed by "make tclextension-install".

FossilOrigin-Name: e21fc1ba44dc88547fd2cdfaed90717566153880e79d862e2b3e54ba7f8f0a2e
2024-10-09 13:40:49 +00:00
drh
50bb0aaa2c Changes to the TCL extension and how it is built, suggested by Jan Nijtmans.
FossilOrigin-Name: 9c0690193200551a3218c576b19eaf40e330dc252d67b430204ff44495e4793e
2024-10-09 13:19:21 +00:00
drh
4b0a2e0106 Improved handling of unicode characters in the LIKE optimization.
Follow-up to [bce52ce2a6e7f3d3].

FossilOrigin-Name: 9d0eb3980409115f2f6fd1720a03f34e3968c93be55feafdfef20bf5f711c17f
2024-10-09 11:52:29 +00:00
stephan
48d11044ba Add a few missing $(BEXE) suffixes on makefile targets which are apparently never run on platforms where that var is non-empty.
FossilOrigin-Name: 1218a203483cecdc8c9abdc970ad68eba0dfa9cafbed95c63cefb7e8af8babee
2024-10-09 05:20:32 +00:00
drh
7f5a10e4ba Enable the ".crnl" command on Windows builds of the CLI even if the
SQLITE_U8TEXT_ONLY or SQLITE_U8TEST_STDIO compile-time options are used.

FossilOrigin-Name: 6364a2f0449794b0c089ba9fbc099f5558b88ac91c459caf7fae3a43dfcd192e
2024-10-08 17:27:00 +00:00
drh
ab85d9abd6 Additional improvements to the behavior of ".crnl" in the CLI. The default
output mode is O_BINARY so that results are identical on Windows and
non-Windows systems.  On Windows you can optionally do ".crnl on" to enable
NL-to-CRLF conversion on output.  Output to Windows console is always
O_U8TEXT and so is unaffected by the .crnl setting.

FossilOrigin-Name: dbfc10b8981bcce4f875c4adef43f398871b41551074445087e343ded50253c5
2024-10-08 15:11:43 +00:00
drh
dd2deecbbd Fix the .crnl command in the shell so that it does not get undone by
calls to print a quoted string or CSV output.

FossilOrigin-Name: 6b932337c8dee3e52b472a38984e91b5091f3d90c41ac1cc171fa4149cc491c5
2024-10-08 14:07:28 +00:00
drh
eaefd9ccc8 Allow expressions with subtypes to be read from indexes unless they are
being used as direct or indirect parameters to SQLITE_SUBTYPE functions.

FossilOrigin-Name: 39a56a23fec24dd713905457b6d4ed7c148f88e325a26c376f1e6daf147c69c8
2024-10-08 10:10:42 +00:00
drh
7998b889e8 Add an ALWAYS() on a branch in the new indexed-subtype logic.
FossilOrigin-Name: f150c3c5b898975b1f83d61fa589753449a48f8a0007e8e167dbd702528197c5
2024-10-08 00:15:22 +00:00
drh
ddc764b274 Add a NEVER() to an unreachable branch in the new indexed-subtype logic.
Mark the pi() function as deterministic.

FossilOrigin-Name: 50be8f5091b2202b67a80f826feee2c378f001745ad5acb7c4374423bbf6ff22
2024-10-07 21:04:57 +00:00
drh
f7f78a624d The (undocumented) subtype() SQL function should have the SQLITE_SUBTYPE flag.
FossilOrigin-Name: c361dd91841da64fdd009e6eab389ccd81266a24d1070e5313fe1d22e6cef65a
2024-10-07 18:06:17 +00:00
drh
56423385fb Merge the latest trunk enhancements into the indexed-subtype-expr branch.
FossilOrigin-Name: 2fe2f374584b025676684ebe4ef29304883a3b0b125b62abc1dbf74815eecdfb
2024-10-07 16:53:41 +00:00
drh
2813eb3c9e Add the undocumented test/debug function parseuri(), useful for fuzzing.
Only appears when compiling with SQLITE_DEBUG.

FossilOrigin-Name: 011fab70cb3d194b27742ebb236b05be582230567cf78e3e6cac6911de86922f
2024-10-07 12:48:21 +00:00
drh
ce527f2e97 Fix handling of U+fffd in the LIKE optimization.
dbsqlfuzz eee57fb9eea1dfa5aa40dfa87865cf8c84d12f96.

FossilOrigin-Name: bce52ce2a6e7f3d3d1b2807d1ea95243d9b655e557c1bb6f0b8a9a6cefb1aed6
2024-10-07 12:19:23 +00:00
dan
29f976432a Fix an assert() failure in "PRAGMA integrity_check" that could occur when checking a corrupt database.
FossilOrigin-Name: d218993be5886f07193d5c2a66ccd0ecdd7bb87687947b89945c90e31cea5451
2024-10-07 11:47:05 +00:00
drh
fba24d3528 Origin should not send content for the lock-byte page to the replica, in
sqlite3-rsync.
[forum:/forumpost/d14b55e5fa19c25f|Forum post d14b55e5fa19c25f].

FossilOrigin-Name: aa9bd711cc1b0136098388976d22adc0a2fc89f50fe2273ed80ee3e4e50c98b6
2024-10-06 21:26:56 +00:00
drh
74672acd94 New SQL function for testing/debugging use only: parseuri().
FossilOrigin-Name: 37d3b6b17e92b2c760239c3053bbc7fb85091acd688c54a73af7611fe9501312
2024-10-06 15:01:31 +00:00
stephan
2c72c55dca Back out [2f7eab381e16] because the stderr output on systems without gmake causes grief in the testing tools.
FossilOrigin-Name: cc6f3de0320aceb0e9d81413fa4c021ad2b4ee1c72ecef13438d80c4d3701135
2024-10-05 21:44:21 +00:00
dan
d564bdb050 Allow expressions with subtypes to be read from indexes unless they are being used as direct or indirect parameters to SQLITE_SUBTYPE functions.
FossilOrigin-Name: aa440e78e9004c7ca3e03beaf264f54d0070ad7298a3c96ca097d8b35c872e5f
2024-10-05 18:10:02 +00:00
dan
c857b9eb5d Experimental change to allow expressions with subtypes to be read from indexes in situations where they are not used as function parameters.
FossilOrigin-Name: ac63f98ad85a4dd1e49cc64b41f0ca0044153972c15d71c669f4bc3ec590e268
2024-10-05 17:37:19 +00:00
stephan
706fdeebb8 Add ext/wasm to the top-level clean/distclean rules in such a way that any error due to a lack of gmake are ignored.
FossilOrigin-Name: 2f7eab381e16760952d1c90a9119d2a217933f0136442d8f6eeb6d95e366ca4f
2024-10-05 12:02:17 +00:00
dan
c8c95f5149 Fix typo in documentation for SQLITE_SUBTYPE. No code changes.
FossilOrigin-Name: 6733893f450097e07cbd563d6a46790825fd0689283d60181c09793ce7d5509e
2024-10-04 17:02:36 +00:00
drh
51bbf0c7b8 Unconditionally include <ctype.h> in sqliteInt.h, even in builds where
it is not needed.

FossilOrigin-Name: 825f01d7e258ac7981f715fd10708560381b079f0e026abc414cf56d16d862da
2024-10-03 16:31:08 +00:00
drh
1e2834dd45 Fix to the previous: The dbpageRollbackTo() method should return SQLITE_OK.
FossilOrigin-Name: 4dea7221129350a15df8dee5aabd5567e47adda4d255b65d4ba82fd821913759
2024-10-03 10:06:51 +00:00
drh
c51dccbd8b Fix missing return value from the new dbpageRollbackTo() callback.
FossilOrigin-Name: d1e0992e1f2885be9725d872b8688806e06788f3d66a70de86255179d93f74d3
2024-10-03 09:53:44 +00:00
drh
46a62afbab Modify the behavior of sqlite_dbpage so that the null-INSERT that truncates
a database must be the very last INSERT operation within a transaction in order
to be effective.  This simplifies the code and also makes the behavior
easier to document and understand.

FossilOrigin-Name: b869a7d9ce9567a61d2257272032aaee705bbc6158c7f2cd36e7f3ee66d72722
2024-10-02 18:54:40 +00:00
dan
44b8c37017 Fix a typo in fts5delete.test.
FossilOrigin-Name: b1f001435eff72c2119ecee973194385f70fd1b66ef0be8a66c0b0ad02ae43df
2024-10-02 17:43:06 +00:00
dan
c5c3cbc026 Add the contentless_unindexed=1 option to fts5. This causes the values of any UNINDEXED columns of a contentless fts5 table to be stored persistently in the database.
FossilOrigin-Name: 58313ac59e0bd164f601d68a1474f658c5d1c038638e00f3dc15eb58202e661c
2024-10-02 17:04:30 +00:00
drh
3b3f230d95 Adjust the new truncation behavior of sqlite_dbpage(N,null) such that it causes
the database to be truncated to N-1 pages.  This makes more since.  An error is
raised if N is less than 2.

FossilOrigin-Name: 7d5ff86ef7386f4f7f6a956dc0de607e61040d335c9f98d1f71e76a39f4f5e03
2024-10-02 16:55:27 +00:00