]>
git.ipfire.org Git - thirdparty/sqlite.git/log
larrybr [Sat, 2 Sep 2023 22:07:23 +0000 (22:07 +0000)]
Eliminate a redundant NK_DbAboutToClose notification.
FossilOrigin-Name:
eccffaa7ca97828202c26341dca615fb762922c221be12a60b14858cdbe5e91d
larrybr [Sat, 2 Sep 2023 22:00:48 +0000 (22:00 +0000)]
Issue NK_DbAboutToClose notifications for any shell DB about to be closed, whether presently visible in ShellExState or not.
FossilOrigin-Name:
8e6e54e48c1739c76db3e7979669cf17f7cee471b1d37836adbf72f42e8b8972
larrybr [Thu, 29 Jun 2023 17:58:51 +0000 (17:58 +0000)]
drh [Thu, 29 Jun 2023 17:48:32 +0000 (17:48 +0000)]
Fix harmless compiler warnings about unused function arguments.
FossilOrigin-Name:
24927c1377314a10177da4a57191593440aa97fd0c5949fdf25a22df1d947600
drh [Thu, 29 Jun 2023 17:36:18 +0000 (17:36 +0000)]
Improve the range of floating-point numbers that can be handled as integers
for numeric-to-text conversion.
FossilOrigin-Name:
41580ba452fdbc3f73da60d8030289d38614c4cab8d24140d7cc44a54b2da8d2
drh [Thu, 29 Jun 2023 17:26:21 +0000 (17:26 +0000)]
Further refine the dtostr() testing function in the CLI so that it takes an
optional second parameter which is the number of significant digits to display.
FossilOrigin-Name:
2f9d4444aa503102a00d6e6769dadc57d4b26a2c07f145f23f2f28e0c161246d
drh [Thu, 29 Jun 2023 16:48:25 +0000 (16:48 +0000)]
Change the (undocumented) dtostr() SQL function in the CLI so that it only
shows the first 26 significant digits - 10 more digits than are available
in a 64-bit double.
FossilOrigin-Name:
d758859f6ab94ddb9b3ee6f6f5f24b16e2b7a7712761080cfc6540d68b5a0c97
drh [Thu, 29 Jun 2023 14:49:23 +0000 (14:49 +0000)]
Add the decimal_sci(X) function to the Decimal extension for showing a decimal
value in scientific notation: +D.DDDDDe+DD
FossilOrigin-Name:
61d4923913e88b980ce93db4f3f9f9d7ba3baaac724995c36c9b887c034accdc
drh [Thu, 29 Jun 2023 12:14:10 +0000 (12:14 +0000)]
CLI enhancements to facilitate SQLite core testing:
(1) Add built-in functions strtod() and dtostr() that convert text to
floating point and back using C-library routines.
(2) Do not disable all of ".testctrl" without --unsafe-testing, but only
those subcommands of .testctrl that are actually dangerous.
FossilOrigin-Name:
669996a8ddcbf35f3de66cf466508fc1e6dd09ab269aba395ac86a11b2ec238c
drh [Wed, 28 Jun 2023 12:02:48 +0000 (12:02 +0000)]
Enhance the SUM() aggregate (and related AVG() and TOTAL()) so that the running
sum is accurate to about 100 bits.
FossilOrigin-Name:
a915f15a916af698e0cef46c8b3e7ed11bda19349179d2d414073cd39c4cce24
drh [Wed, 28 Jun 2023 11:46:28 +0000 (11:46 +0000)]
Improved accuracy of floating-point conversion constants as suggested by
[forum:/info/
598d32f6135c41c1 |forum post
598d32f6135c41c1 ].
FossilOrigin-Name:
4943e8a1819e189747eefc414d02c0485e1620deff9cf92664295b21a8a9a83c
drh [Mon, 26 Jun 2023 19:57:23 +0000 (19:57 +0000)]
Simple test cases for the enhanced SUM() function.
FossilOrigin-Name:
c66ef2440e4e6c7aa17b50e5a29e543713ccab69aa0a415bac29b35b6116504a
drh [Mon, 26 Jun 2023 19:35:20 +0000 (19:35 +0000)]
Use ideas from T. J. Dekker in "A Floating-Point Technique for Extending the
Available Precision" (1971-07-26) to enhance the accuracy of the SUM()
aggregate function in cases where input magnitudes vary wildly.
FossilOrigin-Name:
439fc00fee62b4db3751860485e21a99cae4fd1f5d911b2c08651a1466245ecc
larrybr [Mon, 26 Jun 2023 17:08:08 +0000 (17:08 +0000)]
Fix CLI .sha3sum error message for keyword identifiers, reported in [forum:/forumpost/
7cbe081746dd |forum post
7cbe081746dd ].
FossilOrigin-Name:
9d7813ddcf67f1256e7331c5f390cb122b3f7e35cf46e0b33b610216a5396a00
stephan [Mon, 26 Jun 2023 07:05:05 +0000 (07:05 +0000)]
Replace some JS 'self' references with 'globalThis', as reported via the npm subproject.
FossilOrigin-Name:
d4e66dfc2e87112fa73a9c64db358429d88fb2ab3a08908b0eb655f6ed42f94b
drh [Sun, 25 Jun 2023 20:23:51 +0000 (20:23 +0000)]
drh [Fri, 23 Jun 2023 11:10:13 +0000 (11:10 +0000)]
Add support for the octet_length() SQL function, with low-level optimizations
that avoid loading large string content from disk when the argument to
octet_length() is a table column.
FossilOrigin-Name:
fa5f77862c0fe0189aa4246a1e55bb7c537c28c436ec10b75f5fa141e5e4aff0
drh [Thu, 22 Jun 2023 21:19:37 +0000 (21:19 +0000)]
Optimize the argument to the octet_length() function so that it does not
attempt to read content from disk.
FossilOrigin-Name:
8b8ea4e3f52d96cc217bd1fb27ca4a83489ef1f250756ed2f790d1b0ee529a3a
drh [Thu, 22 Jun 2023 15:26:52 +0000 (15:26 +0000)]
drh [Thu, 22 Jun 2023 13:01:02 +0000 (13:01 +0000)]
Merge recent trunk enhancements into the octet_length branch.
FossilOrigin-Name:
d35c214811aac7dec0000ca2aa77231f74a7963dd0c53cf25a65ade5ef0f8dc0
drh [Thu, 22 Jun 2023 01:03:39 +0000 (01:03 +0000)]
Simplification to the getAndInitPage() routine that results in improved
performance.
FossilOrigin-Name:
2e9734c2335d8c06fedc9f4cca02baaf326f7fa276bd464f3214f383715a48d6
drh [Wed, 21 Jun 2023 21:47:09 +0000 (21:47 +0000)]
Improved comment on the getAndInitPage() in btree.c. No code changes.
FossilOrigin-Name:
dc468cfdb825083b3a4b6cb95c913961e9312e22103c5a0cd923b75c83c65e13
larrybr [Wed, 21 Jun 2023 14:48:41 +0000 (14:48 +0000)]
drh [Wed, 21 Jun 2023 14:11:25 +0000 (14:11 +0000)]
drh [Tue, 20 Jun 2023 17:45:19 +0000 (17:45 +0000)]
Omit unnecessary calls to table locking routines in the common case when
there is no shared cache.
FossilOrigin-Name:
f94f3021cde1d46373ee8fc8e5028d7507a937240c59cf0d0d19ab22acbd3c41
drh [Tue, 20 Jun 2023 16:26:52 +0000 (16:26 +0000)]
Avoid unnecessary calls to sqlite3DeleteTable() with NULL pointers.
FossilOrigin-Name:
4a35f391995a88757d7b46f52bf241f523ee2a6a7b6726df00cddaec8cee7080
drh [Tue, 20 Jun 2023 15:48:24 +0000 (15:48 +0000)]
Avoid unnecessary calls to sqlite3CodeRowTrigger().
FossilOrigin-Name:
27c174dbd0e7ba029d13fb005fc950ac99eb6aee31903ee3acfc88c262d13f6a
drh [Tue, 20 Jun 2023 11:46:32 +0000 (11:46 +0000)]
Performance optimization in sqlite3VdbeAddOp4Int().
FossilOrigin-Name:
456a24324bd42e1e3384ffa8474b7d0760b27df95be0e92ddce5eb87339f6272
drh [Mon, 19 Jun 2023 23:27:22 +0000 (23:27 +0000)]
Avoid unnecessary NULL pointer checks on calls to sqlite3WalkExpr().
FossilOrigin-Name:
73d86a12fb068456a884c030fddd87020d6ec9d56376de541cf082b2104174d3
drh [Mon, 19 Jun 2023 20:54:49 +0000 (20:54 +0000)]
Small performance improvement and size reduction by recognizing that no
SQL keywords have less than 2 characters.
FossilOrigin-Name:
6b3d25b7982623ab4b25161aff9ab44778e136069043ab425543597c42c98ae5
drh [Mon, 19 Jun 2023 13:09:16 +0000 (13:09 +0000)]
Fix large integer constants so that they work on older C compilers.
FossilOrigin-Name:
3c94f87806a8b408d8204fc7deec16d01c085ee199ff21a1f20b6346ce816cfe
larrybr [Sat, 17 Jun 2023 23:53:51 +0000 (23:53 +0000)]
drh [Sat, 17 Jun 2023 15:42:44 +0000 (15:42 +0000)]
Fix harmless compiler warnings that show up on 32-bit RaspberryPI builds.
FossilOrigin-Name:
bc4d20f362925e4ce5c79f0d7a27a8e9bbac92525bd4cea2ae983798e3f8c37d
drh [Sat, 17 Jun 2023 15:22:00 +0000 (15:22 +0000)]
In date/time functions, fix the rendering of "subsecond" and the
computeHMS() routine to better deal with floating point
rounding errors that arise on some 32-bit systems.
FossilOrigin-Name:
e46a00ae880dd12df090105498a85017d1367f88bf27d86f0b0200cf0536a906
larrybr [Sat, 17 Jun 2023 01:56:55 +0000 (01:56 +0000)]
larrybr [Fri, 16 Jun 2023 19:45:55 +0000 (19:45 +0000)]
Clear MSVC warnings and fix a typedef issue with MSVC build.
FossilOrigin-Name:
b0cb4cfceaa45c31c217e8e0edf4b1431f5e1bd05f85d49528792d69bdbdd6dc
drh [Fri, 16 Jun 2023 14:39:21 +0000 (14:39 +0000)]
Address various harmless compiler warnings from
[forum:/forumpost/
d526da8ee4 |forum post
d526da8ee4 ].
FossilOrigin-Name:
365caf2f97e8f15842f52536e8d05d359e9d6e863182e020ce14a9a9f27ee057
drh [Fri, 16 Jun 2023 11:05:49 +0000 (11:05 +0000)]
Fix the pager such that if the xOpen() message sends back the SQLITE_OPEN_MEMORY
flag, the pager is opened in journal-mode MEMORY, even if compiled with
SQLITE_OMIT_DESERIALIZE. No changes to the logic as long as that OMIT flag
is omitted. We need to better document the behavior of xOpen to describe this.
FossilOrigin-Name:
da1252b29852191eccbea98e0314408c75bb83a51f9d68d589705d4971a23850
larrybr [Fri, 16 Jun 2023 02:18:59 +0000 (02:18 +0000)]
More doc tweaks, one teensy enhancement, and a new feature bug fix
FossilOrigin-Name:
1073ef0629921dbb74719045a742d68d2bb4e28fc5fa6463e725ddd1d9e6e651
drh [Thu, 15 Jun 2023 16:02:19 +0000 (16:02 +0000)]
drh [Thu, 15 Jun 2023 15:43:08 +0000 (15:43 +0000)]
drh [Wed, 14 Jun 2023 12:19:07 +0000 (12:19 +0000)]
Work around what appears to be a GCC 32-bit optimization problem in the
computeHMS() routine of the date/time logic.
FossilOrigin-Name:
aebdbcbebff1319dd00551c9fb9ad4b08859f10e87f097295d564ae1ba188c02
larrybr [Tue, 13 Jun 2023 23:04:34 +0000 (23:04 +0000)]
drh [Tue, 13 Jun 2023 18:10:52 +0000 (18:10 +0000)]
Improved sqlite3_error_offset() values for bare column errors on '*' and
'table.*' expressions in SELECT statements.
FossilOrigin-Name:
118fe600876686273f85d0a080a21267e83c11826365f3220336b1bd39562518
drh [Tue, 13 Jun 2023 16:55:24 +0000 (16:55 +0000)]
Extended the time-diff format so that it can have a 5-digit year. This enables
time differences to span the full range of dates supported by SQLite. Also
fix some inaccuracies in the computation of time differences and add new
test cases.
FossilOrigin-Name:
d57ddbf4eeeb3ccfe31871f098045b9e58634153a3c3030f597cb58c1177218a
drh [Mon, 12 Jun 2023 18:22:34 +0000 (18:22 +0000)]
Initialize a local variable in FTS3 to avoid a GCC compiler warning.
FossilOrigin-Name:
7ec4ab327decd6a5ee5e6a53f1489e17e0cdbb297945f9acc532b47d052eb7a9
larrybr [Mon, 12 Jun 2023 18:11:11 +0000 (18:11 +0000)]
Finish .parameter improvements. (no set <cast_op> anymore, not useful enough for its apparent complexity)
FossilOrigin-Name:
bbbdb864f087e806f8fb73618dd769cba5450252e33e938dac0630dd0abb8d43
dan [Mon, 12 Jun 2023 13:49:37 +0000 (13:49 +0000)]
Fix a problem causing bloom filters to be used less efficiently than they might be. Problem reported by forum post [forum:/info/
06c3f01da6 |
06c3f01da6 ].
FossilOrigin-Name:
56d9bb7aa63043f5db4a1e5e8eefe46762dba433145807c6e27a8316f1d03d7a
drh [Mon, 12 Jun 2023 13:31:20 +0000 (13:31 +0000)]
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
dan [Mon, 12 Jun 2023 11:06:57 +0000 (11:06 +0000)]
Fix a buffer over-read that could occur as part of an fts5 secure-delete operation on a database containing corrupt fts5 records.
FossilOrigin-Name:
a35c50eca907d0cf373b7962c359aebfce8ac7c34ce81edeb99122d4fb5804f7
drh [Sun, 11 Jun 2023 21:58:20 +0000 (21:58 +0000)]
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
drh [Sat, 10 Jun 2023 19:33:02 +0000 (19:33 +0000)]
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
drh [Sat, 10 Jun 2023 18:40:20 +0000 (18:40 +0000)]
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
drh [Sat, 10 Jun 2023 17:05:05 +0000 (17:05 +0000)]
drh [Sat, 10 Jun 2023 10:37:49 +0000 (10:37 +0000)]
Enhance fuzzcheck so that it understand the sqlite3_db_config() and
optimization settings from unused bits in the database header, which
dbsqlfuzz is now using.
FossilOrigin-Name:
918708c6dea5bffab4bb1c15d655ac7356bae97b84def905479dfcf491db6c5f
drh [Fri, 9 Jun 2023 15:54:18 +0000 (15:54 +0000)]
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
larrybr [Fri, 9 Jun 2023 06:04:32 +0000 (06:04 +0000)]
More .parameter improvements, a WIP for ".parameter set <cast_op> ..."
FossilOrigin-Name:
2b51dcdad8fdace33daefdf8ad00fc2f3ab069d5832a1ecf2ac95f580556685d
larrybr [Fri, 9 Jun 2023 01:11:02 +0000 (01:11 +0000)]
Sync w/trunk. Fix spelling nits. Add ".parameter edit ..." improvements.
FossilOrigin-Name:
d73f065b939eaf7f468c43efe21d66dd20109d8b0ffc8b7ffa4bd491072a50dc
dan [Thu, 8 Jun 2023 20:49:25 +0000 (20:49 +0000)]
Remove SQLITE_EXTENSION_INIT macros from dbdata.c.
FossilOrigin-Name:
106ec745766ac59131f975d5ab5487c8a24b9c3be1766411c018b42c6ae4672a
drh [Thu, 8 Jun 2023 16:19:21 +0000 (16:19 +0000)]
Improvements to the src-verify.c utility program so that it continues to
muddle through a corrupt manifest file, making the most sense of it that it
can and reporting "manifest" has having changed at the end.
FossilOrigin-Name:
157b5d25e0c99eabfa3c32cb867fe7e3c05031c12354f734d2cd8a4062b9439c
drh [Thu, 8 Jun 2023 15:30:10 +0000 (15:30 +0000)]
Fix the amagamation generator so that it works one a clean source tree.
FossilOrigin-Name:
f502610d03a1362eea936129abd03390835b7e47ba25e6799b2e7880de540640
drh [Thu, 8 Jun 2023 15:27:35 +0000 (15:27 +0000)]
Include source provenance in the header comment of the amalgamation.
FossilOrigin-Name:
e3eb5af9050aae1db6887d17a560a24e4ca58f232ad7ac7c283c861ea4944f0b
drh [Thu, 8 Jun 2023 12:52:28 +0000 (12:52 +0000)]
Enhance Lemon so that it remembers which -D command-line options are actually
used in the grammar and includes a list of all such options in the header
of the generated output file.
FossilOrigin-Name:
c47a4dbd24b8277c57b7a83a8c0aeac2bc8f6ab75d1b65ba5e1fa83d1868d95f
larrybr [Wed, 7 Jun 2023 23:10:40 +0000 (23:10 +0000)]
Add spell-checking for all comments in main sources. (./src/ .c .h .in) make target "misspell" tells of misspelled words for which no exceptions have been put into tool/custom.txt .
FossilOrigin-Name:
5332abf0ad8ef42c44e9dd7045d017bb8fc9a0262a89ababa3e2c41788a6cdb8
larrybr [Wed, 7 Jun 2023 17:03:22 +0000 (17:03 +0000)]
Fix straggler misspellings and tidy the custom dictionary. Also include pickups from [forum:/info/
c61fb09afd |forum post
c61fb09afd ].
FossilOrigin-Name:
8c291d99946eb32b20b743921202f9c7cfb716268ff526817b27adbb7942e40b
drh [Wed, 7 Jun 2023 15:00:54 +0000 (15:00 +0000)]
Remove additional traces of FTS1 and FTS2 that were missed by [
2bb50d5aedef0fd2 ]
FossilOrigin-Name:
9a12bac5d24c7a8364d2127fd12c3409a53ef83e408d10f344ddd311cdba98af
drh [Wed, 7 Jun 2023 14:47:29 +0000 (14:47 +0000)]
Remove unused, legacy shell script "mkso.sh" from the root of the repo.
FossilOrigin-Name:
57f75e48690bdeb9b6bb3f46eee39021e3eb8cc0c488d2584177baa11ac984e5
larrybr [Wed, 7 Jun 2023 08:40:31 +0000 (08:40 +0000)]
Add a C-source spell-checking facility. make misspell (on Nix)
FossilOrigin-Name:
26c1bb4bd9e9f56613c3aa87407a7f562fd4ebde5bfd6dece02078001d9a45f8
larrybr [Tue, 6 Jun 2023 01:07:00 +0000 (01:07 +0000)]
More ExportHandler use. Sync w/trunk. Fix .archive UB.
FossilOrigin-Name:
4fd4240f14a696a26bce637eaa94121f64edff0894f8c1f341c2f426a74c8fe0
drh [Mon, 5 Jun 2023 17:12:33 +0000 (17:12 +0000)]
drh [Mon, 5 Jun 2023 13:57:37 +0000 (13:57 +0000)]
Update the README.md file to talk about the verify-source makefile target.
FossilOrigin-Name:
aa8e79e16abf028d50370ae13b6c952a7b7f42985125bc8e7f51b20a10bfc336
stephan [Mon, 5 Jun 2023 11:30:50 +0000 (11:30 +0000)]
Remove extraneous console trace output from previous check-in.
FossilOrigin-Name:
c9f6e36d59fc8bf2bcef6fc14ff2e9ad3dfd972de94d4a71ff3f56134810a8ef
stephan [Mon, 5 Jun 2023 11:26:59 +0000 (11:26 +0000)]
Add a JS test confirming that binding of statement parameters in a subquery works.
FossilOrigin-Name:
5dfaf0bce83c3e15ad605e3f07291ce219f1a2726ce77be27779897088ee13d5
drh [Mon, 5 Jun 2023 01:05:46 +0000 (01:05 +0000)]
Generalize the src-verify.c utility program and provide additional documentation
in the header comment.
FossilOrigin-Name:
7ed84046ef0c2c64031cac3a3a6b43aac3ac40aeb36838d8d046493f2d5ed122
mistachkin [Mon, 5 Jun 2023 00:57:38 +0000 (00:57 +0000)]
Minor cosmetic normalizations for the MSVC makefile.
FossilOrigin-Name:
c9fda8d6dba36841415d0f445b4081b051bfaa70428b605ac0b9ca4ae98f7d49
drh [Sun, 4 Jun 2023 22:59:20 +0000 (22:59 +0000)]
Fix harmless compiler warnings in tool/src-verify.c
FossilOrigin-Name:
0e79ee97b18792dba9213bd9961f53e2bae765ac92df7963703d08857da74fd1
drh [Sun, 4 Jun 2023 22:56:31 +0000 (22:56 +0000)]
Enhancement to tool/src-verify.c to also check the manifest.uuid file.
FossilOrigin-Name:
a39a569482a35610fdaa2fdfc88491d8b456dfedb4786c817e0502eb3e3a5563
drh [Sun, 4 Jun 2023 22:41:52 +0000 (22:41 +0000)]
Add a prototype implementation for the "verify-source" Makefile target.
FossilOrigin-Name:
ed876ff6a1a6a2d555f32b96eb78d95eaf8428ee189f968c43f0829a3065bfa7
drh [Sat, 3 Jun 2023 11:22:30 +0000 (11:22 +0000)]
Prototype implementation of the octet_length() SQL function.
FossilOrigin-Name:
2db989c8635f7e89b3ea58d1fde94787fced039ac1a118d9b6362811eda73f87
larrybr [Fri, 2 Jun 2023 21:31:15 +0000 (21:31 +0000)]
Clarify sqlite3_is_interrupted() return. No code change.
FossilOrigin-Name:
b6c2d3d203100a34335aeba23a8fb82a13297b65eed494d5044ade3bed683bc3
larrybr [Fri, 2 Jun 2023 20:27:47 +0000 (20:27 +0000)]
Get built-in ExportHandler instances to do more of .mode work. Replace atexit() with something that works for (not quite) "main" returns. Sync w/trunk.
FossilOrigin-Name:
a588dd9fc6b1d89a1ad884b581086e2c668af17ff4564805704620908b84276e
drh [Fri, 2 Jun 2023 18:05:54 +0000 (18:05 +0000)]
Restore the LEFT JOIN strength reduction that was partially lost in
[
d747afda5683ca5f ] when strength reduction was generalized to all OUTER JOINs.
FossilOrigin-Name:
2d962b84dd8ac2d0968f0283f8f082c1c2a7a1f99b59053b2ad8f58745396447
larrybr [Fri, 2 Jun 2023 13:31:12 +0000 (13:31 +0000)]
Do that last CLI fix more simply, using established means.
FossilOrigin-Name:
a1823b297616bc2bd64eda9df4850fb460d8da8959ae3728195db896d1f89e7b
larrybr [Fri, 2 Jun 2023 12:56:32 +0000 (12:56 +0000)]
Fix CLI fault on missing -nonce reported by [forum:/info/
f8c14a1134 |forum post
f8c14a1134 ].
FossilOrigin-Name:
cd24178bbaad4a1dafc3848e7d74240f90030160b5c43c93e1e0e11b073c2df5
drh [Fri, 2 Jun 2023 00:03:28 +0000 (00:03 +0000)]
Fix the OUTER JOIN strength reduction theorem prover's handling of the CASE
operator.
FossilOrigin-Name:
73d7b14b1713d93c4ae07995e9aa6485cbad90bd6125584dbaeccb0cc9410ea3
drh [Thu, 1 Jun 2023 20:38:22 +0000 (20:38 +0000)]
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
drh [Thu, 1 Jun 2023 16:40:28 +0000 (16:40 +0000)]
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
drh [Thu, 1 Jun 2023 00:28:11 +0000 (00:28 +0000)]
drh [Thu, 1 Jun 2023 00:01:20 +0000 (00:01 +0000)]
Fix the LEFT JOIN strength reduction for IN operators in the WHERE clause.
Further simplifications and refinement of the algorithm.
FossilOrigin-Name:
96c72dde79d4069f6c2f81467a35b617633f86f7a7dcafbda991affdaa1f8537
drh [Wed, 31 May 2023 18:52:46 +0000 (18:52 +0000)]
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
drh [Wed, 31 May 2023 18:35:12 +0000 (18:35 +0000)]
Improved detection of when the LEFT JOIN strength reduction optimization
can be applied.
FossilOrigin-Name:
f544a8e47cdd5ad7233887a558489983f4f305a39391ff463c43e2e4157da087
drh [Wed, 31 May 2023 12:42:09 +0000 (12:42 +0000)]
Minor enhancement to the sqlite3_trace_v2() documentation. No code
changes.
FossilOrigin-Name:
fba97230e38276f2a02fc24353c3d911dfa24f3a4f75f691de9461d4daf3ae54
dan [Wed, 31 May 2023 11:03:17 +0000 (11:03 +0000)]
Fix a problem causing an infinite loop in the recovery extension when processing a corrupt free-block list.
FossilOrigin-Name:
5a516c6c7a25cec4d0a0cca530017a3299f7a332319f3e1f7cf12f53c32b88ca
drh [Tue, 30 May 2023 16:40:42 +0000 (16:40 +0000)]
Enhancements to date/time functions:
(1) Add support for time-shift modifiers of the form (+|-)YYYY-MM-DD HH:MM:SS.SSS
(2) Add the timediff(A,B) SQL function that returns the time-shift modifier
sufficient to move B to A.
FossilOrigin-Name:
574bf370b0b9a72eb0468e0e121d4d6171fc533883b66d335f6794ef5ee1f051
drh [Tue, 30 May 2023 14:46:30 +0000 (14:46 +0000)]
Simplifications to the new timediff() logic.
FossilOrigin-Name:
d6954259bd3f8475f3804fd02a1591d037efa9df54da45776863c024ff90e596
stephan [Tue, 30 May 2023 14:10:28 +0000 (14:10 +0000)]
Minor tweak to the OPFS async proxy to attempt to account for a spurious high-load console error message which was reported via the sqlite-wasm npm project.
FossilOrigin-Name:
a61467d1fbb7a2804bfdc685a38e0b738747b9afd42c25a78a938b114a822f61
stephan [Tue, 30 May 2023 13:27:57 +0000 (13:27 +0000)]
drh [Tue, 30 May 2023 11:51:45 +0000 (11:51 +0000)]
New test cases for the timediff enhancements.
FossilOrigin-Name:
f14633ce6ddf28a14b03e2da623d96e439966aa3fc30c26cb0be59c0e15b3e9c
drh [Tue, 30 May 2023 11:13:56 +0000 (11:13 +0000)]
All date/time modifiers of the form (+/-)YYYY-MM-DD without the following
HH:MM:SS.SSS.
FossilOrigin-Name:
fa9237a8ab803ca3f67fe753516b7bdb98be3d625e8e241ddf9b02509210e225
drh [Tue, 30 May 2023 02:50:32 +0000 (02:50 +0000)]