SQLite

All files named ”src/func.c”
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for src/func.c

2025-06-28
14:16
[da56527c31] part of check-in [1ae8d60237] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [1ae8d60237] user: drh branch: begin-concurrent, size: 91335)
2025-06-12
13:40
[adbb401550] part of check-in [51c89c886f] Merge latest trunk enhancements and fixes into the experimental flex-search branch. (check-in: [51c89c886f] user: drh branch: flex-search, size: 91263)
2025-06-11
00:01
[de47a82955] part of check-in [80a78987da] Fix the concat_ws() SQL function so that it includes empty strings in the concatenation. Forum post 52503ac21d. (check-in: [80a78987da] user: drh branch: trunk, size: 91201)
2025-06-09
16:32
[19aa22584b] part of check-in [e93048425b] Initial implementation of sqlite3BtreeEstimatedPosition() with the est_rank() SQL function used for testing. (check-in: [e93048425b] user: drh branch: flex-search, size: 91223)
2025-03-03
15:53
[c7f750bbf0] part of check-in [051a6b159e] Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: [051a6b159e] user: drh branch: begin-concurrent, size: 91295)
2025-02-27
03:23
[7686ea382b] part of check-in [d6514c20ff] Internal doc typo fixes reported in forum post 01d15f21b6. (check-in: [d6514c20ff] user: stephan branch: build-break, size: 91161)
2025-02-25
11:47
[dfd3d099d2] part of check-in [6208e49485] Consolidate two different UTF8 encoders into a single subroutine. (check-in: [6208e49485] user: drh branch: unistr, size: 91163)
2025-02-24
13:51
[9d352aee28] part of check-in [e99e37b54b] Add the unistr_quote() function that works like quote(), but also escape control characters using unistr() if necessary. (check-in: [e99e37b54b] user: drh branch: unistr, size: 91835)
2025-02-22
23:18
[ddfb4f3b8d] part of check-in [7cc302de05] Prototype implementation of the unistr() SQL function. (check-in: [7cc302de05] user: drh branch: unistr, size: 91467)
2025-02-18
18:05
[1fb2e5b349] part of check-in [75bbd094db] Cherry pick recent fixes into branch-3.44. (check-in: [75bbd094db] user: drh branch: branch-3.44, size: 85188)
14:37
[de7970100b] part of check-in [3c87a6d195] Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: [3c87a6d195] user: drh branch: begin-concurrent, size: 88252)
2025-02-17
17:33
[6c8b7bbdc5] part of check-in [215650a5a1] Code changes that make it easier to prove that no 32-bit integer overflows happen during memory allocation. No problems fixed; this change is just to make future maintenance easier. (check-in: [215650a5a1] user: drh branch: trunk, size: 88118)
2025-02-16
11:23
[1ab83fd94f] part of check-in [cf6b162de5] Add a typecast to avoid 32-bit integer overflow in the concat_ws() function with an enormous separator values and many arguments. (check-in: [cf6b162de5] user: drh branch: branch-3.49, size: 88105)
10:57
[838bb4c020] part of check-in [498e3f1cf5] Add a typecast to avoid 32-bit integer overflow in the concat_ws() function with an enormous separator values and many arguments. (check-in: [498e3f1cf5] user: drh branch: trunk, size: 88123)
2025-02-09
20:23
[b2fb331399] part of check-in [ce228ce3d0] Performance optimization to the substr() SQL function. (check-in: [ce228ce3d0] user: drh branch: trunk, size: 88118)
2025-02-06
12:39
[a0130a089b] part of check-in [9d3878e95a] Merge version 3.49.0 into begin-concurrent branch. (check-in: [9d3878e95a] user: drh branch: begin-concurrent, size: 88234)
2025-02-04
02:38
[0712a5b03f] part of check-in [317e9a470f] Detect and report signed integer overflow in the sumInverse() routine, used by window functions. (check-in: [317e9a470f] user: drh branch: trunk, size: 88100)
2025-02-03
14:59
[624f4bd500] part of check-in [f456a72e0c] Merge all the latest trunk enhancements and fixes into the begin-concurrent branch. (check-in: [f456a72e0c] user: drh branch: begin-concurrent, size: 88159)
2025-01-28
20:32
[f5b31c8056] part of check-in [fb76d184ee] Enhance the if() and iif() SQL functions so that they support any number of arguments greater than or equal to two. Suggested by forum post 40f7867f75f80. (check-in: [fb76d184ee] user: drh branch: trunk, size: 88025)
2025-01-21
15:12
[30051410d0] part of check-in [753fd747f2] The FuncDev.nArg field values -3 and -4 now have special meansing of 1 or more or 2 or more arguments, respectively. This saves space in the built-in function table, resulting in slightly faster performance and a reduced binary size. (check-in: [753fd747f2] user: drh branch: trunk, size: 88149)
12:33
[3f084d938c] part of check-in [f13ef59184] Demonstration of how to extend the if() and iif() SQL functions to support more than 3 arguments. (check-in: [f13ef59184] user: drh branch: if-many-args, size: 88635)
2025-01-03
15:07
[f4bcf21772] part of check-in [99293f4f72] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [99293f4f72] user: drh branch: begin-concurrent, size: 88717)
2024-12-28
12:32
[89b733a5f5] part of check-in [c1de8f916e] Fixes to the substr() SQL function so that it can handle ridiculously large numbers in its 2nd and 3rd arguments without signed integer overflows. (check-in: [c1de8f916e] user: drh branch: trunk, size: 88583)
2024-12-19
19:52
[e6e997efb9] part of check-in [2db531d191] Correction to check-in [a9759fc78d6cb0df] - printf() parameters values must be integers. (check-in: [2db531d191] user: drh branch: trunk, size: 88610)
12:08
[3772ea69ac] part of check-in [472abb492f] Fix additional integer overflow problems in the substr() function. (check-in: [472abb492f] user: drh branch: trunk, size: 88605)
2024-12-18
20:29
[92f1c5a511] part of check-in [b04b4006f3] Fix possible integer oveflow in the second and third argument to substr(). (check-in: [b04b4006f3] user: drh branch: trunk, size: 88564)
18:29
[33d06376d6] part of check-in [a9759fc78d] Avoid 32-bit roundoff error on the second argument to round(). Forum post 170aeab92a. (check-in: [a9759fc78d] user: drh branch: trunk, size: 88560)
2024-12-07
23:29
[1394c790bd] part of check-in [08cfa7e8b3] Merge the latest trunk fixes and enhancements into the bedrock branch. (check-in: [08cfa7e8b3] user: drh branch: bedrock, size: 88692)
2024-11-26
20:56
[49489dcce4] part of check-in [a251ee645e] Provide a two-argument version of the iif() function, plus an alternative spelling that only requires a single "i". (check-in: [a251ee645e] user: drh branch: two-argument-iif, size: 88558)
2024-11-11
17:03
[f9308e7a4a] part of check-in [52bd7953f1] Update this branch with latest changes and build system updates from trunk. (check-in: [52bd7953f1] user: dan branch: begin-concurrent, size: 88506)
2024-10-28
17:27
[fa138d4434] part of check-in [3a3f7bf430] Remove the never-used and never-documented and long-ago deprecated user-authentication feature option. [65884d4f81a4705b]. (check-in: [3a3f7bf430] user: drh branch: trunk, size: 88372)
2024-10-16
14:52
[28da502e4f] part of check-in [92cd032aa9] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [92cd032aa9] user: drh branch: begin-concurrent, size: 88606)
2024-10-07
21:04
[1d093b93b8] part of check-in [50be8f5091] Add a NEVER() to an unreachable branch in the new indexed-subtype logic. Mark the pi() function as deterministic. (check-in: [50be8f5091] user: drh branch: indexed-subtype-expr, size: 88472)
18:06
[281b373af9] part of check-in [c361dd9184] The (undocumented) subtype() SQL function should have the SQLITE_SUBTYPE flag. (check-in: [c361dd9184] user: drh branch: indexed-subtype-expr, size: 88472)
2024-10-06
15:01
[ed6baeeb41] part of check-in [37d3b6b17e] New SQL function for testing/debugging use only: parseuri(). (check-in: [37d3b6b17e] user: drh branch: parseuri, size: 88414)
2024-09-04
16:54
[ce9dc15867] part of check-in [cf8f155280] Update the bedrock branch to include all of the latest trunk enhancements. (check-in: [cf8f155280] user: drh branch: bedrock, size: 85681)
2024-08-31
14:31
[df400a1d3f] part of check-in [4d0e3df4b9] Enhance the percentile() and median() extension functions so that they can be window functions. (check-in: [4d0e3df4b9] user: drh branch: percentile-window, size: 85547)
2024-08-10
19:59
[5f238255cb] part of check-in [6cc144624d] Merge all of the latest branch-3.46 into the begin-concurrent branch as a new sub-branch called begin-concurrent-3.46. (check-in: [6cc144624d] user: drh branch: begin-concurrent-3.46, size: 85462)
2024-08-01
00:02
[3fb5421eeb] part of check-in [3b131bd9aa] Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: [3b131bd9aa] user: drh branch: begin-concurrent, size: 85482)
2024-06-12
10:17
[36437df3ad] part of check-in [d6b1df1a22] Improvements to the layout and comments for the new round() implementation. (check-in: [d6b1df1a22] user: drh branch: round-up-2, size: 86124)
2024-06-11
22:47
[a7c6f4af5f] part of check-in [44dd632896] A second approach to working on the round() function so that it gives a small boost to numbers that are ...49999999 such that they round up. (check-in: [44dd632896] user: drh branch: round-up-2, size: 85889)
2024-06-10
18:30
[f1bceb9651] part of check-in [3dec4b35ec] The aggressive rounding behavior is now only accessible using the internal sqlite3MPrintf() function. The round() SQL function uses that internal function so it can access the aggressive rounding. But ordinary extensions and the format() SQL function cannot. Update: Superseded by round-up-2 branch (check-in: [3dec4b35ec] user: drh branch: round-up, size: 85411)
18:10
[42053720bb] part of check-in [a1b57288d7] More aggressive rounding behavior for the round() function only. Format() still uses the classic behavior, and the same behavior exhibited by printf() in glibc. (check-in: [a1b57288d7] user: drh branch: round-up, size: 85349)
12:43
[1f61e32e7a] part of check-in [56af06fa12] Improved header comment on the sqlite3FpDecode() implementation. For the fpdecode() SQL function (available in debug builds only) limit the value of the third parameter (mxRound) to be positive. (check-in: [56af06fa12] user: drh branch: trunk, size: 85348)
12:29
[963c559d9a] part of check-in [43f376ce92] Check-in contained undesired test code. (check-in: [43f376ce92] user: drh branch: mistake, size: 85453)
2024-06-05
20:54
[4daef1c773] part of check-in [db43d7aa5d] Harmonize function names. (check-in: [db43d7aa5d] user: mistachkin branch: concatb, size: 86189)
20:52
[cc8c9cdae9] part of check-in [07d8420285] Add an experimental concatb() function. (check-in: [07d8420285] user: mistachkin branch: concatb, size: 86185)
2024-05-23
23:26
[f1f57c6863] part of check-in [cec6bb3fc9] Fix the window-function group_concat() so that it returns an empty string if it has one or more empty string inputs. This fixes a bug introduced by [c6da39115d3e2b0f] on 2019-03-26 (version 3.28.0) and reported by forum post bf8f43aa522c2299. (check-in: [cec6bb3fc9] user: drh branch: trunk, size: 85328)
2024-05-04
11:31
[ee81e2fd91] part of check-in [2f9fba931d] Functions that pass through the sqlite3_value of one of their arguments must also be marked as SQLITE_RESULT_SUBTYPE, in case one of their arguments has a subtype. (check-in: [2f9fba931d] user: drh branch: func-rw-subtype, size: 85392)
2024-05-03
19:35
[ac6e03e7f3] part of check-in [cdd1610c44] The coalesce(), ifnull(), and iif() functions pass through subtype values from their arguments, and hence need to have the SQLITE_RESULT_SUBTYPE flag set. (check-in: [cdd1610c44] user: drh branch: func-rw-subtype, size: 85275)
2024-03-26
10:42
[a37134215d] part of check-in [9b854e54b0] Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: [9b854e54b0] user: drh branch: begin-concurrent, size: 85352)
2024-03-19
10:46
[f8acebf8d6] part of check-in [0984e5cd25] Fix a problem involving infinities int the Kahan-Babushka-Neumaier summation algorithm. (check-in: [0984e5cd25] user: drh branch: branch-3.44, size: 85183)
10:16
[283d4f3b27] part of check-in [45d272ef38] Fix another problem from [c63e26e705f5e967] involving infinities and the Kahan-Babushka-Neumaier summation algorithm. Problem reported by forum post 23b8688ef4. (check-in: [45d272ef38] user: drh branch: trunk, size: 85218)
2024-03-11
23:18
[bc3538cbdd] part of check-in [98ea2ca21a] Merge the latest branch-3.45 changes into the begin-concurrent branch. (check-in: [98ea2ca21a] user: drh branch: begin-concurrent-3.45, size: 85337)
2024-02-26
22:28
[4204c56196] part of check-in [85dd79a6ed] The quote() SQL function should convert +Inf into 9.0e+999 and -Inf into -9.0e+999. See forum post 6675b25108. (check-in: [85dd79a6ed] user: drh branch: trunk, size: 85203)
2024-01-20
13:18
[c71b81223e] part of check-in [01868ebcd2] 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 post 3776b48e71. (check-in: [01868ebcd2] user: drh branch: trunk, size: 85201)
2023-10-23
15:48
[dc3a713c86] part of check-in [c5ef898a79] Merge latest trunk changes into this branch. (check-in: [c5ef898a79] user: dan branch: begin-concurrent, size: 85302)
2023-10-20
20:19
[472f6dcfa3] part of check-in [b91c19bf26] Add string_agg(X,Y) as an alias for group_concat(X,Y), for compatibility with SQLServer and PG. (check-in: [b91c19bf26] user: drh branch: string_agg, size: 85168)
2023-10-13
01:39
[e8d7b3587a] part of check-in [2e968114fd] Avoid potential overflow in hex(). See forum post 7ac0c9c5ea. (check-in: [2e968114fd] user: larrybr branch: trunk, size: 85011)
2023-10-02
17:06
[490341f0ad] part of check-in [3252432265] Fix the length of the string in the new concat() and concat_ws() functions. (check-in: [3252432265] user: drh branch: trunk, size: 84960)
15:56
[cd41873c29] part of check-in [3a1feb1c46] Remove an ALWAYS() from a branch that can in fact be false following an OOM fault. (check-in: [3a1feb1c46] user: drh branch: trunk, size: 84960)
2023-08-30
16:34
[734fe24efb] part of check-in [9877c7c838] Fix the AVG() and TOTAL() functions so that they work with infinities. (check-in: [9877c7c838] user: drh branch: bedrock-3.43, size: 83052)
16:08
[3c8e02958a] part of check-in [97e20716c7] Fix the AVG() and TOTAL() functions so that they work with infinitites. (check-in: [97e20716c7] user: drh branch: branch-3.43, size: 82918)
16:03
[154f08966f] part of check-in [6df6f17ccb] 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 post 8960fb40cc. (check-in: [6df6f17ccb] user: drh branch: trunk, size: 84968)
2023-08-29
20:37
[8169f6fad8] part of check-in [7e3e007583] Merge the latest branch-3.43 fixes into the bedrock branch. (check-in: [7e3e007583] user: drh branch: bedrock-3.43, size: 82970)
15:24
[c96c7f55b9] part of check-in [0b434ca7aa] Add support for the CONCAT() and CONCAT_WS() SQL functions, modeled after the PostgreSQL behavior. (check-in: [0b434ca7aa] user: drh branch: trunk, size: 84886)
2023-08-28
12:20
[f480d46974] part of check-in [77d3dcd283] 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 post 1c06ddcacc86032a. (check-in: [77d3dcd283] user: drh branch: trunk, size: 82836)
2023-08-21
18:03
[2c5b3d0c5f] part of check-in [76a99a2c40] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [76a99a2c40] user: drh branch: begin-concurrent, size: 82879)
2023-08-15
11:58
[dd1ecd1be6] part of check-in [84c268c34c] Fix the PRAGMA case_sensitive_like command so that the LIKE function continues to be innocuous after the PRAGMA. Forum post 925dc9f67804c540. (check-in: [84c268c34c] user: drh branch: trunk, size: 82745)
2023-07-28
12:59
[c1511ca3ab] part of check-in [a0de01108c] A failed attempt to add a new sqlite3_result_zeroterminated() interface that is a hint to SQLite that a TEXT result does have a zero terminator. The idea is to avoid unnecessary copying of TEXT values. This seems like an unnecessary complication at the moment, but maybe I'll return to this later. Note that this check-in does not work - it is a proof of concept only. (check-in: [a0de01108c] user: drh branch: sqlite3_result_zeroterminated, size: 83081)
2023-07-24
13:15
[cb04a04960] part of check-in [967be041ea] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [967be041ea] user: drh branch: begin-concurrent, size: 82875)
2023-07-22
15:21
[cc1da67fd6] part of check-in [1a6b3dd1c4] Fix a harmless use-of-initialized-value warning from OSSFuzz that results from recent large string optmizations. (check-in: [1a6b3dd1c4] user: drh branch: trunk, size: 82741)
2023-07-19
09:52
[25f2e0204c] part of check-in [a0d3e7571a] Two minor improvements to sum(), one of which was inspired by forum post af5be98dbc. (check-in: [a0d3e7571a] user: drh branch: trunk, size: 82728)
2023-07-08
19:00
[84c33702ee] part of check-in [3d0823c48e] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [3d0823c48e] user: drh branch: begin-concurrent, size: 82879)
17:42
[cffa6edb4a] part of check-in [07d95ed60f] Always use the "LL" suffix on 64-bit integer literals. (check-in: [07d95ed60f] user: drh branch: trunk, size: 82745)
2023-07-06
20:34
[b2325dc2fb] part of check-in [31561c63bd] Improved handling of integer inputs to the new sum() implementation. (check-in: [31561c63bd] user: drh branch: trunk, size: 82737)
14:45
[994a3a30d3] part of check-in [e3f7a960c9] Fix minor inaccuracies in the new sum() algorithm. (check-in: [e3f7a960c9] user: drh branch: kahan-babuska-neumaier-summation, size: 82568)
13:19
[baa50a8913] part of check-in [ebc5edd3b1] Experimental attempt to boost the accuracy of sum() using the Kahan-Babuska-Neumaier algorithm. (check-in: [ebc5edd3b1] user: drh branch: kahan-babuska-neumaier-summation, size: 82591)
2023-07-03
00:51
[8740903854] part of check-in [d9a883d7d8] The fptest(X) routine used for exploring another idea for improving fp-to-decimal conversion without the use of long double. (check-in: [d9a883d7d8] user: drh branch: fp-to-decimal-branch2, size: 81568)
2023-07-01
18:33
[6028c160f6] part of check-in [07eab52e08] Reinstate the fpdecode() SQL function for testing, but only when compiled with SQLITE_DEBUG. (check-in: [07eab52e08] user: drh branch: fp-to-decimal-refactor, size: 80871)
17:56
[02ad65dea0] part of check-in [6f1122e942] Improved rounding policy. (check-in: [6f1122e942] user: drh branch: fp-to-decimal-refactor, size: 80017)
2023-06-30
19:41
[a6917bd4d4] part of check-in [27871140ca] Add decimal rounding to the sqlite3FpDecode() routine. (check-in: [27871140ca] user: drh branch: fp-to-decimal-refactor, size: 80677)
18:35
[699e19ca0d] part of check-in [e923405e44] Experiments with a new algorithm for converting ieee-754 binary64 numbers into decimal. (check-in: [e923405e44] user: drh branch: fp-to-decimal-refactor, size: 80575)
14:01
[6b4804738b] part of check-in [85be05b66e] Completely unwind the enhanced precision sum() from [a915f15a916af698] so as not to offend UBSAN and OSS-Fuzz. (check-in: [85be05b66e] user: drh branch: trunk, size: 80016)
11:51
[09a742d1f3] part of check-in [1be0646a2c] Make the sum() function less precise and slower in order to avoid harmless signed integer overflow UBSAN warnings from OSS-Fuzz. (check-in: [1be0646a2c] user: drh branch: trunk, size: 79935)
2023-06-26
19:35
[8ada46d362] part of check-in [439fc00fee] 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. (check-in: [439fc00fee] user: drh branch: extended-precision-fp, size: 79803)
2023-06-22
21:19
[ee064b524a] part of check-in [8b8ea4e3f5] Optimize the argument to the octet_length() function so that it does not attempt to read content from disk. (check-in: [8b8ea4e3f5] user: drh branch: octet_length, size: 79641)
13:28
[cc4f5b77c1] part of check-in [5bd26fea6a] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [5bd26fea6a] user: drh branch: begin-concurrent, size: 78802)
13:01
[7e8accbae9] part of check-in [d35c214811] Merge recent trunk enhancements into the octet_length branch. (check-in: [d35c214811] user: drh branch: octet_length, size: 79640)
2023-06-07
17:03
[6303e1ccb8] part of check-in [8c291d9994] Fix straggler misspellings and tidy the custom dictionary. Also include pickups from forum post c61fb09afd. (check-in: [8c291d9994] user: larrybr branch: spell-check, size: 78668)
08:40
[e20ad8a7cf] part of check-in [26c1bb4bd9] Add a C-source spell-checking facility. make misspell (on Nix) (check-in: [26c1bb4bd9] user: larrybr branch: spell-check, size: 78668)
2023-06-03
11:22
[a92c16243b] part of check-in [2db989c863] Prototype implementation of the octet_length() SQL function. (check-in: [2db989c863] user: drh branch: octet_length, size: 79675)
2023-05-13
15:10
[3537d30d5a] part of check-in [d55ba8bb85] Merge the latest 3.42.0 beta changes into the bedrock branch. (check-in: [d55ba8bb85] user: drh branch: bedrock, size: 78837)
2023-05-05
14:16
[03e6b501f3] part of check-in [fece588b18] Updates to compile-time option usage and especially to the compile-time option test script in tool/omittest.tcl. (check-in: [fece588b18] user: drh branch: trunk, size: 78703)
2023-03-22
20:21
[858f7a1ce2] part of check-in [96ec830645] Add the SQLITE_ENABLE_NAN_INF compile-time option which makes the following behavior changes: (1) sqlite3_value_double(NULL) returns NaN, (2) SQLite preserves NaN values rather than converting them to NULL. (3) CAST statements understand "NaN" and "Inf" and make the right conversions. (4) Non-standard JSON is never generated by SQLite JSON routines, but those routines will accept floating point literals "NaN", "Inf", and "-Inf". (check-in: [96ec830645] user: drh branch: nan-inf, size: 78639)
2023-03-10
12:47
[48acd78a3a] part of check-in [2780cc9f8b] Merge the 3.41.1 patches into the bedrock branch. (check-in: [2780cc9f8b] user: drh branch: bedrock-3.41, size: 78833)
2023-02-23
01:52
[d187be57a8] part of check-in [7ee22f95e7] Provide -DHAVE_LOG2=0 and -DHAVE_LOG10=0 compile-time options for use on systems that lack the log2() and log10() standard math library routines, to cause SQLite to substitute its own alternatives. (check-in: [7ee22f95e7] user: drh branch: trunk, size: 78699)
2023-02-18
21:35
[9274f1c5c6] part of check-in [6fb8bb2e8f] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [6fb8bb2e8f] user: drh branch: begin-concurrent, size: 78551)
15:50
[64c4cb2eeb] part of check-in [315574d5cb] Fix a harmless UBSAN warning in debugging code of the new unhex() function. (check-in: [315574d5cb] user: drh branch: trunk, size: 78417)
2023-02-02
14:27
[6d8dc5786e] part of check-in [5a22010c35] Merge latest enhancments into this branch from branch wal2. (check-in: [5a22010c35] user: dan branch: begin-concurrent-pnu-wal2, size: 78540)
2023-01-24
17:19
[0bf5b82df4] part of check-in [66c8562690] Update unhex() to allow a second argument, specifying a set of characters that are permitted to appear between pairs of hexadecimal digits. (check-in: [66c8562690] user: dan branch: unhex-function, size: 78406)
2023-01-23
14:11
[b17ff98c76] part of check-in [dbe424b5db] Add experimental user function unhex(). (check-in: [dbe424b5db] user: dan branch: unhex-function, size: 76620)
2022-12-23
14:49
[68f610a449] part of check-in [c14bbe1606] Fix lots of harmless, nuisance compiler warnings, mostly unused parameter warnings in extensions. (check-in: [c14bbe1606] user: drh branch: trunk, size: 75666)
2022-12-21
20:07
[98feef981f] part of check-in [0c198aee53] Update the begin-concurrent branch with the latest enhancements on trunk. (check-in: [0c198aee53] user: drh branch: begin-concurrent, size: 75741)
19:11
[f6b7f49f40] part of check-in [371f9b8838] More efficient implementation of large precisions on the "%c" format for the built-in printf(). This is an effort to avoid a reported timeout on a (ridiculous) query generated by OSSFuzz. (check-in: [371f9b8838] user: drh branch: trunk, size: 75607)
2022-11-17
14:40
[7e86074afc] part of check-in [7c572d02e6] Use the log10() and log2() functions from the standard C library to implement the equivalent SQL functions, in the hope that this will prevent reported precision problems. See forum post cfceb1230bdcfd84 and the surrounding thread. (check-in: [7c572d02e6] user: drh branch: trunk, size: 75607)
2022-11-04
18:33
[2c186ba4d5] part of check-in [b361ee983c] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [b361ee983c] user: drh branch: begin-concurrent, size: 75854)
2022-10-25
13:46
[8b7ac5934f] part of check-in [681c85ef69] Fix the ".dump" command in the CLI so that it is more rebust against corrupt database files. At the same time, enhance the sqlite3_strglob() and sqlite3_strlike() interfaces so that they will do sensible things with NULL string pointers. (check-in: [681c85ef69] user: drh branch: branch-3.39, size: 75721)
13:44
[d25f3c667d] part of check-in [8ba9c884bd] Enhance the sqlite3_strglob() and sqlite3_strlike() interfaces so that they will do sensible things with NULL string pointers. This is an extra layer of defense against bugs such as reported by forum post 730b554179. (check-in: [8ba9c884bd] user: drh branch: trunk, size: 75720)
2022-10-14
15:10
[fe2a795ad6] part of check-in [2da677c45b] Fix a problem in the LIKE and GLOB operators that may occur when the character immediately following a "%" or "*" wildcard is U+80. Reported by forum post 61bf7ccbdf. (check-in: [2da677c45b] user: dan branch: trunk, size: 75514)
2022-06-16
13:37
[c4b2229aac] part of check-in [221e07ed78] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [221e07ed78] user: drh branch: begin-concurrent, size: 75649)
2022-06-01
11:05
[8f72e88ccc] part of check-in [1c9812c458] Move the sqlite_offset() function implementation to be an in-line function, thereby avoiding special case code and freeing up a bit in the FuncDef.flags field. (check-in: [1c9812c458] user: drh branch: trunk, size: 75515)
2022-05-28
14:25
[3bce86597c] part of check-in [d6f6ee5cbc] Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: [d6f6ee5cbc] user: drh branch: begin-concurrent, size: 75715)
2022-05-25
13:10
[41bf487f04] part of check-in [c48a735bd4] Slight increase in the accuracy of log10(). (check-in: [c48a735bd4] user: drh branch: trunk, size: 75581)
2022-03-12
14:47
[e0c6877153] part of check-in [aa8b5e9558] Merge the latest trunk enhancements, including the 3.38.1 patches plus additional performance enhancements, into the begin-concurrent branch. (check-in: [aa8b5e9558] user: drh branch: begin-concurrent, size: 75723)
2022-03-06
11:43
[a3407a6fbb] part of check-in [e1a185e60a] The sqlite_offset() function should be non-deterministic. dbsqlfuzz 3df8230bb940870db87ffca2c0fc759c1e7fa356. (check-in: [e1a185e60a] user: drh branch: trunk, size: 75589)
2022-02-15
20:18
[64e37fded6] part of check-in [94838f16ba] Merge the latest trunk changes into the begin-concurrent branch. (check-in: [94838f16ba] user: drh branch: begin-concurrent, size: 75737)
2022-02-12
13:37
[f801c6bc8b] part of check-in [115c3051a1] Avoid dropping SQLITE_TOOBIG errors in the quote() function. (check-in: [115c3051a1] user: dan branch: trunk, size: 75603)
2022-02-04
17:40
[1c25ea71cc] part of check-in [85054a8691] Merge trunk enhancements into the begin-concurrent branch. (check-in: [85054a8691] user: drh branch: begin-concurrent, size: 75693)
13:15
[5a0379450b] part of check-in [70049342d5] Fix various harmless compiler warnings. (check-in: [70049342d5] user: drh branch: trunk, size: 75559)
2022-01-17
19:17
[88b07637d0] part of check-in [02daae7a67] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [02daae7a67] user: drh branch: begin-concurrent, size: 75667)
2022-01-09
19:36
[8fddc42bce] part of check-in [ea75577169] Merge trunk enhancements into the json-in-core branch. (check-in: [ea75577169] user: drh branch: json-in-core, size: 75533)
16:54
[76a9ac772f] part of check-in [a25f4ce255] Add a new built-in subtype() function. (check-in: [a25f4ce255] user: drh branch: json-in-core, size: 75449)
2022-01-08
21:00
[bd0feae5c5] part of check-in [68bffc612c] Add function format() as an alias for printf(), for compatibility with other systems. (check-in: [68bffc612c] user: drh branch: trunk, size: 75220)
2022-01-06
01:40
[67944b79d9] part of check-in [583b47d865] An attempt to integrate the JSON functions directly into the SQLite core, rather than holding them as an extension. (check-in: [583b47d865] user: drh branch: json-in-core, size: 75170)
2021-12-10
21:01
[0f576a0c10] part of check-in [8e98ba1eeb] Factor out the logic that does quoting for the SQL quote() function, so that it might be reused for other purposes. (check-in: [8e98ba1eeb] user: drh branch: trunk, size: 75136)
2021-10-21
14:13
[a5dce8a8ff] part of check-in [ae4eed0b7e] Merge recent trunk enhancements into begin-concurrent branch. (check-in: [ae4eed0b7e] user: drh branch: begin-concurrent, size: 74785)
2021-10-12
22:55
[1cfb09d7ff] part of check-in [38a1326b4b] Fix the group_concat() inverse function implementation so that it correctly handles BLOB inputs when database text encoding is UTF16. (check-in: [38a1326b4b] user: drh branch: trunk, size: 74651)
2021-10-07
17:43
[9577175a14] part of check-in [8eaa1d4a98] Protect all accesses to the Expr.x union using nearby assert()s and branches. (check-in: [8eaa1d4a98] user: drh branch: trunk, size: 74445)
13:40
[315c63812b] part of check-in [9af863f065] Protect all accesses to the FuncDef.u and Expr.u unions using nearby assert()s or branches. (check-in: [9af863f065] user: drh branch: trunk, size: 74463)
2021-10-04
11:54
[f2516e2bf3] part of check-in [4f5ef7aa4c] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [4f5ef7aa4c] user: drh branch: begin-concurrent, size: 74439)
2021-10-03
00:12
[761a989e9b] part of check-in [e548e9299d] Add the sqlite3ResultStrAccum() internal interface to simplify the the implementation of functions that return strings. (check-in: [e548e9299d] user: drh branch: trunk, size: 74305)
2021-10-01
22:48
[f4924c04e9] part of check-in [f47f7f7822] Fix a problem with group_concat() when it is used as a window function with a sliding window, as described by forum thread ccf3b5673ba852cf. (check-in: [f47f7f7822] user: drh branch: trunk, size: 74627)
02:45
[3b8bfd557a] part of check-in [8bd721c29e] Remove unreachable branches in the fixed group_concat() code. (check-in: [8bd721c29e] user: drh branch: group_concat-fix-legacy, size: 74572)
00:25
[35e0beafdb] part of check-in [04399cf964] Fixes to the version of "varsep" group_concat so that (1) it builds under 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. (check-in: [04399cf964] user: drh branch: group_concat-fix-legacy, size: 74579)
2021-09-30
17:20
[0fc0672cc6] part of check-in [9d8e616738] Simplify windowed group_concat() by allowing a change in undocumented behavior (fails some new tests) (check-in: [9d8e616738] user: larrybr branch: group_concat_varsep, size: 72318)
2021-09-29
00:32
[c852d68d0a] part of check-in [98e0f2bf67] Get group_concat() to handle varying separator lengths when windowing (check-in: [98e0f2bf67] user: larrybr branch: group_concat_varsep, size: 73873)
2021-09-17
13:07
[812ac53830] part of check-in [b7e00ef805] Make the affinity() function available even if compiled without SQLITE_DEBUG. Surround the implementation of all test-only SQL functions with #ifndef SQLITE_UNTESTABLE. (check-in: [b7e00ef805] user: drh branch: trunk, size: 71898)
2021-09-14
18:57
[54b059e0f8] part of check-in [08cab8921e] Update requirements marks to reflect recent documentation changes. (check-in: [08cab8921e] user: drh branch: trunk, size: 71839)
2021-08-03
16:31
[016d367597] part of check-in [8d806cf93c] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [8d806cf93c] user: drh branch: begin-concurrent, size: 71972)
2021-07-15
19:29
[c224240cbc] part of check-in [ef97c3e7c3] Attempt to omit ORDER BY clauses from FROM-clause subqueries if those ORDER BY clauses do not affect the output. See 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. (check-in: [ef97c3e7c3] user: drh branch: omit-subquery-order-by, size: 71838)
2021-06-23
16:07
[c96ac6f7c4] part of check-in [6699a2f6be] Fully incorporate *_changes64() API improvement. (check-in: [6699a2f6be] user: larrybr branch: trunk, size: 71767)
2021-06-22
18:32
[29264c728f] part of check-in [48fdec22c9] Add the sqlite3_changes64() and sqlite3_total_changes64() API functions. (check-in: [48fdec22c9] user: dan branch: trunk, size: 71758)
2021-06-17
17:29
[0db1adba68] part of check-in [59303e69c3] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [59303e69c3] user: drh branch: begin-concurrent, size: 71888)
2021-06-15
14:34
[9eb67f0aaf] part of check-in [829343c26e] Prevent an infinite loop in the trim() SQL function if the second argument is a carefully malformed UTF8 string. (check-in: [829343c26e] user: drh branch: trunk, size: 71754)
2021-05-21
15:33
[0e97ea309f] part of check-in [0dba9010ad] Merge all recent trunk changes into the begin-concurrent branch. (check-in: [0dba9010ad] user: drh branch: begin-concurrent, size: 71821)
2021-04-16
11:05
[88fd711754] part of check-in [5620bd466e] Fix the comment on the implementation of the pi() SQL function. No changes to code. (check-in: [5620bd466e] user: drh branch: trunk, size: 71687)
2021-03-03
19:17
[e701e9a1cb] part of check-in [acdafef836] Merge recent trunk changes into the begin-concurrent branch. (check-in: [acdafef836] user: drh branch: begin-concurrent, size: 71876)
2021-02-15
17:02
[479f6929be] part of check-in [27d4117980] Fix an issue with the LIKE operator when it includes the "ESCAPE '_'" clause. Ticket [c0aeea67d58ae0fd]. (check-in: [27d4117980] user: drh branch: trunk, size: 71742)
2021-01-29
16:20
[2ea99e9e05] part of check-in [1ffd321a33] Fix possible division-by-zero in the new log() SQL functions. Problemm discovered by OSSFuzz. (check-in: [1ffd321a33] user: drh branch: trunk, size: 71711)
2021-01-22
20:28
[796a7a4a0f] part of check-in [0b42f9eb5d] Merge fixes from trunk. Omit a conditional in sqlite3IsLikeFunction() that was made unreachable by this enhancement. (check-in: [0b42f9eb5d] user: drh branch: isnotnull-opt, size: 71680)
2021-01-07
16:10
[251b5953ce] part of check-in [d1e22e2f76] Fix harmless typos in comments per forum post 7849e58dd5 (check-in: [d1e22e2f76] user: drh branch: trunk, size: 71648)
2021-01-01
01:44
[6fb20c0bd6] part of check-in [e5d7209e11] Do not attempt to take a pointer to the ceil() and floor() functions as those routines are intrinsics on some versions of MSVC. (check-in: [e5d7209e11] user: drh branch: trunk, size: 71647)
2020-12-16
14:20
[2163afb2cf] part of check-in [31cd1bbfa5] Remove an unnecessary and incorrect #ifdef. Fix harmless compiler warnings. (check-in: [31cd1bbfa5] user: drh branch: trunk, size: 71363)
2020-12-14
16:26
[670035a3d6] part of check-in [a1708e8457] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [a1708e8457] user: drh branch: begin-concurrent, size: 71471)
2020-12-09
23:35
[04b33016df] part of check-in [c0de6c1fb2] Fix compilation issues with MSVC related to C99. (check-in: [c0de6c1fb2] user: mistachkin branch: trunk, size: 71337)
2020-12-07
23:14
[c65447d69b] part of check-in [4b28612913] Fix a bad assert() in math1Func(). (check-in: [4b28612913] user: drh branch: trunk, size: 71261)
21:13
[7c3a412131] part of check-in [6b93627b5d] Many more math functions. Semantics follows PG wherever possible. (check-in: [6b93627b5d] user: drh branch: trunk, size: 71261)
17:15
[d3113a2362] part of check-in [4db5f2f787] Begin adding new SQL functions that depend on -lm: ceil(), ceiling(), floor(), ln(), log(), and log10() so far. More to follow. (check-in: [4db5f2f787] user: drh branch: trunk, size: 67075)
2020-11-26
11:37
[095f359528] part of check-in [ddb97eeef7] Update this branch with latest changes from trunk. (check-in: [ddb97eeef7] user: dan branch: begin-concurrent, size: 65018)
2020-11-23
14:50
[574f7e5a67] part of check-in [aa2ee5754c] Allow "substring()" as an alias for "substr()" for compatibility with other SQL engines. (check-in: [aa2ee5754c] user: drh branch: trunk, size: 64884)
2020-09-25
08:17
[01d7b7226a] part of check-in [6f5c1fde24] Add reminder comment that, by definition, these functions won't be called from elsewhere in SQLite. Useful to remember for beginners who may suspect unusued code. (check-in: [6f5c1fde24] user: shearer branch: btree-code-documentation, size: 64082)
2020-07-29
16:18
[daf312fb08] part of check-in [a80ae2c98b] Dozens and dozens of typo fixes in comments. This change adds no value to the end product and is disruptive, so it is questionable whether or not it will ever land on trunk. (check-in: [a80ae2c98b] user: drh branch: typos, size: 64761)
2020-05-18
15:41
[3796e7e269] part of check-in [9e4a7b3ed8] Merge latest trunk changes into this branch. (check-in: [9e4a7b3ed8] user: dan branch: begin-concurrent, size: 64894)
2020-05-17
00:26
[2333eb4277] part of check-in [1313557b51] Use the sqlite3Realloc() interface internally, rather than the public sqlite3_realloc64() equivalent, to avoid unnecessary calls to sqlite3_initialize(). (check-in: [1313557b51] user: drh branch: trunk, size: 64760)
2020-05-13
18:03
[4780623a0c] part of check-in [fce173cd21] Implement the IIF(x,y,z) SQL function that is short-hand for "CASE WHEN x THEN y ELSE z END". For compatibility with SQL Server. (check-in: [fce173cd21] user: drh branch: trunk, size: 64763)
17:26
[3065eb46cd] part of check-in [a116b20f86] Remove unused constant SQLITE_FUNC_COALESCE. (check-in: [a116b20f86] user: drh branch: trunk, size: 64701)
2020-04-09
18:29
[e9fc14ee68] part of check-in [92f71a88c4] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [92f71a88c4] user: drh branch: begin-concurrent, size: 64871)
2020-03-19
18:13
[f3dcdc0e95] part of check-in [11e0844f71] Change the ESCAPE clause on the LIKE operator to override wildcard characters, in order to match the behavior of PosgreSQL. (check-in: [11e0844f71] user: drh branch: trunk, size: 64737)
2020-02-04
20:08
[859933fbeb] part of check-in [f253618ac6] Merge latest trunk changes, including the SQLITE_ENABLE_CORRUPT_PGNO patch, into this branch. (check-in: [f253618ac6] user: dan branch: begin-concurrent, size: 64495)
2020-01-22
23:08
[108577cebe] part of check-in [9f0f5d593a] Fix a NEVER() macro that can be true if compiled with SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION. Ticket [b985f0bd1636d9bc] (check-in: [9f0f5d593a] user: drh branch: trunk, size: 64361)
20:56
[9c00189cb4] part of check-in [bbbc2881b9] Merge version 3.31.0 (check-in: [bbbc2881b9] user: drh branch: begin-concurrent, size: 64420)
2020-01-17
19:14
[92249abc3f] part of check-in [7584e4b649] Fix #ifdefs so it compiles cleanly with all SQLITE_OMIT compile-time options. Update compile-time option testing. (check-in: [7584e4b649] user: drh branch: trunk, size: 64286)
2020-01-15
13:34
[e26a112899] part of check-in [95ba2f50fd] Merge fixes and enhancements from trunk into begin-concurrent. (check-in: [95ba2f50fd] user: drh branch: begin-concurrent, size: 64378)
2020-01-01
15:43
[259496e485] part of check-in [473892a8ec] New test-only SQL functions: implies_nonnull_row(), expr_compare(), and expr_implies_expr(). The SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test-control is modified to toggle internal function access on and off for a single database connection. (check-in: [473892a8ec] user: drh branch: trunk, size: 64244)
13:55
[de2641a476] part of check-in [586a65a28f] Factor out code generation for in-line SQL functions into a separate routine inside of expr.c. (check-in: [586a65a28f] user: drh branch: trunk, size: 63911)
2019-12-31
18:39
[511204091c] part of check-in [3bd095a531] Also set the SQLITE_DIRECTONLY flag on the load_extension() function. (check-in: [3bd095a531] user: drh branch: trunk, size: 63906)
2019-10-23
18:14
[3671aabebf] part of check-in [97ba442b8d] Add uuid_string and uuid_blob functions (check-in: [97ba442b8d] user: numist branch: uuid-funcs, size: 66039)
2019-09-30
16:14
[2a62dc4773] part of check-in [a003818f70] Merge the 3.30.0 beta 1 changes from trunk. (check-in: [a003818f70] user: drh branch: begin-concurrent, size: 64040)
2019-09-18
11:16
[ed33e38cd6] part of check-in [d49047c1b5] Fix an OOB read in the INSTR() function introduced yesterday by check-in [3fb40f518086c1e8] and detected by OSSFuzz. The test case is in TH3. (check-in: [d49047c1b5] user: drh branch: trunk, size: 63906)
2019-09-17
03:16
[6960ca6a27] part of check-in [3fb40f5180] Fix the instr() SQL function so that it makes a copy of its argument before changing the datatype, since the datatype affects processing. Also fix the sqlite3_value_text() routine so that it always works even for values obtained form sqlite3_value_dup(). Ticket [587791f92620090e] (check-in: [3fb40f5180] user: drh branch: trunk, size: 63710)
2019-09-16
12:08
[17a24a0a1d] part of check-in [93b9ef3f47] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [93b9ef3f47] user: drh branch: begin-concurrent, size: 63413)
2019-08-08
15:24
[4ee3621969] part of check-in [1e17ea2fd1] Remove support for STAT3. The sqlite_stat3 tables are ignored, if they exist. STAT4 continues to work as it always has, and as it is a superset of STAT3 is the recommended replacement. (check-in: [1e17ea2fd1] user: drh branch: omit-stat3, size: 63279)
2019-07-08
21:06
[2f4f4dffce] part of check-in [7fff080335] Merge recent trunk enhancements into the begin-concurrent branch. (check-in: [7fff080335] user: drh branch: begin-concurrent, size: 63514)
2019-06-07
22:51
[905c042490] part of check-in [b141bae3f6] Remove code in the round() SQL function that became unreachable due to the optimization of check-in [e95138f5f4febde5] (check-in: [b141bae3f6] user: drh branch: trunk, size: 63380)
22:26
[f1ee70d50c] part of check-in [67a68af557] When casting string values into numeric and the string has a prefix that looks like a number but total string is not a well-formed number, then take extra care that the result is either integer or real depending on what the prefix looks like. Fix for tickets [e8bedb2a184001] and [4c2d7639f076aa]. (check-in: [67a68af557] user: drh branch: trunk, size: 63494)
2019-05-30
13:47
[ad7a775287] part of check-in [e95138f5f4] Optimization to the round() SQL function for large input values without a fractional part. (check-in: [e95138f5f4] user: drh branch: trunk, size: 63492)
2019-05-14
21:51
[6e12d20b51] part of check-in [5d3a6e18d4] Merge the latest trunk enhancements into begin-concurrent. (check-in: [5d3a6e18d4] user: drh branch: begin-concurrent, size: 63603)
2019-05-10
12:06
[08d6d07d13] part of check-in [db9acef14d] Fix the round() SQL function so that it handles infinities correctly. (check-in: [db9acef14d] user: drh branch: trunk, size: 63469)
2019-05-08
19:32
[8c075dd8ba] part of check-in [ef0015fde4] Simplification to the logic underlying PRAGMA case_sensitive_like. (check-in: [ef0015fde4] user: drh branch: trunk, size: 63339)
17:27
[1d010f0bab] part of check-in [eabe7f2d4f] Provide the SQLITE_OMIT_CASE_SENSITIVE_LIKE_PRAGMA compile-time option to omit the case_sensitive_like pragma. This change, in combination with documentation changes, is the current solution to ticket [a340eef47b0cad5]. (check-in: [eabe7f2d4f] user: drh branch: trunk, size: 63608)
2019-04-30
11:54
[ac05ea6b47] part of check-in [f97626f921] Small performance increase and size reduction in the implementation of the LIKE and GLOB operators. (check-in: [f97626f921] user: drh branch: trunk, size: 63826)
2019-03-08
15:30
[88df51f4be] part of check-in [667cce3dce] Merge all the latest enhancements from trunk. (check-in: [667cce3dce] user: drh branch: begin-concurrent-pnu, size: 64037)
2019-02-27
23:05
[2ccf4ae124] part of check-in [6ae4b8c525] Enable the LIKE optimization when the ESCAPE keyword is present and the PRAGMA case_sensitive_like pragma is ON. (check-in: [6ae4b8c525] user: drh branch: trunk, size: 63903)
2019-01-18
14:53
[0341881d22] part of check-in [05df5f7aea] Use the full 64-bit integer value in the argument to randomblob(). (check-in: [05df5f7aea] user: drh branch: trunk, size: 63793)
2019-01-08
15:18
[6cf832abbc] part of check-in [ce51f1a2b6] Performance improvement on the instr() function, especially for large haystacks. (check-in: [ce51f1a2b6] user: drh branch: trunk, size: 63781)
2018-11-30
16:26
[8efa2c813b] part of check-in [81e626f4a4] Merge the mutex-free PRNG change into this branch. (check-in: [81e626f4a4] user: dan branch: begin-concurrent-pnu, size: 63820)
2018-09-18
21:35
[82aeef6950] part of check-in [8849a463d6] In the Expr object, the Expr.eX field determines what value is stored in the Expr.x union. This mostly works, but there are issues identified by valgrind. (check-in: [8849a463d6] user: drh branch: expr-simplify, size: 63667)
2018-07-09
22:49
[7c288b4ce3] part of check-in [5023b1b85b] Fixes for various harmless compiler warnings. (check-in: [5023b1b85b] user: drh branch: trunk, size: 63686)
2018-07-07
20:55
[e94214037d] part of check-in [a8b1300237] Simplifications to the implementation of the sum() SQL function. (check-in: [a8b1300237] user: drh branch: trunk, size: 63695)
19:47
[e3174d1f10] part of check-in [fdef2a921d] Add ALWAYS() macros on results of sqlite3_aggregate_context() calls in xInverse() implements, since they can never fail. (check-in: [fdef2a921d] user: drh branch: trunk, size: 63703)
2018-07-05
18:19
[edbd402a74] part of check-in [7339128310] Fix a problem in the xInverse method of window-function group_concat(1). (check-in: [7339128310] user: dan branch: trunk, size: 63400)
2018-07-02
17:45
[0aaa0b07ac] part of check-in [b656364738] Fix a problem in the xInverse callback for the built-in sum() window function. (check-in: [b656364738] user: dan branch: trunk, size: 63378)
15:03
[8a002cd2eb] part of check-in [bb9bfc3a12] Fix a crash caused by a LIKE pattern that consists of a single escape character. Problem found by OSSFuzz. (check-in: [bb9bfc3a12] user: dan branch: trunk, size: 63378)
12:07
[4d573e6907] part of check-in [4f3c8a82fd] Fix a segfault caused by invoking a regular aggregate as a window-function. And some problems with count(*) when used as a window-function. (check-in: [4f3c8a82fd] user: dan branch: trunk, size: 63319)
2018-06-22
20:51
[d2c66d8ec9] part of check-in [5f04b01646] Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. (check-in: [5f04b01646] user: dan branch: exp-window-functions, size: 62815)
2018-06-19
21:15
[23d9499688] part of check-in [7fa8f16e58] Make the ieee754() a built-in function. Add the --ieee754 option to the ".dump" command in the shell to cause it to output floating-point values as ieee754() calls, so that the floating point number will be reproduced exactly. Not sure yet that we want to go this way, but it is one option. (check-in: [7fa8f16e58] user: drh branch: ieee754, size: 62242)
17:13
[1d070c30d1] part of check-in [801074ce63] Fix a problem with using min() or max() as a window function. (check-in: [801074ce63] user: dan branch: exp-window-functions, size: 62420)
2018-06-18
16:55
[f1c244ba44] part of check-in [da03fb4318] Add new API function sqlite3_create_window_function(), for creating new aggregate window functions. (check-in: [da03fb4318] user: dan branch: exp-window-functions, size: 62186)
2018-06-08
20:58
[a5ee386426] part of check-in [19c983b511] Add support for the WINDOW clause. (check-in: [19c983b511] user: dan branch: exp-window-functions, size: 62168)
11:45
[3e8a85f9bf] part of check-in [89bbc9ba8f] Fixes to allow group_concat() to be used as a window function. (check-in: [89bbc9ba8f] user: dan branch: exp-window-functions, size: 62118)
2018-06-02
21:04
[4bee7609e4] part of check-in [91c1cb7a21] Add support for window functions row_number(), rank(), dense_rank() and percent_rank(). (check-in: [91c1cb7a21] user: dan branch: exp-window-functions, size: 61552)
2018-05-23
20:55
[eff9c15696] part of check-in [3a203660f1] Add support for "ROWS BETWEEN <expr> PRECEDING AND <expr> FOLLOWING" window frames. (check-in: [3a203660f1] user: dan branch: exp-window-functions, size: 61524)
2018-05-17
19:24
[b1a5122c69] part of check-in [c9f0f14094] Evaluate multiple window functions in a single pass if they use the same window definition. Add xValue callbacks for other built-in aggregate functions. (check-in: [c9f0f14094] user: dan branch: exp-window-functions, size: 60932)
2018-05-16
20:58
[03c99a50c6] part of check-in [3781e52085] Start of experimental implementation of SQL window functions. Does not yet work. (check-in: [3781e52085] user: dan branch: exp-window-functions, size: 60399)
2018-05-09
13:46
[e2e3c02621] part of check-in [87f261f0cb] Make the internal dynamic string interface available to extensions using the new sqlite3_str object and its associated methods. This is mostly just a renaming of internal objects and methods to use external names, through there are a few small wrapper functions. (check-in: [87f261f0cb] user: drh branch: trunk, size: 60398)
2018-02-10
02:31
[94f42cba2c] part of check-in [3aed949a18] Fix misplaced testcase() macros from the previous check-in. (check-in: [3aed949a18] user: drh branch: trunk, size: 60403)
2018-02-09
23:25
[385b9b0185] part of check-in [fab2c2b07b] 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. (check-in: [fab2c2b07b] user: drh branch: trunk, size: 60403)
2018-01-23
19:24
[9970db37cc] part of check-in [8b9c8eab60] Remove an unreachable branch from sqlite3SkipAccumulatorLoad(). (check-in: [8b9c8eab60] user: drh branch: trunk, size: 60015)
04:22
[227d17a030] part of check-in [9a4199aedb] Slightly faster implementation of the length() SQL function. (check-in: [9a4199aedb] user: drh branch: trunk, size: 60008)
03:44
[24d4746d34] part of check-in [edd4e6876c] Slightly faster function dispatch in the virtual machine by avoiding unnecessary reinitialization of variables that are already correctly initialized. (check-in: [edd4e6876c] user: drh branch: trunk, size: 59897)
2018-01-04
19:20
[bd528d5ed6] part of check-in [a6eee0fcd8] Remove the snarky "_supported_" qualifier from the name of the sqlite_offset() SQL function. (check-in: [a6eee0fcd8] user: drh branch: trunk, size: 59846)
2017-12-29
15:04
[697a3ee3b8] part of check-in [7a7f826e32] Change the function name to sqlite_unsupported_offset(X). Only enable the function if compiled with -DSQLITE_ENABLE_OFFSET_SQL_FUNC. The makefiles add that definition to shell builds. (check-in: [7a7f826e32] user: drh branch: location-function, size: 59887)
2017-12-16
20:20
[a23ea9b886] part of check-in [51be955816] Add an experimental location(X) SQL function that attempt to return the location of the payload within the database for the record that contains column X. location(X) returns NULL if X is not an ordinary table column or if SQLite cannot figure out the location because it is using a covering index. (check-in: [51be955816] user: drh branch: location-function, size: 59804)
2017-10-30
18:49
[0fb9a2d678] part of check-in [37284d4e8f] Improve the performance of the LIKE operator by using strcspn() to aid wildcard matching. (check-in: [37284d4e8f] user: drh branch: trunk, size: 59655)
18:26
[dfe00937b2] part of check-in [4d336d7420] Speed up wildcard searches in LIKE using strchr() (check-in: [4d336d7420] user: drh branch: like-compare-opt, size: 60008)
2017-09-09
08:03
[8c46246dcb] part of check-in [e63d1a7cd3] Use a mutex-free PRNG for the random() and randomblob() SQL functions and for the randomness used during checkpoint operations. (check-in: [e63d1a7cd3] user: drh branch: mutex-free-randomness, size: 59663)
2017-08-25
19:51
[b4d259af62] part of check-in [1783c54ce9] Fix a few over-length source code lines. No functional changes. (check-in: [1783c54ce9] user: drh branch: trunk, size: 59529)
2017-07-27
22:16
[8028a8f79b] part of check-in [2495acf710] Enhance the like optimization so that it works with an ESCAPE clause. (check-in: [2495acf710] user: drh branch: branch-3.8.9, size: 57143)
20:24
[ed8888ae80] part of check-in [f5d330f495] Enhance the like optimization so that it works with an ESCAPE clause. (check-in: [f5d330f495] user: drh branch: trunk, size: 59507)
2017-07-14
19:22
[e2854b1938] part of check-in [2642386713] Add requirements marks for some of the new features in the 3.20 release. (check-in: [2642386713] user: drh branch: trunk, size: 58959)
2017-07-06
13:51
[7647140a86] part of check-in [efb4aab0ca] More compact implementation of the typeof() SQL function. (check-in: [efb4aab0ca] user: drh branch: trunk, size: 58690)
2017-03-16
14:28
[9d52522cc8] part of check-in [6d85eb5736] Simplified OOM detection in the instr() SQL function. (check-in: [6d85eb5736] user: drh branch: trunk, size: 58676)
12:11
[72ed1518f5] part of check-in [6e59e903e4] Fix a crash that could follow an OOM condition in the instr() SQL function. Problem discovered by OSS-Fuzz. (check-in: [6e59e903e4] user: dan branch: trunk, size: 58928)
2017-01-03
14:39
[c67273e1ec] part of check-in [f778f58ae4] Put the affinity() function implementation inside of #ifdef SQLITE_DEBUG. (check-in: [f778f58ae4] user: drh branch: affinity-sql-func, size: 58737)
14:30
[04350956b6] part of check-in [c27cd8a812] Merge all the latest changes from trunk. (check-in: [c27cd8a812] user: drh branch: affinity-sql-func, size: 58710)
2016-12-30
17:40
[d8582ee919] part of check-in [14d855d2b2] Fix a crash that could occur following an OOM in the group_concat() function if the second argument is an SQLITE_BLOB value. (check-in: [14d855d2b2] user: dan branch: trunk, size: 58634)
15:16
[00cd421198] part of check-in [a0971e7136] Strengthen the defense against OOM in the instr() SQL function. (check-in: [a0971e7136] user: drh branch: trunk, size: 58634)
14:15
[e0190fd648] part of check-in [56ff72ab44] Avoid passing NULL pointers to memcmp() or memcpy(), even when the "number-of-bytes" argument is passed 0. (check-in: [56ff72ab44] user: dan branch: trunk, size: 58571)
2016-12-26
00:18
[1819341806] part of check-in [57e40e1cb1] Add the built-in affinity() SQL function. (check-in: [57e40e1cb1] user: drh branch: affinity-sql-func, size: 58586)
2016-12-01
18:49
[43916c1d8e] part of check-in [a1e2b6ce3a] Faster version of patternCompare() that uses new return values rather than an extra parameter to communicate wildcard information back up to parent searches. (check-in: [a1e2b6ce3a] user: drh branch: pattern-compare-optimization, size: 58510)
17:34
[528e92597e] part of check-in [c5e5614d98] Modify the patternCompare() function (used for GLOB, LIKE) to better handle patterns containing multiple wildcard characters ("*", "%"). (check-in: [c5e5614d98] user: dan branch: pattern-compare-optimization, size: 58255)
2016-11-04
12:05
[7057bc2c10] part of check-in [b86b79c442] Avoid a crash that can occur after an obscure OOM in the built-in INSTR() function. (check-in: [b86b79c442] user: dan branch: trunk, size: 57764)
2016-08-04
01:47
[29cc9acb17] part of check-in [4ada023ca0] Add an experimental SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option. This changes has been merged into main branches via cherry-pick. (check-in: [4ada023ca0] user: drh branch: unknown-function, size: 57710)
2016-06-06
01:48
[61a4114cf7] part of check-in [5fb0c35459] Small performance improvement in the LIKE function. (check-in: [5fb0c35459] user: drh branch: trunk, size: 56952)
2016-04-21
01:58
[ef4c18c8a6] part of check-in [debafa5efd] Test cases for SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION. (check-in: [debafa5efd] user: drh branch: load-ext-security, size: 56951)
01:30
[b61726e7a1] part of check-in [b2ae5bfa32] Revert sqlite3_enable_load_extension() to its original long-standing behavior. Add SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION which will enable only the C-API and leave the SQL function disabled. (check-in: [b2ae5bfa32] user: drh branch: load-ext-security, size: 56885)
2016-04-20
00:30
[2105701329] part of check-in [edb454e45a] API Change: Modify sqlite3_enable_load_extension() so that it only enables/disables the load_extension() SQL function, and leaves the C-APIs enabled at all times. In this way, applications can enable extension loading for the C interface without having to expose that capability to the SQL. (check-in: [edb454e45a] user: drh branch: load-ext-security, size: 56949)
2016-02-15
00:34
[552d300265] part of check-in [3201fbcc51] Improvements to the application-defined function mechanism so that it is more compact and runs faster, especially when the application defines thousands of new SQL functions. (check-in: [3201fbcc51] user: drh branch: many-app-functions, size: 56685)
2016-02-05
01:55
[86e55fee35] part of check-in [c3ef03478a] Improvements to the way that OOM errors are processed. (check-in: [c3ef03478a] user: drh branch: oom-handling, size: 56524)
2016-01-30
12:50
[42b2492332] part of check-in [0bdb41c45a] Simplification and size reduction to the printf logic. Remove the bFlags parameter from sqlite3VXPrintf() and sqlite3XPrintf(). Use sqlite3XPrintf() instead of sqlite3_snprintf() for rendering P4 values in EXPLAIN output. (check-in: [0bdb41c45a] user: drh branch: trunk, size: 56525)
2016-01-20
14:22
[ba6c03f9e4] part of check-in [204432ee72] Case folding in the LIKE operator should look at all bits of the character, not just the lower 8 bits. Fix for ticket [80369eddd5c94]. This is a back-out of check-in [0a99a8c4facf] with a testcase added. (check-in: [204432ee72] user: drh branch: trunk, size: 56503)
2016-01-11
03:48
[ccaf46fa98] part of check-in [5dddcc78ee] Slightly smaller and faster LIKE/GLOB comparison implementation. (check-in: [5dddcc78ee] user: drh branch: trunk, size: 56482)
2015-12-30
14:06
[cf5e10af91] part of check-in [0a99a8c4fa] Remove unnecessary tests from the LIKE pattern matcher. Slightly faster and slightly smaller, and it should also now works with EBCDIC. (check-in: [0a99a8c4fa] user: drh branch: trunk, size: 56641)
2015-12-01
21:23
[fe50a9ab97] part of check-in [9e1d6d4c39] Add the SQLITE_LIKE_DOESNT_MATCH_BLOBS compile-time option. (check-in: [9e1d6d4c39] user: drh branch: trunk, size: 56662)
2015-11-24
21:23
[5790a898a0] part of check-in [e70ec71d68] Add the sqlite3_strlike() interface, which might be useful for implementing LIKE operators on virtual tables. (check-in: [e70ec71d68] user: drh branch: vtab-like-operator, size: 56414)
2015-08-31
21:16
[ecdd69ec6a] part of check-in [4871313039] Not only date/time functions, but also functions like sqlite_version() and changes() need to be prohibited from use inside of indexes. (check-in: [4871313039] user: drh branch: index-expr, size: 56216)
2015-07-24
17:14
[824bea430d] part of check-in [f8991e6f72] Fix compiler warnings. Get the new sqlite3_result_zeroblob64() working on loadable extensions. (check-in: [f8991e6f72] user: drh branch: trunk, size: 56214)
16:24
[7810a7e883] part of check-in [c6445b9fb4] Add the sqlite3_result_zeroblob64() API. Use it in the SQL zeroblob() function. (check-in: [c6445b9fb4] user: dan branch: trunk, size: 56368)
15:49
[d08d2106ba] part of check-in [4e3e516a42] More robust handling of zeroblob() with oversized arguments. Fix fuzzcheck so that it can be run with limited heap memory. (check-in: [4e3e516a42] user: drh branch: trunk, size: 56398)
2015-06-17
13:20
[a98ea5880d] part of check-in [c89d772628] Performance optimization and comment fixes for the LIKE and GLOB operators. (check-in: [c89d772628] user: drh branch: trunk, size: 56377)
2015-06-02
16:09
[c215efa308] part of check-in [80889306bf] Add the built-in affinity() SQL function. This turns out to be not as useful as originally envisioned, so abandon it on a branch. (check-in: [80889306bf] user: drh branch: affinity-func, size: 56668)
2015-05-02
18:25
[6b5a0c8364] part of check-in [f8b159794c] Add the SQLITE_LIMIT_PRINTF_WIDTH setting for sqlite3_limit() and associated logic for preventing DOS attacks using printf() with oversized widths or precisions. (check-in: [f8b159794c] user: drh branch: limit-printf-width, size: 56754)
11:45
[5b8b8e77a0] part of check-in [7952c32268] Cleanup of the sqlite3StrAccumInit() function. No functionality changes. (check-in: [7952c32268] user: drh branch: trunk, size: 56590)
2015-04-29
16:50
[98dadfd7b6] part of check-in [48f553b05c] Use sqlite3_malloc64() in place of sqlite3_malloc() internally. (check-in: [48f553b05c] user: drh branch: trunk, size: 56598)
2015-04-22
14:41
[e6b4680d0b] part of check-in [658e20f554] Prototype for an sqlite3_db_log() interface. (check-in: [658e20f554] user: drh branch: sqlite3_db_log, size: 56671)
2015-03-12
06:46
[1414c24c87] part of check-in [8fb6bd9be5] The valueFromFunction() routine is better able to handle OOM errors. Omit unreachable branches. (check-in: [8fb6bd9be5] user: drh branch: stat4-function, size: 56595)
2015-03-07
00:57
[44512c557d] part of check-in [26cb5145bf] Refactor some jump opcodes in the VDBE. Add JumpZeroIncr and DecrJumpZero. Fix the LIKE optimization to work with DESC sort order. (check-in: [26cb5145bf] user: drh branch: like-opt-fix, size: 56557)
2015-02-19
00:29
[f7f0f44b0a] part of check-in [28284ccc0d] First small steps toward brining trunk and apple-osx closer together. (check-in: [28284ccc0d] user: drh branch: trunk, size: 56318)
2014-12-02
16:38
[e331a645ae] part of check-in [43c4ba26a2] Merge all recent enhancements and bug fixes from trunk into the apple-osx branch. (check-in: [43c4ba26a2] user: drh branch: apple-osx, size: 55994)
2014-11-20
23:21
[6d3c4ebd72] part of check-in [b1e6c02f8b] Fix a typo in a requirements mark on the abs() SQL function. (check-in: [b1e6c02f8b] user: drh branch: trunk, size: 55899)
2014-10-01
01:46
[93a4b3c540] part of check-in [2078454ac9] Merge the latest enhancements from trunk. (check-in: [2078454ac9] user: drh branch: apple-osx, size: 55994)
2014-09-25
13:17
[ba47c1671a] part of check-in [3467049a17] Simplifications to the SQL function and aggregate calling procedures. (check-in: [3467049a17] user: drh branch: trunk, size: 55899)
11:08
[727a324e87] part of check-in [6c8924cacc] Still more performance enhancements to the LIKE and GLOB operators. (check-in: [6c8924cacc] user: drh branch: trunk, size: 55772)
03:51
[610b18afde] part of check-in [5ab1023d6c] More performance optimization for the LIKE and GLOB operators. (check-in: [5ab1023d6c] user: drh branch: trunk, size: 54460)
00:56
[fd49097fdd] part of check-in [b2c89ef49c] Size reduction and performance improvement in the LIKE and GLOB operators. (check-in: [b2c89ef49c] user: drh branch: trunk, size: 53963)
2014-09-21
23:08
[04210a80b0] part of check-in [3967ebe83e] Merge in all recent changes from trunk. (check-in: [3967ebe83e] user: drh branch: apple-osx, size: 54179)
2014-09-16
14:16
[1629ccdd8e] part of check-in [0be3019ed7] Reorder the elements of the Mem object for a small size reduction and performance improvement. Moved into a branch because MSVC is unable to handle named structure initializer on nullMem. (check-in: [0be3019ed7] user: drh branch: micro-optimizations, size: 54084)
2014-09-15
14:46
[5d498933f6] part of check-in [0bdf1a086b] Do not flatten aggregate subqueries that contain min() or max() functions so that if the min()/max() are discarded by the outer query, they still function and cause non-aggregate expression to be evaluated on the minimal or maximal row. (check-in: [0bdf1a086b] user: drh branch: trunk, size: 54032)
2014-09-11
18:44
[d4d218704b] part of check-in [7e4978c003] Add new APIs that take 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_text64(), sqlite3_result_blob64(), and sqlite3_result_text64(). Add the sqlite3_msize() interface. Internal memory allocation routines now use 64-bit unsigned length parameters for safety. Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a integer overflow problem. (check-in: [7e4978c003] user: drh branch: trunk, size: 53958)
2014-09-10
19:01
[1b7ac915eb] part of check-in [a0455f9deb] Add the ".user" shell command and implement the sqlite3_user_add() routine. Incremental check-in. The code compiles but does not work. (check-in: [a0455f9deb] user: drh branch: user-auth, size: 53919)
2014-09-09
20:30
[63a0da710c] part of check-in [6ab76c5fed] Change the name of the _texte64() interfaces to just _test64(), without the "e". (check-in: [6ab76c5fed] user: drh branch: 64-bit-lengths, size: 53858)
17:27
[2ae55b52aa] part of check-in [94954850cf] Add new APIs that take 64-bit length parameters: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_texte64(), sqlite3_result_blob64(), and sqlite3_result_texte64(). Internal memory allocation routines also now use 64-bit unsigned length parameters for safety. Also add the sqlite3_msize() interface. Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a integer overflow problem. (check-in: [94954850cf] user: drh branch: 64-bit-lengths, size: 53814)
2014-09-06
16:39
[0517037766] part of check-in [e62aab5e92] Fix typos in comments. No code changes. (check-in: [e62aab5e92] user: peter.d.reid branch: trunk, size: 53819)
2014-08-14
13:39
[7a252bf7a5] part of check-in [08058df3af] Merge the pre-3.8.6 changes from trunk into the apple-osx branch. (check-in: [08058df3af] user: drh branch: apple-osx, size: 53916)
2014-08-06
11:49
[bbb724b74e] part of check-in [7a145c9409] Fix an obsolete comment in the func.c source file. No changes to code. (check-in: [7a145c9409] user: drh branch: sessions, size: 53821)
2014-06-30
19:57
[fe7c04fe38] part of check-in [f426876fe1] Merge the latest trunk changes into the apple-osx branch. (check-in: [f426876fe1] user: drh branch: apple-osx, size: 53987)
2014-06-17
16:11
[3bc223ea36] part of check-in [3896548419] Add the likely() function for symmetry with unlikely(). The likely(X) function means the same thing as likelihood(X,0.9375). (check-in: [3896548419] user: drh branch: trunk, size: 53892)
2014-05-19
15:16
[3e7eca6640] part of check-in [17349a49d2] Changes to help ensure that a multiplication does not overflow when computing the number of bytes needed for a memory allocation, and cause a malfunction. No problems existing problems were discovered. However, these changes should help to ensure that no problems arise in the future. (check-in: [17349a49d2] user: drh branch: safer-malloc, size: 53811)
2014-05-08
23:01
[6ace0c0c0d] part of check-in [9411d7dc6f] Initial attempt to merge in all trunk changes over the previous 1.5 years. This check-in compiles but there are compiler warnings and "make test" segfaults after only running a few test modules. (check-in: [9411d7dc6f] user: drh branch: apple-osx, size: 53911)
2014-05-07
20:24
[2e16316ec3] part of check-in [1c086deebd] A better fix for the group_concat() problem. (check-in: [1c086deebd] user: drh branch: trunk, size: 53816)
18:21
[2077ccd5c7] part of check-in [f03fbf3700] Ensure that the sqlite3StrAccumAppend() routine is never called with a NULL second argument. Doing so is harmless when N==0, but it causes an assert() to fail that was placed to quiet static analyzers. (check-in: [f03fbf3700] user: drh branch: tkt-55746f9e, size: 53853)
17:19
[1db49570e0] part of check-in [0deac87375] 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]. (check-in: [0deac87375] user: drh branch: tkt-55746f9e, size: 53829)
2014-05-06
15:28
[863735228a] part of check-in [8ad0a123a2] Experimental changes that reduce the size of Expr objects from 72 to 64 bytes each on x64 and from 48 to 44 bytes each on x32. (check-in: [8ad0a123a2] user: drh branch: smaller-expr, size: 53844)
2014-03-08
19:07
[2945bb2c4c] part of check-in [ba39df9d4f] Fix a bug causing "SELECT char()" to return SQLITE_NOMEM. (check-in: [ba39df9d4f] user: dan branch: trunk, size: 53816)
2014-01-24
22:58
[f4499b39d6] part of check-in [87bf60637e] Fixes for various clang warnings. (check-in: [87bf60637e] user: drh branch: trunk, size: 53814)
2013-12-17
15:03
[6325ac2ec1] part of check-in [6db7052eee] Add the printf() SQL function. (check-in: [6db7052eee] user: drh branch: printf-sql-function, size: 53806)
2013-12-11
11:00
[fed87f35cf] part of check-in [a7e5fcd666] Fix harmless compiler warnings. (check-in: [a7e5fcd666] user: drh branch: trunk, size: 53099)
2013-11-21
14:33
[ef30d26ae4] part of check-in [1b0f779e19] Add the ability to factor constant functions out of inner loops. But do not factor out non-constant functions, like random(). (check-in: [1b0f779e19] user: drh branch: trunk, size: 53077)
2013-11-09
19:47
[96caa9dfd1] part of check-in [8a0366285b] Updates to requirements marks. No changes to code. (check-in: [8a0366285b] user: drh branch: trunk, size: 53077)
2013-09-24
19:07
[5fb4103cc5] part of check-in [435ce3b3fc] Merge updates from trunk. (check-in: [435ce3b3fc] user: mistachkin branch: toTypeFuncs, size: 57139)
2013-09-13
17:47
[2c47b65e6e] part of check-in [bc446449a1] Adjust the query planner to take into account WHERE clause terms that do not drive indices. Add the unlikely() and likelihood() functions used to give hints to the query planner about the selectivity of WHERE clause terms. (check-in: [bc446449a1] user: drh branch: trunk, size: 53077)
2013-09-12
23:12
[be8482e92e] part of check-in [73634ca463] Fix typo in a macro name: "GlogUpperToLower" should be "GlobUpperToLower" (check-in: [73634ca463] user: drh branch: trunk, size: 52897)
2013-09-11
11:38
[0aca17c8bc] part of check-in [29a359b8d7] Change the name of the two-argument unlikely() function to likelihood(). Add test cases. (check-in: [29a359b8d7] user: drh branch: unlikely-func, size: 53077)
2013-09-06
22:27
[8eed739f11] part of check-in [8922be1a3e] Merge updates from trunk. (check-in: [8922be1a3e] user: mistachkin branch: toTypeFuncs, size: 56959)
20:30
[1f24db7b0f] part of check-in [94c4cdc50d] When converting from a BLOB value in the tointeger() and toreal() SQL functions, make sure that endianness of the machine does not matter. (check-in: [94c4cdc50d] user: mistachkin branch: toTypeFuncs, size: 56946)
15:23
[a297b1f3cf] part of check-in [036fc37a03] Initial implementation of the unlikely() SQL function used as a hint to the query planner. (check-in: [036fc37a03] user: drh branch: unlikely-func, size: 53077)
13:10
[7650d35651] part of check-in [97b10e66e9] Combine the FuncDef.iPrefEnc and FuncDef.flags fields into a single new FuncDef.funcFlags field. (check-in: [97b10e66e9] user: drh branch: trunk, size: 52897)
2013-08-31
21:41
[ed294cd943] part of check-in [c4c53acb98] Handle BLOBs specially, treating them as binary, in the tointeger() and toreal() SQL functions. (check-in: [c4c53acb98] user: mistachkin branch: toTypeFuncs, size: 56197)
2013-08-29
01:17
[5c85fed36b] part of check-in [047bd1c245] Prevent the implementation of the toreal() SQL function from being 'optimized' by MSVC. (check-in: [047bd1c245] user: mistachkin branch: toTypeFuncs, size: 55551)
01:01
[6099094d90] part of check-in [abe82c634c] Fix boundary case for the toreal() SQL function. (check-in: [abe82c634c] user: mistachkin branch: toTypeFuncs, size: 55442)
2013-08-28
18:56
[f3ab79a3f4] part of check-in [ffc6e68283] Merge updates from trunk. (check-in: [ffc6e68283] user: mistachkin branch: toTypeFuncs, size: 55437)
2013-08-26
23:18
[5b064acd30] part of check-in [a32af0abe5] Merge the STAT4 capability into trunk. (check-in: [a32af0abe5] user: drh branch: trunk, size: 52884)
2013-08-21
21:12
[d7be77897c] part of check-in [700dbbea86] Simplification to the StrAccum object and the sqlite3StrAccumAppend() method that also results in slightly better performance. (check-in: [700dbbea86] user: drh branch: trunk, size: 52783)
2013-08-20
09:26
[c47ebaaf71] part of check-in [5e1e9fd5e4] Add test cases for tointeger() and toreal() functions. Fixes for several tests. (check-in: [5e1e9fd5e4] user: mistachkin branch: toTypeFuncs, size: 55305)
02:07
[03a79c7a2a] part of check-in [4438b98658] Fix compiler warnings and boundary cases for the tointeger() and toreal() functions. (check-in: [4438b98658] user: drh branch: toTypeFuncs, size: 55222)
2013-08-12
16:34
[78c371ddfb] part of check-in [6d45078e62] Re-enable reading from the sqlite_stat3 table (as well as sqlite_stat4). (check-in: [6d45078e62] user: dan branch: sqlite_stat4, size: 52853)
2013-06-21
19:29
[835168be94] part of check-in [9b837b0508] Merge in the latest changes from trunk. Simplify the implementation of the tointeger() and toreal() functions. Fix test cases and put unambiguous labels on all testcase names. (check-in: [9b837b0508] user: drh branch: toTypeFuncs, size: 55213)
18:32
[771ceaa9b3] part of check-in [fa2a91e6c6] Merge updates from trunk. (check-in: [fa2a91e6c6] user: mistachkin branch: toTypeFuncs, size: 56897)
2013-05-28
12:11
[5c50c1ea31] part of check-in [a0d5cc9315] Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. (check-in: [a0d5cc9315] user: drh branch: trunk, size: 52752)
2013-05-15
08:00
[d15b1ffee8] part of check-in [6fbad95725] Merge updates from trunk. (check-in: [6fbad95725] user: mistachkin branch: toTypeFuncs, size: 57065)
2013-04-10
16:13
[d3fdcff927] part of check-in [41d6ff32a6] Add the sqlite3_strglob() interface. (check-in: [41d6ff32a6] user: drh branch: trunk, size: 52920)
2013-03-13
06:48
[d83c67a1d2] part of check-in [12c318ef1b] Rename the experimental todouble() function to toreal(), update comments. (check-in: [12c318ef1b] user: mistachkin branch: toTypeFuncs, size: 56877)
2013-03-12
09:07
[cdf7b60490] part of check-in [05c4463ec5] Increase strictness of the new experimental functions and add more tests. (check-in: [05c4463ec5] user: mistachkin branch: toTypeFuncs, size: 56891)
2013-03-11
01:23
[82dfd6b674] part of check-in [465fd853d3] Add experimental tointeger() and todouble() SQL functions. (check-in: [465fd853d3] user: mistachkin branch: toTypeFuncs, size: 56214)
2013-03-07
14:00
[48987c025d] part of check-in [af542c82e8] Fix the char() function so that it works even if SQLITE_OMIT_UTF16 is defined. (check-in: [af542c82e8] user: drh branch: trunk, size: 52732)
06:42
[f829e79fe7] part of check-in [10ace06be7] Fix two compilation issues, one warning and one error, that occur only when SQLITE_OMIT_UTF16 is defined. (check-in: [10ace06be7] user: mistachkin branch: trunk, size: 52605)
2013-03-01
23:40
[91bc65eb68] part of check-in [780d06c5e5] Complete the initialization of the loadable extension thunk table. Also fix other (harmless) compiler warnings. (check-in: [780d06c5e5] user: drh branch: trunk, size: 52539)
15:02
[b45b6a1715] part of check-in [ff67d87894] Fix the handling of UTF16 surrogate pairs in the char() function. (check-in: [ff67d87894] user: drh branch: trunk, size: 52525)
2013-02-26
05:42
[cac45cca7b] part of check-in [6d7973524a] Remove extra use of the sqlite3_value_int64() function. (check-in: [6d7973524a] user: mistachkin branch: trunk, size: 52525)
2013-02-22
19:34
[18b120b9a3] part of check-in [209b21085b] Two new SQL functions: unicode() and char(). (check-in: [209b21085b] user: drh branch: unicode-function, size: 52556)
2012-12-04
11:03
[8147799b04] part of check-in [12693deba9] Fix a harmless compiler warning. (check-in: [12693deba9] user: drh branch: trunk, size: 50990)
2012-10-25
03:07
[1755cafdb8] part of check-in [49ccae964f] Implementation of the INSTR() SQL function, as found in SQL Server, MySQL, and Oracle. (check-in: [49ccae964f] user: drh branch: instr, size: 50964)
2012-09-28
10:57
[8dea4e82d5] part of check-in [6a5c59dd7e] Merge the latest trunk changes (PRAGMA busy_timeout and the ORDER BY query planner enhancements) into the apple-osx branch. (check-in: [6a5c59dd7e] user: drh branch: apple-osx, size: 49537)
2012-09-17
18:56
[cbb90dc84b] part of check-in [8b962c94a2] Remove an unnecessary parameter from sqlite3Utf8Read() resulting in a slight performance increase. (check-in: [8b962c94a2] user: drh branch: trunk, size: 49442)
2012-09-12
18:45
[2290b49111] part of check-in [8398f77c5a] Add an implementation of the REGEXP operator and function. Only defined if compiled with SQLITE_ENABLE_REGEXP. (check-in: [8398f77c5a] user: drh branch: regexp, size: 51112)
2012-09-10
15:02
[b4e88b9283] part of check-in [c2ad691174] Remove the stale implementation of the ifnull and coalesce functions - code that has been commented out for ages. No functional changes. (check-in: [c2ad691174] user: drh branch: trunk, size: 49585)
2012-08-25
01:38
[32552a2c57] part of check-in [6723add4f4] Merge all the latest trunk changes into the apple-osx branch. (check-in: [6723add4f4] user: drh branch: apple-osx, size: 49971)
2012-06-19
04:36
[18dfedfb85] part of check-in [d45f7a013f] Move variable declaration to fix compilation with MSVC. (check-in: [d45f7a013f] user: mistachkin branch: floating-point-conversions, size: 49876)
03:11
[22a180ac02] part of check-in [8ecffca900] Improved accuracy on text-to-real and real-to-text conversions. Most conversions now round-trip correctly. Still need to fix some corner cases. (check-in: [8ecffca900] user: drh branch: floating-point-conversions, size: 49876)
2012-06-18
14:23
[fab8831959] part of check-in [87597e988f] Add the ieee754() SQL function that interprets a blob as a big-endian double. Arrange for the quote() SQL function to emit ieee754() functions in its output so that floating-point values in the database are exactly preserved by a ".dump" command in the shell. (check-in: [87597e988f] user: drh branch: ieee754-func, size: 51103)
2012-03-31
02:46
[067e50003a] part of check-in [18ec60cacd] Merge all the latest trunk changes into the apple-osx branch. (check-in: [18ec60cacd] user: drh branch: apple-osx, size: 49609)
2012-03-28
01:34
[c6b3c94320] part of check-in [b899dbeb60] 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. (check-in: [b899dbeb60] user: drh branch: faster-typeof-and-length, size: 49514)
2012-03-05
16:39
[bbbbc0d92d] part of check-in [504bf49086] Pull in all the latest trunk changes. (check-in: [504bf49086] user: drh branch: apple-osx, size: 49706)
2012-02-11
19:53
[e75f41c421] part of check-in [768df4e116] Another attempt to fix warnings in the randomFunc() function. (check-in: [768df4e116] user: drh branch: trunk, size: 49611)
2012-02-10
20:43
[482fb61e26] part of check-in [33294bbd17] Fix a warning coming from the Solaris Studio compiler. (check-in: [33294bbd17] user: drh branch: trunk, size: 49623)
18:18
[5d67931ffe] part of check-in [e248598649] Pull the latest trunk changes into the apple-osx branch. (check-in: [e248598649] user: drh branch: apple-osx, size: 49717)
2012-02-02
18:42
[d7925f33a8] part of check-in [f27c7b4fb1] Fix a problem with NULL handling in aggregate min/max when returning values from the row containing the min or max. (check-in: [f27c7b4fb1] user: drh branch: output-minmax-row, size: 49622)
17:35
[f66c87956c] part of check-in [adb29232b6] For queries of the form "SELECT p, max(q) FROM t1", the value of column p returned is the one on the same row that holds the maximum value of q. (check-in: [adb29232b6] user: drh branch: output-minmax-row, size: 49571)
2011-10-21
17:18
[8c5a50e75f] part of check-in [be62ef058b] Merge the latest trunk changes into the apple-osx branch. (check-in: [be62ef058b] user: drh branch: apple-osx, size: 49412)
2011-10-13
18:00
[6261ce00aa] part of check-in [9984cc20ca] Simplifications to the upper() and lower() SQL functions. Updates to documentation on sqlite3_bind_text() and sqlite3_result_text() to make it clear that users should not try to create strings with embedded NULs and that if they do the result of expression on those strings is undefined. Ticket [57c971fc74524a] (check-in: [9984cc20ca] user: drh branch: trunk, size: 49317)
2011-06-20
11:57
[1b9d471b63] part of check-in [4c69e827f4] Merge the latest trunk changes into the apple-osx branch. (check-in: [4c69e827f4] user: drh branch: apple-osx, size: 49478)
2011-06-15
12:43
[59bb046d7e] part of check-in [3899f3b95e] Fix a couple of compiler warnings. (check-in: [3899f3b95e] user: drh branch: broken-build, size: 49383)
2011-06-13
12:19
[d93772d9ff] part of check-in [77f01578bb] Use only unsigned values in the implementatin of LIKE and GLOB so that values won't overflow to negative when dealing with malformed UTF8. (check-in: [77f01578bb] user: drh branch: trunk, size: 49383)
2011-05-05
15:52
[c02fda657f] part of check-in [f9b149e538] Merge the latest trunk changes into the apple-osx branch. (check-in: [f9b149e538] user: drh branch: apple-osx, size: 49478)
2011-04-27
18:08
[b9117e4097] part of check-in [1bd1484cd7] Change the name of an internal function to avoid conflicts with the math library. (check-in: [1bd1484cd7] user: drh branch: trunk, size: 49383)
2011-04-25
18:03
[6d907d397c] part of check-in [f7806e0399] Add the (deliberately undocumented) sqlite_log() SQL function as a built-in. (check-in: [f7806e0399] user: drh branch: trunk, size: 49380)
2011-04-04
13:11
[b6f0b8433b] part of check-in [6d78a25ddc] Merge in the latest changes from trunk. (check-in: [6d78a25ddc] user: drh branch: apple-osx, size: 49012)
2011-03-05
20:59
[3a8cb2fb2d] part of check-in [abf2139412] Fix all known instances of signed-integer overflow. Within SQL expressions, integer overflow now forces coercion to floating point. The shift operators work with any integer right-hand operand with negative values reversing the direction of the shift. (check-in: [abf2139412] user: drh branch: trunk, size: 48917)
13:54
[9b88e09d23] part of check-in [04abab71ec] Fix an instance of signed arithmetic overflow and an one bit-shift overflow. Mark six other signed arithmetic overflow locations that need fixing. (check-in: [04abab71ec] user: drh branch: trunk, size: 49155)
2011-01-27
18:48
[343c0bd857] part of check-in [09d6c91dcf] Pull in all the changes from trunk up through the version 3.7.5 release candidate 1. (check-in: [09d6c91dcf] user: drh branch: apple-osx, size: 49235)
2010-12-15
18:54
[cb41f614ed] part of check-in [e1660764f2] When registering the built-in LIKE and GLOB functions, make sure that they are tagged with SQLITE_UTF8 so that if other application-defined LIKE and GLOB implementations are provided for UTF16, then the appropriate function will be selected. (check-in: [e1660764f2] user: drh branch: trunk, size: 49140)
2010-11-19
23:50
[3856c6899f] part of check-in [c8bc057c7d] Merge all the latest changes from the trunk into the apple-osx branch. (check-in: [c8bc057c7d] user: drh branch: apple-osx, size: 49232)
2010-09-30
00:50
[2b7cf54d25] part of check-in [14eed3a0e0] Rework the text to numeric conversion routines so that they work with either UTF8 or UTF16 and do not require a NULL terminator. This allowed text to numeric conversion without reallocating the string. (check-in: [14eed3a0e0] user: drh branch: experimental, size: 49137)
2010-09-28
14:26
[b566498235] part of check-in [7be03ecc04] Fix several harmless compiler warnings. (check-in: [7be03ecc04] user: drh branch: trunk, size: 49101)
2010-08-27
17:48
[caa6c51341] part of check-in [9a724dfbe8] Add the sqlite3_create_function_v2() API, a version of create_function that allows a destructor to be specified. (check-in: [9a724dfbe8] user: dan branch: trunk, size: 49095)
2010-08-18
00:24
[62373e488e] part of check-in [866e9286ae] Merge the 3.7.1 pre-release snapshot changes as of 2010-08-18 into the apple-osx branch. (check-in: [866e9286ae] user: drh branch: apple-osx, size: 49180)
2010-08-07
11:46
[2448e7118b] part of check-in [f88c6367d2] Merge in all changes up to the 3.7.0.1 release. (check-in: [f88c6367d2] user: drh branch: apple-osx, size: 49110)
2010-08-03
18:06
[464b0dc706] part of check-in [57c0960038] Fix disabled implementation-mark comments in func.c. (check-in: [57c0960038] user: drh branch: trunk, size: 49085)
2010-07-24
16:34
[75dc1fd91e] part of check-in [ac1f37a647] Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). (check-in: [ac1f37a647] user: drh branch: malloc-enhancement, size: 49005)
2010-06-16
19:48
[cc68e721c2] part of check-in [21ca87f691] Merge in changes up to and including the 3.6.23.1 release. (check-in: [21ca87f691] user: drh branch: apple-osx, size: 49107)
2010-04-25
20:58
[0c28599430] part of check-in [064d3ddd61] Remove an unreachable branch from the function initialization logic. (check-in: [064d3ddd61] user: drh branch: trunk, size: 49015)
2010-04-24
14:02
[b4af81088b] part of check-in [0291ed974d] When commands such as ALTER TABLE and VACUUM use SQL internally, make sure they use only the built-in functions and not application-defined overrides for those functions. (check-in: [0291ed974d] user: drh branch: trunk, size: 49010)
2010-02-26
16:37
[5dca069d98] part of check-in [dd4962aa34] Rename the sqlite_compile_option_*() SQL functions to sqlite_compileoption_*() for consistency with the C/C++ interface. (check-in: [dd4962aa34] user: drh branch: trunk, size: 49012)
2010-02-25
15:28
[374f45d2a5] part of check-in [633d874783] Minor simplifications to the compile-time option reporting functions and pragmas to facilitate coverage testing. (check-in: [633d874783] user: drh branch: trunk, size: 49014)
14:44
[596688b58c] part of check-in [a255059786] Add some technically unnecessary variable initializations to silence compiler warnings. (check-in: [a255059786] user: dan branch: branch-3.6.1, size: 41987)
2010-02-23
20:32
[d1fbbfe135] part of check-in [9f429434c0] Merge the compile-time option introspection interfaces into the trunk. (check-in: [9f429434c0] user: drh branch: trunk, size: 49117)
20:08
[248e2e88e5] part of check-in [76a0294ab4] Refactored compile time option diagnostic support to use strings identifiers instead of bitmask. (check-in: [76a0294ab4] user: shaneh branch: compile_opts, size: 49104)
04:19
[8854b7a234] part of check-in [84c9756993] Test new api to report which options (defines) were used to compile SQLite. (check-in: [84c9756993] user: shaneh branch: compile_opts, size: 48010)
2010-02-17
19:34
[3cd22e930f] part of check-in [4b72e39bd0] Merge latest changes from the trunk into the apple-osx branch. (check-in: [4b72e39bd0] user: drh branch: apple-osx, size: 47573)
04:19
[3864490a90] part of check-in [d76ad8b3c4] Avoid using the internal printf routine for round(x,y) in the common case where y==0. (check-in: [d76ad8b3c4] user: shaneh branch: trunk, size: 47478)
2010-01-20
01:26
[0645bcf3fc] part of check-in [96499b1dd6] Update the Apple OS-X branch to include all of the latest changes in trunk. (check-in: [96499b1dd6] user: drh branch: apple-osx, size: 47257)
2010-01-11
18:26
[7cd1b3abad] part of check-in [8bd0f8147d] Add a few documentation evidence comments to the built-in function implementations. (check-in: [8bd0f8147d] user: drh branch: trunk, size: 47162)
2009-12-16
23:46
[7b3a20690b] part of check-in [5754a3a561] Merge the latest changes on trunk (and especially the fix for the (xANDy)OR(z) bug) into apple-osx. (check-in: [5754a3a561] user: drh branch: apple-osx, size: 46648)
2009-12-08
02:06
[6990634099] part of check-in [003f3ed10c] Add evidence marks for the abs() and soundex() SQL functions. (check-in: [003f3ed10c] user: drh branch: trunk, size: 46553)
2009-12-07
23:53
[44bab6e35e] part of check-in [ad08794d72] Merge all changes associated with the version 3.6.21 release into the OS-X branch. (check-in: [ad08794d72] user: drh branch: apple-osx, size: 45546)
2009-11-12
05:04
[bf54e1202c] part of check-in [d7b3801dc7] Update comment for substrFunc(). Added additional SUBSTR() test cases. (check-in: [d7b3801dc7] user: shaneh branch: trunk, size: 45451)
2009-11-11
20:53
[97cb15ef7a] part of check-in [5a474a867c] Tweaks to the SUBSTR() function to make it dramatically faster in the common case where the input string is large but the 2nd and 3rd arguments are small positive integers. (check-in: [5a474a867c] user: drh branch: trunk, size: 45386)
00:24
[5949e2633b] part of check-in [30055b257c] Generate VDBE code for the built-in COALESCE() and IFNULL() functions. This allows unused arguments to never be evaluated, which is a performance win when the unused argument is a subquery. (check-in: [30055b257c] user: drh branch: trunk, size: 45350)
2009-11-03
22:34
[1ddc1c93a0] part of check-in [941a01eb86] Customizations for OSX contributed by Apple. (check-in: [941a01eb86] user: adam branch: apple-osx, size: 44911)
2009-08-14
16:01
[e536218d19] part of check-in [302dabe98f] Incorporate fossil-scm version information into the build. Add the SQLITE_SOURCE_ID macro to the header. Add the sqlite3_sourceid() interface. Add the sqlite_source_id() SQL function. (check-in: [302dabe98f] user: drh branch: trunk, size: 44816)
2009-06-19
16:44
[9856373f53] part of check-in [90c3b23cca] Make sure group_concat() ignores initial NULL values. (CVS 6787) (check-in: [90c3b23cca] user: drh branch: trunk, size: 44424)
14:06
[d108b00280] part of check-in [37ae5f5e8f] Reorganize and cleanup the prepared statement object. Remove code that has been commented out for ages and is no longer relevant to anything. (CVS 6786) (check-in: [37ae5f5e8f] user: drh branch: trunk, size: 44497)
2009-06-03
01:24
[006875b8e9] part of check-in [baea79fd0c] Additional changes to reduce stack usage. The SQLITE_SMALL_STACK compile-time option is now available. (CVS 6708) (check-in: [baea79fd0c] user: drh branch: trunk, size: 44555)
2009-05-28
01:00
[9d7b47729c] part of check-in [4ac2bdfbb4] Additional refinements to Expr handling. Restore compression of trigger expressions. Change Expr.zToken to Expr.u.zToken and added Expr.u.iValue. Remove an unnecessary ExprDup from CHECK constraint processing. And so forth. (CVS 6682) (check-in: [4ac2bdfbb4] user: drh branch: trunk, size: 44535)
2009-05-27
10:31
[be5067593d] part of check-in [7cb1c3ba07] Simplifications to the Expr object: Remove Expr.span completely and convert Expr.token into a char* Expr.zToken. Also simplify the Token object by removing the Token.dyn and Token.quoted fields. (CVS 6681) (check-in: [7cb1c3ba07] user: drh branch: trunk, size: 44501)
2009-04-20
12:07
[f667fe8863] part of check-in [7f17956dfb] Do not use deprecated interfaces internally when compiling with SQLITE_OMIT_DEPRECATED. Ticket #3813. (CVS 6523) (check-in: [7f17956dfb] user: drh branch: trunk, size: 44493)
2009-04-15
15:16
[ac12ea20d1] part of check-in [b83fbf15a3] Fix the group_concat() function so that it inserts the separator string even if the initial content strings are empty. Ticket #3806. (CVS 6510) (check-in: [b83fbf15a3] user: drh branch: trunk, size: 44402)
13:39
[4ebe8c3654] part of check-in [c0bba77ae6] Mark an branch in alter.c as always false. Only run the assert() on the sqlite3_aggregate_count() function in func.c if the SQLITE_OMIT_DEPRECATED compile-time option is off. (CVS 6508) (check-in: [c0bba77ae6] user: drh branch: trunk, size: 44381)
2009-04-08
23:04
[7d30fc8569] part of check-in [f322be3833] Add an assert() to the implementation of count(*) that checks the correct operation of the sqlite3_aggregate_count() function. (CVS 6473) (check-in: [f322be3833] user: drh branch: trunk, size: 44343)
2009-04-02
14:05
[99ae90d461] part of check-in [995f2b9b10] Change the way that the random() SQL function prevents the maximum negative integer so that it is testable. (CVS 6436) (check-in: [995f2b9b10] user: drh branch: trunk, size: 43976)
13:36
[25edae19b5] part of check-in [eb65e64e7e] Use ALWAYS and NEVER macros on unchangeable conditions within func.c. (CVS 6435) (check-in: [eb65e64e7e] user: drh branch: trunk, size: 43609)
10:16
[13b7a7ecf4] part of check-in [868a487f5f] In the built-in SQL function implementations, improve some comments, fix an off-by-one error in detecting over-size strings, and add testcase() macros to verify that boundary values have been tested. (CVS 6434) (check-in: [868a487f5f] user: drh branch: trunk, size: 43586)
09:07
[ac81b4ff36] part of check-in [a04f9e7959] Enforce the run-time sqlite3_limit() length limit on zeroblob(), not just the compile-time SQLITE_MAX_LENGTH limit. (CVS 6433) (check-in: [a04f9e7959] user: drh branch: trunk, size: 42914)
2009-04-01
16:33
[1d6a868944] part of check-in [94e2f815eb] Remove dead code from the UTF conversion routines. Fix a bug in sqlite3_prepare16_v2() in which an out-of-memory error fails to set the statement return pointer to NULL. (CVS 6423) (check-in: [94e2f815eb] user: drh branch: trunk, size: 42858)
2009-03-27
15:26
[42d12d31d3] part of check-in [1c6521e53b] When "PRAGMA case_sensitive_like" is invoked, override all existing "LIKE" functions, including UTF-16 versions. (CVS 6394) (check-in: [1c6521e53b] user: danielk1977 branch: trunk, size: 42911)
2009-02-24
10:01
[de2eed7d96] part of check-in [d4aa659318] Optimize queries of the form "SELECT count(*) FROM <tbl>" by adding a sqlite3BtreeCount() interface to the btree layer. (CVS 6316) (check-in: [d4aa659318] user: danielk1977 branch: trunk, size: 42914)
2009-02-19
14:39
[2fb36cd7cc] part of check-in [d9f6ffbc5e] Changes to reduce the heap space consumed by triggers, views and tables in the in-memory representation of the schema. Also to reduce the space used by prepared statements slightly. (CVS 6305) (check-in: [d9f6ffbc5e] user: danielk1977 branch: trunk, size: 42832)
2009-02-04
03:59
[35d6f4a98c] part of check-in [5cef400023] 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) (check-in: [5cef400023] user: shane branch: trunk, size: 42785)
2009-02-03
15:50
[ec95417daf] part of check-in [85e9196d79] Remove several compiler warnings. (CVS 6239) (check-in: [85e9196d79] user: drh branch: trunk, size: 42634)
13:19
[ccc2bc683e] part of check-in [1ffe44e9d6] Fix a problem in check-in (6226) which could cause an assertion fault following a malloc failure. The prior check-in was for ticket #3624. (CVS 6235) (check-in: [1ffe44e9d6] user: drh branch: trunk, size: 42556)
13:10
[e8f46d1a8c] part of check-in [cd2e7f6c0f] Check-in (6230) introduced a bugs in SUBSTR() which was caught by the fuzz tester. Fixed by this check-in. Related to ticket #3628. (CVS 6234) (check-in: [cd2e7f6c0f] user: drh branch: trunk, size: 42492)
2009-02-02
21:57
[b4fe7d6b81] part of check-in [f2ae82c4d4] 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) (check-in: [f2ae82c4d4] user: drh branch: trunk, size: 42469)
17:30
[4a837d75d6] part of check-in [92e5c27f20] Minor simplifications to SQL function implementations. (CVS 6231) (check-in: [92e5c27f20] user: drh branch: trunk, size: 42439)
16:32
[f58648e196] part of check-in [5fc125d362] Update the SUBSTR function so that works consistently when the 2nd parameter is 0. Ticket #3628. (CVS 6230) (check-in: [5fc125d362] user: drh branch: trunk, size: 42513)
01:50
[a3aac94811] part of check-in [b8b546b6ed] Restrict the RANDOM() function to have zero arguments. Ticket #3627. (CVS 6229) (check-in: [b8b546b6ed] user: drh branch: trunk, size: 42371)
2009-02-01
19:42
[910be7d21b] part of check-in [779fce82b7] Fix SUBSTR() so that it returns NULL if any argument is NULL. Ticket #3626. (CVS 6228) (check-in: [779fce82b7] user: drh branch: trunk, size: 42371)
19:23
[5a9abbe0c9] part of check-in [2217339bad] Fix the SUBSTR() function so that when the 3rd argument is negative, it counts backwards from the selected start point. Ticket #3625. (CVS 6227) (check-in: [2217339bad] user: drh branch: trunk, size: 42243)
18:08
[8ead6d9a50] part of check-in [ffebf10f6f] Change the replace() function to return a copy of its first argument when the 2nd argument is an empty string. Ticket #3624. (CVS 6226) (check-in: [ffebf10f6f] user: drh branch: trunk, size: 42145)
2009-01-24
11:30
[51b41e10d4] part of check-in [bfc71edca4] Fix some minor compiler warnings. Added sqlite3Isalpha() for use in the soundex() function. (CVS 6203) (check-in: [bfc71edca4] user: drh branch: trunk, size: 41958)
2009-01-20
16:53
[74ee4010aa] part of check-in [1041abd678] When not compiling for an EBCDIC system, use built-in alternatives to the tolowe r(), toupper() and other ctype.h library functions. Ticket #3597. (CVS 6196) (check-in: [1041abd678] user: danielk1977 branch: trunk, size: 41959)
2008-12-10
23:04
[b0e1c61301] part of check-in [0a1888a7e6] More code obfuscation designed to thwart compiler warning messages. (CVS 6015) (check-in: [0a1888a7e6] user: drh branch: trunk, size: 41949)
21:19
[8b5f6807f0] part of check-in [ea01d43788] Additional work at eliminating silly compiler warnings. (CVS 6010) (check-in: [ea01d43788] user: drh branch: trunk, size: 41950)
19:26
[1246828c0d] part of check-in [c872d55493] Never use strlen(). Use our own internal sqlite3Strlen30() which is guaranteed to never overflow an integer. Additional explicit casts to avoid nuisance warning messages. (CVS 6007) (check-in: [c872d55493] user: drh branch: trunk, size: 41875)
2008-11-19
16:52
[b4570eb73d] part of check-in [d1abe8a1c9] Fix some compiler warnings that show up when building the amalgamation only. (CVS 5927) (check-in: [d1abe8a1c9] user: danielk1977 branch: trunk, size: 41845)
09:05
[bfe4dec1fc] part of check-in [88134322c3] Changes to avoid "unused parameter" compiler warnings. (CVS 5921) (check-in: [88134322c3] user: danielk1977 branch: trunk, size: 41663)
2008-10-28
17:52
[d8eb180e4f] part of check-in [679c0b35aa] Avoid exposing internal interfaces sqlite_attach() and sqlite_detach() as SQL scalar functions. Ticket #3466. (CVS 5846) (check-in: [679c0b35aa] user: danielk1977 branch: trunk, size: 41319)
2008-09-03
17:11
[8431b40a78] part of check-in [e333c3f4c3] Work around an issue with the WINSCW compiler. (CVS 5671) (check-in: [e333c3f4c3] user: drh branch: trunk, size: 41375)
2008-09-02
15:44
[41a4cbbc43] part of check-in [43f757c9f0] Add an extra 'const' qualifier to two arrays (in func.c and pragma.c) to ensure that they do not consume space in the data segment of the compiled object files. (CVS 5663) (check-in: [43f757c9f0] user: danielk1977 branch: trunk, size: 41373)
2008-09-01
19:14
[c02615eafb] part of check-in [846fff5f09] Modify the aBuiltinFunc array in func.c to use the WSD macros. (CVS 5653) (check-in: [846fff5f09] user: danielk1977 branch: trunk, size: 41372)
18:34
[964a610bd6] part of check-in [573d92abb9] Begin adding support for the SQLITE_OMIT_WSD macro. Some (many) WSD variables still need wrappers added to them. (CVS 5652) (check-in: [573d92abb9] user: danielk1977 branch: trunk, size: 41181)
2008-08-21
20:21
[f2e0b55f13] part of check-in [80d6a31cb3] Move date+time functions to start-time initialization. Additional start-time function cleanup. (CVS 5585) (check-in: [80d6a31cb3] user: drh branch: trunk, size: 41120)
18:49
[f52c6d1b5d] part of check-in [ef6936e50a] Initialize the global built-in function table at start-time instead of at compile-time. This is less prone to malfunction when compile-time parameters very. (CVS 5583) (check-in: [ef6936e50a] user: drh branch: trunk, size: 43562)
2008-08-20
14:49
[d97ff7b72f] part of check-in [cb494e10d7] Add the pcache module from the experimental branch. Also change things so that most of the built-in SQL functions are kept in single static hash-table, rather than creating and populating a separate hash table for each open database connection. (CVS 5566) (check-in: [cb494e10d7] user: danielk1977 branch: trunk, size: 43322)
2008-07-28
19:34
[54efe220cc] part of check-in [e48f9697e9] Implement the "lookaside" memory allocation cache. Use of this cache makes the speed1.test script run about 15% faster. Added new interfaces to control the cache. (CVS 5488) (check-in: [e48f9697e9] user: drh branch: trunk, size: 41867)
2008-07-08
22:28
[08422a7bd0] part of check-in [6cdb6841ff] Added macros to convert between 32-bit ints and 64-bit ptrs to avoid compiler warnings. (CVS 5378) (check-in: [6cdb6841ff] user: shane branch: trunk, size: 41859)
2008-06-18
15:34
[1e7d956957] part of check-in [70c6739f4e] Make sure aggregate functions can take any number of arguments up to the limit imposed by SQLITE_LIMIT_FUNCTION_ARGS. Ticket #3179. Modify the group_concat() function to take an unlimited number of arguments in order to facilitate testing this behavior. (CVS 5233) (check-in: [70c6739f4e] user: drh branch: trunk, size: 41829)
2008-06-15
02:51
[6ebd44016c] part of check-in [65fe7b62cf] Continuing work on the new memory allocation subsystem. Added routines for temporary memory allocation. Right the btree balance mechanism to only do one temporary allocation at a time. (CVS 5220) (check-in: [65fe7b62cf] user: drh branch: trunk, size: 41816)
2008-04-27
18:40
[77a910a1ca] part of check-in [6a94d19747] Remove all references to sqlite3_intptr_t. (CVS 5051) (check-in: [6a94d19747] user: drh branch: trunk, size: 41817)
2008-03-20
16:30
[c9e8c7ff4c] part of check-in [4c4be4c3c8] Reinstate test cases for the limit tests. The sqlite3_limit() API is now tested and working. (CVS 4899) (check-in: [4c4be4c3c8] user: drh branch: trunk, size: 41856)
14:03
[3ac6e84e60] part of check-in [60c77882b2] Initial implementation of per-connection limits and the sqlite3_limit() API. The sqllimits1.test script crashes. SQLITE_LIMIT_PAGE_COUNT and SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897) (check-in: [60c77882b2] user: drh branch: trunk, size: 41809)
2008-03-19
21:45
[ffce8131bb] part of check-in [54c55cae55] Add a new interface, sqlite3_context_db_handle(), that returns the database connection pointer for an application-defined function. (CVS 4889) (check-in: [54c55cae55] user: drh branch: trunk, size: 41747)
16:08
[00a4f0a75f] part of check-in [e90c4cc8a8] Move SQL functions used for testing only out of func.c and into a new test file named test_func.c. Use sqlite3_auto_extension() to make sure the test functions appear in every database connection. (CVS 4883) (check-in: [e90c4cc8a8] user: drh branch: trunk, size: 41800)
14:15
[1832b2fd17] part of check-in [15110ea027] Add a new api sqlite3_randomness() for providing access to SQLite's internal PRNG. Add sqlite3_test_control() verbs for controlling the PRNG. (CVS 4882) (check-in: [15110ea027] user: drh branch: trunk, size: 46677)
2008-03-06
09:58
[a4f06d8a1d] part of check-in [e2a9f5f105] Handle non-autoconf build correctly with new changes (CVS 4832) (check-in: [e2a9f5f105] user: mlcreech branch: trunk, size: 46678)
07:35
[6d6d4817b4] part of check-in [54839a84e6] Use intptr_t definition to silence warnings about ptr-int casts (CVS 4824) (check-in: [54839a84e6] user: mlcreech branch: trunk, size: 46654)
2008-02-19
18:29
[194cd8a954] part of check-in [7b50140dc0] Remove instances of strcpy() from test code. Use memcpy() or sqlite3_snprintf() instead. (CVS 4801) (check-in: [7b50140dc0] user: drh branch: trunk, size: 46634)
2008-01-21
16:22
[8e3d0c5996] part of check-in [720bc20a11] Miscellaneous test coverage improvements. (CVS 4734) (check-in: [720bc20a11] user: drh branch: trunk, size: 46604)
2008-01-19
23:50
[a7f44eaca1] part of check-in [010f7b780c] Additional test coverage improvements. Test coverage now stands at 98.73%. (CVS 4731) (check-in: [010f7b780c] user: drh branch: trunk, size: 46690)
2007-12-13
21:54
[996071cf0a] part of check-in [4e91a267fe] Change all instances of "it's" in comments to either "its" or "it is", as appropriate, in case the comments are ever again read by a pedantic grammarian. Ticket #2840. (CVS 4629) (check-in: [4e91a267fe] user: drh branch: trunk, size: 46696)
2007-12-11
04:23
[9c87ddf907] part of check-in [64787d78b9] Fix a 'const' issue in trimFunc(). (CVS 4608) (check-in: [64787d78b9] user: danielk1977 branch: trunk, size: 46705)
2007-12-10
18:07
[5b713bbf17] part of check-in [6adbe91eff] Fix a macro in func.c that causes problems for the amalgamation. (CVS 4605) (check-in: [6adbe91eff] user: drh branch: trunk, size: 46662)
2007-12-07
18:39
[a8548fbc55] part of check-in [754298a74e] Get the LIKE and GLOB operators working again on systems using the EBCDIC character set. (CVS 4597) (check-in: [754298a74e] user: drh branch: trunk, size: 46642)
2007-11-28
22:36
[49f98cfe26] part of check-in [221aee72be] Add the {quote: StrAccum} object for accumulating strings. Revamp xprintf to use the new object. Rewrite the group_concat() function to use the new object. Productize and test the group_concat() function. (CVS 4578) (check-in: [221aee72be] user: drh branch: trunk, size: 46283)
2007-11-01
17:38
[73b4974e5f] part of check-in [61987a89d1] Add a prototype "group_concat()" aggregate function to func.c. Disabled by default. No documentation nor test cases. No effort to make it efficient. (CVS 4519) (check-in: [61987a89d1] user: drh branch: trunk, size: 46049)
2007-10-12
19:11
[e8e8978804] part of check-in [4a807d48ea] Make the 3rd parameter of the SUBSTR() function optional. Ticket #2579. (CVS 4486) (check-in: [4a807d48ea] user: drh branch: trunk, size: 44919)
2007-09-03
11:04
[9d88141c4c] part of check-in [c0ce631964] Handle transient malloc() failures in sqlite3CreateFunc(). (CVS 4371) (check-in: [c0ce631964] user: danielk1977 branch: trunk, size: 44789)
2007-09-01
17:00
[7c59882c72] part of check-in [5842f68c1b] Remove code for calling the SQL function randstr() with 0 or 1 argument, as it is registered with sqlite as requiring exactly 2. Also test io errors in sqlite3_release_memory(). (CVS 4365) (check-in: [5842f68c1b] user: danielk1977 branch: trunk, size: 44840)
2007-08-30
16:30
[10135a09d3] part of check-in [c073b78040] Fix the "test_destructor" test function in utf-16 mode. Fix for test failure in utf16 version of func.test. (CVS 4344) (check-in: [c073b78040] user: danielk1977 branch: trunk, size: 44773)
2007-08-29
14:06
[30f9562b0e] part of check-in [c790c234c3] Use the DbMalloc() and DbRealloc() functions more consistently. (CVS 4323) (check-in: [c790c234c3] user: danielk1977 branch: trunk, size: 44754)
12:31
[4db632f1a8] part of check-in [e38ef81b85] Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321) (check-in: [e38ef81b85] user: danielk1977 branch: trunk, size: 44572)
2007-08-23
02:47
[aa8a3a8db5] part of check-in [21f6b31097] Improvements to memory leak detection. The --backtrace=NNN option is now recognized by tester.tcl. Memory leak summaries are automatically written to the file ./memleak.txt and each leak is tagged with the test in which it occurred. The quick.test script runs on Linux with no errors and no leaks. (CVS 4273) (check-in: [21f6b31097] user: drh branch: trunk, size: 44247)
2007-08-21
19:33
[36440cb025] part of check-in [9287276191] The sqlite3_value object now carries an sqlite3* pointer to use for recording malloc failures. This eliminates the need to pass sqlite3* pointers into many internal interfaces. Also added more mutexing. (CVS 4263) (check-in: [9287276191] user: drh branch: trunk, size: 44184)
10:44
[8516d5f97d] part of check-in [fbbd5bda54] Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255) (check-in: [fbbd5bda54] user: drh branch: trunk, size: 44196)
2007-08-16
10:36
[472c061016] part of check-in [384d0ca9bc] Replace a few sqlite3_malloc() calls that should be sqlite3MallocZero(). (CVS 4234) (check-in: [384d0ca9bc] user: danielk1977 branch: trunk, size: 44244)
10:09
[4195c626d0] part of check-in [77b1671351] More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) (check-in: [77b1671351] user: danielk1977 branch: trunk, size: 44238)
04:30
[bd94a8aabe] part of check-in [deb7ecd65f] Half-way through a major refactoring of the memory allocation. I have not even attempted to compile so I am certain there are countless errors. (CVS 4231) (check-in: [deb7ecd65f] user: drh branch: trunk, size: 44220)
2007-07-26
06:50
[28daebcddc] part of check-in [b88af1827b] Fix two obscure memory leaks that can follow a malloc() failure in sqlite3_set_auxdata(). Ticket #2534. (CVS 4185) (check-in: [b88af1827b] user: danielk1977 branch: trunk, size: 44213)
2007-07-23
19:12
[dcba54fc18] part of check-in [9a059cb6bc] Rework the UTF8 reader logic in order to avoid the use of malloc(). Ticket #2523. (CVS 4175) (check-in: [9a059cb6bc] user: drh branch: trunk, size: 44162)
2007-06-22
15:21
[6b45261aa2] part of check-in [68677e420c] Extend fts2 so that user defined tokenizers may be added. Add a tokenizer that uses the ICU library if available. Documentation and tests to come. (CVS 4108) (check-in: [68677e420c] user: danielk1977 branch: trunk, size: 44111)
2007-06-07
19:08
[4668843e6f] part of check-in [f40218434e] Make sure zeroblob does reasonable things with a negative argument or an argument that is larger than the maximum blob size. (CVS 4048) (check-in: [f40218434e] user: drh branch: trunk, size: 43944)
2007-05-15
14:40
[dfd0dd496d] part of check-in [9b91502ef0] Remove the alternative UTF-16 implementation of SUBSTR(). It does not work anymore and the UTF-8 version can do everything that the UTF-16 version does. (CVS 4009) (check-in: [9b91502ef0] user: drh branch: trunk, size: 43856)
13:27
[047c974d53] part of check-in [cf2dd45b58] Clarification on the best practices for using the _bytes() APIs. Change sqlite3_value_blob() to force the representation to be purely a BLOB and not a dual BLOB/String. Ticket #2360. (CVS 4005) (check-in: [cf2dd45b58] user: drh branch: trunk, size: 43964)
11:55
[fc1524fd60] part of check-in [6c8ad2790e] A new approach for UTF-8 translation. (CVS 4004) (check-in: [6c8ad2790e] user: drh branch: trunk, size: 43178)
01:13
[cdbe36f2a7] part of check-in [75d573080d] The built-in substr() function applied to a BLOB counts bytes, not characters. (CVS 3997) (check-in: [75d573080d] user: drh branch: trunk, size: 43412)
2007-05-12
06:11
[b6586f83c1] part of check-in [2e80736d57] Bugfixes for assert() failures found by fuzz.test. (CVS 3986) (check-in: [2e80736d57] user: danielk1977 branch: trunk, size: 42751)
2007-05-10
13:23
[f57e0111eb] part of check-in [9c0050a10c] Fix a C++ism in func.c. (CVS 3970) (check-in: [9c0050a10c] user: drh branch: trunk, size: 42726)
2007-05-09
08:24
[6282d2025d] part of check-in [8819617b7c] Fix enforcement of the LIKE_PATTERN limit. (CVS 3962) (check-in: [8819617b7c] user: danielk1977 branch: trunk, size: 42734)
2007-05-08
20:37
[1fccb03720] part of check-in [e9f56ead05] Fix the amalgamation generator so that all non-API functions have file scope. (CVS 3958) (check-in: [e9f56ead05] user: drh branch: trunk, size: 42727)
15:46
[1598afc915] part of check-in [0cf518ceeb] Do not allocate so much surplus memory in the implementation of the replace() function. (CVS 3951) (check-in: [0cf518ceeb] user: drh branch: trunk, size: 42727)
15:34
[21a7e73009] part of check-in [42e6c82699] Limit the length of the patterns on LIKE and GLOB to avoid problems with deep recursion and N^2 behavior. (CVS 3950) (check-in: [42e6c82699] user: drh branch: trunk, size: 42701)
15:15
[f06e14b427] part of check-in [17c4235c49] Introduce the (experimental) sqlite3_result_error_toobig() API that function implementations can use to signal SQLite that the function result is too big to represent. (CVS 3949) (check-in: [17c4235c49] user: drh branch: trunk, size: 42409)
14:39
[72801217da] part of check-in [b0fb4a3cf6] Fix a potential buffer overrun in the replace() function. (CVS 3947) (check-in: [b0fb4a3cf6] user: danielk1977 branch: trunk, size: 42540)
12:12
[755a8c58cd] part of check-in [031a5915b6] Begin adding code to explicitly limit the size of strings and blobs. (CVS 3943) (check-in: [031a5915b6] user: drh branch: trunk, size: 42271)
2007-05-07
19:31
[af70f33e3f] part of check-in [011e7db253] Fix an NULL deref in the randomblob() function following a malloc failure. (CVS 3940) (check-in: [011e7db253] user: drh branch: trunk, size: 41746)
2007-05-04
13:15
[9445a7e20c] part of check-in [ba4845b32b] Eliminate all uses of sprintf() and strcpy(). These were not being misused. But getting rid of them removes a library dependency. And it avoids warnings from the OpenBSD compiler. Ticket #2336. (CVS 3916) (check-in: [ba4845b32b] user: drh branch: trunk, size: 41729)
2007-05-02
02:08
[a4bc09fe4f] part of check-in [6f4f8ba7ec] Fix some compiler warnings. Add the (untested) zeroblob() SQL function. (CVS 3895) (check-in: [6f4f8ba7ec] user: drh branch: trunk, size: 41719)
2007-04-27
21:59
[b40a6320fa] part of check-in [ff1f4e7447] Internationalize the TRIM functions. Ticket #2323. (CVS 3883) (check-in: [ff1f4e7447] user: drh branch: trunk, size: 41389)
17:16
[89d8547a9c] part of check-in [e92bd97a37] Make sure sqlite3_value_bytes() does not reformat the content after a call to sqlite3_value_blob(). Add documentation to explain this hazard. Add many new tests. Ticket #2321. (CVS 3880) (check-in: [e92bd97a37] user: drh branch: trunk, size: 40379)
01:18
[b989aa0ecc] part of check-in [e6a0c90dd9] The replace() function should return NULL if the second argument is an empty string. Ticket #2324. (CVS 3877) (check-in: [e6a0c90dd9] user: drh branch: trunk, size: 40355)
2007-04-25
18:23
[acb2c50556] part of check-in [9cb0ed6ee9] Fix segfaults that can occur if a malloc failure happens just before a built-in function calls sqlite3_value_text(). (CVS 3874) (check-in: [9cb0ed6ee9] user: drh branch: trunk, size: 40337)
2007-04-10
13:51
[007d957c05] part of check-in [e14374e4e6] Be careful not to use the result of sqlite3_value_blob() after changing the representation of an object. Ticket #2290. (CVS 3834) (check-in: [e14374e4e6] user: drh branch: trunk, size: 40284)
2007-03-17
17:52
[94372fe3cf] part of check-in [6fe13eeade] Added TRIM, LTRIM, and RTRIM functions. (CVS 3698) (check-in: [6fe13eeade] user: drh branch: trunk, size: 40284)
13:27
[683c2d66a2] part of check-in [c2fe746ea7] First cut at an implementation of the REPLACE() function. We might yet make this a compile-time option or move it into a separate source file. (CVS 3697) (check-in: [c2fe746ea7] user: drh branch: trunk, size: 38485)
2007-01-29
17:58
[b7e1e220a6] part of check-in [f5ad74a9bc] Replace the randomHex() function with separate functions randomBlob() and hex(). (CVS 3620) (check-in: [f5ad74a9bc] user: drh branch: trunk, size: 36501)
15:50
[5df5260055] part of check-in [a6001589ab] Add the randomhex() function as a built-in. (CVS 3619) (check-in: [a6001589ab] user: drh branch: trunk, size: 36032)
2006-09-16
21:45
[af537156df] part of check-in [aa7728f9f5] Add the sqlite3_overload_function() API - part of the virtual table interface. (CVS 3426) (check-in: [aa7728f9f5] user: drh branch: trunk, size: 35294)
2006-08-19
11:34
[dd9cea8ed3] part of check-in [7810d1abf6] Fix for the (unsupported) soundex algorithm so that it conforms to Knuth. Ticket #1925. Test cases added. (CVS 3358) (check-in: [7810d1abf6] user: drh branch: trunk, size: 35616)
2006-06-24
11:51
[f357a81bcd] part of check-in [255aa9121a] A few more test cases to improve coverage of virtual table module related code. (CVS 3292) (check-in: [255aa9121a] user: danielk1977 branch: trunk, size: 35477)
2006-06-17
14:12
[a8a5272387] part of check-in [e08e2ddafe] Add the load_extension() SQL function. (CVS 3269) (check-in: [e08e2ddafe] user: drh branch: trunk, size: 35441)
2006-06-13
19:26
[01e559893b] part of check-in [9372481f23] The (unsupported) soundex() function returns '?000' when given a NULL. Ticket #1845. (CVS 3233) (check-in: [9372481f23] user: drh branch: trunk, size: 34727)
17:39
[16eaca47b4] part of check-in [136bed496b] The optimizer recognizes MATCH operators and allows virtual-tables to make use of them. (CVS 3232) (check-in: [136bed496b] user: drh branch: trunk, size: 34702)
2006-05-11
13:25
[acbbf533b5] part of check-in [a8909f3e5f] Fix comments on the implementation of the SUM() function. (CVS 3183) (check-in: [a8909f3e5f] user: drh branch: trunk, size: 34335)
2006-04-07
13:26
[7dac3a08b9] part of check-in [76aef93c3e] Avoid the use of atof(). Ticket #1756. (CVS 3168) (check-in: [76aef93c3e] user: drh branch: trunk, size: 34742)
2006-03-16
16:19
[380f2f8e55] part of check-in [6c5175bc0f] Fix some compiler warnings. (CVS 3140) (check-in: [6c5175bc0f] user: drh branch: trunk, size: 34726)
2006-03-02
03:02
[ea1a4480ba] part of check-in [9dbadfb211] Change the ROUND() function to return a REAL value instead of TEXT. Ticket #1699. (CVS 3116) (check-in: [9dbadfb211] user: drh branch: trunk, size: 34720)
2006-02-23
21:51
[402b305b0f] part of check-in [5d2e7ea019] Make sure the random() function always returns a value that can be passed to abs(). (CVS 3109) (check-in: [5d2e7ea019] user: drh branch: trunk, size: 34734)
21:43
[b1919255ce] part of check-in [942c509595] Detect integer overflow in the abs() function. The random() function now provides 64 bits of randomness instead of just 32. Fix bugs in testing logic of test4.c. (CVS 3108) (check-in: [942c509595] user: drh branch: trunk, size: 34592)
2006-02-11
17:34
[aa62ef0f5b] part of check-in [1c3e6002cd] I give up. SUM() now throws an error on integer overflow. Those of us who think this is goofy can use TOTAL() instead. Tickets #1664, #1669, #1670, #1674. (CVS 3084) (check-in: [1c3e6002cd] user: drh branch: trunk, size: 34452)
2006-02-09
22:13
[93d004b453] part of check-in [9e04f8fdf1] SUM never gives an error. An integer result is returned for exact results and a floating point result is returned for approximate results. Tickets #1664, #1669, and #1670. (CVS 3066) (check-in: [9e04f8fdf1] user: drh branch: trunk, size: 34057)
18:35
[49f49131af] part of check-in [44bd7ba432] Deprecate the sqlite3_aggregate_count() API. Make sure all aggregate counters are 64 bits. Remove unused StdDev structure from func.c. Ticket #1669. (CVS 3065) (check-in: [44bd7ba432] user: drh branch: trunk, size: 33526)
17:47
[aad8c94768] part of check-in [c72b946198] Integer overflow in SUM causes an exception. Ticket #1669. (CVS 3064) (check-in: [c72b946198] user: drh branch: trunk, size: 33840)
13:38
[b21d89f5a1] part of check-in [a9169e879d] Avoid overflowing the 48-bit mantissa of a floating point number when summing large integers in the SUM() function. Ticket #1664. (CVS 3061) (check-in: [a9169e879d] user: drh branch: trunk, size: 33711)
2006-01-17
13:21
[96b26601c0] part of check-in [0505405fb9] Various fixes that allow the malloc() failure tests to pass again. (CVS 2963) (check-in: [0505405fb9] user: danielk1977 branch: trunk, size: 33701)
2006-01-12
22:17
[be4c026c1d] part of check-in [a7f528ff34] Add support for the TOTAL() aggregate function - works like SUM() except that it returns 0 instead of NULL when presented with an empty list. (CVS 2930) (check-in: [a7f528ff34] user: drh branch: trunk, size: 33723)
2006-01-09
16:12
[e013c3b6c6] part of check-in [3e75d3d5ef] Fix some errors to do with attached databases and text encodings in shared-cache mode. (CVS 2895) (check-in: [3e75d3d5ef] user: danielk1977 branch: trunk, size: 33210)
2006-01-06
21:52
[5e4204b2eb] part of check-in [9d71b7deaf] Changes so that SQLITE_OMIT_PARSER and SQLITE_OMIT_DISKIO work. (CVS 2878) (check-in: [9d71b7deaf] user: drh branch: trunk, size: 33202)
2005-12-09
20:02
[25f1e5710b] part of check-in [83a5915155] Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810) (check-in: [83a5915155] user: drh branch: trunk, size: 33168)
2005-12-06
17:19
[f5171a1bd0] part of check-in [5e04ec694a] Modify ATTACH and DETACH to execute at runtime instead of compile time. (CVS 2803) (check-in: [5e04ec694a] user: danielk1977 branch: trunk, size: 33056)
2005-10-13
02:09
[7d81dccd9c] part of check-in [a0bdb58468] Attempt to fix the SQLite core so that no floating point operations are used anywhere if SQLITE_OMIT_FLOATING_POINT is defined at compile-time. This is useful to people who use SQLite on embedded processors that lack floating point support. (CVS 2749) (check-in: [a0bdb58468] user: drh branch: trunk, size: 33018)
2005-09-08
20:37
[f63d417248] part of check-in [6281859425] SUM returns NULL when it has no inputs. Ticket #1413. (CVS 2678) (check-in: [6281859425] user: drh branch: trunk, size: 33012)
19:45
[ebf56befdb] part of check-in [2e6230edfd] A SUM() of all NULLs returns NULL. A SUM() of nothing return 0. A SUM() of a mixture of NULLs and numbers returns the sum of the numbers. Ticket #1413. (CVS 2677) (check-in: [2e6230edfd] user: drh branch: trunk, size: 33046)
10:37
[c1027f4fcb] part of check-in [21adf4bd99] The SUM() aggregate function returns an integer result if all inputs are integers. Any single non-integer input causes the result to be a floating point value. (CVS 2669) (check-in: [21adf4bd99] user: drh branch: trunk, size: 33016)
2005-09-06
20:36
[713cf33a0a] part of check-in [7ecf3654aa] Cleanup the processing of MEM_Agg elements. (CVS 2660) (check-in: [7ecf3654aa] user: drh branch: trunk, size: 32743)
2005-08-28
17:00
[9da04a6241] part of check-in [ef84ff795c] The LIKE optimization does the right thing when collating sequences are present. LIKE expressions where the left-hand side has COLLATE NOCASE are optimized in the default case. (CVS 2637) (check-in: [ef84ff795c] user: drh branch: trunk, size: 32754)
2005-08-27
13:16
[34085cf518] part of check-in [51a381345d] Fix comment in vdbeapi.c. Remove unused structure definition from func.c. (CVS 2629) (check-in: [51a381345d] user: drh branch: trunk, size: 32600)
2005-08-14
01:20
[5b12db87f0] part of check-in [72ee21c05e] The case_sensitive_like pragma added. Test cases added for the LIKE optimization. (CVS 2592) (check-in: [72ee21c05e] user: drh branch: trunk, size: 32856)
2005-08-13
03:07
[a90ea50216] part of check-in [4f47c3c884] Make the round() function work correctly on numbers with very large exponents. Ticket #1340. (CVS 2585) (check-in: [4f47c3c884] user: drh branch: trunk, size: 31047)
2005-07-09
02:38
[2be0799df0] part of check-in [431999da7b] Use the internal sqlite3_snprintf function instead of sprintf to avoid cross-platform incompatibilities. Ticket #1316. (CVS 2545) (check-in: [431999da7b] user: drh branch: trunk, size: 30984)
2005-07-08
13:53
[e6637354fe] part of check-in [b72bff81f9] Add the SQLITE_CASE_SENSITIVE_LIKE compile-time option. (CVS 2539) (check-in: [b72bff81f9] user: drh branch: trunk, size: 30962)
2005-06-25
18:42
[cbdf725640] part of check-in [17631785f9] Remove the blob(), text() and numeric() functions added in (2524) and replace them with the standard CAST operator. Ticket #1287. (CVS 2527) (check-in: [17631785f9] user: drh branch: trunk, size: 30599)
2005-06-22
10:53
[301b81af2e] part of check-in [affb0fa2e8] Add built-in functions numeric(), text(), and blob() that coerce types. Ticket #1287. (CVS 2524) (check-in: [affb0fa2e8] user: drh branch: trunk, size: 32686)
2005-05-24
12:01
[f208d71f74] part of check-in [5fadb464eb] Move a few things around to make building without the parser easier. (CVS 2479) (check-in: [5fadb464eb] user: danielk1977 branch: trunk, size: 30605)
2005-05-22
10:44
[d09df82e35] part of check-in [20bd303e8c] Add hook to register SSE user-functions. (CVS 2471) (check-in: [20bd303e8c] user: danielk1977 branch: trunk, size: 30651)
2005-02-15
21:36
[ff0673a25e] part of check-in [dbd11a0c58] Move the special built-in SQL functions used by ALTER TABLE out of func.c and into alter.c. (CVS 2343) (check-in: [dbd11a0c58] user: drh branch: trunk, size: 30535)
20:47
[deba954e40] part of check-in [90d6573c26] Split the logic for the ALTER TABLE command off into a separate source code file. (CVS 2342) (check-in: [90d6573c26] user: drh branch: trunk, size: 35631)
2005-02-09
01:40
[4538f82c8a] part of check-in [ddcea6f889] Document SQLITE_DEFAULT_CACHE_SIZE and SQLITE_DEFAULT_TEMP_CACHE_SIZE macros. (CVS 2320) (check-in: [ddcea6f889] user: danielk1977 branch: trunk, size: 35632)
2005-01-28
01:29
[f096b6771c] part of check-in [522c094f79] Make sure the #include of "sqliteInt.h" always comes first in C source files. (CVS 2284) (check-in: [522c094f79] user: drh branch: trunk, size: 35663)
2005-01-11
13:02
[dc188d862d] part of check-in [a6b4572207] Test cases to improve coverage of vdbe.c. (CVS 2193) (check-in: [a6b4572207] user: danielk1977 branch: trunk, size: 35671)
2004-11-19
05:14
[b668e5ad04] part of check-in [1fd8e835a3] Fix bugs in ALTER TABLE related to (a) whitespace in table defn, (b) temp triggers. (CVS 2112) (check-in: [1fd8e835a3] user: danielk1977 branch: trunk, size: 35236)
2004-11-18
15:44
[4f16eba1a7] part of check-in [c61b7de107] Handle triggers correctly in ALTER TABLE. (CVS 2111) (check-in: [c61b7de107] user: danielk1977 branch: trunk, size: 34799)
13:49
[1a5e23e206] part of check-in [85d56beb74] Speed improvement on the LIKE command. (CVS 2110) (check-in: [85d56beb74] user: drh branch: trunk, size: 32197)
2004-11-17
16:41
[897c1c130a] part of check-in [49268c2b7a] Add the ESCAPE clause to the LIKE operator. Not fully tested yet. (CVS 2107) (check-in: [49268c2b7a] user: danielk1977 branch: trunk, size: 32191)
2004-11-14
21:56
[181ea4b8bb] part of check-in [98c7a55478] The SQLITE_OMIT_UTF16 macro now removes lots of code and all tests still pass. (CVS 2100) (check-in: [98c7a55478] user: drh branch: trunk, size: 31088)
2004-11-12
13:42
[b68572e79a] part of check-in [a1b2cc63e6] Add the "ALTER TABLE xxx RENAME TO yyy" command. (CVS 2092) (check-in: [a1b2cc63e6] user: danielk1977 branch: trunk, size: 31006)
2004-10-06
15:41
[600e506bcc] part of check-in [d790c84c5a] Convert many constants to have type "const". (CVS 2006) (check-in: [d790c84c5a] user: drh branch: trunk, size: 29685)
2004-09-13
13:13
[1fbc525663] part of check-in [ee335b501c] Fix an uninitialized variable bug in nullif(). Ticket #898. (CVS 1957) (check-in: [ee335b501c] user: drh branch: trunk, size: 29673)
2004-09-06
17:24
[14bf20710a] part of check-in [3ddf5a9d1c] Fix a naming conflict between sqlite versions 2 and 3. An open sqlite3 connection now *must* be called "sqlite3". You cannot call it "sqlite". This might break existing code. (CVS 1941) (check-in: [3ddf5a9d1c] user: drh branch: trunk, size: 29673)
2004-09-02
15:53
[54a095713d] part of check-in [6c9be972c1] Address some minor 32/64 bit issues. (CVS 1932) (check-in: [6c9be972c1] user: drh branch: trunk, size: 29668)
2004-08-31
00:52
[ab1d6436ed] part of check-in [0a47c8f86d] Combine the implementation of LIKE and GLOB into a single parameterized function. (CVS 1923) (check-in: [0a47c8f86d] user: drh branch: trunk, size: 29661)
2004-08-08
20:22
[7e2eeebe21] part of check-in [b065973898] Make sure the argument to ctype.h macros is always an unsigned character. Ticket #839. (CVS 1881) (check-in: [b065973898] user: drh branch: trunk, size: 32294)
2004-07-18
23:06
[b163fb49ef] part of check-in [2464f79e5d] Use only unsigned characters for upper() and lower(). Ticket #708. (CVS 1808) (check-in: [2464f79e5d] user: drh branch: trunk, size: 32331)
23:03
[ab5c57f0eb] part of check-in [f9b2aa8f8a] Use only unsigned characters in upper() and lower(). Ticket #708. (CVS 1807) (check-in: [f9b2aa8f8a] user: drh branch: version_2, size: 19049)
21:14
[5bd2ce383d] part of check-in [223521c04e] Min() and max() ignore NULL values. Ticket #800. (CVS 1803) (check-in: [223521c04e] user: drh branch: version_2, size: 18999)
20:52
[f4a69379de] part of check-in [166234a2b6] min() ignores NULL values. Ticket #800. (CVS 1802) (check-in: [166234a2b6] user: drh branch: trunk, size: 32313)
2004-06-28
13:09
[5a15cfb0f1] part of check-in [3329210410] More coverage testing. (CVS 1754) (check-in: [3329210410] user: danielk1977 branch: trunk, size: 32258)
2004-06-24
00:20
[c38c8bcaf1] part of check-in [0a26b91580] Apply (1679) to version 3. Ticket #777. (CVS 1680) (check-in: [0a26b91580] user: danielk1977 branch: trunk, size: 32125)
2004-06-23
21:16
[522d58abf2] part of check-in [78ced6e309] The MIN() aggregate function returns NULL if any element in the result was NULL. This makes MIN() consistent with ORDER BY which sorts NULL first. Ticket #777. (CVS 1679) (check-in: [78ced6e309] user: drh branch: version_2, size: 19107)
2004-06-21
06:50
[3d32878eeb] part of check-in [ae2f4a0943] Update sqlite3_changes() to match the documentation and add sqlite3_total_changes(). (CVS 1645) (check-in: [ae2f4a0943] user: danielk1977 branch: trunk, size: 32169)
2004-06-19
17:33
[e520c64e83] part of check-in [fc3b3a8fe8] Make sure VdbeFunc entries are initialized before trying to destroy them. Also, unrelated comment changes in build.c. (CVS 1643) (check-in: [fc3b3a8fe8] user: drh branch: trunk, size: 32251)
15:40
[21985e3b20] part of check-in [70680a34b4] Clear up another zero-length array. This seems to fix the segfault in func-13.4 too. (CVS 1641) (check-in: [70680a34b4] user: drh branch: trunk, size: 31614)
08:18
[b7a8b55200] part of check-in [728d57ff55] Remove the iCollate argument from sqlite3_create_function() (CVS 1632) (check-in: [728d57ff55] user: danielk1977 branch: trunk, size: 31623)
2004-06-17
05:36
[1959a0c2f5] part of check-in [b9493c5fac] Use the faster LIKE function from sqlite v2. Add special user functions to test builds to test the auxdata APIs. (CVS 1610) (check-in: [b9493c5fac] user: danielk1977 branch: trunk, size: 31629)
2004-06-16
10:39
[be055fc63f] part of check-in [7d8edce4c1] Fix handling of a failed malloc() in various places (CVS 1604) (check-in: [7d8edce4c1] user: danielk1977 branch: trunk, size: 30066)
2004-06-15
13:36
[60bf941280] part of check-in [59db58ebd3] Memory leak fixes for tests in file select1.test. (CVS 1599) (check-in: [59db58ebd3] user: danielk1977 branch: trunk, size: 30057)
2004-06-12
09:25
[3b86bf207b] part of check-in [5903f53828] (1) Modifications to the user-function interface and (2) Internal changes to automatically created indices. (CVS 1575) (check-in: [5903f53828] user: danielk1977 branch: trunk, size: 30026)
00:42
[a58fef2651] part of check-in [9b84f2f488] Use the SQLITE_UTF* symbols instead of the old internal TEXT_Utf* symbols. (CVS 1572) (check-in: [9b84f2f488] user: danielk1977 branch: trunk, size: 28266)
2004-06-11
10:51
[91a21c9598] part of check-in [66835ee670] Fix various collation sequence issues. (CVS 1568) (check-in: [66835ee670] user: danielk1977 branch: trunk, size: 28252)
2004-06-08
00:39
[ffbdfa4cad] part of check-in [97aa54bb70] Enhance the built-in function quote() to support blob values. (CVS 1541) (check-in: [97aa54bb70] user: danielk1977 branch: trunk, size: 27316)
2004-06-06
12:41
[730741443e] part of check-in [30b81507fc] Performance improvements for LIKE. It is still too slow though. (CVS 1535) (check-in: [30b81507fc] user: danielk1977 branch: trunk, size: 26543)
09:44
[e873366ba5] part of check-in [92337d8f79] Enhance user function API to support association of meta-data with constant arguments and the specification of text encoding preference. The LIKE operator takes advantage of both. (CVS 1534) (check-in: [92337d8f79] user: danielk1977 branch: trunk, size: 26114)
2004-05-31
18:51
[3b87e2e8b9] part of check-in [adf7e29ff6] Change all SQLITE3 preprocessor macros to SQLITE. Documentation updates. (CVS 1511) (check-in: [adf7e29ff6] user: drh branch: trunk, size: 20176)
2004-05-27
10:30
[1fe0763675] part of check-in [c9e3015faf] A few more bugfixes. Test cases pass now. (CVS 1472) (check-in: [c9e3015faf] user: danielk1977 branch: trunk, size: 20210)
09:28
[17303ed913] part of check-in [67a140cf78] Various bugfixes. 68 Test cases still fail. (CVS 1471) (check-in: [67a140cf78] user: danielk1977 branch: trunk, size: 19969)
03:12
[0910036111] part of check-in [f33d15d95f] Fixes to the MEM changes. The library now links. (CVS 1470) (check-in: [f33d15d95f] user: drh branch: trunk, size: 19773)
2004-05-26
23:25
[a25ec101ac] part of check-in [bba6684d50] Refactoring of the vdbe Mem functions and the APIs that deal with them. The code will not compile in its current state. (CVS 1465) (check-in: [bba6684d50] user: drh branch: trunk, size: 19793)
16:54
[6274bceb41] part of check-in [36e0316259] Remove dataType and includeTypes flags from function definitions. Added new P3_FUNCDEF type for P3 arguments on opcodes. Fixes to several user functions. 28 tests fail now. (CVS 1464) (check-in: [36e0316259] user: drh branch: trunk, size: 19796)
06:18
[ddd86cbd43] part of check-in [0317bef4b0] Use the new form of the sqlite3_create_function() API. (CVS 1460) (check-in: [0317bef4b0] user: danielk1977 branch: trunk, size: 20693)
2004-05-25
12:05
[e67a36ae28] part of check-in [8f6b20c293] Change a couple of symbol names for the new user function API. (CVS 1454) (check-in: [8f6b20c293] user: danielk1977 branch: trunk, size: 20679)
11:47
[c811d2b77f] part of check-in [4eccae03b4] Use the new API for returning values and errors from user functions. (CVS 1453) (check-in: [4eccae03b4] user: danielk1977 branch: trunk, size: 20593)
01:13
[7eb4356a9e] part of check-in [b77c268ebe] Add manifest type aware versions of the min() and max() aggregates. (CVS 1452) (check-in: [b77c268ebe] user: danielk1977 branch: trunk, size: 19969)
2004-05-24
23:48
[3b511af082] part of check-in [5c28ed5e9b] Aggregate functions also use sqlite_value* instead of const char * for arguments. (CVS 1451) (check-in: [5c28ed5e9b] user: danielk1977 branch: trunk, size: 19900)
12:55
[c33bad759f] part of check-in [162cf42e33] Update the typeof() operator to respect manifest types. (CVS 1450) (check-in: [162cf42e33] user: danielk1977 branch: trunk, size: 19723)
12:39
[3690069d74] part of check-in [1e47d7384d] Non-aggregate SQL functions use sqlite_value* instead of const char * for argument values. (CVS 1449) (check-in: [1e47d7384d] user: danielk1977 branch: trunk, size: 19461)
07:04
[333bbc06cc] part of check-in [b7155db2b1] Have the vdbe handle strings in the same encoding as the database. (CVS 1445) (check-in: [b7155db2b1] user: danielk1977 branch: trunk, size: 18832)
2004-05-16
11:15
[cfbb7096ef] part of check-in [a4af838f8d] More changes to support the manifest type model. A few things are currently broken. (CVS 1385) (check-in: [a4af838f8d] user: danielk1977 branch: trunk, size: 18821)
2004-05-14
11:00
[4053dc2141] part of check-in [dbfe6e9316] Implement type affinity for table and index records (CVS 1375) (check-in: [dbfe6e9316] user: danielk1977 branch: trunk, size: 18746)
2004-05-13
11:34
[4b3147e841] part of check-in [dbe8385ecf] Various minor fixes and updates to make more test cases pass. (CVS 1370) (check-in: [dbe8385ecf] user: danielk1977 branch: trunk, size: 18743)
2004-05-10
10:34
[6cf6501f09] part of check-in [ba2ba24263] Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1337) (check-in: [ba2ba24263] user: danielk1977 branch: trunk, size: 18744)
2004-05-08
08:23
[f87eec5cf1] part of check-in [8af6474c49] Change lots of internal symbols from sqliteXXX to sqlite3XXX so that the library links again. It doesn't work yet, due to changes in the btree layer calling convention. (CVS 1324) (check-in: [8af6474c49] user: danielk1977 branch: trunk, size: 18689)
2004-02-25
22:51
[34fead7a33] part of check-in [ca99920b0d] Add comments and prototype for experimental sqlite_last_statement_changes() API function. Also, allow function to be called from tcl. (CVS 1273) (check-in: [ca99920b0d] user: rdc branch: trunk, size: 18663)
13:47
[424256b469] part of check-in [adbe31adf1] Min() and max() functions honor the distinction between TEXT and NUMERIC data. Ticket #623. typeof() is now a user function. Some tests are now failing due to ticket #521. (CVS 1272) (check-in: [adbe31adf1] user: drh branch: trunk, size: 18370)
2004-02-22
17:49
[a2265f29e6] part of check-in [9b3bcde153] Code cleanup in the date and time functions. (CVS 1263) (check-in: [9b3bcde153] user: drh branch: trunk, size: 18109)
2004-02-20
22:53
[36504a3458] part of check-in [3383413a53] Fixed behaviour of last_insert_rowid() with triggers and add last_statement_change_count() function that works correctly with triggers. (CVS 1251) (check-in: [3383413a53] user: rdc branch: trunk, size: 18100)
2004-02-11
09:46
[cbc5edd10c] part of check-in [f2bdccf4bb] Refactor the interface to the randomness generator. (CVS 1224) (check-in: [f2bdccf4bb] user: drh branch: trunk, size: 17369)
2004-01-30
14:49
[5a0face8c3] part of check-in [c0faa1c67a] Rework the VDBE data structures to combine string representations into the same structure with integer and floating point. This opens the door to significant optimizations. (CVS 1202) (check-in: [c0faa1c67a] user: drh branch: trunk, size: 17322)
2004-01-19
04:53
[fd710743e4] part of check-in [8210b2d818] coment typo (CVS 1189) (check-in: [8210b2d818] user: jplyon branch: trunk, size: 17255)
2004-01-16
13:58
[564c0bbe93] part of check-in [42c79edc2e] Fix a buffer-overflow problem in the randStr function (used only for testing). (CVS 1182) (check-in: [42c79edc2e] user: drh branch: trunk, size: 17261)
2004-01-02
13:17
[62cf8fae81] part of check-in [7080fc39ea] Avoid an assertion fault that can occur with invalid UTF8 on the LENGTH() function. Ticket #548. (CVS 1154) (check-in: [7080fc39ea] user: drh branch: trunk, size: 17231)
2003-12-23
02:17
[b6ad8e786b] part of check-in [4d9edbc50f] Use a built-in atof() function instead of the one from the library to avoid problems with locale. Ticket #305. (CVS 1144) (check-in: [4d9edbc50f] user: drh branch: trunk, size: 17255)
2003-11-01
01:53
[82a749b9a0] part of check-in [68ef9b45bd] Revised date/time functions - now broken out into a separate source file. See the DateAndTimeFunctions wiki page for additional information. (CVS 1116) (check-in: [68ef9b45bd] user: drh branch: trunk, size: 17237)
2003-10-10
02:09
[fce558b4c1] part of check-in [06d4e88394] Update to the date functions. (CVS 1110) (check-in: [06d4e88394] user: drh branch: trunk, size: 28813)
2003-09-06
01:10
[377ea94127] part of check-in [912f47c72d] The beginnings of changes to support pre-compiled SQL. Mostly untested, though all regression tests to pass. (CVS 1093) (check-in: [912f47c72d] user: drh branch: trunk, size: 26204)
2003-08-26
11:41
[be22d71945] part of check-in [c95f347cac] Fix compiler warnings under OpenVMS. Ticket #357. (CVS 1088) (check-in: [c95f347cac] user: drh branch: trunk, size: 26122)
2003-08-20
01:03
[8cd63ca63d] part of check-in [9699c68508] Add the experimental "quote()" function to the set of build-in functions. (CVS 1077) (check-in: [9699c68508] user: drh branch: trunk, size: 25981)
2003-08-10
01:50
[2b196fdca3] part of check-in [94243edac1] tighter coding of the date and time functions. Better comments. A bug fix. (CVS 1070) (check-in: [94243edac1] user: drh branch: trunk, size: 24775)
2003-08-09
21:32
[67b66803d8] part of check-in [a6197e2075] Add experimental date and time functions based on julian day number. (CVS 1069) (check-in: [a6197e2075] user: drh branch: trunk, size: 24704)
2003-06-28
16:20
[6b23578d48] part of check-in [e2ca936fee] Fix a bug in the soundex() code. Ticket #367. Add tests for ticket #261 even thought the problem could not be reproduced. (CVS 1035) (check-in: [e2ca936fee] user: drh branch: trunk, size: 15835)
2003-05-13
01:52
[33bbce6aca] part of check-in [f267a8a4ff] Fix another twos-complement negation error. Ticket #313. (CVS 973) (check-in: [f267a8a4ff] user: drh branch: trunk, size: 15844)
2003-03-27
12:51
[882c3ed5a0] part of check-in [d2fb2bb50c] Changes to the "sqlite" structure that allow simultaneous operations on multiple database files. Many regession tests pass - but not all of them. Do not use this version except for debugging SQLite itself. (CVS 883) (check-in: [d2fb2bb50c] user: drh branch: trunk, size: 15853)
2002-11-04
19:32
[90c583f0b9] part of check-in [7c8c0e7633] Add the sqlite_version() SQL function as a built-in. (CVS 777) (check-in: [7c8c0e7633] user: drh branch: trunk, size: 14635)
2002-07-07
16:52
[e45cd908b9] part of check-in [f6e24d5ccb] More rollback problems: Fix two more errors introduced by checking (410) that can cause database corruption after a ROLLBACK. Also add new tests to make sure everything is working this time. (CVS 663) (check-in: [f6e24d5ccb] user: drh branch: trunk, size: 14325)
2002-06-20
11:36
[5eae8227a8] part of check-in [cbbc858d97] This patch contains the beginnings of the data-typing infrastructure. The new build-in TypeOf() function is added. New opcodes for doing pure text comparisons are added. Most changes are disabled pending the 2.6.0 release. (CVS 632) (check-in: [cbbc858d97] user: drh branch: trunk, size: 13267)
2002-06-09
10:14
[b8d0fd3011] part of check-in [74d297d97e] Fix the spelling of sqliteRegisterBuiltinFunctions(). (CVS 613) (check-in: [74d297d97e] user: drh branch: trunk, size: 12582)
2002-05-31
15:51
[061a520a12] part of check-in [da61aa1d23] Refinements to NULL processing: NULLs are indistinct for DISTINCT and UNION. Multiplying a NULL by zero yields zero. In a CASE expression, a NULL comparison is considered false, not NULL. With these changes, NULLs in SQLite now work the same as in PostgreSQL and in Oracle. (CVS 600) (check-in: [da61aa1d23] user: drh branch: trunk, size: 12582)
2002-05-29
23:22
[2cd4922913] part of check-in [19ae12bef2] Built-in aggregate functions (MIN, SUM, AVG, etc) should ignore NULL entires. (CVS 597) (check-in: [19ae12bef2] user: drh branch: trunk, size: 12636)
2002-05-26
21:34
[16e994eea8] part of check-in [46ce1a9ab6] Change functions to handle NULLs correctly. Added the NULLIF() function. (CVS 590) (check-in: [46ce1a9ab6] user: drh branch: trunk, size: 12699)
2002-04-20
14:24
[a31dcba85b] part of check-in [51572bf717] Fix for ticket #1: Implement the GLOB and LIKE operators as functions that can be overridden. This way, a developer can change the LIKE operator to be case sensitive, for example. (CVS 537) (check-in: [51572bf717] user: drh branch: trunk, size: 12051)
2002-04-06
14:10
[dca9df8112] part of check-in [6aca3f86bc] Added the last_insert_rowid() SQL function. (CVS 521) (check-in: [6aca3f86bc] user: drh branch: trunk, size: 11045)
2002-03-04
02:26
[87516e7dc3] part of check-in [36a8fe0ad0] Updates to the documentation. Changed version number to 2.4.0-beta1 (CVS 417) (check-in: [36a8fe0ad0] user: drh branch: trunk, size: 10626)
2002-03-02
19:00
[5b4d9707b0] part of check-in [abbb999d4f] Change the btree node balancers to sort nodes into accending order. This improves insert and delete speed by 25%. (CVS 409) (check-in: [abbb999d4f] user: drh branch: trunk, size: 10554)
2002-02-28
04:00
[0db438ba17] part of check-in [e9fd9e7b0f] Fix bugs in substr() for UTF-8. (CVS 406) (check-in: [e9fd9e7b0f] user: drh branch: trunk, size: 10318)
03:31
[089b68c021] part of check-in [e8611e0c05] Remove unused opcodes from the VDBE and fix a bug in the substr() function. (CVS 405) (check-in: [e8611e0c05] user: drh branch: trunk, size: 10215)
03:14
[7169103d10] part of check-in [7d86749d4a] Change the IFNULL and NVL functions to COALESCE. Change MIN and MAX so that they require at least one argument. (CVS 404) (check-in: [7d86749d4a] user: drh branch: trunk, size: 10142)
03:04
[14ac2dfa18] part of check-in [b00cf110b1] The new function code passes regression tests. (CVS 403) (check-in: [b00cf110b1] user: drh branch: trunk, size: 10002)
01:46
[2a607655d2] part of check-in [6af10cc53a] Fix the coredump. There are still problems in the test suite though. (CVS 402) (check-in: [6af10cc53a] user: drh branch: trunk, size: 9963)
00:46
[7bfb8a2068] part of check-in [c6a85c8ee3] Added IFNULL and NVL functions. (CVS 401) (check-in: [c6a85c8ee3] user: drh branch: trunk, size: 9972)
00:41
[709784ce09] part of check-in [50797fee50] Completely remove the old SQL function system and replace it with the new user functions. The code currently compiles but it coredumps on the test suite. Do not use in its present state. (CVS 400) (check-in: [50797fee50] user: drh branch: trunk, size: 9519)
2002-02-27
19:50
[3aeff18b27] part of check-in [c4f9e017b4] Try to reduce the number of malloc() for user-defined functions. Begin transfering built-in functions over to the user-define function mechanism. (CVS 399) (check-in: [c4f9e017b4] user: drh branch: trunk, size: 3747)
19:00
[f020b8c659] part of check-in [633951f0fa] Revise the API for user-defined functions. (CVS 398) (check-in: [633951f0fa] user: drh branch: trunk, size: 2708)
2002-02-26
23:55
[bed0099aaa] part of check-in [63b87f2ea6] Comment changes only. (CVS 395) (check-in: [63b87f2ea6] user: drh branch: trunk, size: 2773)
2002-02-24
17:12
[b7c1f4dd18] part of check-in [2198109712] Added a "stddev()" aggregate function for testing the new user aggregate function interface. (CVS 393) (check-in: [2198109712] user: drh branch: trunk, size: 2685)
01:55
Added: [f06739ac32] part of check-in [530b0f4f2d] Move the build-in function definitions into a new source file "func.c". (CVS 391) (check-in: [530b0f4f2d] user: drh branch: trunk, size: 1585)