1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-14 00:22:38 +03:00
Commit Graph

344 Commits

Author SHA1 Message Date
drh
2ba3cccf22 Add evidence marks for the abs() and soundex() SQL functions.
FossilOrigin-Name: 003f3ed10cdb64b73d6df00e28260dd3491e1f16
2009-12-08 02:06:08 +00:00
shaneh
779b8f126e Update comment for substrFunc(). Added additional SUBSTR() test cases.
FossilOrigin-Name: d7b3801dc7fad1b002f892fb5d82047ebff98369
2009-11-12 05:04:50 +00:00
drh
4adc4cb93b 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.

FossilOrigin-Name: 5a474a867c5988ad5ec03719516fdd38f0da5c2c
2009-11-11 20:53:31 +00:00
drh
ae6bb9570b 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.

FossilOrigin-Name: 30055b257c3c65f8123cad5ac6c62c4c6ca2c900
2009-11-11 00:24:31 +00:00
drh
47baebc2a6 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.

FossilOrigin-Name: 302dabe98f50b472bccd65c58504bc8a330049c4
2009-08-14 16:01:24 +00:00
drh
8bfd719065 Make sure group_concat() ignores initial NULL values. (CVS 6787)
FossilOrigin-Name: 90c3b23ccac8a9e7fc1cc831e43888e4e43badc9
2009-06-19 16:44:41 +00:00
drh
8bfdf72136 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)

FossilOrigin-Name: 37ae5f5e8feb34a8e6e8b34aa18df1e9a1ce55cb
2009-06-19 14:06:03 +00:00
drh
50d654da3b Additional changes to reduce stack usage. The SQLITE_SMALL_STACK compile-time
option is now available. (CVS 6708)

FossilOrigin-Name: baea79fd0cfeb860973846c3f2776776c87f0ae3
2009-06-03 01:24:54 +00:00
drh
33e619fc1c 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)

FossilOrigin-Name: 4ac2bdfbb4230b6ceaae87e738fa61036bbe03cb
2009-05-28 01:00:55 +00:00
drh
b7916a78ff 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)

FossilOrigin-Name: 7cb1c3ba0759539cb035978fdaff6316775986f3
2009-05-27 10:31:29 +00:00
drh
d54a79118a Do not use deprecated interfaces internally when compiling with
SQLITE_OMIT_DEPRECATED.  Ticket #3813. (CVS 6523)

FossilOrigin-Name: 7f17956dfbf3090fd5832378e77bd83a525fed9d
2009-04-20 12:07:37 +00:00
drh
8dc09a0616 Fix the group_concat() function so that it inserts the separator string
even if the initial content strings are empty.  Ticket #3806. (CVS 6510)

FossilOrigin-Name: b83fbf15a3920755ed77dc9c91b4f00a86ddb9ac
2009-04-15 15:16:53 +00:00
drh
d3264c7cdf 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)

FossilOrigin-Name: c0bba77ae619e709f3fb068526073a4a83cf33b6
2009-04-15 13:39:47 +00:00
drh
2e79c3d51c Add an assert() to the implementation of count(*) that checks the
correct operation of the sqlite3_aggregate_count() function. (CVS 6473)

FossilOrigin-Name: f322be3833c4a938ee7d9e4bcfd5decaca57db0b
2009-04-08 23:04:14 +00:00
drh
3034e3d364 Change the way that the random() SQL function prevents the maximum
negative integer so that it is testable. (CVS 6436)

FossilOrigin-Name: 995f2b9b1031fadc85e179701536b9dd4153654b
2009-04-02 14:05:21 +00:00
drh
d27135ad82 Use ALWAYS and NEVER macros on unchangeable conditions within func.c. (CVS 6435)
FossilOrigin-Name: eb65e64e7ed5edbe506365971d4d81ea037098d3
2009-04-02 13:36:37 +00:00
drh
27e62dbedd 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)

FossilOrigin-Name: 868a487f5fd7c795e04a08de36a85ba1e06bc8c6
2009-04-02 10:16:17 +00:00
drh
ef31c6aa97 Enforce the run-time sqlite3_limit() length limit on zeroblob(), not just
the compile-time SQLITE_MAX_LENGTH limit. (CVS 6433)

FossilOrigin-Name: a04f9e7959325da18f66a1aa4ead1c50993807cb
2009-04-02 09:07:12 +00:00
drh
769e97e032 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)

FossilOrigin-Name: 94e2f815ebb38981a2226d8aed9f3731f8833f7c
2009-04-01 16:33:37 +00:00
danielk1977
717811c995 When "PRAGMA case_sensitive_like" is invoked, override all existing "LIKE" functions, including UTF-16 versions. (CVS 6394)
FossilOrigin-Name: 1c6521e53b846eec2e046b1e9c04c60658b8e0e8
2009-03-27 15:26:03 +00:00
danielk1977
a55331620e Optimize queries of the form "SELECT count(*) FROM <tbl>" by adding a sqlite3BtreeCount() interface to the btree layer. (CVS 6316)
FossilOrigin-Name: d4aa6593183224b6868a322511511c0bbf63b598
2009-02-24 10:01:51 +00:00
danielk1977
6ab3a2ec8a 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)
FossilOrigin-Name: d9f6ffbc5ea090ba0daac571fc9a6c68b9c864e4
2009-02-19 14:39:25 +00:00
shane
fbd60f826d Changes to completely remove all floating point ops if SQLITE_OMIT_FLOATING_POINT defined. Note that w/o fp, date/time, round, nan, etc. are all gone or limited in functionality. Updated some of the test scripts to support missing fp and 64-bit functionality. Ticket #3029. (CVS 6250)
FossilOrigin-Name: 5cef400023205b55152b91441acc78f9cd8d58a9
2009-02-04 03:59:25 +00:00
drh
1d34fdecb6 Remove several compiler warnings. (CVS 6239)
FossilOrigin-Name: 85e9196d79ef8500300abb215a31e0519b2e8d02
2009-02-03 15:50:33 +00:00
drh
2333606e9c 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)

FossilOrigin-Name: 1ffe44e9d6b49346a75850a977953de12c127069
2009-02-03 13:19:12 +00:00
drh
478000cf5c 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)

FossilOrigin-Name: cd2e7f6c0fe4c0c648f8ca21388ab0769164f5ef
2009-02-03 13:10:54 +00:00
drh
07d3117aed Make group_concat() a 1- or 2-value function, as the documentation says it
should be.  Use the md5sum() function to verify ticket #3179, not
group_concat().  This undoes the ill-advised group_concat() change of
check-in (5233). (CVS 6233)

FossilOrigin-Name: f2ae82c4d46c2eca30fc60a50ab5064728f20739
2009-02-02 21:57:05 +00:00
drh
a0df4ccfe3 Minor simplifications to SQL function implementations. (CVS 6231)
FossilOrigin-Name: 92e5c27f20f150c1777c1b91d35207ade961319d
2009-02-02 17:29:59 +00:00
drh
65595cd60b Update the SUBSTR function so that works consistently when the
2nd parameter is 0.  Ticket #3628. (CVS 6230)

FossilOrigin-Name: 5fc125d362df4b8525c7e1ab34a14f505756af24
2009-02-02 16:32:55 +00:00
drh
9373b01882 Restrict the RANDOM() function to have zero arguments. Ticket #3627. (CVS 6229)
FossilOrigin-Name: b8b546b6ed799dc1621ef7b06273249af1042fb2
2009-02-02 01:50:39 +00:00
drh
8198d25442 Fix SUBSTR() so that it returns NULL if any argument is NULL.
Ticket #3626. (CVS 6228)

FossilOrigin-Name: 779fce82b7a89b972da488ce8bd35e23ca120c04
2009-02-01 19:42:37 +00:00
drh
4e79c59454 Fix the SUBSTR() function so that when the 3rd argument is negative,
it counts backwards from the selected start point.  Ticket #3625. (CVS 6227)

FossilOrigin-Name: 2217339badf1e84edbed1309c39b9f8dfd7646ff
2009-02-01 19:23:32 +00:00
drh
a605fe8d8b Change the replace() function to return a copy of its first argument when
the 2nd argument is an empty string.  Ticket #3624. (CVS 6226)

FossilOrigin-Name: ffebf10f6fb2c7f3083992e2c712682b4cdcc6f0
2009-02-01 18:08:40 +00:00
drh
dc86e2b2cd Fix some minor compiler warnings. Added sqlite3Isalpha() for use in
the soundex() function. (CVS 6203)

FossilOrigin-Name: bfc71edca471221add6b32b867d0b15171974eaf
2009-01-24 11:30:42 +00:00
danielk1977
78ca0e7eb4 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)

FossilOrigin-Name: 1041abd6784d283bebf646c54e93599522f7889d
2009-01-20 16:53:39 +00:00
drh
3abbd39a87 More code obfuscation designed to thwart compiler warning messages. (CVS 6015)
FossilOrigin-Name: 0a1888a7e6fb56e56d8078e7792379d908ba7a70
2008-12-10 23:04:13 +00:00
drh
1bd10f8a00 Additional work at eliminating silly compiler warnings. (CVS 6010)
FossilOrigin-Name: ea01d43788a75e39c7f03c22681d1a338d52cf0e
2008-12-10 21:19:56 +00:00
drh
ea6788322e 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)

FossilOrigin-Name: c872d554930ecf221ac2be5f886d5d67bb35288c
2008-12-10 19:26:22 +00:00
danielk1977
f3d3c27a0c Fix some compiler warnings that show up when building the amalgamation only. (CVS 5927)
FossilOrigin-Name: d1abe8a1c9a990b02c71d6c249436381c9fde443
2008-11-19 16:52:44 +00:00
danielk1977
62c14b3487 Changes to avoid "unused parameter" compiler warnings. (CVS 5921)
FossilOrigin-Name: 88134322c36b41304aaeef99c39b4ef5b495ca3b
2008-11-19 09:05:26 +00:00
danielk1977
0f3f072d9f Avoid exposing internal interfaces sqlite_attach() and sqlite_detach() as SQL scalar functions. Ticket #3466. (CVS 5846)
FossilOrigin-Name: 679c0b35aaa1ea488a205cc03802e7078a2bcf29
2008-10-28 17:52:39 +00:00
drh
106cee5498 Work around an issue with the WINSCW compiler. (CVS 5671)
FossilOrigin-Name: e333c3f4c3629dba05b58318e2cd0514843e5394
2008-09-03 17:11:16 +00:00
danielk1977
a4de4532dd 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)
FossilOrigin-Name: 43f757c9f01ccc6e6c7a404fbeb74f825f7a29ca
2008-09-02 15:44:08 +00:00
danielk1977
93ce741ba5 Modify the aBuiltinFunc array in func.c to use the WSD macros. (CVS 5653)
FossilOrigin-Name: 846fff5f0902418cfce2915d2ccfe567481a1289
2008-09-01 19:14:02 +00:00
danielk1977
075c23af26 Begin adding support for the SQLITE_OMIT_WSD macro. Some (many) WSD variables still need wrappers added to them. (CVS 5652)
FossilOrigin-Name: 573d92abb9adb1c321ebc2fcadcf14374213b093
2008-09-01 18:34:20 +00:00
drh
777c5386c3 Move date+time functions to start-time initialization. Additional
start-time function cleanup. (CVS 5585)

FossilOrigin-Name: 80d6a31cb3851704c09ac9d99fe4bc241df3c180
2008-08-21 20:21:34 +00:00
drh
70a8ca3c1e 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)

FossilOrigin-Name: ef6936e50adb9ebea39c890167403fff01bbb5ed
2008-08-21 18:49:27 +00:00
danielk1977
8c0a791a58 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)
FossilOrigin-Name: cb494e10d71852024647aaa254203579ad438ea9
2008-08-20 14:49:23 +00:00
drh
633e6d57d9 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)

FossilOrigin-Name: e48f9697e9fea339e150ddc32940760027dd07d9
2008-07-28 19:34:53 +00:00
shane
1fc4129df7 Added macros to convert between 32-bit ints and 64-bit ptrs to avoid compiler warnings. (CVS 5378)
FossilOrigin-Name: 6cdb6841ff4683e424ef394733da9c24f5602570
2008-07-08 22:28:48 +00:00