1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-12 13:01:09 +03:00
Commit Graph

415 Commits

Author SHA1 Message Date
danielk1977
1e5369531e More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233)
FossilOrigin-Name: 77b1671351fe94b0ebc126a63140643deae2aa64
2007-08-16 10:09:01 +00:00
drh
174357527a 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)

FossilOrigin-Name: deb7ecd65f7b83eaf0ba610eeef3b0ede61db1c3
2007-08-16 04:30:38 +00:00
danielk1977
e0fc52618c Fix two obscure memory leaks that can follow a malloc() failure in sqlite3_set_auxdata(). Ticket #2534. (CVS 4185)
FossilOrigin-Name: b88af1827bec3e8a32450dd0a073ffc3b12a5939
2007-07-26 06:50:05 +00:00
drh
6615095629 Rework the UTF8 reader logic in order to avoid the use of malloc().
Ticket #2523. (CVS 4175)

FossilOrigin-Name: 9a059cb6bced5cdc950f7816602ac92d89a899be
2007-07-23 19:12:41 +00:00
danielk1977
832a58a68c 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)
FossilOrigin-Name: 68677e420c744b39ea9d7399819e0f376748886d
2007-06-22 15:21:15 +00:00
drh
98640a3fa1 Make sure zeroblob does reasonable things with a negative argument or
an argument that is larger than the maximum blob size. (CVS 4048)

FossilOrigin-Name: f40218434e549144ddb48303df30e5191d44d3fc
2007-06-07 19:08:32 +00:00
drh
f076504b1c 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)

FossilOrigin-Name: 9b91502ef0ea9c0bfb8362c4b70314dc8449eb9e
2007-05-15 14:40:11 +00:00
drh
1f0feef80b 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)

FossilOrigin-Name: cf2dd45b58380de7f3e167b5357848d12872caa3
2007-05-15 13:27:07 +00:00
drh
4a919118d3 A new approach for UTF-8 translation. (CVS 4004)
FossilOrigin-Name: 6c8ad2790eaede90b3f1ef62614e667178b2a8c4
2007-05-15 11:55:09 +00:00
drh
f764e6fc3d The built-in substr() function applied to a BLOB counts bytes, not characters. (CVS 3997)
FossilOrigin-Name: 75d573080d03ee48fe88710f70c6875ff9cae19c
2007-05-15 01:13:47 +00:00
danielk1977
cdbd8eff21 Bugfixes for assert() failures found by fuzz.test. (CVS 3986)
FossilOrigin-Name: 2e80736d57fde55b112864d8b198a9a2fe0eaa38
2007-05-12 06:11:12 +00:00
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