]>
git.ipfire.org Git - thirdparty/sqlite.git/log
stephan [Thu, 13 Jul 2023 18:13:52 +0000 (18:13 +0000)]
Minor cleanups related to reintroducing wasmfs support.
FossilOrigin-Name:
6918a927b5ecd1df5916b70d52d8d5ce289869c3f323e577b7dfc7c939084400
stephan [Thu, 13 Jul 2023 17:27:05 +0000 (17:27 +0000)]
More work on the wasmfs build and its test apps.
FossilOrigin-Name:
953b8557194e9451dcf9f3bb433eafb67961487325e6519e675e73fecf850bfb
stephan [Thu, 13 Jul 2023 16:33:45 +0000 (16:33 +0000)]
Get speedtest1 wasmfs variant running again.
FossilOrigin-Name:
0f77e031daf0121f7603409cedf57f138edbb43083cbbcf00d2a423e16de25a7
stephan [Thu, 13 Jul 2023 14:08:30 +0000 (14:08 +0000)]
Significant surgery on the wasm build on the way to incorporating wasmfs as a first-class build option.
FossilOrigin-Name:
215c37fce38cf647e073480689b79d952af7eb8165ae08c7f5caed27003fecfc
stephan [Thu, 13 Jul 2023 10:41:41 +0000 (10:41 +0000)]
More work on the wasmfs build. Resolve the inconsistent argument type passed to sqlite3InitModule() in such builds.
FossilOrigin-Name:
4850a9e2d2b41b91e91b9ef99a6d26ddf11a161b4c970fc00d2d095606729a04
stephan [Thu, 13 Jul 2023 04:54:18 +0000 (04:54 +0000)]
stephan [Thu, 13 Jul 2023 04:26:13 +0000 (04:26 +0000)]
Get wasmfs build and its bare-bones test app working again, albeit currently in ES6 mode only.
FossilOrigin-Name:
647761ed422f196f94facc88bbddd7219a2c1a6301a5f847b0a32d3e405233a7
stephan [Thu, 13 Jul 2023 03:46:43 +0000 (03:46 +0000)]
Replace 'self' with 'globalThis' in some JS test code.
FossilOrigin-Name:
53eeffc9b1ea8c3ee7d7cdcc220997ed893403e45b35d8ea10805ea3b0435587
stephan [Thu, 13 Jul 2023 01:51:16 +0000 (01:51 +0000)]
JS: change the default OPFS VFS journal mode from PERSIST to DELETE, as DELETE is faster in current browsers.
FossilOrigin-Name:
a061a43e36b8f3cb7c465fd2e54cfcd9dceb07e232ee78602bbdd1818acd05ea
stephan [Thu, 13 Jul 2023 01:48:53 +0000 (01:48 +0000)]
Remove obsolete ext/wasm/api/sqlite3-wasi.h.
FossilOrigin-Name:
f661a6e0c1ac081ee402e64590eabd427440db1b717be9166bdfc025d0b0d899
stephan [Wed, 12 Jul 2023 09:30:13 +0000 (09:30 +0000)]
stephan [Wed, 12 Jul 2023 09:16:18 +0000 (09:16 +0000)]
Correct handling of the speedtest1 --without-rowid flag in the HTML front-end to speedtest1.wasm. Reduce default speedtest1-with-OPFS workload size in ext/wasm/index.html to speed up manual testing.
FossilOrigin-Name:
2daba2cdd3890c87899ff3eb0c1706c814f0ae62e72822eef3b0d4a885679a6b
drh [Tue, 11 Jul 2023 19:54:17 +0000 (19:54 +0000)]
Reduce divergence between branches: trunk and wal-shm-exceptions.
FossilOrigin-Name:
d38ed6b1fc6b572997d520c36f256c11404fb1bd5f28acab07466bfc96554a8f
drh [Sat, 8 Jul 2023 17:42:24 +0000 (17:42 +0000)]
Always use the "LL" suffix on 64-bit integer literals.
FossilOrigin-Name:
07d95ed60f0a17ea13b4bc19c2ab2ec9052fedd27c9e1e57a1ec6e3a6470e5b7
drh [Sat, 8 Jul 2023 14:27:55 +0000 (14:27 +0000)]
drh [Fri, 7 Jul 2023 18:49:08 +0000 (18:49 +0000)]
Omit the use of memmove() in sqlite3FpDecode() in an attempt to avoid
spurious warnings from valgrind. Also makes the code slightly smaller and
faster.
FossilOrigin-Name:
b409943af00e35ad05906d0a80ffa1225a66f3d807c131e00cfbf6671a03a981
drh [Fri, 7 Jul 2023 12:18:26 +0000 (12:18 +0000)]
For the "Valgrind" test scenario, set LONGDOUBLE_TYPE=double as valgrind
does not correctly emulated extended precision on x64.
FossilOrigin-Name:
d3532eaed1cc671d8149b1bd34ead2a88fb83502a2898a5f60aea0a7daf18958
drh [Fri, 7 Jul 2023 12:08:22 +0000 (12:08 +0000)]
Add option 2 to SQLITE_TESTCTRL_USELONGDOUBLE to move the setting to its
defaults. Enhance the CLI and testfixture to make use of this value.
Base the default on sizeof(LONGDOUBLE_TYPE) rather than on sizeof(long double).
FossilOrigin-Name:
64e6bd1c25d8e1dbfe511cba1921ff052c0fa4fe410fc9ce4435700a70cb88b1
drh [Thu, 6 Jul 2023 20:34:06 +0000 (20:34 +0000)]
Improved handling of integer inputs to the new sum() implementation.
FossilOrigin-Name:
31561c63bde6af2210296810fd66232b935033b4d26273a6b8a52142c54b4e12
drh [Thu, 6 Jul 2023 18:29:15 +0000 (18:29 +0000)]
A more precise implementation of sqlite3RealToI64().
FossilOrigin-Name:
8813317cb52990d90bd48de163b6e35ddcad2b6f3187aa28b28e2e088b4489ce
drh [Thu, 6 Jul 2023 17:14:47 +0000 (17:14 +0000)]
Fix octet_length() test cases so that they work when the database encoding
is utf16.
FossilOrigin-Name:
ad2e39626e6115fd322ef9495ae3bcd91343d7131a725f1bf24211a51a21dcc2
drh [Thu, 6 Jul 2023 15:44:38 +0000 (15:44 +0000)]
Use the Kahan-Babushka-Neumaier algorithm to improve the accuracy of sum().
FossilOrigin-Name:
c63e26e705f5e967e14ef6aea8ce226548293ad8d25066069f29fa89673913d2
drh [Thu, 6 Jul 2023 14:45:53 +0000 (14:45 +0000)]
Fix minor inaccuracies in the new sum() algorithm.
FossilOrigin-Name:
e3f7a960c9bd8e84cd70f0585bb955d043604a92001d0e2bf6c1216bb1fd7221
drh [Thu, 6 Jul 2023 13:19:10 +0000 (13:19 +0000)]
Experimental attempt to boost the accuracy of sum() using the
Kahan-Babuska-Neumaier algorithm.
FossilOrigin-Name:
ebc5edd3b10c1102b07b9fb0d6837266b81e55504ef883b9b8a7ad5e8ab29dd2
drh [Thu, 6 Jul 2023 00:55:06 +0000 (00:55 +0000)]
Use "volatile" isntead of "#pragma" to get floating point calculations
working correctly when compiling with GCC for x86 machines.
FossilOrigin-Name:
9427f42687ed6d97c474bf42d0c3e82d6f4b0075e74206adcb5699d72e32140e
drh [Wed, 5 Jul 2023 22:05:18 +0000 (22:05 +0000)]
This is alternative work-around for the x86 float-point problem that uses
"volatile" rather than compile-specific #pragmas.
FossilOrigin-Name:
1d972a690fdc70ab40862bd38427d68b48e8802ddf8e5c301f2d58ce2178b6ec
drh [Wed, 5 Jul 2023 19:56:14 +0000 (19:56 +0000)]
Improved comments on the work-around to the GCC x86 floating point wonkiness.
FossilOrigin-Name:
7b4c16731e7bf6f03f5adf4fcb2008c0b19be473fb1b90b405c217c08916586a
drh [Wed, 5 Jul 2023 18:59:52 +0000 (18:59 +0000)]
Work around for an apparent GCC bug. See
[forum:/info/
ee7278611394034c |forum post
ee7278611394034c ] for details.
FossilOrigin-Name:
5d9e9364808793d65925d4efbfde0f4246df258758f15e8ce1105070d1018fe6
drh [Wed, 5 Jul 2023 15:34:30 +0000 (15:34 +0000)]
Make the order of operations explicit for the error term of Dekker
double-precision multiply.
FossilOrigin-Name:
28f57b34e6b11184a36e363a985e7531bddd7be48a5e039a670e5acf748eedda
drh [Wed, 5 Jul 2023 14:42:50 +0000 (14:42 +0000)]
Simplification of the dekkerMul2() subroutine.
FossilOrigin-Name:
bfe6432a46fd41bfadf4516a73b4e2523d9b453c3e4486fe6df7e1d25275dfb3
drh [Wed, 5 Jul 2023 12:00:32 +0000 (12:00 +0000)]
Add the ieee754_inc(r,N) function to the ieee754.c extension.
FossilOrigin-Name:
9a36f269451d8832f68e223ac3995493704364e7fd0cc772989c96e863a08d29
drh [Mon, 3 Jul 2023 18:32:29 +0000 (18:32 +0000)]
Enhance the sqlite3AtoF() function so that it can operate with or without
long double and provides accurate results in both cases.
FossilOrigin-Name:
fd987508d5589d42b46625c97cfb2feeac70fdb1cb11224610554b07a60644e6
drh [Mon, 3 Jul 2023 18:18:35 +0000 (18:18 +0000)]
Enhance sqlite3AtoF() so that it honors the USELONGDOUBLE test-control.
Enable the test/atof1.test module on non-intel platforms.
FossilOrigin-Name:
b7850fd480535980d66f107c2746e7f7fc0a5379ec8244d84f7785533c83f276
drh [Mon, 3 Jul 2023 15:30:50 +0000 (15:30 +0000)]
Store the fp-speed-1.c test program used to measure relative performance of
SQLite versus the standard library, in the test/ directory. A header comment
explains how to use it.
FossilOrigin-Name:
eaff376277edceb043e9aac9d2df3e1157f576605508733be8a0a0aa4d720e1d
drh [Mon, 3 Jul 2023 15:11:28 +0000 (15:11 +0000)]
Add the --nolongdouble option to speedtest1.c.
FossilOrigin-Name:
6bf6018a00d61c5f0e53b37b00befaf5ad1d85323f41cf0cea25d8c6c1017096
drh [Mon, 3 Jul 2023 15:03:59 +0000 (15:03 +0000)]
Improved precision of binary-to-decimal conversion of floating-point values
on all systems but especially non-x86 systems that lake extended precision
hardward floating point.
FossilOrigin-Name:
32befb224b254639e756fd493f300507ff60c5222e00a7338dbcd39140133964
drh [Mon, 3 Jul 2023 14:56:49 +0000 (14:56 +0000)]
Whether or not to use the long-double floating point conversion technique
is now a test-control setting.
FossilOrigin-Name:
02ae6caff1f7925c696ad263fe78b1036364d24b6373e1baec10d53aafb14a12
drh [Mon, 3 Jul 2023 12:58:18 +0000 (12:58 +0000)]
New test cases for floating-point conversions.
FossilOrigin-Name:
9435ed76cd9bb1be02768b3853a2323834f67bda75d3e3f76f6aa7bd0bade3d7
drh [Mon, 3 Jul 2023 11:44:15 +0000 (11:44 +0000)]
Use Dekker double-precision floating point to do the value normalization
step in sqlite3FpDecode() for systems on which "long double" is 8 bytes or
less.
FossilOrigin-Name:
51f492b440728151ce64168d5436ba87ca60d84b89408e47c593fa731355afe4
drh [Mon, 3 Jul 2023 11:39:38 +0000 (11:39 +0000)]
Final clean-up of the idea of using Dekker double-precision floating
computations to improve accuracy.
FossilOrigin-Name:
40285d631072b79aba39cc20d4b217bdf0069f29ac9902cb97dec28d3e4cde11
drh [Mon, 3 Jul 2023 10:35:29 +0000 (10:35 +0000)]
Squeeze as many bits as we can out of normalization.
FossilOrigin-Name:
25d1ad6df1ed460c2cc9f32e8a5106e121ae502044f83abf431c1d5b3879eb56
drh [Mon, 3 Jul 2023 10:18:02 +0000 (10:18 +0000)]
Faster Dekker multiplication that removes the restriction on input magnitude.
FossilOrigin-Name:
2994caf5884be07c889519c78fbac4ddcf267fcfe6a3265ecb6390bcd574532e
drh [Mon, 3 Jul 2023 10:00:38 +0000 (10:00 +0000)]
Fix one constant in the normalization logic. Improved error output
from atof1.test.
FossilOrigin-Name:
d3c48807100a358a70fdd799c8935eba1b765ace2e1ddea4475fd673006cb6da
drh [Mon, 3 Jul 2023 09:07:23 +0000 (09:07 +0000)]
Replace the dodgy error estimating logic in the previous check-in with
full-up Dekker double-double multiplication, and this idea works much better.
There are still a few inaccuracies, but it is much closer.
FossilOrigin-Name:
4fa6938dac2d3d813a37664053db31451a2a065f78dd212488f5f7f8d583ddc5
drh [Mon, 3 Jul 2023 00:40:37 +0000 (00:40 +0000)]
An idea for improving accuracy of fp-to-decimal conversion for systems that
do not have "long double". Does not quite work. Retained only for
documentation purposes.
FossilOrigin-Name:
702243333843219f8904ee0fd12283080d6c6b3fc1ffb36c534cdefb3563c00d
drh [Sat, 1 Jul 2023 20:21:27 +0000 (20:21 +0000)]
This check-in adds the use of "long double" to sqlite3FpDecode() which when
run on x86 using a compiler that translates "long double" into binary80,
causes all legacy tests to pass. But on a system where "long double" is just
an alias for "double", some of the tests are still failing.
FossilOrigin-Name:
ce06982f880339cf46704e95c907249827c3e44af2b9420005200ca8abd3f371
drh [Sat, 1 Jul 2023 18:33:26 +0000 (18:33 +0000)]
Reinstate the fpdecode() SQL function for testing, but only when compiled
with SQLITE_DEBUG.
FossilOrigin-Name:
07eab52e0801bb0e4743b304a06ad16e18cdf8eaa18c0faf8d47a1f5d8576ea0
drh [Sat, 1 Jul 2023 17:56:00 +0000 (17:56 +0000)]
drh [Sat, 1 Jul 2023 15:23:24 +0000 (15:23 +0000)]
Improved response to Infinity and NaN. Remove the termporary fpdecode()
function.
FossilOrigin-Name:
76ab8ae809a47a66688e2d50c20dc87ce946d82e9ffebb3adda55c451fad07fc
drh [Sat, 1 Jul 2023 14:03:50 +0000 (14:03 +0000)]
Progress towards fixing corner-case floating-point formatting issues.
FossilOrigin-Name:
1138b8d16edef16d2943d407e289d07d546a14e64c3efa3c94127631e06fafeb
drh [Fri, 30 Jun 2023 23:42:46 +0000 (23:42 +0000)]
Fix an issue with the "+" attribute in printf().
FossilOrigin-Name:
bdfd1eb1d7b4c570a53d58789dac0bf55fdaf8eba515d5a0caf2e57e25b51952
drh [Fri, 30 Jun 2023 23:18:44 +0000 (23:18 +0000)]
Begin cutting over sqlite3FpDecode() into printf(). The code in this
check-in gets a lot right, but there are still some formatting
discrepencies.
FossilOrigin-Name:
c134d423e79ba5d3343d7480229822a0c83210f67f12129e0237181f892f97a5
drh [Fri, 30 Jun 2023 19:41:57 +0000 (19:41 +0000)]
Add decimal rounding to the sqlite3FpDecode() routine.
FossilOrigin-Name:
27871140caa833f0bc0962e44356993938e93dcf81c1074382b1560a3e1aeb61
drh [Fri, 30 Jun 2023 18:35:43 +0000 (18:35 +0000)]
Experiments with a new algorithm for converting ieee-754 binary64 numbers
into decimal.
FossilOrigin-Name:
e923405e448385085224f9289991b303d86b02763535ea77d6fcee98ba6fc1f2
dan [Fri, 30 Jun 2023 18:31:37 +0000 (18:31 +0000)]
Add support for sqlite3_stmt_scanstatus_v2() profiling of GROUP BY clauses that use a temp b-tree, and for sub-queries implemented as co-routines.
FossilOrigin-Name:
7afad1f759f7ceda873c6d869422fd56fe4399c2d24d47ad9bc3b84b06d830d1
dan [Fri, 30 Jun 2023 18:23:53 +0000 (18:23 +0000)]
Improve support for sqlite3_stmt_scanstatus_v2() profiling of sub-queries implemented as co-routines.
FossilOrigin-Name:
4e8718dc35dbbaf75f17265a88d14acd9750dc75efbadf41377f9c97e732009c
dan [Fri, 30 Jun 2023 17:14:36 +0000 (17:14 +0000)]
Add support for sqlite3_stmt_scanstatus_v2() profiling of GROUP BY clauses that use a temp b-tree.
FossilOrigin-Name:
796eadcc50e7ea9ec348b1f7e2d6a5a3de78c675a07f665078309e6d81479e7d
dan [Fri, 30 Jun 2023 16:16:51 +0000 (16:16 +0000)]
Add extra debugging code for sqlite3_stmt_scanstatus_v2() to test1.c.
FossilOrigin-Name:
f936f101406069b29218c89a36581b4497226fb61906782ea368f12d943c901c
drh [Fri, 30 Jun 2023 14:01:09 +0000 (14:01 +0000)]
Completely unwind the enhanced precision sum() from [
a915f15a916af698 ] so
as not to offend UBSAN and OSS-Fuzz.
FossilOrigin-Name:
85be05b66ef975f02a3e7b2984bcab97d9280c7f3b6ee1e16718de549f240d46
drh [Fri, 30 Jun 2023 12:59:06 +0000 (12:59 +0000)]
Omit the doubleToReal() function in vdbemem.c. Use the
equivalent sqlite3RealToI64() function in its place.
FossilOrigin-Name:
625820e8ebfdcf513c81b1b632bbe2aa882a8fbba52001113dc6f56270fa5ceb
drh [Fri, 30 Jun 2023 11:51:36 +0000 (11:51 +0000)]
Make the sum() function less precise and slower in order to avoid
harmless signed integer overflow UBSAN warnings from OSS-Fuzz.
FossilOrigin-Name:
1be0646a2c352dbf03d2af87fd48b6f9edfd68666790ac6863144ac95f3e0621
drh [Thu, 29 Jun 2023 23:03:30 +0000 (23:03 +0000)]
Cleanup and commenting of the new DECIMAL extension code. No functional
changes.
FossilOrigin-Name:
5124481663eb8e74a9f861be98adb7075ea911fcff0216d98c658e955acadf14
drh [Thu, 29 Jun 2023 20:28:03 +0000 (20:28 +0000)]
Enhancements to the DECIMAL extension:
(1) If the argument to decimal(X) is a floating point value (or an 8-byte blob),
the floating point value is expanded into its exact decimal representation.
(2) Function decimal_sci(X) works the same except it returns the result in
scientific notation.
(3) New function decimal_pow2(N) returns the full decimal expansion of the N-th
integer power of 2.
FossilOrigin-Name:
8baf8c10aecb261751f2b154356ab224b79d07230929ec9f123791278e601bba
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
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
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
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
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
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