drh
1fe31dcfab
Adjustments to the test cases for the previous check-in to make them
...
cross-platform Linux/Mac/Windows. Test chance only. No change to core code.
FossilOrigin-Name: 0dddadbd5b217a48bb5c1b0568a03fbafb89dba98c577727bf4f79ff7e0ca849
2024-03-19 10:41:18 +00:00
drh
5ed044e893
Fix another problem from [c63e26e705f5e967] involving infinities and the
...
Kahan-Babushka-Neumaier summation algorithm. Problem reported by
[forum:/forumpost/23b8688ef4|forum post 23b8688ef4].
FossilOrigin-Name: 45d272ef38d5ee6189f81369aefb8e3ac35868a67687012d93c84f2bbc42520a
2024-03-19 10:16:17 +00:00
drh
f79b0bdcbf
The quote() SQL function should convert +Inf into 9.0e+999 and -Inf into
...
-9.0e+999. See [forum:/forumpost/6675b25108|forum post 6675b25108].
FossilOrigin-Name: 85dd79a6edecfc8c6307c6d215998f76dab086aa14528ddc64eb9955501becfd
2024-02-26 22:28:21 +00:00
drh
8dca1905ed
Ensure that the replace() SQL function always returns a TEXT value even
...
when its first argument is numeric and its second argument is an empty string.
Fix for the issue reported by
[forum:/forumpost/3776b48e71|forum post 3776b48e71].
FossilOrigin-Name: 01868ebcd25fadb2034da234c0636e82d07c5abc902ef66493cadfc988e74d7b
2024-01-20 13:18:22 +00:00
drh
d5e040b6f0
Add string_agg(X,Y) as an alias for group_concat(X,Y), for compatibility
...
with SQLServer and PG.
FossilOrigin-Name: b91c19bf2680f60d7826ab5d9e7902e2dc2a55d847bbea565a6489d47f2cc8f1
2023-10-20 20:19:30 +00:00
drh
7bb5a6db40
Fix the AVG() and TOTAL() functions (after the SUM() fix of [77d3dcd283595c52])
...
so that they work with infinitites. Fixes a bug introduced by check-in.
[c63e26e705f5e967]. Bug reported by
[forum:/forumpost/8960fb40cc|forum post 8960fb40cc].
FossilOrigin-Name: 6df6f17ccb404c648076ccff4200d0eb5437f0e3e82424bf3da5ea682b107bb4
2023-08-30 16:03:27 +00:00
drh
bd953dfcad
Fix an issue with infinity handling by the SUM() function that goes back
...
to the extended-precision SUM() enhancement of
[check-in c63e26e705f5e967]. Problem reported by
[forum:/forumpost/1c06ddcacc86032a|forum post 1c06ddcacc86032a].
FossilOrigin-Name: 77d3dcd283595c52f24c07fc59ba60c9133b71c440cf3f799cf48c907c6fae3e
2023-08-28 12:20:18 +00:00
drh
3e1e7aad3d
Fix octet_length() test cases so that they work when the database encoding
...
is utf16.
FossilOrigin-Name: ad2e39626e6115fd322ef9495ae3bcd91343d7131a725f1bf24211a51a21dcc2
2023-07-06 17:14:47 +00:00
drh
48114d08cf
Completely unwind the enhanced precision sum() from [a915f15a916af698] so
...
as not to offend UBSAN and OSS-Fuzz.
FossilOrigin-Name: 85be05b66ef975f02a3e7b2984bcab97d9280c7f3b6ee1e16718de549f240d46
2023-06-30 14:01:09 +00:00
drh
60f41362cf
Make the sum() function less precise and slower in order to avoid
...
harmless signed integer overflow UBSAN warnings from OSS-Fuzz.
FossilOrigin-Name: 1be0646a2c352dbf03d2af87fd48b6f9edfd68666790ac6863144ac95f3e0621
2023-06-30 11:51:36 +00:00
drh
d847c73153
Simple test cases for the enhanced SUM() function.
...
FossilOrigin-Name: c66ef2440e4e6c7aa17b50e5a29e543713ccab69aa0a415bac29b35b6116504a
2023-06-26 19:57:23 +00:00
drh
7f9dcd664d
basic test cases for octet_length().
...
FossilOrigin-Name: 034a5fe2a0cfe085271385da1d281515b04b311e08962519d03ad8ad156fb4bd
2023-06-22 15:26:52 +00:00
drh
7d44b22d45
Fix test cases so that they all still work even with -DSQLITE_DQS=0.
...
FossilOrigin-Name: 4883776669ee2f2310ea82b0d6df4d008eebaa7cb252102539cf21a635402ebb
2022-01-16 19:11:13 +00:00
drh
d5326c333f
Add new binary operators "->" and "->>" to the parser that evaluate to
...
2-argument SQL functions by the same name. Add new "->" and "->>" functions
to the JSON extension that are aliases for json_extract().
FossilOrigin-Name: c4e4e3a3fc5da0381ccb7930706e57d7831d87f9c63bafe49ae64117701e1cfe
2022-01-07 14:58:47 +00:00
dan
37f3ac8faa
Change things so that SQLITE_OMIT_VIRTUALTABLE implies SQLITE_OMIT_ALTER_TABLE.
...
FossilOrigin-Name: 2f7c946c5f25a858167f5193ca06e53310394c8cff15426ab8a1327a1ec835fd
2021-10-01 20:39:50 +00:00
drh
972da42749
Prevent an infinite loop in the trim() SQL function if the second argument
...
is a carefully malformed UTF8 string.
FossilOrigin-Name: 829343c26ed7b87fafc70de3369625209bad91e79bb7ca2946d5c8d61cc1c3c4
2021-06-15 14:34:21 +00:00
drh
9b258c54e4
Rename sqlite3ExprCodeAtInit() to sqlite3ExprCodeRunJustOnce().
...
Other changes to make the new code cleaner. Test cases added.
FossilOrigin-Name: d7f18489978fdbbe3ab317485518cac91a75416ccef55898301afdd76d3b415b
2020-03-11 19:41:49 +00:00
drh
b2fe5a7c35
Fix to the register validity tracking logic in debug builds. No impact
...
on release builds.
FossilOrigin-Name: 0a500da6aa659a8e73206e6d22ddbf2da5e4f1d1d551eeb66433163a3e13109d
2020-01-10 01:05:49 +00:00
drh
0dfa5255bc
Check for whether or not it is safe to use non-innocuous functions as the
...
function is being coded, not when its name is resolved.
FossilOrigin-Name: 1da802d54b689a462e1fe899c6ffa08ef14d34f36728b14b055b5a76b1edc274
2020-01-08 17:28:19 +00:00
drh
5710f1ad48
Modify three test cases so that they work even with unusual versions of the
...
library printf().
FossilOrigin-Name: 8f4a3750b7d272daf96831655ffee80d457875ee121fc4537008046b9a00d0e7
2019-11-15 21:16:34 +00:00
drh
42d2fce7f5
Provide the SQLITE_DIRECTONLY flag for app-defined functions that prohibits
...
the use of those functions within triggers or views.
FossilOrigin-Name: fc745845d8d76adc165575e2192f4176e3c28e614c72571d56f4011560499fe1
2019-08-15 20:04:09 +00:00
drh
05d7bfd0bb
Fix the round() SQL function so that it handles infinities correctly.
...
FossilOrigin-Name: db9acef14d49212108c8082cc15a9b9b4a56b8afe4fe1104ddf62783739c1fbe
2019-05-10 12:06:47 +00:00
drh
57b1a3e303
Initial implementation of the sqlite3_value_frombind() interface.
...
FossilOrigin-Name: 98da62dfdacc6b3c490c387d1f8a74cc5daa978776967e264ad4800c380b0ddf
2019-03-29 11:13:37 +00:00
drh
f313952097
Improve the performance of the built-in REPLACE() function in cases where
...
it does many substitutions that make the string larger. OSSFuzz is reporting
intermittant timeouts when running a test where it does a REPLACE() on a
930KB random blob. Perhaps this enhancement will fix that.
FossilOrigin-Name: fab2c2b07b5d3cd851db3e6f5c8a44155e32b0df22905ea33412b153b825a928
2018-02-09 23:25:14 +00:00
drh
eacc050f30
Make sure the group_concat() function returns an empty string, not a NULL,
...
if it has at least one input row. Fix for ticket [55746f9e65f8587].
FossilOrigin-Name: 0deac8737545a020d344be96fff16660a7977ab8
2014-05-07 17:19:31 +00:00
dan
9bc21b535e
Only use the direct-overflow-read optimization if all data from the overflow page in question is being read.
...
FossilOrigin-Name: d8e1f75ddf10f3c0b21acd5455f90fdcea54a948
2014-03-20 18:56:35 +00:00
dan
b72cad14d0
Fix a bug causing "SELECT char()" to return SQLITE_NOMEM.
...
FossilOrigin-Name: ba39df9d4f7ffc6475ae0dc794f7d3f58c486de8
2014-03-08 19:07:03 +00:00
drh
380d685133
Improved comments on the OP_Column changes. Optimize out loading of overflow
...
pages for content with zero length. Add test cases for the latter.
FossilOrigin-Name: 0e05679db7aa302a49e087a81f85203844b98cbe
2013-11-20 20:58:00 +00:00
drh
3432daa8b2
Additional test cases and requirements marks for the unlikely(),
...
likelihood() and instr() functions.
FossilOrigin-Name: 5f01cd36ee8678a07b79f9e01855daffb6bb8c43
2013-10-11 16:35:49 +00:00
mistachkin
9ed04ebc8f
Fixes to test numbering.
...
FossilOrigin-Name: f755b4b21c885f3e897c2a79fc7ac1220210e653
2013-07-19 23:58:41 +00:00
dan
0c5477997b
Ensure that all auxiliary data registered by calls to sqlite3_set_auxdata() is destroyed when the VM is halted. Partial fix for [406d3b2ef9].
...
FossilOrigin-Name: 71effa59c98d167e6e4b269e59ad5f468e664ac1
2013-07-18 17:12:08 +00:00
drh
9b4c59fa1b
Refactoring the mmap interface. The controlling pragma is now "mmap_size"
...
instead of "mmap_limit". Also change SQLITE_CONFIG_MMAP_LIMIT and
SQLITE_FCNTL_MMAP_LIMIT to SQLITE_CONFIG_MMAP_SIZE and
SQLITE_FCNTL_MMAP_SIZE, respecctively.
The default mmap_size is now always 0, meaning that
memory mapped I/O is off by default. There is a new compile-time option
SQLITE_MAX_MMAP_SIZE that determines a hard upper bound on the mmap_size.
Setting SQLITE_MAX_MMAP_SIZE to zero disables the memory-mapped I/O logic
and causes it to be omitted from the build. An extra argument is added
to SQLITE_CONFIG_MMAP_SIZE that can optionally lower the SQLITE_MAX_MMAP_SIZE
at start-time. The SQLITE_MAX_MMAP_SIZE is zero for platforms where we
know that it does not work, meaning that it cannot be turned on by mistake
on those platforms.
FossilOrigin-Name: ea1404a10abd7f68e1f8e0708c8a3199d1f79665
2013-04-15 17:03:42 +00:00
drh
41f89cc676
Previous check-in accidently left mmap turned off by default. This checkin
...
fixes that. Unfortunately, shared.test is now segfaulting. All other
veryquick tests appear to work, however.
FossilOrigin-Name: a850c7319c20b5757983443df05cf2aa4250053b
2013-03-26 01:07:50 +00:00
dan
5d8a137218
Add the sqlite3_io_methods.xMremap() method to the VFS interface. Also "PRAGMA mmap_size".
...
FossilOrigin-Name: 6183f1bd86ceed76d22d9762f3d7eb33262c62d1
2013-03-19 19:28:06 +00:00
drh
fe7a5d11b6
Fix the char() function so that it works even if SQLITE_OMIT_UTF16 is defined.
...
FossilOrigin-Name: af542c82e8e7f0415530b639fa397429c5f377f6
2013-03-07 14:00:04 +00:00
mistachkin
5acefe7dbe
Skip tests that require UTF-16 support when compiled with SQLITE_OMIT_UTF16.
...
FossilOrigin-Name: e39391422e748407d74853d3de297dc1ea6b991d
2013-03-07 09:39:18 +00:00
mistachkin
8d0b81d764
Prevent Tcl file encoding issues in the tests for the unicode() and char() functions.
...
FossilOrigin-Name: d2e7dfca5a92074a7984032deb6a4e3681389c72
2013-02-26 05:44:33 +00:00
drh
fbc1ddf079
Add new SQL functions unicode() and char().
...
FossilOrigin-Name: be2493905281e12c7f4c146ab17c8872e52da350
2013-02-25 14:39:47 +00:00
drh
d495d8c9a3
Two new SQL functions: unicode() and char().
...
FossilOrigin-Name: 209b21085b9767f10f6ffb7c7cac756fcb74ded5
2013-02-22 19:34:25 +00:00
drh
4aaf1552be
Fix an incorrect testcase for the round() function. All tests are passing
...
now, including new real->text->real round-trip tests.
FossilOrigin-Name: 963eb24f737f184d5fcdcd92ebf90466f818cfd8
2012-06-19 03:59:30 +00:00
drh
3c888b7d1b
Test cases for length() of a large blob in an aggregate query.
...
FossilOrigin-Name: d095fa4bfabd765c8e935ed227a334161097dd34
2012-03-28 02:51:51 +00:00
drh
a748fdcc43
Evaluate typeof(X) and length(Y) where X is any column and Y is a blob column
...
without actually loading X and Y from disk.
FossilOrigin-Name: b899dbeb60752843287e2c6ad3577e1d00f0d587
2012-03-28 01:34:47 +00:00
shaneh
35c1a793ce
More rounding tests.
...
FossilOrigin-Name: 3863638b8cd8d41cf4abf8b0d618892de845e91f
2010-02-17 03:57:58 +00:00
shaneh
4a0b43caad
Added additional rounding tests.
...
FossilOrigin-Name: b8ee76bc1fd355110149bd9135dd31a5724c2ac6
2010-02-16 22:00:35 +00:00
drh
feb306f556
Unknown functions in the DEFAULT clause of a table cause an error when
...
the DEFAULT value is needed. Ticket [2d401a94287b5].
FossilOrigin-Name: 093917d7fda442012dfd1a1b2f20f85d2eefa093
2009-08-18 16:05:46 +00:00
drh
8bfd719065
Make sure group_concat() ignores initial NULL values. (CVS 6787)
...
FossilOrigin-Name: 90c3b23ccac8a9e7fc1cc831e43888e4e43badc9
2009-06-19 16:44:41 +00:00
drh
8dc09a0616
Fix the group_concat() function so that it inserts the separator string
...
even if the initial content strings are empty. Ticket #3806 . (CVS 6510)
FossilOrigin-Name: b83fbf15a3920755ed77dc9c91b4f00a86ddb9ac
2009-04-15 15:16:53 +00:00
shane
fbd60f826d
Changes to completely remove all floating point ops if SQLITE_OMIT_FLOATING_POINT defined. Note that w/o fp, date/time, round, nan, etc. are all gone or limited in functionality. Updated some of the test scripts to support missing fp and 64-bit functionality. Ticket #3029 . (CVS 6250)
...
FossilOrigin-Name: 5cef400023205b55152b91441acc78f9cd8d58a9
2009-02-04 03:59:25 +00:00
drh
07d3117aed
Make group_concat() a 1- or 2-value function, as the documentation says it
...
should be. Use the md5sum() function to verify ticket #3179 , not
group_concat(). This undoes the ill-advised group_concat() change of
check-in (5233). (CVS 6233)
FossilOrigin-Name: f2ae82c4d46c2eca30fc60a50ab5064728f20739
2009-02-02 21:57:05 +00:00
drh
a605fe8d8b
Change the replace() function to return a copy of its first argument when
...
the 2nd argument is an empty string. Ticket #3624 . (CVS 6226)
FossilOrigin-Name: ffebf10f6fb2c7f3083992e2c712682b4cdcc6f0
2009-02-01 18:08:40 +00:00