aboutsummaryrefslogtreecommitdiff
path: root/src/util.c
Commit message (Collapse)AuthorAge
...
| * An idea for improving accuracy of fp-to-decimal conversion for systems thatdrh2023-07-03
| | | | | | | | | | | | do not have "long double". Does not quite work. Retained only for documentation purposes. FossilOrigin-Name: 702243333843219f8904ee0fd12283080d6c6b3fc1ffb36c534cdefb3563c00d
| * This check-in adds the use of "long double" to sqlite3FpDecode() which whendrh2023-07-01
| | | | | | | | | | | | | | 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
| * 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
| * Progress towards fixing corner-case floating-point formatting issues.drh2023-07-01
| | | | | | FossilOrigin-Name: 1138b8d16edef16d2943d407e289d07d546a14e64c3efa3c94127631e06fafeb
| * Begin cutting over sqlite3FpDecode() into printf(). The code in thisdrh2023-06-30
| | | | | | | | | | | | check-in gets a lot right, but there are still some formatting discrepencies. FossilOrigin-Name: c134d423e79ba5d3343d7480229822a0c83210f67f12129e0237181f892f97a5
| * 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
| * Enhance the SUM() aggregate (and related AVG() and TOTAL()) so that the runningdrh2023-06-28
| |\ | | | | | | | | | | | | sum is accurate to about 100 bits. FossilOrigin-Name: a915f15a916af698e0cef46c8b3e7ed11bda19349179d2d414073cd39c4cce24
| | * 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
| * | Improved accuracy of floating-point conversion constants as suggested bydrh2023-06-28
| |/ | | | | | | | | [forum:/info/598d32f6135c41c1|forum post 598d32f6135c41c1]. FossilOrigin-Name: 4943e8a1819e189747eefc414d02c0485e1620deff9cf92664295b21a8a9a83c
| * Add a C-source spell-checking facility. make misspell (on Nix)larrybr2023-06-07
| | | | | | FossilOrigin-Name: 26c1bb4bd9e9f56613c3aa87407a7f562fd4ebde5bfd6dece02078001d9a45f8
| * Add support for hexadecimal integer literals in JSON.drh2023-04-27
| | | | | | FossilOrigin-Name: 85e00c9e68d0695592e8f72555ee133c096bfca5a860a8e21d1e0ef756705aaf
| * Attempt to suppress harmless compiler warnings reported bydrh2023-04-19
| | | | | | | | | | [forum:/forumpost/fc98845c06|forum post fc98845c06]. FossilOrigin-Name: f6e6c5f94cef83645288568a344a0ff64e4ef17b10fab28996567a94db0a002a
| * Small performance enhancement to integer-to-text conversion.drh2023-04-12
| | | | | | FossilOrigin-Name: cfb3dba9b015ce7a75857978bfd2540b4d5be985d9d2ec4a5842b3089ed3da60
| * Fix sqlite3_prepare() so that it only invokes the progress handler on everydrh2023-01-12
| | | | | | | | | | | | | | N-th call to sqlite3ProgressCheck(), where N is the progress handler step count. Also fix faulty asserts exposed by the ability to interrupt in the middle of sqlite3_prepare(). FossilOrigin-Name: 05461651599bb490ac6cfd893645dabab9cccedc6adcce15aee2487b2ea6027a
| * Attempt to provide a mechanism to do early termination of long-runningdrh2023-01-12
| | | | | | | | | | | | | | statement preparation by invoking the progress handler at strategic points during sqlite3_parpare(). This experiment shows that sqlite3_prepare() might leave the resulting prepared statement uninitialized following an interrupt. FossilOrigin-Name: 79636f2d80aee70832913a78933da2a7e30cc037810b93903ebbc1925ea93fef
| * Avoid an unnecessary call to strlen() in the sqlite3VdbeMemStringify() routine,drh2023-01-03
| | | | | | | | | | for a performance increase and size reduction. FossilOrigin-Name: 284382d37850f469dc4bf3ab8efd2f20971554e897f1ba3e94d3f2f0c35d97d0
| * Enhance the sqlite3_stmt_scanstatus() API and add ↵dan2022-12-02
| | | | | | | | | | sqlite3_stmt_scanstatus_v2(). For creation of easier to read query performance reports. FossilOrigin-Name: 55800833645739efeddcacef464c623931cb6aeb43f4219b4e4faf473c25c8bb
| * Change the handling of hwtime.h to make it easier to compile performancedrh2022-11-29
| | | | | | | | | | | | measurement builds that make use of hwtime.h. This should not affect productions builds. FossilOrigin-Name: f64a224244743ab121371abd516fccbfc93c110e0952211764bd1b217e792c1b
| * Fix an assert() associated with the dbsqlfuzz error at [8372468bb5d8922c].drh2022-09-02
| | | | | | FossilOrigin-Name: 54251f81ebc43839cc97f91d2df4c320c1b96b5690cc11ce45b60c087c9becd6
| * Remove many redundant checks for sqlite3.mallocFailed now that any OOM shoulddrh2022-01-24
| | | | | | | | | | cause Parse.nErr to be non-zero. FossilOrigin-Name: 1f7fa46126ea33ed30e93186aff3df51068aeb4be6f79a102bfe8c4e44941d71
| * Make it so that any Parse object is always linked into the database conenctiondrh2022-01-24
| | | | | | | | | | while it is active. Hence, an OOM will cause Parse.nErr to be set. FossilOrigin-Name: 6a45d8fe8bfbc11a5b86d25237e1f8bccfb0f22f3dcaf004ba797aeb57b365ec
| * Add the sqlite3_error_offset() interface. Use it in the CLI to providedrh2021-12-24
| | | | | | | | | | better context for error messages. FossilOrigin-Name: b518ce77439852759bc0901071f36d622b1314c9bf3d29c279dfcc405188b975
| * Add SQLITE_TESTCTRL_LOGEST and enhance the LogEst utility program.drh2021-12-09
| | | | | | | | | | Improvements to testability of bloom filters. FossilOrigin-Name: 88b43d798cc5aa59855e92d3e658aee9f0a5def6ffbc5db77af048d75ecdf8cc
| * Omit the OP_FilterInit opcode. Use OP_Blob to initialize each Bloom filterdrh2021-12-06
| | | | | | | | | | | | instead. Size the Bloom filter based on sqlite_stat1 size estimates rather than a run-time measurement for improved testability. FossilOrigin-Name: 8a9036ee617a6ad93bfe827b0789773c49d3d45b085cb76fa4b9b20a41b79b97
| * Enabled the testcase() macros under SQLITE_DEBUG.drh2021-10-20
| | | | | | FossilOrigin-Name: 0ae8dd132db8331ca9cc42ad511066924f9d3a1d158ecdb630cebc41b6bd2493
| * Protect all accesses to the FuncDef.u and Expr.u unions using nearbydrh2021-10-07
| | | | | | | | | | assert()s or branches. FossilOrigin-Name: 9af863f065e0bef491c2ab7525194505f9516f4e6dfc789d2e3a9d2c2438533a
| * Restore the use of system isnan() that was removed bydrh2021-09-06
| | | | | | | | | | | | check-in [ea748edecb261f2b]. See [forum:/forumpost/d7c530ac587f59e6|forum thread d7c530ac587f59e6]. FossilOrigin-Name: b3cfe23bec0b95ca673802526704200e2396df715fdded72aa71addd7f47e0e1
* | If an EXCEPTION_IN_PAGE_ERROR exception is caught, make the underlying OS ↵dan2021-09-10
|/ | | | | error code available via sqlite3_system_errno(). FossilOrigin-Name: fdb20e9ee48465b94aa6ac3c5e263ecaa7c3b10f4a193e79f965b7c35944b08b
* Rename the Column.eType field to Column.eCType - with an extra "C".drh2021-08-18
| | | FossilOrigin-Name: b9b0dcd5af072c22f2ce71cf9584b5b572fbcfbce6410a7d703b586adb8938ba
* Refactor sqlite3.magic into sqlite3.eOpenState.drh2021-08-07
| | | FossilOrigin-Name: e5d6512aa1fa0016a679c6e0cb665a0c67ad16f1daa0c18a96b2ebae1beefd15
* Fix harmless compiler warnings. Omit redundant copies of os_common.h anddrh2021-08-06
| | | | | hwtime.h from the amalgamation. FossilOrigin-Name: 091427007818537bb2f860c42dad867cb19050899186d4d180d195a1c6a98798
* Refactor field names in the Column object, zCnName and zCnColl, to make themdrh2021-08-02
| | | | | unique and thus easier to find amid all the other code. FossilOrigin-Name: 8b781dcaf68e0cf12a844708c82eee00193e340195cbca915d077e4846983bf3
* Recognize certain standard datatypes ("INT", "INTEGER", "REAL", "TEXT", anddrh2021-07-30
| | | | | | "BLOB") and if a column has one of those datatypes, store the type part of the bit-field information in the Column structure to save space. FossilOrigin-Name: d2da62a9df63036b02dadca3798de9e623c2680b3ef0c37d2b18bb88693afd7f
* Avoid clownfeet in the names columns when the column names are quoteddrh2021-07-30
| | | | | in the original CREATE TABLE statement. FossilOrigin-Name: 980f7292afd45a8e73272e2139b55b99ab86167febec9fd0bf0356e8167b2ee9
* Size reduction and performance increase in sqlite3Prepare().drh2021-01-01
| | | FossilOrigin-Name: 41f45c8e894f48049325ccfef12cec0887b636bfad5d531a47628eb9e8612924
* Apple the same fix for ticket [9eda2697f5cc1aba] to text-to-integerdrh2020-08-27
| | | | | | conversions that was done for floating point conversions by check-in [1c76f1d8ec0937a2]. FossilOrigin-Name: aafb7a21041090e529491b0ce30c3902420be0551b1b2c55840a5fbb9105fb7d
* Fix unreachable branches.drh2020-07-30
| | | FossilOrigin-Name: 905752da9815ff8242b3cb9a77b1ffdc5cfc76143f47c774890f617a542457a5
* Fix signed/unsigned compiler warnings.drh2020-07-29
| | | FossilOrigin-Name: 1d69eee8b085d514f442840346f001b4785f8ec64f5ba66943e9577b26e2e29c
* Improvements to rootpage bounds checking during schema parse.drh2020-07-22
| | | FossilOrigin-Name: 75599a9731be19e213a8ae174b038a43381bc6883a6b7f4058c2c1625fdea432
* Continuing work toward supporting unsigned 32-bit page numbers.drh2020-07-22
| | | FossilOrigin-Name: 9ce1710aad43cebe5ad50859c7685fb83e40cdd4a60913bd2b7e659bc59942fd
* Add the sqlite3Int64ToText() routine and use it to convert integers to text,drh2020-07-21
| | | | | as it is much faster than the generic text formatter. FossilOrigin-Name: 14eed318aa9e6e16d1aa13a9f34e3822aa135c39ba06c77df7743509fed6c95e
* Minor simplification to the 32-bit varint decoder.drh2020-07-02
| | | FossilOrigin-Name: 6ffd17b668a8ad561c37e89063afb6e7f8425e557e93025b7527fe3656585d77
* Performance improvement for column name lookup.drh2020-04-06
| | | FossilOrigin-Name: 1e4b6a93987cdfbf829e2ff35ef417c290625f2894ad11949e301af518f1fb44
* Simplify the code by removing the unsupported and undocumented drh2020-02-07
| | | | | SQLITE_HAS_CODEC compile-time option FossilOrigin-Name: 5a877221ce90e7523059353a68650c5fdd28ed032807afc2f10afbfbf864bdfe
* Fix #ifdefs so it compiles cleanly with all SQLITE_OMIT compile-time options.drh2020-01-17
| | | | | Update compile-time option testing. FossilOrigin-Name: 7584e4b649d57767aac3906da6b06549d5b772aaa69f469c623ae5da834d54d5
* When doing a test-to-double conversion on a BLOB with an odd number of bytesdrh2020-01-08
| | | | | | and assuming a UTF16 encoding, ignore the last byte. Ticket [9eda2697f5cc1aba]. FossilOrigin-Name: 1c76f1d8ec0937a2d2e4ce75f98494c953e9621db31945d7e44f45d90d1c3892