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

292 Commits

Author SHA1 Message Date
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
drh
5517625960 Remove dead code from the lemon-generated parser. Better testing
of the sqlite3_file_control() interface, and in particular make sure
the interface works on :memory: databases. (CVS 4738)

FossilOrigin-Name: 83ca4fc7dc18d6deca58fe4181905eb9754e03da
2008-01-22 14:50:16 +00:00
drh
ca48c90f60 Remove the OP_HexBlob instruction and code OP_Blob directly. Reduce
the amount of memory allocation required to encode blob literals.
Remove the "out2" instruction type.  Other minor optimizations. (CVS 4726)

FossilOrigin-Name: 0e50c0200a3c1c04e63cbb55a7255cdbbd225347
2008-01-18 14:08:24 +00:00
drh
598f134020 Floating point and 64-bit integer constants store in the virtual
machine opcodes in binary, not as text.  Performance improvement.
Ticket #2733. (CVS 4507)

FossilOrigin-Name: 7e30fd6a09899842c922b044714dc66796e545d4
2007-10-23 15:39:45 +00:00
danielk1977
b8cdbec246 Allow sqlite3GetInt32 to recognize 10-digit decimal numbers as 32-bit. (CVS 4362)
FossilOrigin-Name: 7571345d2078fb52029f9b9924d833ec36d443e6
2007-09-01 10:01:12 +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
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
drh
b6a9eceab2 Change the name of sqlite3_atoi64 back to sqlite3Atoi64 so that it is clearly
and internal API.  Modify the amalgamation to use a macro SQLITE_PRIVATE
instead of the keyword "static" so the macro can be overridden to by nothing. (CVS 4124)

FossilOrigin-Name: 96190cf13dd7219f483308fea92d703328aac4c7
2007-06-26 00:37:27 +00:00
drh
217f49093c Rework the string to integer conversion logic to address tickets
#2344 and #2454. (CVS 4123)

FossilOrigin-Name: 5b3a490649ab88c168e3e5bf2efbc7f61b1b954d
2007-06-25 17:28:00 +00:00
danielk1977
2be2be92c4 Avoid passing a negative value to isspace() in a couple places. (CVS 4016)
FossilOrigin-Name: d5db8be3680e16a74edb385dfa3730c66d5f4fd6
2007-05-16 17:50:45 +00:00
danielk1977
1cc5ed8150 Change a few selected functions to macros to speed things up. (CVS 4015)
FossilOrigin-Name: 93f811ec747f6a42daf9ee27cd8b013f248552a1
2007-05-16 17:28:43 +00:00
drh
7e326c09c2 Make sure pParse->rc gets set whenever sqlite3ErrorMsg() is called. This is
added insurance that parsing will stop quickly after an error.  This change
did make the parser stop faster in some cases, which required some revisions
to tests. (CVS 4010)

FossilOrigin-Name: f84d9dab110c4415d9b772f8043397640162b6b2
2007-05-15 16:51:37 +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
a315289571 Refactoring. Split btreeInt.h off from btree.c. Split malloc.c off from
util.c.  Expect much more to follow. (CVS 3925)

FossilOrigin-Name: 16041116aaaa2d52a289aa02a24bef579ba60896
2007-05-05 11:48:52 +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
05f7c19a6e Test coverage improvements. Over 90% of branches are now executed in
both directions. (CVS 3820)

FossilOrigin-Name: a776d93ccae3bfa6e992cdd1387571dd21561f98
2007-04-06 02:32:33 +00:00
drh
e1521f4c05 Remove unreachable code from util.c. (CVS 3784)
FossilOrigin-Name: 82b7a6f05c737f6ad4a21f354e55ec268fa1b032
2007-03-31 22:33:48 +00:00
drh
cf64372910 More strict aliasing fixes. The single source file library now runs
successfully with -fstrict-alias. (CVS 3725)

FossilOrigin-Name: c8a8a189a82500aab501e9949f5b197c0b80b3a9
2007-03-27 13:36:37 +00:00
drh
4f0c587819 Modify sources to that they can be combined into a single sqlite3.c source
file.  Eliminate all type-pruned pointer warnings. (CVS 3722)

FossilOrigin-Name: 0b832e218ec12b0eb559e407d80aba6709e2ea85
2007-03-26 22:05:01 +00:00
danielk1977
3b8a05f681 Modify the interface to the pager sub-system in preparation for performing IO in blocks based on sector-size, not database page-size. (CVS 3705)
FossilOrigin-Name: 7dc7658887046f066b564a5994578074a99756ba
2007-03-19 17:44:26 +00:00
danielk1977
8d848d1da3 Check for multiple calls to sqlite3FailedMalloc(). Ignore the second and subsequent calls. (CVS 3691)
FossilOrigin-Name: 7180874592ffcaf8e2fe3c3b6b37449654da709b
2007-03-15 15:33:31 +00:00
drh
4ac285a1c2 Add support for extended result codes - additional result information
carried in the higher bits of the integer return codes.  This must be
enabled using the sqlite3_extended_result_code() API.  Only a few extra
result codes are currently defined. (CVS 3422)

FossilOrigin-Name: ba579ddc4361fc6e8ea66f9385770d70dfe94751
2006-09-15 07:28:50 +00:00