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
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
drh
55ef4d9758 The case_sensitive_like pragma added.
Test cases added for the LIKE optimization. (CVS 2592)

FossilOrigin-Name: 72ee21c05e618b6f46f5460f8c85779c72fe32d7
2005-08-14 01:20:37 +00:00
drh
592ac8cb6c Make the round() function work correctly on numbers with very large exponents.
Ticket #1340. (CVS 2585)

FossilOrigin-Name: 4f47c3c884e38b810450b6127ab33c7b86e6743c
2005-08-13 03:07:47 +00:00
drh
e866fcb923 Use the internal sqlite3_snprintf function instead of sprintf to avoid
cross-platform incompatibilities.  Ticket #1316. (CVS 2545)

FossilOrigin-Name: 431999da7bf0079e0d514483b3bfd9f8471cba7d
2005-07-09 02:38:06 +00:00
drh
70031fa396 Add the SQLITE_CASE_SENSITIVE_LIKE compile-time option. (CVS 2539)
FossilOrigin-Name: b72bff81f9937378417a0af0610d8558279b67a7
2005-07-08 13:53:21 +00:00
drh
487e262f44 Remove the blob(), text() and numeric() functions added in (2524) and
replace them with the standard CAST operator.
Ticket #1287. (CVS 2527)

FossilOrigin-Name: 17631785f9ee8ab280c82677eb53886912e085bc
2005-06-25 18:42:14 +00:00
drh
5708d2deac Add built-in functions numeric(), text(), and blob() that coerce types.
Ticket #1287. (CVS 2524)

FossilOrigin-Name: affb0fa2e8c5ff497838ba3c2994cdb1f6f50c68
2005-06-22 10:53:59 +00:00
danielk1977
fd9a0a45a7 Move a few things around to make building without the parser easier. (CVS 2479)
FossilOrigin-Name: 5fadb464eb77b4b998d8555f83401769960ea904
2005-05-24 12:01:00 +00:00
danielk1977
fd9e1f3179 Add hook to register SSE user-functions. (CVS 2471)
FossilOrigin-Name: 20bd303e8c6f7e69ba82ce1dc3041ea4e02d55cf
2005-05-22 10:44:34 +00:00
drh
1f01ec1b7a Move the special built-in SQL functions used by ALTER TABLE out of func.c
and into alter.c. (CVS 2343)

FossilOrigin-Name: dbd11a0c581b447bb2f220a1a185d9fd36933ee3
2005-02-15 21:36:18 +00:00
drh
d0e4a6c11d Split the logic for the ALTER TABLE command off into a separate source
code file. (CVS 2342)

FossilOrigin-Name: 90d6573c2631fac92b9e572e9e21698ae2480c9d
2005-02-15 20:47:57 +00:00