Commit Graph

182 Commits

Author SHA1 Message Date
drh de4fcfdd7a Additional test coverage improvements. Test coverage now stands at 98.73%. (CVS 4731)
FossilOrigin-Name: 010f7b780cb9c8f21af9ce810494fbd2be98a13f
2008-01-19 23:50:26 +00:00
drh 85b623f2f9 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)

FossilOrigin-Name: 4e91a267febda572e7239f0f1cc66b3102558c36
2007-12-13 21:54:09 +00:00
danielk1977 bc67da48af Fix a 'const' issue in trimFunc(). (CVS 4608)
FossilOrigin-Name: 64787d78b99a549a87bc2baeff8ae87691612b77
2007-12-11 04:23:19 +00:00
drh 6ed4b78123 Fix a macro in func.c that causes problems for the amalgamation. (CVS 4605)
FossilOrigin-Name: 6adbe91efffc6b3f53dae87494430ede61d40ecc
2007-12-10 18:07:20 +00:00
drh b9175aed38 Get the LIKE and GLOB operators working again on systems using the
EBCDIC character set. (CVS 4597)

FossilOrigin-Name: 754298a74e3d889f3767daba058262613d20a601
2007-12-07 18:39:04 +00:00
drh ade8648301 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)

FossilOrigin-Name: 221aee72be040769e8026b91648f03c6366a8821
2007-11-28 22:36:40 +00:00
drh b0689696f2 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)

FossilOrigin-Name: 61987a89d1c4af59c745d1c5f17bab3301588b6c
2007-11-01 17:38:30 +00:00
drh 64f31519b7 Make the 3rd parameter of the SUBSTR() function optional. Ticket #2579. (CVS 4486)
FossilOrigin-Name: 4a807d48ea9923c1e3df4a5ad503710e62ae29f8
2007-10-12 19:11:55 +00:00
danielk1977 fa18bece7a Handle transient malloc() failures in sqlite3CreateFunc(). (CVS 4371)
FossilOrigin-Name: c0ce63196458c81e0859fc8a38f2dd2145a580bc
2007-09-03 11:04:22 +00:00
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