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
drh
bc6160b0d6
Remove a pair unnecessary conditions from printf.c. The "db" parameter is
...
now required for sqlite3MPrintf(). (CVS 6471)
FossilOrigin-Name: 6fe8b5d70247d9c6b70dd482db3990986be97e69
2009-04-08 15:45:31 +00:00
drh
7e3ff5d84e
Add a comment to printf.c - no changes to code. (CVS 6468)
...
FossilOrigin-Name: ee5a4a0e595a7b916db7d55d30ddfda0a8d40d90
2009-04-08 11:49:42 +00:00
drh
ea6788322e
Never use strlen(). Use our own internal sqlite3Strlen30() which is
...
guaranteed to never overflow an integer. Additional explicit casts to
avoid nuisance warning messages. (CVS 6007)
FossilOrigin-Name: c872d554930ecf221ac2be5f886d5d67bb35288c
2008-12-10 19:26:22 +00:00
drh
b27b7f5d3b
More explicit type casting to silence VC++. (CVS 6006)
...
FossilOrigin-Name: 14e6d19c3157ccdce170e769d678c7f472dd3db2
2008-12-10 18:03:45 +00:00
drh
17d46fc7f1
Make sure the error message handler is able to deal with NULL expression
...
spans. Ticket #3508 . (CVS 5949)
FossilOrigin-Name: ce36b6474a62f0a5b8d82968ca9a171f7143ae31
2008-11-22 18:28:50 +00:00
drh
d164fd3483
When a memory allocation fails on the %Q conversion in sqlite3_mprintf(),
...
make sure the error is reported back up the call stack. (CVS 5933)
FossilOrigin-Name: eebacbc9d7d0625dfbe6367046fa4a0ca9c04e74
2008-11-20 18:20:28 +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
9bc467267b
Remove unused variable from printf.c. Ticket #3331 . (CVS 5595)
...
FossilOrigin-Name: 7fd11f4ad8774e68f0a053eb2e1dd962a024da48
2008-08-22 14:08:35 +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
85e9e22b33
Increased test coverage. (CVS 5414)
...
FossilOrigin-Name: 7cf91e08c08ce515c24c738c7d079f5b81eebee6
2008-07-15 00:27:34 +00:00
drh
ff1590ee00
Write sqlite3_initialize() calls in sqlite3_malloc() within
...
SQLITE_OMIT_AUTOINIT. Ticket #3217 . (CVS 5408)
FossilOrigin-Name: 4961b0bbe8b9cf5fb27de7f2514e8ab399a00134
2008-07-14 12:52:53 +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
af005fbc13
Test coverage improvements on printf. (CVS 5385)
...
FossilOrigin-Name: 2d8f7bebf0f13f3a95f1e2163e35d43229cabfea
2008-07-09 16:51:51 +00:00
drh
f089aa459e
Completely rework the sqlite3SetString() primitive so that it honors the
...
SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374)
FossilOrigin-Name: 8ed04b1e26a55306e4baf3e93fb084514134d603
2008-07-08 19:34:06 +00:00
drh
9be071664d
Clean up obfuscated code in sqlite3_table_column_meta_data().
...
Be sure to invoke sqlite3_initialize() within sqlite3_mprintf(). (CVS 5224)
FossilOrigin-Name: bb4edb53964559fc1cd69700beb72ecc29b58f37
2008-06-16 20:51:15 +00:00
drh
e5ae5735c0
Continuing work on the new memory allocation subsystem.
...
Added routines for temporary memory allocation. Right the btree
balance mechanism to only do one temporary allocation at a time. (CVS 5220)
FossilOrigin-Name: 65fe7b62cfe7d11cd667681a64c96fe7b2fe5685
2008-06-15 02:51:47 +00:00
danielk1977
822a51628f
Add more version tags to files that lack them. Ticket #3120 . (CVS 5137)
...
FossilOrigin-Name: 81a8c70ed7a86abf286706fdbc251f31c9c53382
2008-05-16 04:51:54 +00:00
drh
e509094bee
Fix a potential buffer overrun in sqlite3_mprintf() when a non-terminated
...
string is passed to a "%s" format with a precision specifying the number
of bytes to copy. (CVS 5067)
FossilOrigin-Name: 1f5b18419bb4e2552ac26593381e2eb866bb67fd
2008-04-29 15:22:27 +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
b1a6c3c1cc
Reinstate test cases for the limit tests. The sqlite3_limit() API is now
...
tested and working. (CVS 4899)
FossilOrigin-Name: 4c4be4c3c8aae97f1d85442b25afba9f0b02c8b3
2008-03-20 16:30:17 +00:00
drh
bb4957f858
Initial implementation of per-connection limits and the sqlite3_limit() API.
...
The sqllimits1.test script crashes. SQLITE_LIMIT_PAGE_COUNT and
SQLITE_LIMIT_VDBE_OP are currently ignored. (CVS 4897)
FossilOrigin-Name: 60c77882b2de9f6a45f8bd87c9c6a0cc613f8373
2008-03-20 14:03:29 +00:00
drh
43f6e06460
Additional test cases for tkt2822. Fix a related bug in printf(). (CVS 4624)
...
FossilOrigin-Name: 8f184e40ff79c3c5ef98337615f58a4a6d0249dd
2007-12-13 17:50:22 +00:00
drh
9a99334d54
Towards getting ORDER BY to match against the correctin columns.
...
This version only looks at the left-most column in a compound SELECT.
That is the correct thing to do, but not what SQLite has historically done. (CVS 4620)
FossilOrigin-Name: bbddf16ac9539c7d48adfc73c5a90eecb8df6865
2007-12-13 02:45:31 +00:00
drh
bed8e7e565
Fix a bug in the debugging printf logic. (CVS 4600)
...
FossilOrigin-Name: 1d6a9f5fafb862fb31c8589fa118a5672bad6abd
2007-12-08 17:55:35 +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