1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-02 17:02:34 +03:00

19158 Commits

Author SHA1 Message Date
dan
c87d7bede0 Fix a problem with window functions min() and max() when used with a FILTER clause. Forum post [forum:/forumpost/e9126d554a | e9126d554a].
FossilOrigin-Name: d15fb0f75e64bbfdb8df0c0d0358aafbbd7d5e2048df676dafe1abd5e9917f2a
2024-11-14 14:38:16 +00:00
drh
26c080a04b Fix a memory leak in the ".dump" command of the CLI that can occur if an
error other than database corruption is seen while trying to query the
database.

FossilOrigin-Name: 2560cc7072c923f534a5de1e15d2b0dd4ac5faf0a8876d9e3bf9804345585444
2024-11-13 18:04:49 +00:00
drh
1b37bc0e66 Add the SQLITE_FCNTL_NULL_IO file-control.
FossilOrigin-Name: f0e917fcf51b59f8ccfe5b9341937341d0e6016eb275d6c33dcb10b0b301a9da
2024-11-13 14:58:35 +00:00
drh
7b32f84ebf Clarify the documentation to make it clear that rows inserted by a
CREATE TABLE AS SELECT statement are not counted by sqlite3_count64().
[forum:/forumpost/1e6cde5648|Forum post 1e6cde5648].

FossilOrigin-Name: 5c5982e3937acdcda43d6c5b46a95b82bc1839c3558a4b9ae9022384e0f13f04
2024-11-11 21:11:02 +00:00
drh
be46f935dc Add the ".dbtotxt" command to the CLI.
FossilOrigin-Name: b43acf5a8cd4a5efbb90b71af7710084f49bb90ffe4f56de168e8c3a6b679124
2024-11-11 19:07:58 +00:00
drh
4ddeccfc15 Increase the minimum SQLITE_LENGTH_LIMIT from 1 to 30 to avoid problems doing
simple things like converting strings into integers.  See also
[8fd5b8ec4ab9b555].

FossilOrigin-Name: 6aa01707af4bd96f0f173f9e87f2398be7e6f246f59baa117092849a626b2d61
2024-11-08 20:57:45 +00:00
drh
c00d89d599 Further improvements to the ".mode json" output in the CLI.
FossilOrigin-Name: 6201b5707f8c895028f9c08cb4f83d33a16a91bf04ed3830ac51aa763d6b7205
2024-11-07 12:03:53 +00:00
drh
edf7efc61c Improve the ".mode json" output of the CLI so that it encodes U+007f using
an escape sequence.

FossilOrigin-Name: 8b58cf9bbd3090c60f1ee7468cdeeb0b0fa4560d1e51a5fd0bef43692d10fe04
2024-11-05 23:26:31 +00:00
710d00aa6f Change a (#define HAVE_FCHMOD) to (#define HAVE_FCHMOD 1) per user request in [forum:24cf6020c6|forum post 24cf6020c6]. There's no semantic change for this tree, but this is consistent with how auto-config tools would define it and the empty #define interferes with some downstream code.
FossilOrigin-Name: 9c46d84f3bf2f5876211b498104067d32a4000979fad1345deb1000c23716d75
2024-11-05 02:38:32 +00:00
drh
c6a6f1507c Fix harmless compiler warnings.
FossilOrigin-Name: bc93e17924f732468282c5e7a483811d27af573a47aec8ba806f4fe3c5919893
2024-11-04 19:18:19 +00:00
drh
bc60d7bee9 Ensure that the database encoding is detected before the code generator gets
too far down into byte-code generation and execution, but not so early that
it interferes with initialization.
[forum:/forumpost/bc75a4d20b756044|Forum thread bc75a4d20b756044].

FossilOrigin-Name: af7173a10ec6a4ab465207c1ee20393e8b5f06604c0f3b2fdc19e52c2fc013d5
2024-11-04 19:08:53 +00:00
dan
4bf24c8830 Avoid loading the entire record into memory for an sqlite3_preupdate_old() call that retrieves an IPK value.
FossilOrigin-Name: 7f4de43733200beeb3ff0a70d51bbc68f5331895698ea95a82741cfd7bb66834
2024-11-04 16:59:02 +00:00
drh
d27f6d7881 Extra defenses against UAF when failing to allocate a transient cursor. No
known path to a UAF currently exists.  This change just helps with the static
analysis to prove it.

FossilOrigin-Name: bae05811116dae0d05bcc001655416d0316ca1c16cbde2bd49f691c832261b89
2024-10-31 17:23:40 +00:00
drh
9bcb0a510f Fix the CLI so that it can use either the canonical Antirez linenoise
(with HAVE_LINENOISE=1) or Steve Bennett's enhanced linenoise that works
on the Win32 console as well as on Unix (with HAVE_LINENOISE=2).  The
./configure script detects which one to use and sets HAVE_LINENOISE accordingly.

FossilOrigin-Name: c0048e4482e9cb9662637899922af9609e7c8fb002a37b71e6181074df7a0dd1
2024-10-30 14:03:56 +00:00
drh
8b3ba8eb5a Enclose the generated "sqlite3.c" and "sqlite3.h" in a single big #ifdef so
that if they get truncated by more than a little whitespace, they will not
compile and the truncation can be easily detected.

FossilOrigin-Name: c3b624e2a903f0c975bc8b7288b98616a4a22b2a574738d1f578bfad1d6d8b91
2024-10-28 22:35:32 +00:00
drh
bc4df6079c Remove the never-used and never-documented and long-ago deprecated
user-authentication feature option.

FossilOrigin-Name: 3a3f7bf4307c27e56546e51da06ecc9a262cdf155fda2dd359aa2326d207a147
2024-10-28 17:27:15 +00:00
drh
42516b2ef9 Omit the antiquated and long-unsupport async extension since it has been
superseded by WAL mode for over a decade.

FossilOrigin-Name: 10b1b86821bfc21377e7ccceb31146ab01aa6eaf418b85a204abcab5b793958e
2024-10-28 15:38:53 +00:00
9905e7e22b When readline is enabled, attempt to determine whether the completion API is compatible and, if it's not, disable it in the shell app.
FossilOrigin-Name: 4564dbe4ac0040803b5d139c9fff22a60a45b4769d80ad7c824456cc6b9f1722
2024-10-27 18:46:11 +00:00
drh
5598a3f8da Help systems still using Tcl8.6 to compile tclsqlite.c by changing a
typedef into a #define.

FossilOrigin-Name: 82ab8ff399aafa3a1faec9c85e9d6bdd26636f28f3ea22287999a868bb78db57
2024-10-27 10:33:47 +00:00
drh
4f237f8def Fix harmless compiler warnings. One of the warnings was code that
deliberately committed memory errors to test the systems ability to cope.
But compilers don't allow that any more, so we'll have to leave that
capability untested.

FossilOrigin-Name: 7e7b3b2edbb580c9ac14f21e5caa8f2f6b171d9a7ce6cb336dc0c8db76da7e8c
2024-10-24 15:36:29 +00:00
drh
deb5ad6297 Reorder conditions in sqlite3PagerDirectReadOk() for coverage.
FossilOrigin-Name: da9124fee28c155c4d1cc0d3949eb7b588a7236c12883a010af7909ad8e534ef
2024-10-23 11:33:56 +00:00
drh
98772d6e75 Fix harmless compiler warnings in wherecode.c. One such warning was
identified by [forum:/forumpost/721675f007|forum post 721675f007] and the
other was found by tool/warnings.sh.

FossilOrigin-Name: 987b96aa636c1801f87d3e1c75d34d45c5b6f437bcc6d150298675447ed16b5d
2024-10-23 11:06:56 +00:00
dan
3dbddc5507 Changes to EXPLAIN QUERY PLAN to identify covering index plan that use indexes on expressions.
FossilOrigin-Name: 29fb4919b6118b3b9ae411ec2ed5b59db7fae281909501c5fa238221ba635db5
2024-10-22 20:16:41 +00:00
drh
96501c89d5 Rename to SQLITE_IOCAP_SUBPAGE_READ.
FossilOrigin-Name: dd446ef1816f4e95ce29de0b3841dd0a6c983646fd2dd271c2db8f3263478164
2024-10-22 18:26:03 +00:00
drh
c8284c766a Add the SQLITE_IOCAP_BYPASS device characteristic. Do not allow the
SQLITE_DIRECT_OVERFLOW_READ optimization if that capability is missing.

FossilOrigin-Name: f50ae00ce9ff572e6bd5e2788602ba356383526ab7289622a32fbf52926c6df0
2024-10-22 18:00:26 +00:00
drh
76e48f4d66 Do not typedef Tcl_Size if it is already #defined.
FossilOrigin-Name: 53491688cf622ca317b3ff56156e601c2bdfffc94e4fe471ca82d5ba1d9e875f
2024-10-22 16:19:14 +00:00
drh
4da761773e Move the #include of hwtime.h from the bottom of util.c to the top of
vdbe.c so that it will be available when needed, even for non-amalgamation
builds.

FossilOrigin-Name: 5f23036a87f443c82fa7fd48fdac16a31128bb9288b71f97228c29bcfeb632fb
2024-10-19 13:20:34 +00:00
624cb96f54 An assortment of comment typo fixes discovered by aspell. Add several new words to tool/custom.txt. No code changes.
FossilOrigin-Name: 59b76a99e4a28f4cc8c4f9f39ff6e039c4d29cb7b44183f1902b5792638656d2
2024-10-19 12:39:06 +00:00
drh
c2e400af04 New assert() statements to validate OP_OpenEphemeral logic.
FossilOrigin-Name: 6d55c3e238e06c6727f3e816a9268b6222ebfc90ec745bbbd48430bf7b16664c
2024-10-18 01:14:14 +00:00
drh
fe15ed4342 Fixes from code inspection:
(1) Extra paranoid defense against integer overflow.
(2) Remove a stray blank line in an FTS5 comment.

FossilOrigin-Name: 8563728deeb1d3ead9ff99a3ad2c7819b2223ead44e7374ecc7bbeda2d955ade
2024-10-17 18:12:03 +00:00
drh
f578ce102e Change the name of the new utility program from sqlite3-rsync to
sqlite3_rsync - dash changed to underscore - for consistency with the
preexisting sqlite3_analyzer.

FossilOrigin-Name: 86e794cbaa5ae600635c933b46298a39f2465daf4c5cd1570f2a03e19ac08d9d
2024-10-16 11:05:11 +00:00
drh
87cb97b0ec Fix harmless compiler warning in flockCheckReservedLock().
FossilOrigin-Name: f369de3d8fa34a403b5c9f6269f7e3fdb16a13784a70460c5032ad4e66615d64
2024-10-15 22:22:53 +00:00
drh
1b59f37c06 Fix a typo in a comment used to generate document. No code changes.
FossilOrigin-Name: 9b4bc5c4c1dc7c4ba359babc71c07ac3a6719971766951a8d2cb1df9e2396a83
2024-10-15 14:28:23 +00:00
drh
dcaae8fd4b Cross-reference the sqlite3_backup_init() function to the documentation for
VACUUM INTO and sqlite3-rsync.  Comment changes only.  No changes to code.

FossilOrigin-Name: 405c23ce02cc7f970e732afc26e01d0267b8fa89d8edc3d53fae2b3bc8405cbb
2024-10-15 14:00:29 +00:00
drh
4924847cb9 Avoid the possibility of buffer overrun in the READ_UTF8 macro by using
an less-than operator rather than not-equal-to.

FossilOrigin-Name: 20e60bf058c54bc818ea1b8ce54ace8bcd50699734713cef622bf79e49a9a279
2024-10-14 18:43:04 +00:00
drh
5899d9c08f There is no need to DELETE the content of sqlite_sequence in the output of
the CLI ".dump" command because that table will initially be empty if it
exists at all.  [forum:/forumpost/2e31f49d00472cec|Forum post 2e31f49d004]

FossilOrigin-Name: 8d7fe903d09a2a7961f506b2c8e93765e4feb7cd48aac436d75c7ec7838e856a
2024-10-14 11:48:19 +00:00
drh
39b9249562 The CLI now default to ".crlf ON" in Windows. CSV output always uses CRLF on
all platforms.

FossilOrigin-Name: 84d19f03b1989d665547745defcd95fc927f8389ed65c76195a39206435791ba
2024-10-14 10:45:02 +00:00
drh
863fcdc116 Be consistent about using "CRLF" instead of "CRNL".
FossilOrigin-Name: ec4f4cfd5f8ca83fad4f08cf6566251d9c63e50a3a4284baca299bd94b047951
2024-10-14 09:19:02 +00:00
drh
72fea11809 Fix a harmless compiler warning in the CLI.
FossilOrigin-Name: 31c46e84fffe29c45fc63ae8cd1f96f42196f0ab56e72cd07b4eedbd9058e85b
2024-10-14 09:08:02 +00:00
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
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
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
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
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