1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-16 23:02:26 +03:00
Commit Graph

454 Commits

Author SHA1 Message Date
drh
85892bde6f Fix a C++ism in func.c. (CVS 3970)
FossilOrigin-Name: 9c0050a10c6bea75ada902c16eb28eb3cf864718
2007-05-10 13:23:22 +00:00
danielk1977
b56fe1ff27 Fix enforcement of the LIKE_PATTERN limit. (CVS 3962)
FossilOrigin-Name: 8819617b7cf7ccd64bf6bb4ba208f37126964ec2
2007-05-09 08:24:44 +00:00
drh
ee85813c94 Fix the amalgamation generator so that all non-API functions have file scope. (CVS 3958)
FossilOrigin-Name: e9f56ead0514f3eac75807ea710c1f035b8add4f
2007-05-08 20:37:38 +00:00
drh
2e6400ba9e Do not allocate so much surplus memory in the implementation of the
replace() function. (CVS 3951)

FossilOrigin-Name: 0cf518ceebda8e7421d054813f97cc447d292344
2007-05-08 15:46:18 +00:00
drh
beb818d1fd Limit the length of the patterns on LIKE and GLOB to avoid problems with
deep recursion and N^2 behavior. (CVS 3950)

FossilOrigin-Name: 42e6c826998e69462462b0787d3650246d36f3b5
2007-05-08 15:34:47 +00:00
drh
a0206bc81c 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)

FossilOrigin-Name: 17c4235c492f746867c1d2b8621043b93f8aa10e
2007-05-08 15:15:02 +00:00
danielk1977
17374e8f94 Fix a potential buffer overrun in the replace() function. (CVS 3947)
FossilOrigin-Name: b0fb4a3cf6ddbc17ccd0c719b34a720d9090bc93
2007-05-08 14:39:04 +00:00
drh
023ae03a72 Begin adding code to explicitly limit the size of strings and blobs. (CVS 3943)
FossilOrigin-Name: 031a5915b68ec6827fee38b8b9dc74a9e0e09302
2007-05-08 12:12:16 +00:00
drh
02d858364b Fix an NULL deref in the randomblob() function following a malloc failure. (CVS 3940)
FossilOrigin-Name: 011e7db253f9a60c19977215eab1687930f15637
2007-05-07 19:31:15 +00:00
drh
5bb3eb9b9a 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)

FossilOrigin-Name: ba4845b32bdf38e623c4f7246e6e327715bbba4b
2007-05-04 13:15:55 +00:00
drh
8cff382e7d Fix some compiler warnings. Add the (untested) zeroblob() SQL function. (CVS 3895)
FossilOrigin-Name: 6f4f8ba7ec15f214f36fa78e593dd4522ab717f5
2007-05-02 02:08:28 +00:00
drh
d1e3a616ca Internationalize the TRIM functions. Ticket #2323. (CVS 3883)
FossilOrigin-Name: ff1f4e744728c8f55afae265246797b30fe98fb0
2007-04-27 21:59:52 +00:00
drh
9310ef23e2 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)

FossilOrigin-Name: e92bd97a3726bbb7978489e2994747127c4aefcf
2007-04-27 17:16:20 +00:00
drh
709cff33dc The replace() function should return NULL if the second argument is an
empty string.  Ticket #2324. (CVS 3877)

FossilOrigin-Name: e6a0c90dd9b4f7efe2153dd0c899b6e3d9846bd8
2007-04-27 01:18:02 +00:00
drh
7a521cfb79 Fix segfaults that can occur if a malloc failure happens just before
a built-in function calls sqlite3_value_text(). (CVS 3874)

FossilOrigin-Name: 9cb0ed6ee9827bc6884a0195044d5b6ad0de698e
2007-04-25 18:23:52 +00:00
drh
1eb2538a33 Be careful not to use the result of sqlite3_value_blob() after changing
the representation of an object.  Ticket #2290. (CVS 3834)

FossilOrigin-Name: e14374e4e6f14a90ecb53c2e7c86908a220c6d68
2007-04-10 13:51:17 +00:00
drh
309b338673 Added TRIM, LTRIM, and RTRIM functions. (CVS 3698)
FossilOrigin-Name: 6fe13eeade4fc7099fbda1e6520640927c08debc
2007-03-17 17:52:42 +00:00
drh
26b6d90d74 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)

FossilOrigin-Name: c2fe746ea782f84e850aaf3af7f5536b027a19a1
2007-03-17 13:27:54 +00:00
drh
137c728f5a Replace the randomHex() function with separate functions
randomBlob() and hex(). (CVS 3620)

FossilOrigin-Name: f5ad74a9bc57e83c11beb3cf46bb6cd8c9de3f86
2007-01-29 17:58:28 +00:00
drh
63cf66f02e Add the randomhex() function as a built-in. (CVS 3619)
FossilOrigin-Name: a6001589ab1349f7a6b4af941e9e0fd73d13c1c0
2007-01-29 15:50:05 +00:00
drh
b7481e70c5 Add the sqlite3_overload_function() API - part of the virtual table
interface. (CVS 3426)

FossilOrigin-Name: aa7728f9f5b80dbb1b3db124f84b9166bf72bdd3
2006-09-16 21:45:14 +00:00
drh
bdf67e0efe Fix for the (unsupported) soundex algorithm so that it conforms to Knuth.
Ticket #1925.  Test cases added. (CVS 3358)

FossilOrigin-Name: 7810d1abf611ce40dd0de45610269359a8ca9222
2006-08-19 11:34:01 +00:00
danielk1977
65fd59f731 A few more test cases to improve coverage of virtual table module related code. (CVS 3292)
FossilOrigin-Name: 255aa9121a2ef4fec7fa5523e52969acc96f4b40
2006-06-24 11:51:33 +00:00
drh
fdb83b2fa1 Add the load_extension() SQL function. (CVS 3269)
FossilOrigin-Name: e08e2ddafe909ae6073ec56dfa3fdca23e36bf2e
2006-06-17 14:12:47 +00:00
drh
88897a72e9 The (unsupported) soundex() function returns '?000' when given a NULL.
Ticket #1845. (CVS 3233)

FossilOrigin-Name: 9372481f233e1563b5ee137535f0fbf19851ffad
2006-06-13 19:26:10 +00:00
drh
7f3759015a The optimizer recognizes MATCH operators and allows virtual-tables to make
use of them. (CVS 3232)

FossilOrigin-Name: 136bed496b89943522310ec511199b78198d0844
2006-06-13 17:38:59 +00:00
drh
c806d8570e Fix comments on the implementation of the SUM() function. (CVS 3183)
FossilOrigin-Name: a8909f3e5fc67ac1ba7d1abd7fb0f4004fec5984
2006-05-11 13:25:39 +00:00
drh
502b962b2d Avoid the use of atof(). Ticket #1756. (CVS 3168)
FossilOrigin-Name: 76aef93c3e113b0077f534a437a339be2b15ca3d
2006-04-07 13:26:42 +00:00
drh
3752785f93 Fix some compiler warnings. (CVS 3140)
FossilOrigin-Name: 6c5175bc0f98e4ce715b099394f3fdc878ed82e8
2006-03-16 16:19:56 +00:00
drh
d589a92a26 Change the ROUND() function to return a REAL value instead of TEXT.
Ticket #1699. (CVS 3116)

FossilOrigin-Name: 9dbadfb2111f7d7f971e1832db3992ed5851d8b1
2006-03-02 03:02:48 +00:00
drh
874abbed68 Make sure the random() function always returns a value that can be passed
to abs(). (CVS 3109)

FossilOrigin-Name: 5d2e7ea01989fc9ba2c79d192760bc29f8cab463
2006-02-23 21:51:12 +00:00
drh
52fc849a3c 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)

FossilOrigin-Name: 942c509595a2a300e798e6b048ad7fc3bc54af43
2006-02-23 21:43:55 +00:00
drh
8c08e86187 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)

FossilOrigin-Name: 1c3e6002cd9fd5d30e197448c4d98cdd59163cac
2006-02-11 17:34:00 +00:00
drh
29d7210819 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)

FossilOrigin-Name: 9e04f8fdf1ec0dc36effb55c05d075b3b4777fef
2006-02-09 22:13:41 +00:00
drh
cf85a51c2a 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)

FossilOrigin-Name: 44bd7ba432123ec77904b862d11521f4ab96d2cf
2006-02-09 18:35:29 +00:00
drh
76c730c18f Integer overflow in SUM causes an exception. Ticket #1669. (CVS 3064)
FossilOrigin-Name: c72b946198128cbceb12dffbdf4706d9fda0fd72
2006-02-09 17:47:42 +00:00
drh
fc6ad39cf8 Avoid overflowing the 48-bit mantissa of a floating point number when
summing large integers in the SUM() function.  Ticket #1664. (CVS 3061)

FossilOrigin-Name: a9169e879de5d5e4192d1681bc3e119fb83e739c
2006-02-09 13:38:19 +00:00
danielk1977
771151b67f Various fixes that allow the malloc() failure tests to pass again. (CVS 2963)
FossilOrigin-Name: 0505405fb9ae1068b7976718efbf2aabd07592d4
2006-01-17 13:21:40 +00:00
drh
a97fdd3bfc 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)

FossilOrigin-Name: a7f528ff3446d50b280fb0b85063879e3ac5751a
2006-01-12 22:17:50 +00:00
danielk1977
14db26653a Fix some errors to do with attached databases and text encodings in shared-cache mode. (CVS 2895)
FossilOrigin-Name: 3e75d3d5efebc0dfff1adfc13d85e85ec39db3eb
2006-01-09 16:12:04 +00:00
drh
198bf39128 Changes so that SQLITE_OMIT_PARSER and SQLITE_OMIT_DISKIO work. (CVS 2878)
FossilOrigin-Name: 9d71b7deaffdd7eb9ddad1f03df3e4c51c2cbd98
2006-01-06 21:52:49 +00:00
drh
2646da7e52 Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810)
FossilOrigin-Name: 83a59151559d9496d4f546e03e65087ea974717d
2005-12-09 20:02:05 +00:00
danielk1977
f744bb56a1 Modify ATTACH and DETACH to execute at runtime instead of compile time. (CVS 2803)
FossilOrigin-Name: 5e04ec694add7a8331e3d6fbdfcaed51349ae7bc
2005-12-06 17:19:11 +00:00
drh
b37df7b928 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)

FossilOrigin-Name: a0bdb584680ce6400d9e8c57db9d91197cc7b776
2005-10-13 02:09:49 +00:00
drh
c2bd913a40 SUM returns NULL when it has no inputs. Ticket #1413. (CVS 2678)
FossilOrigin-Name: 6281859425d39c11d82875301fefafad1f08416d
2005-09-08 20:37:43 +00:00
drh
3f219f46fc 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)

FossilOrigin-Name: 2e6230edfd651b40481ebad8aa01a22ac92ce80c
2005-09-08 19:45:57 +00:00
drh
3d1d95e625 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)

FossilOrigin-Name: 21adf4bd99e732650a1e8e9a1cc954126983a654
2005-09-08 10:37:01 +00:00
drh
abfcea25ea Cleanup the processing of MEM_Agg elements. (CVS 2660)
FossilOrigin-Name: 7ecf3654aa9a275a4cf0c3ec5f63a8c1e0a11fc9
2005-09-06 20:36:48 +00:00
drh
d64fe2f374 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)

FossilOrigin-Name: ef84ff795c85e9d28f1cac84ff42d8d4ef84cfc4
2005-08-28 17:00:23 +00:00
drh
9cc5abd769 Fix comment in vdbeapi.c. Remove unused structure definition from func.c. (CVS 2629)
FossilOrigin-Name: 51a381345db45967567dd0a18905d352bf1081e0
2005-08-27 13:16:32 +00:00