1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-10-21 11:13:54 +03:00
Commit Graph

523 Commits

Author SHA1 Message Date
danielk1977
d7d2f93cbb 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)
FossilOrigin-Name: 5842f68c1ba838f24e9ba02c818d308540d591a4
2007-09-01 17:00:12 +00:00
danielk1977
8601124d56 Fix the "test_destructor" test function in utf-16 mode. Fix for test failure in utf16 version of func.test. (CVS 4344)
FossilOrigin-Name: c073b78040e5833de038dea464ac87c7358b8b51
2007-08-30 16:30:27 +00:00
danielk1977
26783a58e2 Use the DbMalloc() and DbRealloc() functions more consistently. (CVS 4323)
FossilOrigin-Name: c790c234c369c6b7610e67dcaaa9eee347df729c
2007-08-29 14:06:22 +00:00
danielk1977
a1644fd863 Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321)
FossilOrigin-Name: e38ef81b85feb5bff2ad8448f3438ff0ab36571e
2007-08-29 12:31:25 +00:00
drh
4a50aac564 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)

FossilOrigin-Name: 21f6b31097692171c6493e6ca6de6acbd62dc595
2007-08-23 02:47:53 +00:00
drh
b21c8cd4f6 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)

FossilOrigin-Name: 9287276191a582c1cf7cf6b71d8399727d8e534d
2007-08-21 19:33:56 +00:00
drh
29278e3dbb Remove unnecessary #includes of "os.h". New mutex implementations. (CVS 4255)
FossilOrigin-Name: fbbd5bda544ffec4e1b43407b12e546235dc7873
2007-08-21 10:44:15 +00:00
danielk1977
c6cc77d368 Replace a few sqlite3_malloc() calls that should be sqlite3MallocZero(). (CVS 4234)
FossilOrigin-Name: 384d0ca9bc96309e7057e4a2bd4bac5049485e9b
2007-08-16 10:36:33 +00:00
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