aboutsummaryrefslogtreecommitdiff
path: root/src/func.c
Commit message (Collapse)AuthorAge
* Always use the "LL" suffix on 64-bit integer literals.drh2023-07-08
| | | FossilOrigin-Name: 07d95ed60f0a17ea13b4bc19c2ab2ec9052fedd27c9e1e57a1ec6e3a6470e5b7
* Improved handling of integer inputs to the new sum() implementation.drh2023-07-06
| | | FossilOrigin-Name: 31561c63bde6af2210296810fd66232b935033b4d26273a6b8a52142c54b4e12
* Fix minor inaccuracies in the new sum() algorithm.drh2023-07-06
| | | FossilOrigin-Name: e3f7a960c9bd8e84cd70f0585bb955d043604a92001d0e2bf6c1216bb1fd7221
* Experimental attempt to boost the accuracy of sum() using thedrh2023-07-06
| | | | | Kahan-Babuska-Neumaier algorithm. FossilOrigin-Name: ebc5edd3b10c1102b07b9fb0d6837266b81e55504ef883b9b8a7ad5e8ab29dd2
* Reinstate the fpdecode() SQL function for testing, but only when compileddrh2023-07-01
| | | | | with SQLITE_DEBUG. FossilOrigin-Name: 07eab52e0801bb0e4743b304a06ad16e18cdf8eaa18c0faf8d47a1f5d8576ea0
* Improved rounding policy.drh2023-07-01
| | | FossilOrigin-Name: 6f1122e942b8269552daaf13d647d200d8546ec25f36310d67037c6b58d09976
* Improved response to Infinity and NaN. Remove the termporary fpdecode()drh2023-07-01
| | | | | function. FossilOrigin-Name: 76ab8ae809a47a66688e2d50c20dc87ce946d82e9ffebb3adda55c451fad07fc
* Add decimal rounding to the sqlite3FpDecode() routine.drh2023-06-30
| | | FossilOrigin-Name: 27871140caa833f0bc0962e44356993938e93dcf81c1074382b1560a3e1aeb61
* Experiments with a new algorithm for converting ieee-754 binary64 numbersdrh2023-06-30
| | | | | into decimal. FossilOrigin-Name: e923405e448385085224f9289991b303d86b02763535ea77d6fcee98ba6fc1f2
* Completely unwind the enhanced precision sum() from [a915f15a916af698] sodrh2023-06-30
| | | | | as not to offend UBSAN and OSS-Fuzz. FossilOrigin-Name: 85be05b66ef975f02a3e7b2984bcab97d9280c7f3b6ee1e16718de549f240d46
* Make the sum() function less precise and slower in order to avoiddrh2023-06-30
| | | | | harmless signed integer overflow UBSAN warnings from OSS-Fuzz. FossilOrigin-Name: 1be0646a2c352dbf03d2af87fd48b6f9edfd68666790ac6863144ac95f3e0621
* Use ideas from T. J. Dekker in "A Floating-Point Technique for Extending thedrh2023-06-26
| | | | | | Available Precision" (1971-07-26) to enhance the accuracy of the SUM() aggregate function in cases where input magnitudes vary wildly. FossilOrigin-Name: 439fc00fee62b4db3751860485e21a99cae4fd1f5d911b2c08651a1466245ecc
* Optimize the argument to the octet_length() function so that it does notdrh2023-06-22
| | | | | attempt to read content from disk. FossilOrigin-Name: 8b8ea4e3f52d96cc217bd1fb27ca4a83489ef1f250756ed2f790d1b0ee529a3a
* Merge recent trunk enhancements into the octet_length branch.drh2023-06-22
|\ | | | | FossilOrigin-Name: d35c214811aac7dec0000ca2aa77231f74a7963dd0c53cf25a65ade5ef0f8dc0
| * Fix straggler misspellings and tidy the custom dictionary. Also include ↵larrybr2023-06-07
| |\ | | | | | | | | | | | | pickups from [forum:/info/c61fb09afd|forum post c61fb09afd]. FossilOrigin-Name: 8c291d99946eb32b20b743921202f9c7cfb716268ff526817b27adbb7942e40b
| * | Add a C-source spell-checking facility. make misspell (on Nix)larrybr2023-06-07
| |/ | | | | FossilOrigin-Name: 26c1bb4bd9e9f56613c3aa87407a7f562fd4ebde5bfd6dece02078001d9a45f8
* / Prototype implementation of the octet_length() SQL function.drh2023-06-03
|/ | | FossilOrigin-Name: 2db989c8635f7e89b3ea58d1fde94787fced039ac1a118d9b6362811eda73f87
* Updates to compile-time option usage and especially to the compile-time optiondrh2023-05-05
| | | | | test script in tool/omittest.tcl. FossilOrigin-Name: fece588b186c4f9f76d626313e35336fd5681e966e9bd0fa1053b147c4e3c315
* Provide -DHAVE_LOG2=0 and -DHAVE_LOG10=0 compile-time options for use on systemsdrh2023-02-23
| | | | | | that lack the log2() and log10() standard math library routines, to cause SQLite to substitute its own alternatives. FossilOrigin-Name: 7ee22f95e7a7d8650f961f20e304e56c7813e624f05655d7392ca9347748270f
* Fix a harmless UBSAN warning in debugging code of the new unhex() function.drh2023-02-18
| | | FossilOrigin-Name: 315574d5cbe5c805ff2163052d986b054985984fb45bfb064d1a7b39a22b90eb
* Update unhex() to allow a second argument, specifying a set of characters ↵dan2023-01-24
| | | | | that are permitted to appear between pairs of hexadecimal digits. FossilOrigin-Name: 66c8562690b19f17972589611810e1dccad3a48777acb05208289c1f77076f71
* Add experimental user function unhex().dan2023-01-23
| | | FossilOrigin-Name: dbe424b5db33ce2c7562dfb44daf2969cf3074234cc891eb9b8d0d907faf6a78
* Fix lots of harmless, nuisance compiler warnings, mostly unused parameterdrh2022-12-23
| | | | | warnings in extensions. FossilOrigin-Name: c14bbe1606c1450b709970f922b94a641dfc8f9bd09126501d7dc4db99ea4772
* More efficient implementation of large precisions on the "%c" format fordrh2022-12-21
| | | | | | the built-in printf(). This is an effort to avoid a reported timeout on a (ridiculous) query generated by OSSFuzz. FossilOrigin-Name: 371f9b88387a44a5f820279d79733d1deb7eafc72f320ec47a11679bbdbb49ef
* Use the log10() and log2() functions from the standard C library to implementdrh2022-11-17
| | | | | | | | the equivalent SQL functions, in the hope that this will prevent reported precision problems. See [forum:/forumpost/cfceb1230bdcfd84|forum post cfceb1230bdcfd84] and the surrounding thread. FossilOrigin-Name: 7c572d02e60a83b36543ba4d9d45f61e9fc111b61fee085410c2d87558c732d6
* Enhance the sqlite3_strglob() and sqlite3_strlike() interfaces so that theydrh2022-10-25
| | | | | | | will do sensible things with NULL string pointers. This is an extra layer of defense against bugs such as reported by [forum:/forumpost/730b554179|forum post 730b554179]. FossilOrigin-Name: 8ba9c884bded52e3e044ff39c826c04838e7c31f05d802f4a14d9ce5a01ab721
* Fix a problem in the LIKE and GLOB operators that may occur when the ↵dan2022-10-14
| | | | | character immediately following a "%" or "*" wildcard is U+80. Reported by [forum:61bf7ccbdf]. FossilOrigin-Name: 2da677c45b643482eec39e4db7079c772760bc966dc71bf6c01658cc468f5823
* Move the sqlite_offset() function implementation to be an in-line function,drh2022-06-01
| | | | | | thereby avoiding special case code and freeing up a bit in the FuncDef.flags field. FossilOrigin-Name: 1c9812c458bd229c862efe5df1b64fae333da9871c8756b5ae4605a81bcda4b5
* Slight increase in the accuracy of log10().drh2022-05-25
| | | FossilOrigin-Name: c48a735bd4a1dbd541aed5937c25fc0c606c4263d8ee94cae30a06b1a7b26d9a
* The sqlite_offset() function should be non-deterministic.drh2022-03-06
| | | | | dbsqlfuzz 3df8230bb940870db87ffca2c0fc759c1e7fa356. FossilOrigin-Name: e1a185e60afd32d3b25278dee42049920759ccd8fe709161007f5daa4a048693
* Avoid dropping SQLITE_TOOBIG errors in the quote() function.dan2022-02-12
| | | FossilOrigin-Name: 115c3051a1ff7567e84f14fc4c49efe61bc2850248533449b0195c305ab6516e
* Fix various harmless compiler warnings.drh2022-02-04
| | | FossilOrigin-Name: 70049342d5ad57ea3e863bba19253934b868bacdd1c26c9371bac024a829badf
* Merge trunk enhancements into the json-in-core branch.drh2022-01-09
|\ | | | | FossilOrigin-Name: ea755771699dcbffe0ddfd204d42fae9b6e79e107485c725b8eb6caab92aacb8
| * Add function format() as an alias for printf(), for compatibility with otherdrh2022-01-08
| | | | | | | | | | systems. FossilOrigin-Name: 68bffc612c467b2419bf5fe85a8ca16b787003e0e8c11f7c051a879f5865b847
* | Add a new built-in subtype() function.drh2022-01-09
| | | | | | FossilOrigin-Name: a25f4ce255c034fc694c33728aedb98289ebccda9c48920829ef780b92b8faee
* | An attempt to integrate the JSON functions directly into the SQLite core,drh2022-01-06
|/ | | | | rather than holding them as an extension. FossilOrigin-Name: 583b47d865fb8d2c9ae4d3a4e70356a8a758978efb0a282f6b19775bf41fb748
* Factor out the logic that does quoting for the SQL quote() function, so thatdrh2021-12-10
| | | | | it might be reused for other purposes. FossilOrigin-Name: 8e98ba1eeb1a5a61b7cb2de337ef8bca3d07494266a50d62b9c6bc60ad0a955f
* Fix the group_concat() inverse function implementation so that it correctlydrh2021-10-12
| | | | | handles BLOB inputs when database text encoding is UTF16. FossilOrigin-Name: 38a1326b4bd11bbe2846990d099c28520d17ab4cace1af67248c2472f89df929
* Protect all accesses to the Expr.x union using nearby assert()s and branches.drh2021-10-07
| | | FossilOrigin-Name: 8eaa1d4a98b24adf245bbd2fe9212aa6a924a0f09c445906d7f87574f36a7423
* Protect all accesses to the FuncDef.u and Expr.u unions using nearbydrh2021-10-07
| | | | | assert()s or branches. FossilOrigin-Name: 9af863f065e0bef491c2ab7525194505f9516f4e6dfc789d2e3a9d2c2438533a
* Add the sqlite3ResultStrAccum() internal interface to simplify thedrh2021-10-03
| | | | | the implementation of functions that return strings. FossilOrigin-Name: e548e9299d3fd6ce5b647cf0dd93ff8e917a5eda43076c6a02389c52640e2e50
* Fix a problem with group_concat() when it is used as a window function withdrh2021-10-01
|\ | | | | | | | | | | a sliding window, as described by [forum:/forumpost/f3eb24a6c0|forum thread f3eb24a6c0]. FossilOrigin-Name: f47f7f78227830c065d9ce715b8456eab81a38d680f76bf4ff08f298d84f9c7a
| * Remove unreachable branches in the fixed group_concat() code.drh2021-10-01
| | | | | | FossilOrigin-Name: 8bd721c29e7a28cd75885dd80235e4e37aa0847229f769f49e01127f794fa63a
| * Fixes to the version of "varsep" group_concat so that (1) it builds underdrh2021-10-01
| | | | | | | | | | | | | | | | separate compilation and (2) omits tabs in source code and (3) runs faster than trunk. This variant of the group_concat_varsep branch might be preferred over the tip because it preserves (undocumented) legacy behavior about the position of separators relative to terms. FossilOrigin-Name: 04399cf9645e04b171090ff8a3c27752929c10d2cd8778e26f8f3337aa902ab6
| * Get group_concat() to handle varying separator lengths when windowinglarrybr2021-09-29
|/ | | FossilOrigin-Name: 98e0f2bf67cdee1da1edadeb54ff8564728b3f28fc821e46e8de201247c3fc87
* Make the affinity() function available even if compiled withoutdrh2021-09-17
| | | | | | SQLITE_DEBUG. Surround the implementation of all test-only SQL functions with #ifndef SQLITE_UNTESTABLE. FossilOrigin-Name: b7e00ef8059f6fb5658c6ad6f337cfdf065a5f1b1130452122282f3a69e98a93
* Update requirements marks to reflect recent documentation changes.drh2021-09-14
| | | FossilOrigin-Name: 08cab8921e670a0d1758b505fe8c7455f6194cec69d1b7b77de91688be1028a6
* Attempt to omit ORDER BY clauses from FROM-clause subqueries if those ORDER BYdrh2021-07-15
| | | | | | | | | clauses do not affect the output. See [forum:/forumpost/2d76f2bcf65d256a|forum thread 2d76f2bcf65d256a] for discussion. This can help the query flattener in some cases, resulting in faster query plans. The current implemention does not always work. FossilOrigin-Name: ef97c3e7c3ea2cf1a4db6591328fe7ce3f1d189afc2d578159135824ec89e620
* Fully incorporate *_changes64() API improvement.larrybr2021-06-23
| | | FossilOrigin-Name: 6699a2f6bec9dfcdc456ff1cd8e652588b144ec28b7eac6e403a63eab61b416e
* Add the sqlite3_changes64() and sqlite3_total_changes64() API functions.dan2021-06-22
| | | FossilOrigin-Name: 48fdec22c966003f5577e0bf52906ef90df11e4e395723a646304e67ed976f37