shane
e025d1d7e5
Attempt to handle numbers at the limits of the IEEE 754 range better (nan.test now passes).
...
FossilOrigin-Name: 2a74ae1969aeec93576a44e11177677e6f3cea9c
2009-09-07 03:48:52 +00:00
shane
dcabfcee27
Changes to internal AtoF to improve "accuracy" when measured against built-in GCC atof().
...
FossilOrigin-Name: 438e1577d0f9ceb2851ee0df0df18f0229eca491
2009-09-07 02:46:31 +00:00
shane
6085f5e0a0
Updated sqlite3AtoF() that performs slightly better with GCC, and significantly better with MSVC.
...
FossilOrigin-Name: f084f5a8ba850de627ca8e9de6c81ab1ad9b7a1b
2009-08-21 02:13:14 +00:00
danielk1977
ee0484c1b5
Add the experimental API sqlite3_strnicmp(). Modify fts3 so that in terms like 'column_name:token' the column_name is interpreted in a case-insenstive fashion. Ticket #3996 . (CVS 6950)
...
FossilOrigin-Name: 4571aa9e9142db465ae8250b0adf27e0a094331a
2009-07-28 16:44:26 +00:00
drh
2de80f4c50
Remove the sqlite3Assert() function. The ALWAYS() and NEVER() macros call
...
assert() directly when compiled with SQLITE_DEBUG. (CVS 6809)
FossilOrigin-Name: d8fc373fef22311e1c6b5bce6d3e601217a69940
2009-06-24 10:26:32 +00:00
drh
94c3a2b16f
Use caution to avoid integer overflow when doing real to integer affinity
...
operations. Ticket #3922 . (CVS 6776)
FossilOrigin-Name: 392559465d499f491907ef7f42d37a1a6c699511
2009-06-17 16:20:04 +00:00
drh
85119c32ad
Remove a NEVER() that can sometimes occur on an OOM error. (CVS 6744)
...
FossilOrigin-Name: c27f23bbafd2e4fa453c8e3b83667ea8173183a7
2009-06-10 11:07:00 +00:00
drh
35cd643cc7
Take care that a corrupt variable-length integer does not cause 32-bit
...
integer overflow when parsing a record format, nor cause excessively large
memory allocations. (CVS 6719)
FossilOrigin-Name: 38b20327a80996c7044b88be32161ac4ac0ec3a9
2009-06-05 14:17:21 +00:00
drh
d6b8c43474
Code simplifications to facilitate coverage testing following the recent
...
changes to the Expr object. (CVS 6697)
FossilOrigin-Name: ee9a144d448a76f29c3ca03851c1aeef539068e2
2009-05-31 21:21:40 +00:00
drh
33e619fc1c
Additional refinements to Expr handling. Restore compression of trigger
...
expressions. Change Expr.zToken to Expr.u.zToken and added Expr.u.iValue.
Remove an unnecessary ExprDup from CHECK constraint processing. And so forth. (CVS 6682)
FossilOrigin-Name: 4ac2bdfbb4230b6ceaae87e738fa61036bbe03cb
2009-05-28 01:00:55 +00:00
drh
b7916a78ff
Simplifications to the Expr object: Remove Expr.span completely and convert
...
Expr.token into a char* Expr.zToken. Also simplify the Token object by
removing the Token.dyn and Token.quoted fields. (CVS 6681)
FossilOrigin-Name: 7cb1c3ba0759539cb035978fdaff6316775986f3
2009-05-27 10:31:29 +00:00
drh
b2f9efc3f0
Fix compiler warning found with gcc -Wextra. (CVS 6614)
...
FossilOrigin-Name: 93bdbc5e2f9771a30358cde03f0d3cb708d73d48
2009-05-06 19:03:13 +00:00
drh
dee0e404d6
Changes to facility full coverage testing of util.c. (CVS 6597)
...
FossilOrigin-Name: a612299092a48b38c5f9cf430bbcaf41777cbcb3
2009-05-03 20:23:53 +00:00
drh
24fb627afa
Record within the Token structure itself whether or not the token has
...
been dequoted. This steals one bit from the length of a token and
thus limits the size of tokens to 1GiB. (CVS 6589)
FossilOrigin-Name: 12bcb03d9b9e1a31c1a3c67cbb4263cc0af2f3d0
2009-05-01 21:13:36 +00:00
drh
52e2c35fb2
Get the behavior of SQLITE_HAVE_ISNAN right. It was reversed
...
in check-in (6517). Ticket #3809 . (CVS 6518)
FossilOrigin-Name: 97c6ea2368556b2a9a914ba2322085e312598b15
2009-04-17 15:18:47 +00:00
drh
cf9b1752cf
Add the SQLITE_HAVE_ISNAN compile-time option which, if present, causes
...
SQLite to use the math library isnan() function rather than its own homebrew
implementation of isnan(). (CVS 6517)
FossilOrigin-Name: 54d23521c37938b9d98f41f5547975c469c0c8f0
2009-04-17 11:57:22 +00:00
drh
d43fe20bc9
Suppress some compiler warnings (where possible). Ticket #3696 . (CVS 6331)
...
FossilOrigin-Name: a2373e5409e4e59903f315a4446db8cb6ba000cc
2009-03-01 22:29:20 +00:00
shane
fbd60f826d
Changes to completely remove all floating point ops if SQLITE_OMIT_FLOATING_POINT defined. Note that w/o fp, date/time, round, nan, etc. are all gone or limited in functionality. Updated some of the test scripts to support missing fp and 64-bit functionality. Ticket #3029 . (CVS 6250)
...
FossilOrigin-Name: 5cef400023205b55152b91441acc78f9cd8d58a9
2009-02-04 03:59:25 +00:00
danielk1977
78ca0e7eb4
When not compiling for an EBCDIC system, use built-in alternatives to the tolowe
...
r(), toupper() and other ctype.h library functions. Ticket #3597 . (CVS 6196)
FossilOrigin-Name: 1041abd6784d283bebf646c54e93599522f7889d
2009-01-20 16:53:39 +00:00
drh
47c3b3e099
When compiled with SQLITE_DEBUG (in other words, when assert() is enabled)
...
the ALWAYS and NEVER macros will throw an assertion if their arguments are
not true or false, respectively. (CVS 6159)
FossilOrigin-Name: 64a8dcd8d6152108809e4d10c459f1de5d36a435
2009-01-10 16:15:20 +00:00
drh
4f21c4af30
Fix an issue with the new sqlite3Strlen30() introduced by
...
check-in (6007). Additional casts for compiler warnings. (CVS 6011)
FossilOrigin-Name: 258722b6178f60eaccef1675aab3edc456d413a5
2008-12-10 22:15:00 +00:00
drh
1bd10f8a00
Additional work at eliminating silly compiler warnings. (CVS 6010)
...
FossilOrigin-Name: ea01d43788a75e39c7f03c22681d1a338d52cf0e
2008-12-10 21:19:56 +00:00
drh
aa78bec993
Get rid of more silly compiler warnings. (CVS 5996)
...
FossilOrigin-Name: 59ae0020683766993c38e2b76a436d78d3e4bd63
2008-12-09 03:55:14 +00:00
danielk1977
00e136135e
Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914)
...
FossilOrigin-Name: 8009220c36635dd9b6efea7dc13281ca9625c40a
2008-11-17 19:18:54 +00:00
drh
633e6d57d9
Implement the "lookaside" memory allocation cache. Use of this cache makes
...
the speed1.test script run about 15% faster. Added new interfaces to
control the cache. (CVS 5488)
FossilOrigin-Name: e48f9697e9fea339e150ddc32940760027dd07d9
2008-07-28 19:34:53 +00:00
drh
513c331df9
Use a new algorithm for sqlite3Strlen that is slightly slower but is more
...
like to work on a mixture of 32- and 64-bit systems. Ticket #3237 , #3248 . (CVS 5471)
FossilOrigin-Name: cb1876d8dc102be74be98dd57ac14ee67be8e8e2
2008-07-24 17:06:48 +00:00
shane
791ea93f68
Added comment on floating point precision compile option for MSVC. (CVS 5448)
...
FossilOrigin-Name: e20f2b8c6a13aa826703441cf340d0ee03bf9f64
2008-07-22 05:15:52 +00:00
drh
17a7fa68d1
Improved NaN testing for highly optimized GCC on x86.
...
Tickets #3202 and #3194 . (CVS 5396)
FossilOrigin-Name: a8a2fe45b21b405bb871e29540f98086b0c8f828
2008-07-11 16:19:09 +00:00
drh
34004cebb6
Additional test coverage for the btree module. Remove the failsafe() macro
...
and replace it with ALWAYS() and NEVER(). (CVS 5395)
FossilOrigin-Name: d7e2f0d2d45574d6191c1b191c0daf5260696f27
2008-07-11 16:15:17 +00:00
drh
93a960a0a8
Remove unused code. Test coverage enhancements. Modify the algorithm used
...
to select column names for VIEWs of joins so that the constructed column
names omits the underlying table names. (CVS 5386)
FossilOrigin-Name: 636cd723296a8b1709011fdd99b236ffddf3f1b0
2008-07-10 00:32:42 +00:00
drh
22c2403a1c
Begin adding the failsafe() macro. (CVS 5383)
...
FossilOrigin-Name: 8aae4fe7e702b7636fba1fd609a0ca22fdcc3371
2008-07-09 13:28:53 +00:00
drh
0a687d123e
Improved enforcement of the SQLITE_LIMIT_LENGTH limit. (CVS 5368)
...
FossilOrigin-Name: ee93150878436ce6e992ea8a1d348fb58b03b5e2
2008-07-08 14:52:07 +00:00
drh
8c4d5b252e
Fail to build if the -ffast-math option is specified in GCC.
...
Ticket #3202 . (CVS 5345)
FossilOrigin-Name: aa5be9ee935ae2a45d78405e26bba2385a52563a
2008-07-06 00:21:35 +00:00
drh
40257ffd0a
Progress toward implementation of sqlite3_config() and a rework of the
...
mutex and memory allocation subsystems. This is an incremental check-in. (CVS 5218)
FossilOrigin-Name: a03c5af115889f477e17187a198a7d2d40bc76bf
2008-06-13 18:24:27 +00:00
shane
022e8afe49
Removed all C++ style comments. Ticket #3172 . (CVS 5207)
...
FossilOrigin-Name: 59f72425eb9acd270110a6a739f98a045c555f23
2008-06-12 02:16:44 +00:00
drh
4b81592a28
Fix sqlite3Atoi64 to return true if handed a number of all zeros. The
...
failure to do this is benign as sqlite3Atoi64() is current used, but that
might change in the future so it is good to go ahead and fix the function
to return the correct result. (CVS 5142)
FossilOrigin-Name: bc90787583dd2dadff72d516de9720d4a36e7fd2
2008-05-19 15:54:59 +00:00
drh
cec3e3eeaa
Do a slow-path in GetVarint32() for varints that do not fit in 32 bits.
...
This will only happen when trying to interpret a corrupt database file
so speed is not critical. (CVS 5129)
FossilOrigin-Name: 6a6b9437367b66c3b6f710cf3abbdb9841765b21
2008-05-13 16:41:50 +00:00
drh
a06f17fe2e
New test cases to verify that SQLite handles bound NaN, +Inf, and -Inf
...
floating point values correctly. Improvements to the text->real conversion
routine so that it generates +Inf and -Inf at appropriate times.
Tickets #3101 and #3060 . (CVS 5116)
FossilOrigin-Name: 3ff2f1cdc9c57bca56de6cdc0ad5edc95b0606a0
2008-05-11 11:07:06 +00:00
drh
8a54f9f05c
Back out check-in (5108). The original isnan() implementation is preferred. Ticket #3101 and #3060 . (CVS 5109)
...
FossilOrigin-Name: 2349ae75dfdd626ed97db99ac6de4bdc5a395008
2008-05-09 13:47:58 +00:00
drh
47d22f6702
Change the implementation of sqlite3IsNaN() so that it works even if
...
compiled using -ffinite-math-only. Tickets #3101 and #3060 . (CVS 5108)
FossilOrigin-Name: 19ee2b3324461150d2c1600c67fe604114a1b69f
2008-05-09 03:07:33 +00:00
shane
356574e97a
Test versions of getVarint functions. The updates essentially utilize loop unrolling and some shifting/anding tricks to minimize the number of logical operations required. (CVS 5072)
...
FossilOrigin-Name: 682dc24dbe82d0326377e27c5ff97db3499873b0
2008-05-01 02:47:03 +00:00
shane
952856ad3a
Modified Varint32 functions to disable code for single-byte handling as it is already handled by their respective macro forms. (CVS 5062)
...
FossilOrigin-Name: be10f5dda6e9c245c05b51840c173e83ece6b245
2008-04-28 17:41:30 +00:00
drh
0de3ae95d5
Change the implementation of the NaN recognition to be more cross-platform.
...
Ticket #3089 . (CVS 5060)
FossilOrigin-Name: 07fd9a8c6ca0876f7ec447ce65173957005dc75c
2008-04-28 16:55:26 +00:00
drh
a0af99f91c
Make sure the database connection mutex is held before calling
...
sqlite3SafetyOn() or sqlite3SafetyOff(). Ticket #3059 . (CVS 5016)
FossilOrigin-Name: d35dea059e2cb936e4277f513f036b9b0bdfc4a5
2008-04-16 00:49:12 +00:00
drh
04924d89c7
Cleanup some #ifdefs to make their meaning clearly. No logical changes. (CVS 5001)
...
FossilOrigin-Name: b8bc5f3a83408375cfbff90e2c574fb8996dfbd9
2008-04-14 14:34:44 +00:00
drh
06fbb733b9
Faster implementation of hexToInt that uses not branches. Ticket #3047 . (CVS 4992)
...
FossilOrigin-Name: a70e9587569c99dd05e79c6745ff930aa31d763c
2008-04-11 19:37:55 +00:00
drh
35b5a33e24
Add the sqlite3PutVarint32 routine as an alternative to sqlite3PutVarint.
...
Gives 0.5% speed increase. (CVS 4968)
FossilOrigin-Name: b2517a7d8f7275943d44cc301f9d54fc8a4653e7
2008-04-05 18:41:42 +00:00
drh
335d29d208
Smaller and hopefully faster routine for converting blob literals into binary. (CVS 4967)
...
FossilOrigin-Name: 92d49499ee3371db64267c7e2ba72a5e12ea76f3
2008-04-04 15:12:21 +00:00
drh
345331507f
When a parse of the sqlite_master table fails, include the name of the
...
object being parsed as part of the error message. (CVS 4881)
FossilOrigin-Name: 57805b588f6b6d070918102a0ff096ade674279a
2008-03-19 13:03:33 +00:00
drh
7e8b848a60
Make sqlite3SafetyOn() and sqlite3SafetyOff() macros which disappear when
...
compiling without -DSQLITE_DEBUG=1. (CVS 4744)
FossilOrigin-Name: 5375ad6b4b652f388469b0ce4e8e78b3f49169bd
2008-01-23 03:03:05 +00:00