415acd09d7
In the CLI, when displaying results in a columnar format, take into account
...
zero-width and double-width Unicode characters.
FossilOrigin-Name: 47cfad71eddc6fc4414ff853ee172da72527620eee743721806072c6e0a80caa
2024-09-24 00:01:47 +00:00
1d9db01065
CLI uses only lib-c for I/O on Windows. No calls to Win32. Works on Win11,
...
at least. Reads and writes unicode to/from the console and UTF-8 to/from files.
Prototype code only - must testing and additional work required.
FossilOrigin-Name: 5c54530d5a0a4125a1ba44f22537c4f63d5e5708f347c43cbac3e1832c4335da
2024-09-23 20:23:43 +00:00
38f2c5f81c
If the database filename pointer passed to sqlite3_open(), change it
...
into ":memory:".
FossilOrigin-Name: 62e11a3a78edf9853b74d6495ccd8ae9ac1966c7d78eb3682cf2d5885e3740ec
2024-09-21 15:57:06 +00:00
7f0e0c7dbf
New assert()s to help verify union access. No logic changes. Testing and
...
validation code only.
FossilOrigin-Name: b7b64c53f5d7f6b405ee3f1f1be1d84230aa79db5a502c8ad78d3e524f4384fb
2024-09-20 12:58:15 +00:00
f8305e4616
Improved rebustness to malformed UTF-16 inputs to sqlite3_prepare16_v2().
...
FossilOrigin-Name: 7b3a517b3e16ea487ca77a2c88a0c11d737de366524fc911aa1bdd6bfb7ad148
2024-09-19 13:39:06 +00:00
0e8cbd5e78
Improvements to the scope of valueFromFunction().
...
FossilOrigin-Name: a0f39419cb5bdfa42ab2978cf3819e3d7821212996571f8251d2efbeaa26c603
2024-09-18 16:33:07 +00:00
38b31a93b3
Fix the preupdate hook so that it works when the "old.*" row has a column with a non-NULL default value that was added by ALTER TABLE ADD COLUMN after the current record was created.
...
FossilOrigin-Name: 00a398cf900179aa5a8aab09fe4a671d99e7a31583282848ef39390f2ef246eb
2024-09-18 15:02:27 +00:00
87dce45f96
Add assert() statements to some of the sqlite3_bind() APIs that help human
...
readers and static analyzers, both, reason about the code and verify that it
is memory safe.
FossilOrigin-Name: 97528788145b83a1486dbaf09326ebedbc07bd0b47a57cdff773885b0b984604
2024-09-17 21:42:04 +00:00
dbff02abc5
Enhancements to sqlite_dbpage() so that it accepts INSERT statements that can
...
extend or truncate the database. Add the sqlite3-rsync utility program that
make a copy of a live database over SSH.
FossilOrigin-Name: b7a8ce4c8c5fc6a3b4744d412d96f99d2452eb4086ad84472511da3b4d6afec6
2024-09-14 16:39:02 +00:00
33f0a3ed13
Merge sqlite_dbpage fixes into the sqlite3-rsync branch.
...
FossilOrigin-Name: dff76b7a3436031ea5a61b8a44ddfa1d40ea20c983f3d34a8501cd7074db68b8
2024-09-13 23:41:16 +00:00
762946b236
Bug fix in the enhanced sqlite_dbpage for when truncating two or more
...
ATTACH-ed databases within the same transaction.
FossilOrigin-Name: 6aa9c8e79b440c6419e65990d9ceba8f00a6f975455138cf2aa82b113daec825
2024-09-13 21:47:57 +00:00
165daef043
Add sha1() functions to the CLI. Fix sha1b() such that it actually returns
...
a BLOB.
FossilOrigin-Name: fe65821a3b912f061026e6fd7174be26897010e6b474e2780350cac60faebaad
2024-09-12 14:43:05 +00:00
2a4a4ec408
Disable the debug-use-only functions sqlite3_mutex_held() and
...
sqlite3_mutex_notheld() when compiling with TSAN in as much as those
routines cause TSAN to complain. Response to
[https://issues.chromium.org/issues/41427446 ].
FossilOrigin-Name: db702dd78500a0839b0b2810a580d3634df49275470787b170973a86b73826d3
2024-09-11 12:17:26 +00:00
38b26d82e6
Add the ability for sqlite_dbpage to truncate the database file by writing
...
a NULL page. Experimental.
FossilOrigin-Name: eb3c89ee2e4c5425be75deaf46a06a9cd8b210c695b918dd63a78f930c6e6b63
2024-09-10 12:09:03 +00:00
882aba4090
Generalize the sqlite3_dbpage virtual table so that it is able to write
...
new pages onto the end of the database file using INSERT.
FossilOrigin-Name: fe0d67e72d4228661c021f227bfc0d5ddb1b726db0f36c7221ead8dd8bd1dc73
2024-09-09 18:45:58 +00:00
5600adf1b1
Move the vfstrace extension out of src/ over into ext/misc/ where it belongs.
...
Make it part of the standard build for the CLI. Bring some of the vfstrace
output up-to-date.
FossilOrigin-Name: 055b97de8d2397987d72dbab1cde78ece2d1c066e95042b4ed6b7b36b2cf9006
2024-09-09 14:50:23 +00:00
deb6a60a84
Fix harmless compiler warnings.
...
FossilOrigin-Name: 60fb8ee153ec293b6b3a4170dafa305e4c16af575aced72daef46116d8dc2bb6
2024-09-06 11:21:53 +00:00
c4e84b7295
A testcase() macro added to help ensure that the fix to the omit-noop-join
...
optimization from yesterday does not regress.
FossilOrigin-Name: 224628b1039b996499e0d806fc0215f175da6f1059eb1b9ac491ac11126971ab
2024-09-06 10:35:36 +00:00
934e796e43
Ensure that the WhereInfo.revMask bitmap is adjusted when tables are removed
...
from the FROM clause by the Omit-Noop-Join optimization of
[0cd82ee9a8413cf1]. Fix for the issue described by
[forum:/forum/8a1e467e905b8d27|format post 8a1e467e905b8d27].
FossilOrigin-Name: 22ca5a2ffb89ccb5f337993b5a95e27c449c39014284156eabc33da012a8759c
2024-09-05 23:22:55 +00:00
bb4d2edf10
Fix a bug in the parsing of some corner-case JSON PATH strings that contain
...
escaped double-quotes.
FossilOrigin-Name: 60ac55c4b76355aaf7cbde38bf1f6082ff5612bf4ffc49ab69d00fd4e3d64e64
2024-09-04 16:01:44 +00:00
d281889ac8
Improved error messages on percentile functions. More tests cases for
...
percentile and for ordered-set aggregates.
FossilOrigin-Name: e1bca168e70335fa2f9537632fd16e374c566a564fab4974c0b8f61cb63d08ce
2024-09-02 11:17:04 +00:00
a955ec806a
Change the name of the enabling compile-time macro to
...
SQLITE_ENABLE_ORDERED_SET_AGGREGATES.
FossilOrigin-Name: 3b1cdddf8339cc339ec74cd8be2bfa42e62b500048a444eb9e5d9817bc4702ae
2024-09-02 09:40:37 +00:00
b5df31d15f
More internal documentation improvements.
...
FossilOrigin-Name: 8b91b74931c36e1955ef933a07d8ec40c8b54c882efe7084d179168867c5244f
2024-09-01 23:56:14 +00:00
1c30df3598
The WITHIN GROUP (ORDER BY ...) syntax is now a compile-time option:
...
SQLITE_ENABLE_ORDERED_SET_FUNCS. There is no increment in the code size
if the option is omitted.
FossilOrigin-Name: c9367e2532d653738af27c4d92810eb648a9e12f72d7223017c87cb0dddc6804
2024-09-01 23:27:34 +00:00
7aa01a0ffc
No prepare-time penality for ordered-set aggregates for applications that
...
do not use them.
FossilOrigin-Name: e070c16d2183312e416ff6af770346041e4d3836c4db2c9ea6049f63fb0eaa07
2024-09-01 19:19:26 +00:00
df2d14b86e
Add error checking: Do not allow functions other than those in the
...
percentile extension to use the ordered-set aggregate notation.
FossilOrigin-Name: 317d901429303340290334dbe7680a36339df0a50b586e3f71b6c5e5eba6d411
2024-08-31 22:22:24 +00:00
a239ece378
Demonstration of how ordered-set aggregates might be parsed and integrated
...
into the existing parse tree, should we decide to support them.
FossilOrigin-Name: ef9777890001ba0122d3add799795e118fd87243f42731ab84d4748b67605647
2024-08-31 20:09:37 +00:00
90fa4c7b2c
Enhance the percentile() and median() extension functions so that they can be
...
window functions.
FossilOrigin-Name: 4d0e3df4b9c609755977b8a462126242d2be1310c0122a8d4ba76d98d32a7230
2024-08-31 14:31:17 +00:00
6cb12337b9
A couple of #defines so that the build work with SQLITE_OMIT_FLOATING_POINT.
...
FossilOrigin-Name: be768f80c703ac1645251ccbac83e07b3ea4cc231c8ea7e66374a4f78361f10b
2024-08-30 16:43:36 +00:00
ccd34894e1
Fix a case where the BTCF_AtLast flag was being left set incorrectly. This was causing obscure window function queries to fail.
...
FossilOrigin-Name: e042eb024738a83eed92cd2dfac3d2a50d2589715a3d81b1a494564dd7d8e7fa
2024-08-29 16:27:57 +00:00
c1547d1f7a
Do not allow sqlite3_blob_open() to work on a any table that contains
...
generated columns, even columns of the table which are not generated themselves,
because such columns might be part of the expression of a STORED column.
This restriction could be relaxed some, but that would be a lot of code
for something that nobody ever uses.
FossilOrigin-Name: 6e84947123339f0ea2b7dabc6134a621eed09317f81647f15870ed50a0f7d1bc
2024-08-28 19:13:16 +00:00
fcd65efcf1
Merge all the latests trunk enhancements into the win-dupe-crt-fio branch.
...
FossilOrigin-Name: 2d52db98f47fbcda0622c034b21c2fb19bf4345b88c5c565ae9e6f7128642e43
2024-08-27 13:57:43 +00:00
1321ea5010
Randomize the name of the attached database used to do VACUUM.
...
FossilOrigin-Name: 0f4e65d73a2b95932f36768c0d9925a2d265d9b395b886d8e492d1d519b2093c
2024-08-26 17:35:32 +00:00
87ebadbf4e
shell.c.in: use eputz/oputz() instead of eputf/oputf() where appropriate to avoid compilation errors in -std=c99 mode (namely wasm builds).
...
FossilOrigin-Name: 9ef8317faebc29d016bdf2e8c678fb21ca2cfa95272f1f18b461fcaf0e220ac5
2024-08-25 11:59:29 +00:00
306a8dcf3e
Fix compiler warnings in the CLI detected by MSVC.
...
FossilOrigin-Name: 23ae505cbfde6dfd1dbb2216cf76c1e316b49f2ca84491a1aae28ad33f7777a9
2024-08-24 20:01:05 +00:00
f9eff9052d
Remove a term from an assert() that is no longer relevant.
...
FossilOrigin-Name: 8b4766252b80075354a6b1406c5430fe999a6490aa3e079893fcc682d88734f7
2024-08-24 18:42:39 +00:00
58b08d7702
Avoid a stack overflow that could be caused by a recursively defined WINDOW() with a strategically embedded error.
...
FossilOrigin-Name: bada54bd6bf54190e40aa721b77081015957d204c7b6a9fdbe8c67bcf20798f8
2024-08-24 15:54:15 +00:00
27095fc4a5
Ensure that the WhereLoop.u.btree.pOrderBy field added by the
...
order-by-subquery optimization [7a0cdc7edb704a88] is correctly
initialized. dbsqlfuzz 437be171a98687082a31ea6efc2fd5c5d64481c8.
FossilOrigin-Name: b75f8b2252aefe7bb96fa237205a1a9dc88c46d9ec09bca7407e6c636b203e7e
2024-08-24 11:48:19 +00:00
7766c9943e
Eliminate use of strcpy() in shell.c.in to squelch an unwarranted link-time warning on OpenBSD.
...
FossilOrigin-Name: 32e9bf7f972144eacbb2580151220bc4fc1cbcc8bcf586ffd8e10762abf75c7e
2024-08-23 21:20:50 +00:00
d55ab84451
Add the SQLITE_INDEX_SCAN_HEX bit to the sqlite3_index_info.idxFlags bitmask.
...
When set, this bit causes the EXPLAIN QUERY PLAN output to show the idxNum
value in hex rather than in decimal. This is purely a debugging aid.
FossilOrigin-Name: 6c00e88ebdb41d6317bb8758825521614dedc2e6e6289ff415c5f0406eed815b
2024-08-22 16:22:08 +00:00
be1fdbd272
Add the new SQLITE_TESTCTRL_OPTGET that retrieves the current optimization
...
setting. Use this in the CLI to provide symbolic fine-grain control
over optimization settings using the ".testctrl opt" dot-command.
FossilOrigin-Name: 0ea4e1e8fc689cb1af3a8d21dd6af9d483115412b414e85e8a42480f50d65af2
2024-08-21 18:57:55 +00:00
9904d824b8
Improved comments on byte-code subroutine calls to materialize subqueries.
...
Should not affect production builds.
FossilOrigin-Name: 6b024c85ef856e26cddac8ad862e16909b5149c3e3efb4e73ba54c97291f1cc4
2024-08-21 17:38:50 +00:00
4cc86b6e92
Add code comments for a "table-of-contents" and various milestone marks in
...
the 1300+ line long sqlite3Select() function, to help improve readiability
and maintainability. Comment changes only - no functional changes.
FossilOrigin-Name: 00cfbb9fa5136e6a7847da4e4ab30d320ca79c22acda9db2030e558d59b8c744
2024-08-21 12:01:46 +00:00
91937a6961
Fix a minor typo in a comment.
...
FossilOrigin-Name: 92c80af1129051c9eded8df170730ad6366b4f7715dead34c4364c8149d0dce9
2024-08-21 10:37:59 +00:00
01972f55fe
Improvements to treetrace output for subqueries. Debug code only.
...
FossilOrigin-Name: 0a835d18d9063b17a1d506fd989ebcf7f0d76593978a3bd5981be59618335f21
2024-08-21 10:32:00 +00:00
fb7d0c3c01
De-duplicate some error-output code in shell.c.in as part of tracking down the cause of [forum:5647ca2af1|forum post 5647ca2af1].
...
FossilOrigin-Name: fd5904495e0c775174f9380bc6877fb9def3d30dec1c9315979ad4503a18d70b
2024-08-21 09:56:45 +00:00
8c58fd78c3
Remove incorrect assert() statements in the SrcItem invariant validator.
...
dbsqlfuzz 7f908865436ce531b0ace55c97a1c71d05c4e76c.
FossilOrigin-Name: 81a1ede38823b8d50e221ecb6ce52a05d82a856099002a71d9f1ac561a587f05
2024-08-21 07:38:14 +00:00
5648d717b1
Refactor the SrcItem object to move fields associated with subqueries out
...
into a separate object named Subquery. This reduces the size of the SrcItem
object by about 1/3rd and provides improved performance.
FossilOrigin-Name: 484bcd75bc95491d8540c791c1c4d40d996cb465839564662e14f98739699bf1
2024-08-20 23:11:28 +00:00
a0651b3707
Fix a name resolution issue with CTEs.
...
FossilOrigin-Name: 4fa8235dd59cd683d6c6c97bfe181a9637be7c054d435323c903b9dbd74aff02
2024-08-20 22:44:40 +00:00
bb36d55e63
Fix minor comment issues.
...
FossilOrigin-Name: c1bbed19f4348ec31c3cb4723eaa8f1554bb58ef4de7feb3a0f39612785f13d5
2024-08-20 22:05:01 +00:00