/ File History
Login

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

History of src/func.c

2019-06-07
22:51
Remove code in the round() SQL function that became unreachable due to the optimization of check-in [e95138f5f4febde5] file: [905c0424] check-in: [b141bae3] user: drh branch: trunk, size: 63380
22:26
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]. file: [f1ee70d5] check-in: [67a68af5] user: drh branch: trunk, size: 63494
2019-05-30
13:47
Optimization to the round() SQL function for large input values without a fractional part. file: [ad7a7752] check-in: [e95138f5] user: drh branch: trunk, size: 63492
2019-05-14
21:51
Merge the latest trunk enhancements into begin-concurrent. file: [6e12d20b] check-in: [5d3a6e18] user: drh branch: begin-concurrent, size: 63603
2019-05-10
12:06
Fix the round() SQL function so that it handles infinities correctly. file: [08d6d07d] check-in: [db9acef1] user: drh branch: trunk, size: 63469
2019-05-08
19:32
Simplification to the logic underlying PRAGMA case_sensitive_like. file: [8c075dd8] check-in: [ef0015fd] user: drh branch: trunk, size: 63339
17:27
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]. file: [1d010f0b] check-in: [eabe7f2d] user: drh branch: trunk, size: 63608
2019-04-30
11:54
Small performance increase and size reduction in the implementation of the LIKE and GLOB operators. file: [ac05ea6b] check-in: [f97626f9] user: drh branch: trunk, size: 63826
2019-03-08
15:30
Merge all the latest enhancements from trunk. file: [88df51f4] check-in: [667cce3d] user: drh branch: begin-concurrent-pnu, size: 64037
2019-02-27
23:05
Enable the LIKE optimization when the ESCAPE keyword is present and the PRAGMA case_sensitive_like pragma is ON. file: [2ccf4ae1] check-in: [6ae4b8c5] user: drh branch: trunk, size: 63903
2019-01-18
14:53
Use the full 64-bit integer value in the argument to randomblob(). file: [0341881d] check-in: [05df5f7a] user: drh branch: trunk, size: 63793
2019-01-08
15:18
Performance improvement on the instr() function, especially for large haystacks. file: [6cf832ab] check-in: [ce51f1a2] user: drh branch: trunk, size: 63781
2018-11-30
16:26
Merge the mutex-free PRNG change into this branch. file: [8efa2c81] check-in: [81e626f4] user: dan branch: begin-concurrent-pnu, size: 63820
2018-09-18
21:35
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. file: [82aeef69] check-in: [8849a463] user: drh branch: expr-simplify, size: 63667
2018-07-09
22:49
Fixes for various harmless compiler warnings. file: [7c288b4c] check-in: [5023b1b8] user: drh branch: trunk, size: 63686
2018-07-07
20:55
Simplifications to the implementation of the sum() SQL function. file: [e9421403] check-in: [a8b13002] user: drh branch: trunk, size: 63695
19:47
Add ALWAYS() macros on results of sqlite3_aggregate_context() calls in xInverse() implements, since they can never fail. file: [e3174d1f] check-in: [fdef2a92] user: drh branch: trunk, size: 63703
2018-07-05
18:19
Fix a problem in the xInverse method of window-function group_concat(1). file: [edbd402a] check-in: [73391283] user: dan branch: trunk, size: 63400
2018-07-02
17:45
Fix a problem in the xInverse callback for the built-in sum() window function. file: [0aaa0b07] check-in: [b6563647] user: dan branch: trunk, size: 63378
15:03
Fix a crash caused by a LIKE pattern that consists of a single escape character. Problem found by OSSFuzz. file: [8a002cd2] check-in: [bb9bfc3a] user: dan branch: trunk, size: 63378
12:07
Fix a segfault caused by invoking a regular aggregate as a window-function. And some problems with count(*) when used as a window-function. file: [4d573e69] check-in: [4f3c8a82] user: dan branch: trunk, size: 63319
2018-06-22
20:51
Omit all window-function related code when building with SQLITE_OMIT_WINDOWFUNC. file: [d2c66d8e] check-in: [5f04b016] user: dan branch: exp-window-functions, size: 62815
2018-06-19
21:15
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. file: [23d94996] check-in: [7fa8f16e] user: drh branch: ieee754, size: 62242
17:13
Fix a problem with using min() or max() as a window function. file: [1d070c30] check-in: [801074ce] user: dan branch: exp-window-functions, size: 62420
2018-06-18
16:55
Add new API function sqlite3_create_window_function(), for creating new aggregate window functions. file: [f1c244ba] check-in: [da03fb43] user: dan branch: exp-window-functions, size: 62186
2018-06-08
20:58
Add support for the WINDOW clause. file: [a5ee3864] check-in: [19c983b5] user: dan branch: exp-window-functions, size: 62168
11:45
Fixes to allow group_concat() to be used as a window function. file: [3e8a85f9] check-in: [89bbc9ba] user: dan branch: exp-window-functions, size: 62118
2018-06-02
21:04
Add support for window functions row_number(), rank(), dense_rank() and percent_rank(). file: [4bee7609] check-in: [91c1cb7a] user: dan branch: exp-window-functions, size: 61552
2018-05-23
20:55
Add support for "ROWS BETWEEN <expr> PRECEDING AND <expr> FOLLOWING" window frames. file: [eff9c156] check-in: [3a203660] user: dan branch: exp-window-functions, size: 61524
2018-05-17
19:24
Evaluate multiple window functions in a single pass if they use the same window definition. Add xValue callbacks for other built-in aggregate functions. file: [b1a5122c] check-in: [c9f0f140] user: dan branch: exp-window-functions, size: 60932
2018-05-16
20:58
Start of experimental implementation of SQL window functions. Does not yet work. file: [03c99a50] check-in: [3781e520] user: dan branch: exp-window-functions, size: 60399
2018-05-09
13:46
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. file: [e2e3c026] check-in: [87f261f0] user: drh branch: trunk, size: 60398
2018-02-10
02:31
Fix misplaced testcase() macros from the previous check-in. file: [94f42cba] check-in: [3aed949a] user: drh branch: trunk, size: 60403
2018-02-09
23:25
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. file: [385b9b01] check-in: [fab2c2b0] user: drh branch: trunk, size: 60403
2018-01-23
19:24
Remove an unreachable branch from sqlite3SkipAccumulatorLoad(). file: [9970db37] check-in: [8b9c8eab] user: drh branch: trunk, size: 60015
04:22
Slightly faster implementation of the length() SQL function. file: [227d17a0] check-in: [9a4199ae] user: drh branch: trunk, size: 60008
03:44
Slightly faster function dispatch in the virtual machine by avoiding unnecessary reinitialization of variables that are already correctly initialized. file: [24d4746d] check-in: [edd4e687] user: drh branch: trunk, size: 59897
2018-01-04
19:20
Remove the snarky "_supported_" qualifier from the name of the sqlite_offset() SQL function. file: [bd528d5e] check-in: [a6eee0fc] user: drh branch: trunk, size: 59846
2017-12-29
15:04
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. file: [697a3ee3] check-in: [7a7f826e] user: drh branch: location-function, size: 59887
2017-12-16
20:20
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. file: [a23ea9b8] check-in: [51be9558] user: drh branch: location-function, size: 59804
2017-10-30
18:49
Improve the performance of the LIKE operator by using strcspn() to aid wildcard matching. file: [0fb9a2d6] check-in: [37284d4e] user: drh branch: trunk, size: 59655
18:26
Speed up wildcard searches in LIKE using strchr() file: [dfe00937] check-in: [4d336d74] user: drh branch: like-compare-opt, size: 60008
2017-09-09
08:03
Use a mutex-free PRNG for the random() and randomblob() SQL functions and for the randomness used during checkpoint operations. file: [8c46246d] check-in: [e63d1a7c] user: drh branch: mutex-free-randomness, size: 59663
2017-08-25
19:51
Fix a few over-length source code lines. No functional changes. file: [b4d259af] check-in: [1783c54c] user: drh branch: trunk, size: 59529
2017-07-27
22:16
Enhance the like optimization so that it works with an ESCAPE clause. file: [8028a8f7] check-in: [2495acf7] user: drh branch: branch-3.8.9, size: 57143
20:24
Enhance the like optimization so that it works with an ESCAPE clause. file: [ed8888ae] check-in: [f5d330f4] user: drh branch: trunk, size: 59507
2017-07-14
19:22
Add requirements marks for some of the new features in the 3.20 release. file: [e2854b19] check-in: [26423867] user: drh branch: trunk, size: 58959
2017-07-06
13:51
More compact implementation of the typeof() SQL function. file: [7647140a] check-in: [efb4aab0] user: drh branch: trunk, size: 58690
2017-03-16
14:28
Simplified OOM detection in the instr() SQL function. file: [9d52522c] check-in: [6d85eb57] user: drh branch: trunk, size: 58676
12:11
Fix a crash that could follow an OOM condition in the instr() SQL function. Problem discovered by OSS-Fuzz. file: [72ed1518] check-in: [6e59e903] user: dan branch: trunk, size: 58928
2017-01-03
14:39
Put the affinity() function implementation inside of #ifdef SQLITE_DEBUG. file: [c67273e1] check-in: [f778f58a] user: drh branch: affinity-sql-func, size: 58737
14:30
Merge all the latest changes from trunk. file: [04350956] check-in: [c27cd8a8] user: drh branch: affinity-sql-func, size: 58710
2016-12-30
17:40
Fix a crash that could occur following an OOM in the group_concat() function if the second argument is an SQLITE_BLOB value. file: [d8582ee9] check-in: [14d855d2] user: dan branch: trunk, size: 58634
15:16
Strengthen the defense against OOM in the instr() SQL function. file: [00cd4211] check-in: [a0971e71] user: drh branch: trunk, size: 58634
14:15
Avoid passing NULL pointers to memcmp() or memcpy(), even when the "number-of-bytes" argument is passed 0. file: [e0190fd6] check-in: [56ff72ab] user: dan branch: trunk, size: 58571
2016-12-26
00:18
Add the built-in affinity() SQL function. file: [18193418] check-in: [57e40e1c] user: drh branch: affinity-sql-func, size: 58586
2016-12-01
18:49
Faster version of patternCompare() that uses new return values rather than an extra parameter to communicate wildcard information back up to parent searches. file: [43916c1d] check-in: [a1e2b6ce] user: drh branch: pattern-compare-optimization, size: 58510
17:34
Modify the patternCompare() function (used for GLOB, LIKE) to better handle patterns containing multiple wildcard characters ("*", "%"). file: [528e9259] check-in: [c5e5614d] user: dan branch: pattern-compare-optimization, size: 58255
2016-11-04
12:05
Avoid a crash that can occur after an obscure OOM in the built-in INSTR() function. file: [7057bc2c] check-in: [b86b79c4] user: dan branch: trunk, size: 57764
2016-08-04
01:47
Add an experimental SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION compile-time option. This changes has been merged into main branches via cherry-pick. file: [29cc9acb] check-in: [4ada023c] user: drh branch: unknown-function, size: 57710
2016-06-06
01:48
Small performance improvement in the LIKE function. file: [61a4114c] check-in: [5fb0c354] user: drh branch: trunk, size: 56952
2016-04-21
01:58
Test cases for SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION. file: [ef4c18c8] check-in: [debafa5e] user: drh branch: load-ext-security, size: 56951
01:30
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. file: [b61726e7] check-in: [b2ae5bfa] user: drh branch: load-ext-security, size: 56885
2016-04-20
00:30
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. file: [21057013] check-in: [edb454e4] user: drh branch: load-ext-security, size: 56949
2016-02-15
00:34
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. file: [552d3002] check-in: [3201fbcc] user: drh branch: many-app-functions, size: 56685
2016-02-05
01:55
Improvements to the way that OOM errors are processed. file: [86e55fee] check-in: [c3ef0347] user: drh branch: oom-handling, size: 56524
2016-01-30
12:50
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. file: [42b24923] check-in: [0bdb41c4] user: drh branch: trunk, size: 56525
2016-01-20
14:22
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. file: [ba6c03f9] check-in: [204432ee] user: drh branch: trunk, size: 56503
2016-01-11
03:48
Slightly smaller and faster LIKE/GLOB comparison implementation. file: [ccaf46fa] check-in: [5dddcc78] user: drh branch: trunk, size: 56482
2015-12-30
14:06
Remove unnecessary tests from the LIKE pattern matcher. Slightly faster and slightly smaller, and it should also now works with EBCDIC. file: [cf5e10af] check-in: [0a99a8c4] user: drh branch: trunk, size: 56641
2015-12-01
21:23
Add the SQLITE_LIKE_DOESNT_MATCH_BLOBS compile-time option. file: [fe50a9ab] check-in: [9e1d6d4c] user: drh branch: trunk, size: 56662
2015-11-24
21:23
Add the sqlite3_strlike() interface, which might be useful for implementing LIKE operators on virtual tables. file: [5790a898] check-in: [e70ec71d] user: drh branch: vtab-like-operator, size: 56414
2015-08-31
21:16
Not only date/time functions, but also functions like sqlite_version() and changes() need to be prohibited from use inside of indexes. file: [ecdd69ec] check-in: [48713130] user: drh branch: index-expr, size: 56216
2015-07-24
17:14
Fix compiler warnings. Get the new sqlite3_result_zeroblob64() working on loadable extensions. file: [824bea43] check-in: [f8991e6f] user: drh branch: trunk, size: 56214
16:24
Add the sqlite3_result_zeroblob64() API. Use it in the SQL zeroblob() function. file: [7810a7e8] check-in: [c6445b9f] user: dan branch: trunk, size: 56368
15:49
More robust handling of zeroblob() with oversized arguments. Fix fuzzcheck so that it can be run with limited heap memory. file: [d08d2106] check-in: [4e3e516a] user: drh branch: trunk, size: 56398
2015-06-17
13:20
Performance optimization and comment fixes for the LIKE and GLOB operators. file: [a98ea588] check-in: [c89d7726] user: drh branch: trunk, size: 56377
2015-06-02
16:09
Add the built-in affinity() SQL function. This turns out to be not as useful as originally envisioned, so abandon it on a branch. file: [c215efa3] check-in: [80889306] user: drh branch: affinity-func, size: 56668
2015-05-02
18:25
Add the SQLITE_LIMIT_PRINTF_WIDTH setting for sqlite3_limit() and associated logic for preventing DOS attacks using printf() with oversized widths or precisions. file: [6b5a0c83] check-in: [f8b15979] user: drh branch: limit-printf-width, size: 56754
11:45
Cleanup of the sqlite3StrAccumInit() function. No functionality changes. file: [5b8b8e77] check-in: [7952c322] user: drh branch: trunk, size: 56590
2015-04-29
16:50
Use sqlite3_malloc64() in place of sqlite3_malloc() internally. file: [98dadfd7] check-in: [48f553b0] user: drh branch: trunk, size: 56598
2015-04-22
14:41
Prototype for an sqlite3_db_log() interface. file: [e6b4680d] check-in: [658e20f5] user: drh branch: sqlite3_db_log, size: 56671
2015-03-12
06:46
The valueFromFunction() routine is better able to handle OOM errors. Omit unreachable branches. file: [1414c24c] check-in: [8fb6bd9b] user: drh branch: stat4-function, size: 56595
2015-03-07
00:57
Refactor some jump opcodes in the VDBE. Add JumpZeroIncr and DecrJumpZero. Fix the LIKE optimization to work with DESC sort order. file: [44512c55] check-in: [26cb5145] user: drh branch: like-opt-fix, size: 56557
2015-02-19
00:29
First small steps toward brining trunk and apple-osx closer together. file: [f7f0f44b] check-in: [28284ccc] user: drh branch: trunk, size: 56318
2014-12-02
16:38
Merge all recent enhancements and bug fixes from trunk into the apple-osx branch. file: [e331a645] check-in: [43c4ba26] user: drh branch: apple-osx, size: 55994
2014-11-20
23:21
Fix a typo in a requirements mark on the abs() SQL function. file: [6d3c4ebd] check-in: [b1e6c02f] user: drh branch: trunk, size: 55899
2014-10-01
01:46
Merge the latest enhancements from trunk. file: [93a4b3c5] check-in: [2078454a] user: drh branch: apple-osx, size: 55994
2014-09-25
13:17
Simplifications to the SQL function and aggregate calling procedures. file: [ba47c167] check-in: [3467049a] user: drh branch: trunk, size: 55899
11:08
Still more performance enhancements to the LIKE and GLOB operators. file: [727a324e] check-in: [6c8924ca] user: drh branch: trunk, size: 55772
03:51
More performance optimization for the LIKE and GLOB operators. file: [610b18af] check-in: [5ab1023d] user: drh branch: trunk, size: 54460
00:56
Size reduction and performance improvement in the LIKE and GLOB operators. file: [fd49097f] check-in: [b2c89ef4] user: drh branch: trunk, size: 53963
2014-09-21
23:08
Merge in all recent changes from trunk. file: [04210a80] check-in: [3967ebe8] user: drh branch: apple-osx, size: 54179
2014-09-16
14:16
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. file: [1629ccdd] check-in: [0be3019e] user: drh branch: micro-optimizations, size: 54084
2014-09-15
14:46
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. file: [5d498933] check-in: [0bdf1a08] user: drh branch: trunk, size: 54032
2014-09-11
18:44
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. file: [d4d21870] check-in: [7e4978c0] user: drh branch: trunk, size: 53958
2014-09-10
19:01
Add the ".user" shell command and implement the sqlite3_user_add() routine. Incremental check-in. The code compiles but does not work. file: [1b7ac915] check-in: [a0455f9d] user: drh branch: user-auth, size: 53919
2014-09-09
20:30
Change the name of the _texte64() interfaces to just _test64(), without the "e". file: [63a0da71] check-in: [6ab76c5f] user: drh branch: 64-bit-lengths, size: 53858
17:27
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. file: [2ae55b52] check-in: [94954850] user: drh branch: 64-bit-lengths, size: 53814
2014-09-06
16:39
Fix typos in comments. No code changes. file: [05170377] check-in: [e62aab5e] user: peter.d.reid branch: trunk, size: 53819
2014-08-14
13:39
Merge the pre-3.8.6 changes from trunk into the apple-osx branch. file: [7a252bf7] check-in: [08058df3] user: drh branch: apple-osx, size: 53916
2014-08-06
11:49
Fix an obsolete comment in the func.c source file. No changes to code. file: [bbb724b7] check-in: [7a145c94] user: drh branch: sessions, size: 53821
2014-06-30
19:57
Merge the latest trunk changes into the apple-osx branch. file: [fe7c04fe] check-in: [f426876f] user: drh branch: apple-osx, size: 53987
2014-06-17
16:11
Add the likely() function for symmetry with unlikely(). The likely(X) function means the same thing as likelihood(X,0.9375). file: [3bc223ea] check-in: [38965484] user: drh branch: trunk, size: 53892
2014-05-19
15:16
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. file: [3e7eca66] check-in: [17349a49] user: drh branch: safer-malloc, size: 53811
2014-05-08
23:01
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. file: [6ace0c0c] check-in: [9411d7dc] user: drh branch: apple-osx, size: 53911
2014-05-07
20:24
A better fix for the group_concat() problem. file: [2e16316e] check-in: [1c086dee] user: drh branch: trunk, size: 53816
18:21
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. file: [2077ccd5] check-in: [f03fbf37] user: drh branch: tkt-55746f9e, size: 53853
17:19
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]. file: [1db49570] check-in: [0deac873] user: drh branch: tkt-55746f9e, size: 53829
2014-05-06
15:28
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. file: [86373522] check-in: [8ad0a123] user: drh branch: smaller-expr, size: 53844
2014-03-08
19:07
Fix a bug causing "SELECT char()" to return SQLITE_NOMEM. file: [2945bb2c] check-in: [ba39df9d] user: dan branch: trunk, size: 53816
2014-01-24
22:58
Fixes for various clang warnings. file: [f4499b39] check-in: [87bf6063] user: drh branch: trunk, size: 53814
2013-12-17
15:03
Add the printf() SQL function. file: [6325ac2e] check-in: [6db7052e] user: drh branch: printf-sql-function, size: 53806
2013-12-11
11:00
Fix harmless compiler warnings. file: [fed87f35] check-in: [a7e5fcd6] user: drh branch: trunk, size: 53099
2013-11-21
14:33
Add the ability to factor constant functions out of inner loops. But do not factor out non-constant functions, like random(). file: [ef30d26a] check-in: [1b0f779e] user: drh branch: trunk, size: 53077
2013-11-09
19:47
Updates to requirements marks. No changes to code. file: [96caa9df] check-in: [8a036628] user: drh branch: trunk, size: 53077
2013-09-24
19:07
Merge updates from trunk. file: [5fb4103c] check-in: [435ce3b3] user: mistachkin branch: toTypeFuncs, size: 57139
2013-09-13
17:47
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. file: [2c47b65e] check-in: [bc446449] user: drh branch: trunk, size: 53077
2013-09-12
23:12
Fix typo in a macro name: "GlogUpperToLower" should be "GlobUpperToLower" file: [be8482e9] check-in: [73634ca4] user: drh branch: trunk, size: 52897
2013-09-11
11:38
Change the name of the two-argument unlikely() function to likelihood(). Add test cases. file: [0aca17c8] check-in: [29a359b8] user: drh branch: unlikely-func, size: 53077
2013-09-06
22:27
Merge updates from trunk. file: [8eed739f] check-in: [8922be1a] user: mistachkin branch: toTypeFuncs, size: 56959
20:30
When converting from a BLOB value in the tointeger() and toreal() SQL functions, make sure that endianness of the machine does not matter. file: [1f24db7b] check-in: [94c4cdc5] user: mistachkin branch: toTypeFuncs, size: 56946
15:23
Initial implementation of the unlikely() SQL function used as a hint to the query planner. file: [a297b1f3] check-in: [036fc37a] user: drh branch: unlikely-func, size: 53077
13:10
Combine the FuncDef.iPrefEnc and FuncDef.flags fields into a single new FuncDef.funcFlags field. file: [7650d356] check-in: [97b10e66] user: drh branch: trunk, size: 52897
2013-08-31
21:41
Handle BLOBs specially, treating them as binary, in the tointeger() and toreal() SQL functions. file: [ed294cd9] check-in: [c4c53acb] user: mistachkin branch: toTypeFuncs, size: 56197
2013-08-29
01:17
Prevent the implementation of the toreal() SQL function from being 'optimized' by MSVC. file: [5c85fed3] check-in: [047bd1c2] user: mistachkin branch: toTypeFuncs, size: 55551
01:01
Fix boundary case for the toreal() SQL function. file: [6099094d] check-in: [abe82c63] user: mistachkin branch: toTypeFuncs, size: 55442
2013-08-28
18:56
Merge updates from trunk. file: [f3ab79a3] check-in: [ffc6e682] user: mistachkin branch: toTypeFuncs, size: 55437
2013-08-26
23:18
Merge the STAT4 capability into trunk. file: [5b064acd] check-in: [a32af0ab] user: drh branch: trunk, size: 52884
2013-08-21
21:12
Simplification to the StrAccum object and the sqlite3StrAccumAppend() method that also results in slightly better performance. file: [d7be7789] check-in: [700dbbea] user: drh branch: trunk, size: 52783
2013-08-20
09:26
Add test cases for tointeger() and toreal() functions. Fixes for several tests. file: [c47ebaaf] check-in: [5e1e9fd5] user: mistachkin branch: toTypeFuncs, size: 55305
02:07
Fix compiler warnings and boundary cases for the tointeger() and toreal() functions. file: [03a79c7a] check-in: [4438b986] user: drh branch: toTypeFuncs, size: 55222
2013-08-12
16:34
Re-enable reading from the sqlite_stat3 table (as well as sqlite_stat4). file: [78c371dd] check-in: [6d45078e] user: dan branch: sqlite_stat4, size: 52853
2013-06-21
19:29
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. file: [835168be] check-in: [9b837b05] user: drh branch: toTypeFuncs, size: 55213
18:32
Merge updates from trunk. file: [771ceaa9] check-in: [fa2a91e6] user: mistachkin branch: toTypeFuncs, size: 56897
2013-05-28
12:11
Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. file: [5c50c1ea] check-in: [a0d5cc93] user: drh branch: trunk, size: 52752
2013-05-15
08:00
Merge updates from trunk. file: [d15b1ffe] check-in: [6fbad957] user: mistachkin branch: toTypeFuncs, size: 57065
2013-04-10
16:13
Add the sqlite3_strglob() interface. file: [d3fdcff9] check-in: [41d6ff32] user: drh branch: trunk, size: 52920
2013-03-13
06:48
Rename the experimental todouble() function to toreal(), update comments. file: [d83c67a1] check-in: [12c318ef] user: mistachkin branch: toTypeFuncs, size: 56877
2013-03-12
09:07
Increase strictness of the new experimental functions and add more tests. file: [cdf7b604] check-in: [05c4463e] user: mistachkin branch: toTypeFuncs, size: 56891
2013-03-11
01:23
Add experimental tointeger() and todouble() SQL functions. file: [82dfd6b6] check-in: [465fd853] user: mistachkin branch: toTypeFuncs, size: 56214
2013-03-07
14:00
Fix the char() function so that it works even if SQLITE_OMIT_UTF16 is defined. file: [48987c02] check-in: [af542c82] user: drh branch: trunk, size: 52732
06:42
Fix two compilation issues, one warning and one error, that occur only when SQLITE_OMIT_UTF16 is defined. file: [f829e79f] check-in: [10ace06b] user: mistachkin branch: trunk, size: 52605
2013-03-01
23:40
Complete the initialization of the loadable extension thunk table. Also fix other (harmless) compiler warnings. file: [91bc65eb] check-in: [780d06c5] user: drh branch: trunk, size: 52539
15:02
Fix the handling of UTF16 surrogate pairs in the char() function. file: [b45b6a17] check-in: [ff67d878] user: drh branch: trunk, size: 52525
2013-02-26
05:42
Remove extra use of the sqlite3_value_int64() function. file: [cac45cca] check-in: [6d797352] user: mistachkin branch: trunk, size: 52525
2013-02-22
19:34
Two new SQL functions: unicode() and char(). file: [18b120b9] check-in: [209b2108] user: drh branch: unicode-function, size: 52556
2012-12-04
11:03
Fix a harmless compiler warning. file: [8147799b] check-in: [12693deb] user: drh branch: trunk, size: 50990
2012-10-25
03:07
Implementation of the INSTR() SQL function, as found in SQL Server, MySQL, and Oracle. file: [1755cafd] check-in: [49ccae96] user: drh branch: instr, size: 50964
2012-09-28
10:57
Merge the latest trunk changes (PRAGMA busy_timeout and the ORDER BY query planner enhancements) into the apple-osx branch. file: [8dea4e82] check-in: [6a5c59dd] user: drh branch: apple-osx, size: 49537
2012-09-17
18:56
Remove an unnecessary parameter from sqlite3Utf8Read() resulting in a slight performance increase. file: [cbb90dc8] check-in: [8b962c94] user: drh branch: trunk, size: 49442
2012-09-12
18:45
Add an implementation of the REGEXP operator and function. Only defined if compiled with SQLITE_ENABLE_REGEXP. file: [2290b491] check-in: [8398f77c] user: drh branch: regexp, size: 51112
2012-09-10
15:02
Remove the stale implementation of the ifnull and coalesce functions - code that has been commented out for ages. No functional changes. file: [b4e88b92] check-in: [c2ad6911] user: drh branch: trunk, size: 49585
2012-08-25
01:38
Merge all the latest trunk changes into the apple-osx branch. file: [32552a2c] check-in: [6723add4] user: drh branch: apple-osx, size: 49971
2012-06-19
04:36
Move variable declaration to fix compilation with MSVC. file: [18dfedfb] check-in: [d45f7a01] user: mistachkin branch: floating-point-conversions, size: 49876
03:11
Improved accuracy on text-to-real and real-to-text conversions. Most conversions now round-trip correctly. Still need to fix some corner cases. file: [22a180ac] check-in: [8ecffca9] user: drh branch: floating-point-conversions, size: 49876
2012-06-18
14:23
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. file: [fab88319] check-in: [87597e98] user: drh branch: ieee754-func, size: 51103
2012-03-31
02:46
Merge all the latest trunk changes into the apple-osx branch. file: [067e5000] check-in: [18ec60ca] user: drh branch: apple-osx, size: 49609
2012-03-28
01:34
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. file: [c6b3c943] check-in: [b899dbeb] user: drh branch: faster-typeof-and-length, size: 49514
2012-03-05
16:39
Pull in all the latest trunk changes. file: [bbbbc0d9] check-in: [504bf490] user: drh branch: apple-osx, size: 49706
2012-02-11
19:53
Another attempt to fix warnings in the randomFunc() function. file: [e75f41c4] check-in: [768df4e1] user: drh branch: trunk, size: 49611
2012-02-10
20:43
Fix a warning coming from the Solaris Studio compiler. file: [482fb61e] check-in: [33294bbd] user: drh branch: trunk, size: 49623
18:18
Pull the latest trunk changes into the apple-osx branch. file: [5d67931f] check-in: [e2485986] user: drh branch: apple-osx, size: 49717
2012-02-02
18:42
Fix a problem with NULL handling in aggregate min/max when returning values from the row containing the min or max. file: [d7925f33] check-in: [f27c7b4f] user: drh branch: output-minmax-row, size: 49622
17:35
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. file: [f66c8795] check-in: [adb29232] user: drh branch: output-minmax-row, size: 49571
2011-10-21
17:18
Merge the latest trunk changes into the apple-osx branch. file: [8c5a50e7] check-in: [be62ef05] user: drh branch: apple-osx, size: 49412
2011-10-13
18:00
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] file: [6261ce00] check-in: [9984cc20] user: drh branch: trunk, size: 49317
2011-06-20
11:57
Merge the latest trunk changes into the apple-osx branch. file: [1b9d471b] check-in: [4c69e827] user: drh branch: apple-osx, size: 49478
2011-06-15
12:43
Fix a couple of compiler warnings. file: [59bb046d] check-in: [3899f3b9] user: drh branch: broken-build, size: 49383
2011-06-13
12:19
Use only unsigned values in the implementatin of LIKE and GLOB so that values won't overflow to negative when dealing with malformed UTF8. file: [d93772d9] check-in: [77f01578] user: drh branch: trunk, size: 49383
2011-05-05
15:52
Merge the latest trunk changes into the apple-osx branch. file: [c02fda65] check-in: [f9b149e5] user: drh branch: apple-osx, size: 49478
2011-04-27
18:08
Change the name of an internal function to avoid conflicts with the math library. file: [b9117e40] check-in: [1bd1484c] user: drh branch: trunk, size: 49383
2011-04-25
18:03
Add the (deliberately undocumented) sqlite_log() SQL function as a built-in. file: [6d907d39] check-in: [f7806e03] user: drh branch: trunk, size: 49380
2011-04-04
13:11
Merge in the latest changes from trunk. file: [b6f0b843] check-in: [6d78a25d] user: drh branch: apple-osx, size: 49012
2011-03-05
20:59
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. file: [3a8cb2fb] check-in: [abf21394] user: drh branch: trunk, size: 48917
13:54
Fix an instance of signed arithmetic overflow and an one bit-shift overflow. Mark six other signed arithmetic overflow locations that need fixing. file: [9b88e09d] check-in: [04abab71] user: drh branch: trunk, size: 49155
2011-01-27
18:48
Pull in all the changes from trunk up through the version 3.7.5 release candidate 1. file: [343c0bd8] check-in: [09d6c91d] user: drh branch: apple-osx, size: 49235
2010-12-15
18:54
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. file: [cb41f614] check-in: [e1660764] user: drh branch: trunk, size: 49140
2010-11-19
23:50
Merge all the latest changes from the trunk into the apple-osx branch. file: [3856c689] check-in: [c8bc057c] user: drh branch: apple-osx, size: 49232
2010-09-30
00:50
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. file: [2b7cf54d] check-in: [14eed3a0] user: drh branch: experimental, size: 49137
2010-09-28
14:26
Fix several harmless compiler warnings. file: [b5664982] check-in: [7be03ecc] user: drh branch: trunk, size: 49101
2010-08-27
17:48
Add the sqlite3_create_function_v2() API, a version of create_function that allows a destructor to be specified. file: [caa6c513] check-in: [9a724dfb] user: dan branch: trunk, size: 49095
2010-08-18
00:24
Merge the 3.7.1 pre-release snapshot changes as of 2010-08-18 into the apple-osx branch. file: [62373e48] check-in: [866e9286] user: drh branch: apple-osx, size: 49180
2010-08-07
11:46
Merge in all changes up to the 3.7.0.1 release. file: [2448e711] check-in: [f88c6367] user: drh branch: apple-osx, size: 49110
2010-08-03
18:06
Fix disabled implementation-mark comments in func.c. file: [464b0dc7] check-in: [57c09600] user: drh branch: trunk, size: 49085
2010-07-24
16:34
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). file: [75dc1fd9] check-in: [ac1f37a6] user: drh branch: malloc-enhancement, size: 49005
2010-06-16
19:48
Merge in changes up to and including the 3.6.23.1 release. file: [cc68e721] check-in: [21ca87f6] user: drh branch: apple-osx, size: 49107
2010-04-25
20:58
Remove an unreachable branch from the function initialization logic. file: [0c285994] check-in: [064d3ddd] user: drh branch: trunk, size: 49015
2010-04-24
14:02
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. file: [b4af8108] check-in: [0291ed97] user: drh branch: trunk, size: 49010
2010-02-26
16:37
Rename the sqlite_compile_option_*() SQL functions to sqlite_compileoption_*() for consistency with the C/C++ interface. file: [5dca069d] check-in: [dd4962aa] user: drh branch: trunk, size: 49012
2010-02-25
15:28
Minor simplifications to the compile-time option reporting functions and pragmas to facilitate coverage testing. file: [374f45d2] check-in: [633d8747] user: drh branch: trunk, size: 49014
14:44
Add some technically unnecessary variable initializations to silence compiler warnings. file: [596688b5] check-in: [a2550597] user: dan branch: branch-3.6.1, size: 41987
2010-02-23
20:32
Merge the compile-time option introspection interfaces into the trunk. file: [d1fbbfe1] check-in: [9f429434] user: drh branch: trunk, size: 49117
20:08
Refactored compile time option diagnostic support to use strings identifiers instead of bitmask. file: [248e2e88] check-in: [76a0294a] user: shaneh branch: compile_opts, size: 49104
04:19
Test new api to report which options (defines) were used to compile SQLite. file: [8854b7a2] check-in: [84c97569] user: shaneh branch: compile_opts, size: 48010
2010-02-17
19:34
Merge latest changes from the trunk into the apple-osx branch. file: [3cd22e93] check-in: [4b72e39b] user: drh branch: apple-osx, size: 47573
04:19
Avoid using the internal printf routine for round(x,y) in the common case where y==0. file: [3864490a] check-in: [d76ad8b3] user: shaneh branch: trunk, size: 47478
2010-01-20
01:26
Update the Apple OS-X branch to include all of the latest changes in trunk. file: [0645bcf3] check-in: [96499b1d] user: drh branch: apple-osx, size: 47257
2010-01-11
18:26
Add a few documentation evidence comments to the built-in function implementations. file: [7cd1b3ab] check-in: [8bd0f814] user: drh branch: trunk, size: 47162
2009-12-16
23:46
Merge the latest changes on trunk (and especially the fix for the (xANDy)OR(z) bug) into apple-osx. file: [7b3a2069] check-in: [5754a3a5] user: drh branch: apple-osx, size: 46648
2009-12-08
02:06
Add evidence marks for the abs() and soundex() SQL functions. file: [69906340] check-in: [003f3ed1] user: drh branch: trunk, size: 46553
2009-12-07
23:53
Merge all changes associated with the version 3.6.21 release into the OS-X branch. file: [44bab6e3] check-in: [ad08794d] user: drh branch: apple-osx, size: 45546
2009-11-12
05:04
Update comment for substrFunc(). Added additional SUBSTR() test cases. file: [bf54e120] check-in: [d7b3801d] user: shaneh branch: trunk, size: 45451
2009-11-11
20:53
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. file: [97cb15ef] check-in: [5a474a86] user: drh branch: trunk, size: 45386
00:24
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. file: [5949e263] check-in: [30055b25] user: drh branch: trunk, size: 45350
2009-11-03
22:34
Customizations for OSX contributed by Apple. file: [1ddc1c93] check-in: [941a01eb] user: adam branch: apple-osx, size: 44911
2009-08-14
16:01
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. file: [e536218d] check-in: [302dabe9] user: drh branch: trunk, size: 44816
2009-06-19
16:44
Make sure group_concat() ignores initial NULL values. (CVS 6787) file: [9856373f] check-in: [90c3b23c] user: drh branch: trunk, size: 44424
14:06
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) file: [d108b002] check-in: [37ae5f5e] user: drh branch: trunk, size: 44497
2009-06-03
01:24
Additional changes to reduce stack usage. The SQLITE_SMALL_STACK compile-time option is now available. (CVS 6708) file: [006875b8] check-in: [baea79fd] user: drh branch: trunk, size: 44555
2009-05-28
01:00
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) file: [9d7b4772] check-in: [4ac2bdfb] user: drh branch: trunk, size: 44535
2009-05-27
10:31
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) file: [be506759] check-in: [7cb1c3ba] user: drh branch: trunk, size: 44501
2009-04-20
12:07
Do not use deprecated interfaces internally when compiling with SQLITE_OMIT_DEPRECATED. Ticket #3813. (CVS 6523) file: [f667fe88] check-in: [7f17956d] user: drh branch: trunk, size: 44493
2009-04-15
15:16
Fix the group_concat() function so that it inserts the separator string even if the initial content strings are empty. Ticket #3806. (CVS 6510) file: [ac12ea20] check-in: [b83fbf15] user: drh branch: trunk, size: 44402
13:39
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) file: [4ebe8c36] check-in: [c0bba77a] user: drh branch: trunk, size: 44381
2009-04-08
23:04
Add an assert() to the implementation of count(*) that checks the correct operation of the sqlite3_aggregate_count() function. (CVS 6473) file: [7d30fc85] check-in: [f322be38] user: drh branch: trunk, size: 44343
2009-04-02
14:05
Change the way that the random() SQL function prevents the maximum negative integer so that it is testable. (CVS 6436) file: [99ae90d4] check-in: [995f2b9b] user: drh branch: trunk, size: 43976
13:36
Use ALWAYS and NEVER macros on unchangeable conditions within func.c. (CVS 6435) file: [25edae19] check-in: [eb65e64e] user: drh branch: trunk, size: 43609
10:16
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) file: [13b7a7ec] check-in: [868a487f] user: drh branch: trunk, size: 43586
09:07
Enforce the run-time sqlite3_limit() length limit on zeroblob(), not just the compile-time SQLITE_MAX_LENGTH limit. (CVS 6433) file: [ac81b4ff] check-in: [a04f9e79] user: drh branch: trunk, size: 42914
2009-04-01
16:33
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) file: [1d6a8689] check-in: [94e2f815] user: drh branch: trunk, size: 42858
2009-03-27
15:26
When "PRAGMA case_sensitive_like" is invoked, override all existing "LIKE" functions, including UTF-16 versions. (CVS 6394) file: [42d12d31] check-in: [1c6521e5] user: danielk1977 branch: trunk, size: 42911
2009-02-24
10:01
Optimize queries of the form "SELECT count(*) FROM <tbl>" by adding a sqlite3BtreeCount() interface to the btree layer. (CVS 6316) file: [de2eed7d] check-in: [d4aa6593] user: danielk1977 branch: trunk, size: 42914
2009-02-19
14:39
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) file: [2fb36cd7] check-in: [d9f6ffbc] user: danielk1977 branch: trunk, size: 42832
2009-02-04
03:59
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) file: [35d6f4a9] check-in: [5cef4000] user: shane branch: trunk, size: 42785
2009-02-03
15:50
Remove several compiler warnings. (CVS 6239) file: [ec95417d] check-in: [85e9196d] user: drh branch: trunk, size: 42634
13:19
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) file: [ccc2bc68] check-in: [1ffe44e9] user: drh branch: trunk, size: 42556
13:10
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) file: [e8f46d1a] check-in: [cd2e7f6c] user: drh branch: trunk, size: 42492
2009-02-02
21:57
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) file: [b4fe7d6b] check-in: [f2ae82c4] user: drh branch: trunk, size: 42469
17:30
Minor simplifications to SQL function implementations. (CVS 6231) file: [4a837d75] check-in: [92e5c27f] user: drh branch: trunk, size: 42439
16:32
Update the SUBSTR function so that works consistently when the 2nd parameter is 0. Ticket #3628. (CVS 6230) file: [f58648e1] check-in: [5fc125d3] user: drh branch: trunk, size: 42513
01:50
Restrict the RANDOM() function to have zero arguments. Ticket #3627. (CVS 6229) file: [a3aac948] check-in: [b8b546b6] user: drh branch: trunk, size: 42371
2009-02-01
19:42
Fix SUBSTR() so that it returns NULL if any argument is NULL. Ticket #3626. (CVS 6228) file: [910be7d2] check-in: [779fce82] user: drh branch: trunk, size: 42371
19:23
Fix the SUBSTR() function so that when the 3rd argument is negative, it counts backwards from the selected start point. Ticket #3625. (CVS 6227) file: [5a9abbe0] check-in: [2217339b] user: drh branch: trunk, size: 42243
18:08
Change the replace() function to return a copy of its first argument when the 2nd argument is an empty string. Ticket #3624. (CVS 6226) file: [8ead6d9a] check-in: [ffebf10f] user: drh branch: trunk, size: 42145
2009-01-24
11:30
Fix some minor compiler warnings. Added sqlite3Isalpha() for use in the soundex() function. (CVS 6203) file: [51b41e10] check-in: [bfc71edc] user: drh branch: trunk, size: 41958
2009-01-20
16:53
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) file: [74ee4010] check-in: [1041abd6] user: danielk1977 branch: trunk, size: 41959
2008-12-10
23:04
More code obfuscation designed to thwart compiler warning messages. (CVS 6015) file: [b0e1c613] check-in: [0a1888a7] user: drh branch: trunk, size: 41949
21:19
Additional work at eliminating silly compiler warnings. (CVS 6010) file: [8b5f6807] check-in: [ea01d437] user: drh branch: trunk, size: 41950
19:26
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) file: [1246828c] check-in: [c872d554] user: drh branch: trunk, size: 41875
2008-11-19
16:52
Fix some compiler warnings that show up when building the amalgamation only. (CVS 5927) file: [b4570eb7] check-in: [d1abe8a1] user: danielk1977 branch: trunk, size: 41845
09:05
Changes to avoid "unused parameter" compiler warnings. (CVS 5921) file: [bfe4dec1] check-in: [88134322] user: danielk1977 branch: trunk, size: 41663
2008-10-28
17:52
Avoid exposing internal interfaces sqlite_attach() and sqlite_detach() as SQL scalar functions. Ticket #3466. (CVS 5846) file: [d8eb180e] check-in: [679c0b35] user: danielk1977 branch: trunk, size: 41319
2008-09-03
17:11
Work around an issue with the WINSCW compiler. (CVS 5671) file: [8431b40a] check-in: [e333c3f4] user: drh branch: trunk, size: 41375
2008-09-02
15:44
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) file: [41a4cbbc] check-in: [43f757c9] user: danielk1977 branch: trunk, size: 41373
2008-09-01
19:14
Modify the aBuiltinFunc array in func.c to use the WSD macros. (CVS 5653) file: [c02615ea] check-in: [846fff5f] user: danielk1977 branch: trunk, size: 41372
18:34
Begin adding support for the SQLITE_OMIT_WSD macro. Some (many) WSD variables still need wrappers added to them. (CVS 5652) file: [964a610b] check-in: [573d92ab] user: danielk1977 branch: trunk, size: 41181
2008-08-21
20:21
Move date+time functions to start-time initialization. Additional start-time function cleanup. (CVS 5585) file: [f2e0b55f] check-in: [80d6a31c] user: drh branch: trunk, size: 41120
18:49
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) file: [f52c6d1b] check-in: [ef6936e5] user: drh branch: trunk, size: 43562
2008-08-20
14:49
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) file: [d97ff7b7] check-in: [cb494e10] user: danielk1977 branch: trunk, size: 43322
2008-07-28
19:34
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) file: [54efe220] check-in: [e48f9697] user: drh branch: trunk, size: 41867
2008-07-08
22:28
Added macros to convert between 32-bit ints and 64-bit ptrs to avoid compiler warnings. (CVS 5378) file: [08422a7b] check-in: [6cdb6841] user: shane branch: trunk, size: 41859
2008-06-18
15:34
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) file: [1e7d9569] check-in: [70c6739f] user: drh branch: trunk, size: 41829
2008-06-15
02:51
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) file: [6ebd4401] check-in: [65fe7b62] user: drh branch: trunk, size: 41816
2008-04-27
18:40
Remove all references to sqlite3_intptr_t. (CVS 5051) file: [77a910a1] check-in: [6a94d197] user: drh branch: trunk, size: 41817
2008-03-20
16:30
Reinstate test cases for the limit tests. The sqlite3_limit() API is now tested and working. (CVS 4899) file: [c9e8c7ff] check-in: [4c4be4c3] user: drh branch: trunk, size: 41856
14:03
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) file: [3ac6e84e] check-in: [60c77882] user: drh branch: trunk, size: 41809
2008-03-19
21:45
Add a new interface, sqlite3_context_db_handle(), that returns the database connection pointer for an application-defined function. (CVS 4889) file: [ffce8131] check-in: [54c55cae] user: drh branch: trunk, size: 41747
16:08
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) file: [00a4f0a7] check-in: [e90c4cc8] user: drh branch: trunk, size: 41800
14:15
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) file: [1832b2fd] check-in: [15110ea0] user: drh branch: trunk, size: 46677
2008-03-06
09:58
Handle non-autoconf build correctly with new changes (CVS 4832) file: [a4f06d8a] check-in: [e2a9f5f1] user: mlcreech branch: trunk, size: 46678
07:35
Use intptr_t definition to silence warnings about ptr-int casts (CVS 4824) file: [6d6d4817] check-in: [54839a84] user: mlcreech branch: trunk, size: 46654
2008-02-19
18:29
Remove instances of strcpy() from test code. Use memcpy() or sqlite3_snprintf() instead. (CVS 4801) file: [194cd8a9] check-in: [7b50140d] user: drh branch: trunk, size: 46634
2008-01-21
16:22
Miscellaneous test coverage improvements. (CVS 4734) file: [8e3d0c59] check-in: [720bc20a] user: drh branch: trunk, size: 46604
2008-01-19
23:50
Additional test coverage improvements. Test coverage now stands at 98.73%. (CVS 4731) file: [a7f44eac] check-in: [010f7b78] user: drh branch: trunk, size: 46690
2007-12-13
21:54
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) file: [996071cf] check-in: [4e91a267] user: drh branch: trunk, size: 46696
2007-12-11
04:23
Fix a 'const' issue in trimFunc(). (CVS 4608) file: [9c87ddf9] check-in: [64787d78] user: danielk1977 branch: trunk, size: 46705
2007-12-10
18:07
Fix a macro in func.c that causes problems for the amalgamation. (CVS 4605) file: [5b713bbf] check-in: [6adbe91e] user: drh branch: trunk, size: 46662
2007-12-07
18:39
Get the LIKE and GLOB operators working again on systems using the EBCDIC character set. (CVS 4597) file: [a8548fbc] check-in: [754298a7] user: drh branch: trunk, size: 46642
2007-11-28
22:36
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) file: [49f98cfe] check-in: [221aee72] user: drh branch: trunk, size: 46283
2007-11-01
17:38
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) file: [73b4974e] check-in: [61987a89] user: drh branch: trunk, size: 46049
2007-10-12
19:11
Make the 3rd parameter of the SUBSTR() function optional. Ticket #2579. (CVS 4486) file: [e8e89788] check-in: [4a807d48] user: drh branch: trunk, size: 44919
2007-09-03
11:04
Handle transient malloc() failures in sqlite3CreateFunc(). (CVS 4371) file: [9d88141c] check-in: [c0ce6319] user: danielk1977 branch: trunk, size: 44789
2007-09-01
17:00
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) file: [7c59882c] check-in: [5842f68c] user: danielk1977 branch: trunk, size: 44840
2007-08-30
16:30
Fix the "test_destructor" test function in utf-16 mode. Fix for test failure in utf16 version of func.test. (CVS 4344) file: [10135a09] check-in: [c073b780] user: danielk1977 branch: trunk, size: 44773
2007-08-29
14:06
Use the DbMalloc() and DbRealloc() functions more consistently. (CVS 4323) file: [30f9562b] check-in: [c790c234] user: danielk1977 branch: trunk, size: 44754
12:31
Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321) file: [4db632f1] check-in: [e38ef81b] user: danielk1977 branch: trunk, size: 44572
2007-08-23
02:47
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) file: [aa8a3a8d] check-in: [21f6b310] user: drh branch: trunk, size: 44247
2007-08-21
19:33
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) file: [36440cb0] check-in: [92872761] user: drh branch: trunk, size: 44184
10:44
Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255) file: [8516d5f9] check-in: [fbbd5bda] user: drh branch: trunk, size: 44196
2007-08-16
10:36
Replace a few sqlite3_malloc() calls that should be sqlite3MallocZero(). (CVS 4234) file: [472c0610] check-in: [384d0ca9] user: danielk1977 branch: trunk, size: 44244
10:09
More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) file: [4195c626] check-in: [77b16713] user: danielk1977 branch: trunk, size: 44238
04:30
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) file: [bd94a8aa] check-in: [deb7ecd6] user: drh branch: trunk, size: 44220
2007-07-26
06:50
Fix two obscure memory leaks that can follow a malloc() failure in sqlite3_set_auxdata(). Ticket #2534. (CVS 4185) file: [28daebcd] check-in: [b88af182] user: danielk1977 branch: trunk, size: 44213
2007-07-23
19:12
Rework the UTF8 reader logic in order to avoid the use of malloc(). Ticket #2523. (CVS 4175) file: [dcba54fc] check-in: [9a059cb6] user: drh branch: trunk, size: 44162
2007-06-22
15:21
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) file: [6b45261a] check-in: [68677e42] user: danielk1977 branch: trunk, size: 44111
2007-06-07
19:08
Make sure zeroblob does reasonable things with a negative argument or an argument that is larger than the maximum blob size. (CVS 4048) file: [4668843e] check-in: [f4021843] user: drh branch: trunk, size: 43944
2007-05-15
14:40
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) file: [dfd0dd49] check-in: [9b91502e] user: drh branch: trunk, size: 43856
13:27
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) file: [047c974d] check-in: [cf2dd45b] user: drh branch: trunk, size: 43964
11:55
A new approach for UTF-8 translation. (CVS 4004) file: [fc1524fd] check-in: [6c8ad279] user: drh branch: trunk, size: 43178
01:13
The built-in substr() function applied to a BLOB counts bytes, not characters. (CVS 3997) file: [cdbe36f2] check-in: [75d57308] user: drh branch: trunk, size: 43412
2007-05-12
06:11
Bugfixes for assert() failures found by fuzz.test. (CVS 3986) file: [b6586f83] check-in: [2e80736d] user: danielk1977 branch: trunk, size: 42751
2007-05-10
13:23
Fix a C++ism in func.c. (CVS 3970) file: [f57e0111] check-in: [9c0050a1] user: drh branch: trunk, size: 42726
2007-05-09
08:24
Fix enforcement of the LIKE_PATTERN limit. (CVS 3962) file: [6282d202] check-in: [8819617b] user: danielk1977 branch: trunk, size: 42734
2007-05-08
20:37
Fix the amalgamation generator so that all non-API functions have file scope. (CVS 3958) file: [1fccb037] check-in: [e9f56ead] user: drh branch: trunk, size: 42727
15:46
Do not allocate so much surplus memory in the implementation of the replace() function. (CVS 3951) file: [1598afc9] check-in: [0cf518ce] user: drh branch: trunk, size: 42727
15:34
Limit the length of the patterns on LIKE and GLOB to avoid problems with deep recursion and N^2 behavior. (CVS 3950) file: [21a7e730] check-in: [42e6c826] user: drh branch: trunk, size: 42701
15:15
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) file: [f06e14b4] check-in: [17c4235c] user: drh branch: trunk, size: 42409
14:39
Fix a potential buffer overrun in the replace() function. (CVS 3947) file: [72801217] check-in: [b0fb4a3c] user: danielk1977 branch: trunk, size: 42540
12:12
Begin adding code to explicitly limit the size of strings and blobs. (CVS 3943) file: [755a8c58] check-in: [031a5915] user: drh branch: trunk, size: 42271
2007-05-07
19:31
Fix an NULL deref in the randomblob() function following a malloc failure. (CVS 3940) file: [af70f33e] check-in: [011e7db2] user: drh branch: trunk, size: 41746
2007-05-04
13:15
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) file: [9445a7e2] check-in: [ba4845b3] user: drh branch: trunk, size: 41729
2007-05-02
02:08
Fix some compiler warnings. Add the (untested) zeroblob() SQL function. (CVS 3895) file: [a4bc09fe] check-in: [6f4f8ba7] user: drh branch: trunk, size: 41719
2007-04-27
21:59
Internationalize the TRIM functions. Ticket #2323. (CVS 3883) file: [b40a6320] check-in: [ff1f4e74] user: drh branch: trunk, size: 41389
17:16
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) file: [89d8547a] check-in: [e92bd97a] user: drh branch: trunk, size: 40379
01:18
The replace() function should return NULL if the second argument is an empty string. Ticket #2324. (CVS 3877) file: [b989aa0e] check-in: [e6a0c90d] user: drh branch: trunk, size: 40355
2007-04-25
18:23
Fix segfaults that can occur if a malloc failure happens just before a built-in function calls sqlite3_value_text(). (CVS 3874) file: [acb2c505] check-in: [9cb0ed6e] user: drh branch: trunk, size: 40337
2007-04-10
13:51
Be careful not to use the result of sqlite3_value_blob() after changing the representation of an object. Ticket #2290. (CVS 3834) file: [007d957c] check-in: [e14374e4] user: drh branch: trunk, size: 40284
2007-03-17
17:52
Added TRIM, LTRIM, and RTRIM functions. (CVS 3698) file: [94372fe3] check-in: [6fe13eea] user: drh branch: trunk, size: 40284
13:27
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) file: [683c2d66] check-in: [c2fe746e] user: drh branch: trunk, size: 38485
2007-01-29
17:58
Replace the randomHex() function with separate functions randomBlob() and hex(). (CVS 3620) file: [b7e1e220] check-in: [f5ad74a9] user: drh branch: trunk, size: 36501
15:50
Add the randomhex() function as a built-in. (CVS 3619) file: [5df52600] check-in: [a6001589] user: drh branch: trunk, size: 36032
2006-09-16
21:45
Add the sqlite3_overload_function() API - part of the virtual table interface. (CVS 3426) file: [af537156] check-in: [aa7728f9] user: drh branch: trunk, size: 35294
2006-08-19
11:34
Fix for the (unsupported) soundex algorithm so that it conforms to Knuth. Ticket #1925. Test cases added. (CVS 3358) file: [dd9cea8e] check-in: [7810d1ab] user: drh branch: trunk, size: 35616
2006-06-24
11:51
A few more test cases to improve coverage of virtual table module related code. (CVS 3292) file: [f357a81b] check-in: [255aa912] user: danielk1977 branch: trunk, size: 35477
2006-06-17
14:12
Add the load_extension() SQL function. (CVS 3269) file: [a8a52723] check-in: [e08e2dda] user: drh branch: trunk, size: 35441
2006-06-13
19:26
The (unsupported) soundex() function returns '?000' when given a NULL. Ticket #1845. (CVS 3233) file: [01e55989] check-in: [9372481f] user: drh branch: trunk, size: 34727
17:39
The optimizer recognizes MATCH operators and allows virtual-tables to make use of them. (CVS 3232) file: [16eaca47] check-in: [136bed49] user: drh branch: trunk, size: 34702
2006-05-11
13:25
Fix comments on the implementation of the SUM() function. (CVS 3183) file: [acbbf533] check-in: [a8909f3e] user: drh branch: trunk, size: 34335
2006-04-07
13:26
Avoid the use of atof(). Ticket #1756. (CVS 3168) file: [7dac3a08] check-in: [76aef93c] user: drh branch: trunk, size: 34742
2006-03-16
16:19
Fix some compiler warnings. (CVS 3140) file: [380f2f8e] check-in: [6c5175bc] user: drh branch: trunk, size: 34726
2006-03-02
03:02
Change the ROUND() function to return a REAL value instead of TEXT. Ticket #1699. (CVS 3116) file: [ea1a4480] check-in: [9dbadfb2] user: drh branch: trunk, size: 34720
2006-02-23
21:51
Make sure the random() function always returns a value that can be passed to abs(). (CVS 3109) file: [402b305b] check-in: [5d2e7ea0] user: drh branch: trunk, size: 34734
21:43
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) file: [b1919255] check-in: [942c5095] user: drh branch: trunk, size: 34592
2006-02-11
17:34
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) file: [aa62ef0f] check-in: [1c3e6002] user: drh branch: trunk, size: 34452
2006-02-09
22:13
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) file: [93d004b4] check-in: [9e04f8fd] user: drh branch: trunk, size: 34057
18:35
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) file: [49f49131] check-in: [44bd7ba4] user: drh branch: trunk, size: 33526
17:47
Integer overflow in SUM causes an exception. Ticket #1669. (CVS 3064) file: [aad8c947] check-in: [c72b9461] user: drh branch: trunk, size: 33840
13:38
Avoid overflowing the 48-bit mantissa of a floating point number when summing large integers in the SUM() function. Ticket #1664. (CVS 3061) file: [b21d89f5] check-in: [a9169e87] user: drh branch: trunk, size: 33711
2006-01-17
13:21
Various fixes that allow the malloc() failure tests to pass again. (CVS 2963) file: [96b26601] check-in: [0505405f] user: danielk1977 branch: trunk, size: 33701
2006-01-12
22:17
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) file: [be4c026c] check-in: [a7f528ff] user: drh branch: trunk, size: 33723
2006-01-09
16:12
Fix some errors to do with attached databases and text encodings in shared-cache mode. (CVS 2895) file: [e013c3b6] check-in: [3e75d3d5] user: danielk1977 branch: trunk, size: 33210
2006-01-06
21:52
Changes so that SQLITE_OMIT_PARSER and SQLITE_OMIT_DISKIO work. (CVS 2878) file: [5e4204b2] check-in: [9d71b7de] user: drh branch: trunk, size: 33202
2005-12-09
20:02
Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810) file: [25f1e571] check-in: [83a59151] user: drh branch: trunk, size: 33168
2005-12-06
17:19
Modify ATTACH and DETACH to execute at runtime instead of compile time. (CVS 2803) file: [f5171a1b] check-in: [5e04ec69] user: danielk1977 branch: trunk, size: 33056
2005-10-13
02:09
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) file: [7d81dccd] check-in: [a0bdb584] user: drh branch: trunk, size: 33018
2005-09-08
20:37
SUM returns NULL when it has no inputs. Ticket #1413. (CVS 2678) file: [f63d4172] check-in: [62818594] user: drh branch: trunk, size: 33012
19:45
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) file: [ebf56bef] check-in: [2e6230ed] user: drh branch: trunk, size: 33046
10:37
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) file: [c1027f4f] check-in: [21adf4bd] user: drh branch: trunk, size: 33016
2005-09-06
20:36
Cleanup the processing of MEM_Agg elements. (CVS 2660) file: [713cf33a] check-in: [7ecf3654] user: drh branch: trunk, size: 32743
2005-08-28
17:00
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) file: [9da04a62] check-in: [ef84ff79] user: drh branch: trunk, size: 32754
2005-08-27
13:16
Fix comment in vdbeapi.c. Remove unused structure definition from func.c. (CVS 2629) file: [34085cf5] check-in: [51a38134] user: drh branch: trunk, size: 32600
2005-08-14
01:20
The case_sensitive_like pragma added. Test cases added for the LIKE optimization. (CVS 2592) file: [5b12db87] check-in: [72ee21c0] user: drh branch: trunk, size: 32856
2005-08-13
03:07
Make the round() function work correctly on numbers with very large exponents. Ticket #1340. (CVS 2585) file: [a90ea502] check-in: [4f47c3c8] user: drh branch: trunk, size: 31047
2005-07-09
02:38
Use the internal sqlite3_snprintf function instead of sprintf to avoid cross-platform incompatibilities. Ticket #1316. (CVS 2545) file: [2be0799d] check-in: [431999da] user: drh branch: trunk, size: 30984
2005-07-08
13:53
Add the SQLITE_CASE_SENSITIVE_LIKE compile-time option. (CVS 2539) file: [e6637354] check-in: [b72bff81] user: drh branch: trunk, size: 30962
2005-06-25
18:42
Remove the blob(), text() and numeric() functions added in (2524) and replace them with the standard CAST operator. Ticket #1287. (CVS 2527) file: [cbdf7256] check-in: [17631785] user: drh branch: trunk, size: 30599
2005-06-22
10:53
Add built-in functions numeric(), text(), and blob() that coerce types. Ticket #1287. (CVS 2524) file: [301b81af] check-in: [affb0fa2] user: drh branch: trunk, size: 32686
2005-05-24
12:01
Move a few things around to make building without the parser easier. (CVS 2479) file: [f208d71f] check-in: [5fadb464] user: danielk1977 branch: trunk, size: 30605
2005-05-22
10:44
Add hook to register SSE user-functions. (CVS 2471) file: [d09df82e] check-in: [20bd303e] user: danielk1977 branch: trunk, size: 30651
2005-02-15
21:36
Move the special built-in SQL functions used by ALTER TABLE out of func.c and into alter.c. (CVS 2343) file: [ff0673a2] check-in: [dbd11a0c] user: drh branch: trunk, size: 30535
20:47
Split the logic for the ALTER TABLE command off into a separate source code file. (CVS 2342) file: [deba954e] check-in: [90d6573c] user: drh branch: trunk, size: 35631
2005-02-09
01:40
Document SQLITE_DEFAULT_CACHE_SIZE and SQLITE_DEFAULT_TEMP_CACHE_SIZE macros. (CVS 2320) file: [4538f82c] check-in: [ddcea6f8] user: danielk1977 branch: trunk, size: 35632
2005-01-28
01:29
Make sure the #include of "sqliteInt.h" always comes first in C source files. (CVS 2284) file: [f096b677] check-in: [522c094f] user: drh branch: trunk, size: 35663
2005-01-11
13:02
Test cases to improve coverage of vdbe.c. (CVS 2193) file: [dc188d86] check-in: [a6b45722] user: danielk1977 branch: trunk, size: 35671
2004-11-19
05:14
Fix bugs in ALTER TABLE related to (a) whitespace in table defn, (b) temp triggers. (CVS 2112) file: [b668e5ad] check-in: [1fd8e835] user: danielk1977 branch: trunk, size: 35236
2004-11-18
15:44
Handle triggers correctly in ALTER TABLE. (CVS 2111) file: [4f16eba1] check-in: [c61b7de1] user: danielk1977 branch: trunk, size: 34799
13:49
Speed improvement on the LIKE command. (CVS 2110) file: [1a5e23e2] check-in: [85d56beb] user: drh branch: trunk, size: 32197
2004-11-17
16:41
Add the ESCAPE clause to the LIKE operator. Not fully tested yet. (CVS 2107) file: [897c1c13] check-in: [49268c2b] user: danielk1977 branch: trunk, size: 32191
2004-11-14
21:56
The SQLITE_OMIT_UTF16 macro now removes lots of code and all tests still pass. (CVS 2100) file: [181ea4b8] check-in: [98c7a554] user: drh branch: trunk, size: 31088
2004-11-12
13:42
Add the "ALTER TABLE xxx RENAME TO yyy" command. (CVS 2092) file: [b68572e7] check-in: [a1b2cc63] user: danielk1977 branch: trunk, size: 31006
2004-10-06
15:41
Convert many constants to have type "const". (CVS 2006) file: [600e506b] check-in: [d790c84c] user: drh branch: trunk, size: 29685
2004-09-13
13:13
Fix an uninitialized variable bug in nullif(). Ticket #898. (CVS 1957) file: [1fbc5256] check-in: [ee335b50] user: drh branch: trunk, size: 29673
2004-09-06
17:24
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) file: [14bf2071] check-in: [3ddf5a9d] user: drh branch: trunk, size: 29673
2004-09-02
15:53
Address some minor 32/64 bit issues. (CVS 1932) file: [54a09571] check-in: [6c9be972] user: drh branch: trunk, size: 29668
2004-08-31
00:52
Combine the implementation of LIKE and GLOB into a single parameterized function. (CVS 1923) file: [ab1d6436] check-in: [0a47c8f8] user: drh branch: trunk, size: 29661
2004-08-08
20:22
Make sure the argument to ctype.h macros is always an unsigned character. Ticket #839. (CVS 1881) file: [7e2eeebe] check-in: [b0659738] user: drh branch: trunk, size: 32294
2004-07-18
23:06
Use only unsigned characters for upper() and lower(). Ticket #708. (CVS 1808) file: [b163fb49] check-in: [2464f79e] user: drh branch: trunk, size: 32331
23:03
Use only unsigned characters in upper() and lower(). Ticket #708. (CVS 1807) file: [ab5c57f0] check-in: [f9b2aa8f] user: drh branch: version_2, size: 19049
21:14
Min() and max() ignore NULL values. Ticket #800. (CVS 1803) file: [5bd2ce38] check-in: [223521c0] user: drh branch: version_2, size: 18999
20:52
min() ignores NULL values. Ticket #800. (CVS 1802) file: [f4a69379] check-in: [166234a2] user: drh branch: trunk, size: 32313
2004-06-28
13:09
More coverage testing. (CVS 1754) file: [5a15cfb0] check-in: [33292104] user: danielk1977 branch: trunk, size: 32258
2004-06-24
00:20
Apply (1679) to version 3. Ticket #777. (CVS 1680) file: [c38c8bca] check-in: [0a26b915] user: danielk1977 branch: trunk, size: 32125
2004-06-23
21:16
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) file: [522d58ab] check-in: [78ced6e3] user: drh branch: version_2, size: 19107
2004-06-21
06:50
Update sqlite3_changes() to match the documentation and add sqlite3_total_changes(). (CVS 1645) file: [3d32878e] check-in: [ae2f4a09] user: danielk1977 branch: trunk, size: 32169
2004-06-19
17:33
Make sure VdbeFunc entries are initialized before trying to destroy them. Also, unrelated comment changes in build.c. (CVS 1643) file: [e520c64e] check-in: [fc3b3a8f] user: drh branch: trunk, size: 32251
15:40
Clear up another zero-length array. This seems to fix the segfault in func-13.4 too. (CVS 1641) file: [21985e3b] check-in: [70680a34] user: drh branch: trunk, size: 31614
08:18
Remove the iCollate argument from sqlite3_create_function() (CVS 1632) file: [b7a8b552] check-in: [728d57ff] user: danielk1977 branch: trunk, size: 31623
2004-06-17
05:36
Use the faster LIKE function from sqlite v2. Add special user functions to test builds to test the auxdata APIs. (CVS 1610) file: [1959a0c2] check-in: [b9493c5f] user: danielk1977 branch: trunk, size: 31629
2004-06-16
10:39
Fix handling of a failed malloc() in various places (CVS 1604) file: [be055fc6] check-in: [7d8edce4] user: danielk1977 branch: trunk, size: 30066
2004-06-15
13:36
Memory leak fixes for tests in file select1.test. (CVS 1599) file: [60bf9412] check-in: [59db58eb] user: danielk1977 branch: trunk, size: 30057
2004-06-12
09:25
(1) Modifications to the user-function interface and (2) Internal changes to automatically created indices. (CVS 1575) file: [3b86bf20] check-in: [5903f538] user: danielk1977 branch: trunk, size: 30026
00:42
Use the SQLITE_UTF* symbols instead of the old internal TEXT_Utf* symbols. (CVS 1572) file: [a58fef26] check-in: [9b84f2f4] user: danielk1977 branch: trunk, size: 28266
2004-06-11
10:51
Fix various collation sequence issues. (CVS 1568) file: [91a21c95] check-in: [66835ee6] user: danielk1977 branch: trunk, size: 28252
2004-06-08
00:39
Enhance the built-in function quote() to support blob values. (CVS 1541) file: [ffbdfa4c] check-in: [97aa54bb] user: danielk1977 branch: trunk, size: 27316
2004-06-06
12:41
Performance improvements for LIKE. It is still too slow though. (CVS 1535) file: [73074144] check-in: [30b81507] user: danielk1977 branch: trunk, size: 26543
09:44
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) file: [e873366b] check-in: [92337d8f] user: danielk1977 branch: trunk, size: 26114
2004-05-31
18:51
Change all SQLITE3 preprocessor macros to SQLITE. Documentation updates. (CVS 1511) file: [3b87e2e8] check-in: [adf7e29f] user: drh branch: trunk, size: 20176
2004-05-27
10:30
A few more bugfixes. Test cases pass now. (CVS 1472) file: [1fe07636] check-in: [c9e3015f] user: danielk1977 branch: trunk, size: 20210
09:28
Various bugfixes. 68 Test cases still fail. (CVS 1471) file: [17303ed9] check-in: [67a140cf] user: danielk1977 branch: trunk, size: 19969
03:12
Fixes to the MEM changes. The library now links. (CVS 1470) file: [09100361] check-in: [f33d15d9] user: drh branch: trunk, size: 19773
2004-05-26
23:25
Refactoring of the vdbe Mem functions and the APIs that deal with them. The code will not compile in its current state. (CVS 1465) file: [a25ec101] check-in: [bba6684d] user: drh branch: trunk, size: 19793
16:54
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) file: [6274bceb] check-in: [36e03162] user: drh branch: trunk, size: 19796
06:18
Use the new form of the sqlite3_create_function() API. (CVS 1460) file: [ddd86cbd] check-in: [0317bef4] user: danielk1977 branch: trunk, size: 20693
2004-05-25
12:05
Change a couple of symbol names for the new user function API. (CVS 1454) file: [e67a36ae] check-in: [8f6b20c2] user: danielk1977 branch: trunk, size: 20679
11:47
Use the new API for returning values and errors from user functions. (CVS 1453) file: [c811d2b7] check-in: [4eccae03] user: danielk1977 branch: trunk, size: 20593
01:13
Add manifest type aware versions of the min() and max() aggregates. (CVS 1452) file: [7eb4356a] check-in: [b77c268e] user: danielk1977 branch: trunk, size: 19969
2004-05-24
23:48
Aggregate functions also use sqlite_value* instead of const char * for arguments. (CVS 1451) file: [3b511af0] check-in: [5c28ed5e] user: danielk1977 branch: trunk, size: 19900
12:55
Update the typeof() operator to respect manifest types. (CVS 1450) file: [c33bad75] check-in: [162cf42e] user: danielk1977 branch: trunk, size: 19723
12:39
Non-aggregate SQL functions use sqlite_value* instead of const char * for argument values. (CVS 1449) file: [3690069d] check-in: [1e47d738] user: danielk1977 branch: trunk, size: 19461
07:04
Have the vdbe handle strings in the same encoding as the database. (CVS 1445) file: [333bbc06] check-in: [b7155db2] user: danielk1977 branch: trunk, size: 18832
2004-05-16
11:15
More changes to support the manifest type model. A few things are currently broken. (CVS 1385) file: [cfbb7096] check-in: [a4af838f] user: danielk1977 branch: trunk, size: 18821
2004-05-14
11:00
Implement type affinity for table and index records (CVS 1375) file: [4053dc21] check-in: [dbfe6e93] user: danielk1977 branch: trunk, size: 18746
2004-05-13
11:34
Various minor fixes and updates to make more test cases pass. (CVS 1370) file: [4b3147e8] check-in: [dbe8385e] user: danielk1977 branch: trunk, size: 18743
2004-05-10
10:34
Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1337) file: [6cf6501f] check-in: [ba2ba242] user: danielk1977 branch: trunk, size: 18744
2004-05-08
08:23
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) file: [f87eec5c] check-in: [8af6474c] user: danielk1977 branch: trunk, size: 18689
2004-02-25
22:51
Add comments and prototype for experimental sqlite_last_statement_changes() API function. Also, allow function to be called from tcl. (CVS 1273) file: [34fead7a] check-in: [ca99920b] user: rdc branch: trunk, size: 18663
13:47
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) file: [424256b4] check-in: [adbe31ad] user: drh branch: trunk, size: 18370
2004-02-22
17:49
Code cleanup in the date and time functions. (CVS 1263) file: [a2265f29] check-in: [9b3bcde1] user: drh branch: trunk, size: 18109
2004-02-20
22:53
Fixed behaviour of last_insert_rowid() with triggers and add last_statement_change_count() function that works correctly with triggers. (CVS 1251) file: [36504a34] check-in: [3383413a] user: rdc branch: trunk, size: 18100
2004-02-11
09:46
Refactor the interface to the randomness generator. (CVS 1224) file: [cbc5edd1] check-in: [f2bdccf4] user: drh branch: trunk, size: 17369
2004-01-30
14:49
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) file: [5a0face8] check-in: [c0faa1c6] user: drh branch: trunk, size: 17322
2004-01-19
04:53
coment typo (CVS 1189) file: [fd710743] check-in: [8210b2d8] user: jplyon branch: trunk, size: 17255
2004-01-16
13:58
Fix a buffer-overflow problem in the randStr function (used only for testing). (CVS 1182) file: [564c0bbe] check-in: [42c79edc] user: drh branch: trunk, size: 17261
2004-01-02
13:17
Avoid an assertion fault that can occur with invalid UTF8 on the LENGTH() function. Ticket #548. (CVS 1154) file: [62cf8fae] check-in: [7080fc39] user: drh branch: trunk, size: 17231
2003-12-23
02:17
Use a built-in atof() function instead of the one from the library to avoid problems with locale. Ticket #305. (CVS 1144) file: [b6ad8e78] check-in: [4d9edbc5] user: drh branch: trunk, size: 17255
2003-11-01
01:53
Revised date/time functions - now broken out into a separate source file. See the DateAndTimeFunctions wiki page for additional information. (CVS 1116) file: [82a749b9] check-in: [68ef9b45] user: drh branch: trunk, size: 17237
2003-10-10
02:09
Update to the date functions. (CVS 1110) file: [fce558b4] check-in: [06d4e883] user: drh branch: trunk, size: 28813
2003-09-06
01:10
The beginnings of changes to support pre-compiled SQL. Mostly untested, though all regression tests to pass. (CVS 1093) file: [377ea941] check-in: [912f47c7] user: drh branch: trunk, size: 26204
2003-08-26
11:41
Fix compiler warnings under OpenVMS. Ticket #357. (CVS 1088) file: [be22d719] check-in: [c95f347c] user: drh branch: trunk, size: 26122
2003-08-20
01:03
Add the experimental "quote()" function to the set of build-in functions. (CVS 1077) file: [8cd63ca6] check-in: [9699c685] user: drh branch: trunk, size: 25981
2003-08-10
01:50
tighter coding of the date and time functions. Better comments. A bug fix. (CVS 1070) file: [2b196fdc] check-in: [94243eda] user: drh branch: trunk, size: 24775
2003-08-09
21:32
Add experimental date and time functions based on julian day number. (CVS 1069) file: [67b66803] check-in: [a6197e20] user: drh branch: trunk, size: 24704
2003-06-28
16:20
Fix a bug in the soundex() code. Ticket #367. Add tests for ticket #261 even thought the problem could not be reproduced. (CVS 1035) file: [6b23578d] check-in: [e2ca936f] user: drh branch: trunk, size: 15835
2003-05-13
01:52
Fix another twos-complement negation error. Ticket #313. (CVS 973) file: [33bbce6a] check-in: [f267a8a4] user: drh branch: trunk, size: 15844
2003-03-27
12:51
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) file: [882c3ed5] check-in: [d2fb2bb5] user: drh branch: trunk, size: 15853
2002-11-04
19:32
Add the sqlite_version() SQL function as a built-in. (CVS 777) file: [90c583f0] check-in: [7c8c0e76] user: drh branch: trunk, size: 14635
2002-07-07
16:52
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) file: [e45cd908] check-in: [f6e24d5c] user: drh branch: trunk, size: 14325
2002-06-20
11:36
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) file: [5eae8227] check-in: [cbbc858d] user: drh branch: trunk, size: 13267
2002-06-09
10:14
Fix the spelling of sqliteRegisterBuiltinFunctions(). (CVS 613) file: [b8d0fd30] check-in: [74d297d9] user: drh branch: trunk, size: 12582
2002-05-31
15:51
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) file: [061a520a] check-in: [da61aa1d] user: drh branch: trunk, size: 12582
2002-05-29
23:22
Built-in aggregate functions (MIN, SUM, AVG, etc) should ignore NULL entires. (CVS 597) file: [2cd49229] check-in: [19ae12be] user: drh branch: trunk, size: 12636
2002-05-26
21:34
Change functions to handle NULLs correctly. Added the NULLIF() function. (CVS 590) file: [16e994ee] check-in: [46ce1a9a] user: drh branch: trunk, size: 12699
2002-04-20
14:24
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) file: [a31dcba8] check-in: [51572bf7] user: drh branch: trunk, size: 12051
2002-04-06
14:10
Added the last_insert_rowid() SQL function. (CVS 521) file: [dca9df81] check-in: [6aca3f86] user: drh branch: trunk, size: 11045
2002-03-04
02:26
Updates to the documentation. Changed version number to 2.4.0-beta1 (CVS 417) file: [87516e7d] check-in: [36a8fe0a] user: drh branch: trunk, size: 10626
2002-03-02
19:00
Change the btree node balancers to sort nodes into accending order. This improves insert and delete speed by 25%. (CVS 409) file: [5b4d9707] check-in: [abbb999d] user: drh branch: trunk, size: 10554
2002-02-28
04:00
Fix bugs in substr() for UTF-8. (CVS 406) file: [0db438ba] check-in: [e9fd9e7b] user: drh branch: trunk, size: 10318
03:31
Remove unused opcodes from the VDBE and fix a bug in the substr() function. (CVS 405) file: [089b68c0] check-in: [e8611e0c] user: drh branch: trunk, size: 10215
03:14
Change the IFNULL and NVL functions to COALESCE. Change MIN and MAX so that they require at least one argument. (CVS 404) file: [7169103d] check-in: [7d86749d] user: drh branch: trunk, size: 10142
03:04
The new function code passes regression tests. (CVS 403) file: [14ac2dfa] check-in: [b00cf110] user: drh branch: trunk, size: 10002
01:46
Fix the coredump. There are still problems in the test suite though. (CVS 402) file: [2a607655] check-in: [6af10cc5] user: drh branch: trunk, size: 9963
00:46
Added IFNULL and NVL functions. (CVS 401) file: [7bfb8a20] check-in: [c6a85c8e] user: drh branch: trunk, size: 9972
00:41
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) file: [709784ce] check-in: [50797fee] user: drh branch: trunk, size: 9519
2002-02-27
19:50
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) file: [3aeff18b] check-in: [c4f9e017] user: drh branch: trunk, size: 3747
19:00
Revise the API for user-defined functions. (CVS 398) file: [f020b8c6] check-in: [633951f0] user: drh branch: trunk, size: 2708
2002-02-26
23:55
Comment changes only. (CVS 395) file: [bed0099a] check-in: [63b87f2e] user: drh branch: trunk, size: 2773
2002-02-24
17:12
Added a "stddev()" aggregate function for testing the new user aggregate function interface. (CVS 393) file: [b7c1f4dd] check-in: [21981097] user: drh branch: trunk, size: 2685
01:55
Move the build-in function definitions into a new source file "func.c". (CVS 391) file: [f06739ac] check-in: [530b0f4f] user: drh branch: trunk, size: 1585 Added