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

201 Commits

Author SHA1 Message Date
drh
0ede9ebec7 Improvements to compile-time-option hygiene. Use "#if OPTION" instead of
"#ifdef OPTION" in cases where that makes sense, so that -DOPTION=0 will work.
Add the "Have-Not" configuration in releasetest.tcl which disables all of
the "HAVE_component" compile-time options.

FossilOrigin-Name: 9e92a5ed5aaba20461ed4ce8359d6e34e7773d68
2015-01-10 16:49:23 +00:00
drh
7b4d780b54 Use exponential buffer size growth in StrAccum, as long as the size does not
grow to large, to avoid excess memory allocation resize operations.  Also,
document the fact that setting scratch memory causes SQLite to try to avoid
large memory allocations.

FossilOrigin-Name: a518bc3318232d652349eb29303ff250aee40459
2014-11-03 14:46:29 +00:00
drh
7f5a7ecd21 When enlarging the size of a StrAccum object, use sqlite3DbMallocSize() to
record the entire size of the allocation, not just the requested size.

FossilOrigin-Name: 3dda3c937469ce661d1cd0e8d8963a03e698ee39
2014-11-03 13:24:12 +00:00
drh
af8f513f9d Fix the %c format character in sqlite3VXPrintf() so that it correctly
handles precisions larger than 70.

FossilOrigin-Name: 08a27440f19b7fc884464832e6105af1bf008172
2014-10-29 18:20:18 +00:00
drh
9ca95730e3 Add the SQLITE_ENABLE_API_ARMOR compile-time option. This is a work in
progress and is not yet completely functional.

FossilOrigin-Name: c297a84bc678f81ffc0aa9139ab73f0ca87c1971
2014-10-24 00:35:58 +00:00
drh
b7288e28e4 Disable the use of strchrnul() unless specifically enabled by compile-time
options.

FossilOrigin-Name: e580470db77d6da970c755102790e603fb26b3c6
2014-10-22 20:07:19 +00:00
drh
b08cd3f345 Improvements to the new syntax-tree output routines: Omit the "END SELECT"
mark and instead terminate the graph at the last item.  Increase the maximum
tree depth to 100.

FossilOrigin-Name: 5ce05757aac80b99c3b2141cd301809f8e28e661
2014-09-30 19:04:41 +00:00
drh
4fa4a54f7e Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative
debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(),
and sqlite3TreeViewSelect().

FossilOrigin-Name: 4ff51325d6b41d0c59e303b573700ec80c51d216
2014-09-30 12:33:33 +00:00
drh
4e7a479597 Only enable HAVE_STRCHRNUL by default on linux, as that is the only place
it appears to work by default.

FossilOrigin-Name: 0fac2c045f47c7735af4eb68ced81d8b43622a1f
2014-09-20 00:29:20 +00:00
mistachkin
33ac4c8bf5 Revise macro usage in 'sqliteInt.h'.
FossilOrigin-Name: 35db3e2f350ca2bc6bb9e1a647aec7f93bfb7065
2014-09-20 00:02:23 +00:00
drh
760b15984b Make sure of the strchrnul() library function on platforms where it is
available.

FossilOrigin-Name: ef1aa10b7f54912cba71cd0a98c5055d501de54f
2014-09-18 01:50:09 +00:00
peter.d.reid
60ec914c74 Fix typos in comments. No code changes.
FossilOrigin-Name: e62aab5e9290503869e1f4d5e0fefd2b4dee0a69
2014-09-06 16:39:46 +00:00
drh
172087fb73 Performance improvement in the printf() logic by avoiding unnecessary stack
pointer movement.

FossilOrigin-Name: f7f2160db014f0ae11ad13c8ad70ad3444124e3e
2014-08-22 15:40:20 +00:00
drh
7ef4d1c403 Fix a compile of harmless static analyzer warnings.
FossilOrigin-Name: 7e287f2055dcd82c92d1711aec97cb6552a354bb
2014-05-31 15:39:53 +00:00
drh
0e682099a1 Clean up some obsolete "register" declarations in printf.c.
FossilOrigin-Name: ecd9d3f9453be0bb8e312d8027fd1a9e55882f36
2014-03-17 15:06:57 +00:00
drh
a70a073b3f Performance enhancements and size reduction for sqlite3VXPrintf()
FossilOrigin-Name: eb071eb58cf675bd6cd9dd46aed9d57fbb7a77e8
2014-03-17 14:24:27 +00:00
drh
fc6ee9df22 Fix the formatting of %c in the printf() SQL function.
FossilOrigin-Name: 3375571a5e267744c19a7c310840256cec57a242
2013-12-17 15:58:42 +00:00
drh
a5c1416d64 Add the printf() SQL function.
FossilOrigin-Name: 6db7052eeefafdbf26b3153bc38600fecfb53ae6
2013-12-17 15:03:06 +00:00
drh
40f22bed06 Avoid unnecessary calls to sqlite3_free() from within sqlite3VXPrintf().
FossilOrigin-Name: e2a8b280e84c1f8fd6106d9427e1ad6cbcfccd10
2013-12-13 16:42:18 +00:00
drh
a9ab481fca Fix harmless compiler warnings.
FossilOrigin-Name: a7e5fcd66659750eb2f4675082df324e7cf35427
2013-12-11 11:00:44 +00:00
mistachkin
53cd964648 Fix harmless compiler warning.
FossilOrigin-Name: 2525296d919245ebb01077aad541e4ae6eab7940
2013-12-11 02:21:19 +00:00
drh
a6353a3f64 Performance optimizations for sqlite3VXPrintf().
FossilOrigin-Name: 9227ad48e1612b32a3a3e9551c49890f93abc0a7
2013-12-09 19:03:26 +00:00
drh
b49bc86a1a Simplification to the StrAccum object and the sqlite3StrAccumAppend()
method that also results in slightly better performance.

FossilOrigin-Name: 700dbbea8647e0fdaee6d0aba3d3dd8ebfbac04a
2013-08-21 21:12:10 +00:00
drh
e8c13bf262 Make sure an adequate number of digits are shown for binary-to-text rendering
of very small floating point values.

FossilOrigin-Name: 776e65f98ce80a8ed56cb73ef56c751702698612
2013-07-08 22:33:20 +00:00
drh
f7b5496e8e Many small harmless comment changes. Removal of obsolete comments and
fixing misspelled words.  No changes to code.

FossilOrigin-Name: a0d5cc9315dc6e9ef7dee4c3dfabf4e562d64376
2013-05-28 12:11:54 +00:00
drh
4ef9413028 Round-trip conversions of real->text->real are now lossless on x64 with GCC.
Untested on other platforms so far.  Still a corner-case problem with round().

FossilOrigin-Name: fd7bd4a59361be41b10522abc212cf56fb5e35b4
2012-06-19 03:35:05 +00:00
drh
72b3fbc7b5 Improved accuracy on text-to-real and real-to-text conversions. Most
conversions now round-trip correctly.  Still need to fix some corner
cases.

FossilOrigin-Name: 8ecffca900cd6a8922001fd458a266ce8c83fb66
2012-06-19 03:11:25 +00:00
drh
7e02e5e6b5 Begin adding the data-structure explaining subsystem. All is contained within
FossilOrigin-Name: 79ae51c5b1b20ed0a425a87e65a32a096a80b7e1
2011-12-06 19:44:51 +00:00
drh
b07028f71c Add assert() statements and eliminate needless variable assignments in order
to get the clang scan-build utility to report zero problems against the
SQLite core.  Clang's static analysis did find one real problem - but it was
in the command-line shell, not in the SQLite core.

FossilOrigin-Name: 60fee9574b0125705787e33c16f116cf188c8323
2011-10-14 21:49:18 +00:00
drh
ed1fddf462 Clean up obsolete comments in printf.c.
FossilOrigin-Name: 97ef4f5013731fa3a0f72451b7e8c9aec5523104
2011-10-12 18:52:59 +00:00
drh
59eedf7925 Remove all precision and width limits from formatting fields in the
sqlite3_mprintf() family of functions. Malloc for space as necessary.
The prevents a stack overflow on very large numbers using %f.

FossilOrigin-Name: 1f843fb383583ee7ef51c13b8a820744e450101a
2011-10-11 17:54:54 +00:00
drh
158b9cb965 Fix all known instances of signed-integer overflow. Within SQL expressions,
integer overflow now forces coercion to floating point.  The shift operators
work with any integer right-hand operand with negative values reversing
the direction of the shift.

FossilOrigin-Name: abf21394124a0af46f072793718964cee2ce55d0
2011-03-05 20:59:46 +00:00
drh
cfd654bf2a Fix an instance of signed arithmetic overflow and an one bit-shift overflow.
Mark six other signed arithmetic overflow locations that need fixing.

FossilOrigin-Name: 04abab71ecd52f6070b9f84781a3df3d6dba7722
2011-03-05 13:54:15 +00:00
dan
a9ef7097c7 Change sqlite3StrAccumAppend() to use realloc instead of malloc.
FossilOrigin-Name: 380f61df0754ceec6b3f6a758d04e951cce8c3d9
2011-01-21 18:25:29 +00:00
drh
db26d4c9e1 Add the sqlite3_vsnprintf() interface.
FossilOrigin-Name: fc67adea414320e0c0b24054f76070cfaeebb401
2011-01-05 12:20:09 +00:00
drh
b975598ea0 Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and
all memory from sqlite3_malloc() is freed by sqlite3_free().

FossilOrigin-Name: ac1f37a647e9ed1c00a901d26d9956a86c40117a
2010-07-24 16:34:37 +00:00
dan
60d4a30453 Fix for [9abd6aa831]. Do not overread a buffer used for an %q or %w conversion with a precision specifier.
FossilOrigin-Name: 5e472896e02eed05c6c0886a48acd0bdc7a38731
2010-03-04 17:58:45 +00:00
drh
69ef70362a Fix an uninitialized variable in printf when compiling with
SQLITE_OMIT_FLOATING_POINT.

FossilOrigin-Name: 14ad62b9a54dba5c5a2d4a994bcd4be6ab6e711f
2010-03-04 17:11:31 +00:00
drh
a64fa9123e Increase the maximum length of an sqlite3_log() result string. Provide more
details on the statement abort log message.

FossilOrigin-Name: 5322d1df5ba981001d248b7fb2ee02281e4f9723
2010-03-04 00:53:32 +00:00
drh
7c0c460fff Modify the sqlite3_log() interface and implementation so that it never
uses dynamic memory allocation - to avoid deadlocking when called while
holding the memory allocator mutex.

FossilOrigin-Name: 28d1bc98d60319b10af427072037a0121bc76259
2010-03-03 22:25:18 +00:00
drh
bee8065e37 Test coverage enhancements. Additional documentation detail on the new
sqlite3_log() interface.

FossilOrigin-Name: d986e9289388fd72257b26cb2f9c972177255cd4
2010-02-25 21:27:58 +00:00
drh
a756466349 Log all error messages if logging is enabled.
FossilOrigin-Name: a8076aede33c07e9a2aaa05be8a888f37b45e41c
2010-02-22 19:32:31 +00:00
drh
3f28070109 Add a new, experimental logging interface designed to aid in debugging of
deeply embedded projects that use SQLite.

FossilOrigin-Name: 103321e37ae46eacfad4e127d13477ad5dd02bab
2010-02-18 18:45:09 +00:00
drh
90038f8b07 When SQLITE_OMIT_FLOATING_POINT is defined, the floating-point formats in
the sqlite3_*printf() functions should pull an int64 off of the parameter
list and ignore it.

FossilOrigin-Name: 3fd6f9ad06b786116ca18c1e812363d30cd3060e
2010-01-13 16:43:27 +00:00
drh
c7bc4fde3c Initial check-in of code that inserts tokenizations of the values
for bound parameters into the output of sqlite3_trace().

FossilOrigin-Name: 545cfb3b63f482036ae152e6ebcce86d373585a8
2009-11-25 18:03:42 +00:00
drh
8965b50edf Enhance the %q, %Q, and %w printf conversions so that the precisions
specifies the length of the input.

FossilOrigin-Name: 3ba773132d3baeb87acaee538b8fb0b0f4293673
2009-11-25 16:53:37 +00:00
drh
c81c11f62c Remove the obsolete "$Id:$" RCS identifier strings from the source code.
FossilOrigin-Name: f6c045f649036958078cb15cd9d5453680c82b0c
2009-11-10 01:30:52 +00:00
drh
50d654da3b Additional changes to reduce stack usage. The SQLITE_SMALL_STACK compile-time
option is now available. (CVS 6708)

FossilOrigin-Name: baea79fd0cfeb860973846c3f2776776c87f0ae3
2009-06-03 01:24:54 +00:00
drh
eeb23a4c24 Make sure va_arg() does not occur on the same line as any "if" statement
or "?" operator. (CVS 6602)

FossilOrigin-Name: 3543be6e34ebff48b1b0c1710ae6fec557b09b52
2009-05-04 20:20:16 +00:00
drh
874ba04c73 Reconfigure the default case for the printf switch in order to improve
branch coverage. (CVS 6472)

FossilOrigin-Name: 3cc79162dbdbce9d08bb28942128780277101e0d
2009-04-08 16:10:04 +00:00