drh
ad99243846
The floating-point-to-text conversion with the zero-padding option now
...
renders NaN as "null".
FossilOrigin-Name: ad59fa17663bda54ec5d4e48ac24e04b87daa70c795d840cd8db382e2dd581b9
2023-03-22 16:55:35 +00:00
drh
667b5cc985
Fix json rendering so that it shows positive and negative infinity as
...
9.0e+999 and -9.0e+999 respectively.
FossilOrigin-Name: efce4690a52592c4f5fc7d023eebe771b0e615bb03c0fe203493f853b28e8f85
2023-03-17 20:31:24 +00:00
drh
0f8aebbfcf
Performance optimization on sqlite3_vsnprintf().
...
FossilOrigin-Name: 4430e6e96dbf3d0b464776c132838dd3e456716e0ae5972fc7e0ece13b56ea25
2023-02-25 12:50:54 +00:00
drh
4b04ced3e0
Fix an incorrect optimization that was attempted as part of
...
check-in [18de3a8e6b431a07].
FossilOrigin-Name: f32055e8110a2eac6c9e26d1d1e620f0668bcb475d49d309dc549cea05e1e582
2023-02-24 01:08:35 +00:00
drh
ed530c0221
Omit unnecessary branches from the enhanced floating-point conversion
...
logic.
FossilOrigin-Name: 32b0ba0d27481d85a4b0037ec36befcbffecdec75891eba58569acb160045553
2023-02-23 22:08:22 +00:00
drh
4df23a3248
Increased precision of floating-point to decimal conversions when the
...
floating point value has no fractional part.
[forum:/forumpost/d1387c3979c7f557|Forum post d1387c3979c7f557]
FossilOrigin-Name: 18de3a8e6b431a075143631eafdcf0e1b1a21868b417394c365d46d2feca10b5
2023-02-23 21:18:47 +00:00
drh
79b9bc4452
More efficient implementation of large precisions on the "%c" format for
...
the built-in printf(). This is an effort to avoid a reported
timeout on a (ridiculous) query generated by OSSFuzz.
FossilOrigin-Name: 371f9b88387a44a5f820279d79733d1deb7eafc72f320ec47a11679bbdbb49ef
2022-12-21 19:11:56 +00:00
drh
077e17b59a
Increase the size of loop variables in the printf() implementation to avoid
...
harmless compiler warnings.
FossilOrigin-Name: aab790a16e1bdff78759f9c9ae87a2559ba82dd34ef3dedfb66035a0db7067a7
2022-07-18 15:02:00 +00:00
drh
a6e8ee12e2
Redefine the acccess rules for the Expr.w union so that the Expr.w.iJoin
...
member is accessible on either EP_OuterON or EP_InnerON.
FossilOrigin-Name: 6f741d6cfb8831a3ac966257ac4519bcc8156293447bf50323c2d9b170125974
2022-05-13 16:38:40 +00:00
drh
67a99dbee8
Improved names for flags on the Expr object: EP_FromJoin becames
...
EP_OuterON and EP_InnerJoin becomes EP_InnerON.
FossilOrigin-Name: 1ffea07ff98b894729c698b681cc7433df3bbfccd8a0529a706908602a636937
2022-05-13 14:52:04 +00:00
drh
da653b897d
Improve EXPLAIN QUERY PLAN output and comments on bytecode listings by
...
distinguishing between "subquery" and "join" and using consistent names
across EQP and bytecode.
FossilOrigin-Name: a2d3ee92420ec564e31eb0005367cf7ff3d00bfaed5a98ffdbe17c91c95d9d97
2022-04-22 17:36:10 +00:00
drh
5d20a21814
Fix unreachable branches in the sqlite3_error_offset() logic.
...
FossilOrigin-Name: 031381aea371892a35737e550121846af41241711a36c1a2086af3b0c11bf7b6
2022-02-06 23:54:41 +00:00
drh
62fc069eb4
Further improvements to localization of errors in input SQL.
...
FossilOrigin-Name: fa34676042720161ca03f3926814152eb1d144ec12fd2b44e5429408ea4ad5b0
2022-02-06 00:30:04 +00:00
drh
4f77c9208a
Enhance sqlite3_error_offset() to report the position of unresolved
...
identifiers.
FossilOrigin-Name: 5b8d2577907abda10de29884716bacc10bff0df1451228a0ac40342dbea6d589
2022-02-05 23:11:19 +00:00
drh
f62641e91c
Add the sqlite3_error_offset() interface. Use it in the CLI to provide
...
better context for error messages.
FossilOrigin-Name: b518ce77439852759bc0901071f36d622b1314c9bf3d29c279dfcc405188b975
2021-12-24 20:22:13 +00:00
drh
ef95d5583b
Factor out the logic that does quoting for the SQL quote() function, so that
...
it might be reused for other purposes.
FossilOrigin-Name: 8e98ba1eeb1a5a61b7cb2de337ef8bca3d07494266a50d62b9c6bc60ad0a955f
2021-12-10 21:01:24 +00:00
drh
5bf4715e01
Add the sqlite3ResultStrAccum() internal interface to simplify the
...
the implementation of functions that return strings.
FossilOrigin-Name: e548e9299d3fd6ce5b647cf0dd93ff8e917a5eda43076c6a02389c52640e2e50
2021-10-03 00:12:43 +00:00
drh
f06db3e892
Fixes to the version of "varsep" group_concat so that (1) it builds under
...
separate compilation and (2) omits tabs in source code and (3) runs faster
than trunk. This variant of the group_concat_varsep branch might be preferred
over the tip because it preserves (undocumented) legacy behavior about the
position of separators relative to terms.
FossilOrigin-Name: 04399cf9645e04b171090ff8a3c27752929c10d2cd8778e26f8f3337aa902ab6
2021-10-01 00:25:06 +00:00
drh
5191ae06ab
Add an ALWAYS() on a branch that is always taken.
...
FossilOrigin-Name: 0646d2260c523d368e3f6bc3d110a9011d35ce83bd6751ad412d8fd9a253cb7a
2021-03-23 21:02:24 +00:00
drh
2f2091b10e
Use the canonical name, not the AS name, when showing the MATERIALIZE or
...
CO-ROUTINE lines for a CTE.
FossilOrigin-Name: 1b83e232c490fe6e9f999d30399faebfac6094bf940dc21dc459ed2c97657cb2
2021-03-20 15:46:01 +00:00
drh
8210233c7b
Revise tests cases to align with the new EXPLAIN QUERY PLAN output.
...
FossilOrigin-Name: 50fbd532602d2c316813046ed6be8be2991c281eb5f295c4c28520a0de73862c
2021-03-20 15:11:29 +00:00
drh
6610e6a54f
Further simplification of the EQP output. Only show "SUBQUERY n" if the
...
subquery is anonymous.
FossilOrigin-Name: 1fadd30525dbf22678ba014b78af3a0fb33047692f073b7c62a90a028081ac48
2021-03-19 19:44:56 +00:00
drh
a979993b25
Improved labeling of EXPLAIN QUERY PLAN output. Many test failures due to
...
the different output format.
FossilOrigin-Name: 6f8faec0222a7ca07cc1a5ed16cc08d92c6e20bbcb34851b4eff9e624de53601
2021-03-19 13:00:28 +00:00
drh
bb05976dac
Cast a string size variable to 64-bit to avoid any possibility of
...
integer overflow.
FossilOrigin-Name: a5940294b2ac8d157d7fa72f65ee70b713f7feb8a0a98d7f47e71acd1b6942b1
2021-03-02 21:07:41 +00:00
drh
7601294ad3
Rename the "struct SrcList_item" object to the more succinct "SrcItem".
...
This is a symbolic change only. The logic is unmodified.
FossilOrigin-Name: bfd5bf2c73110fcb36db9ba2a949ff516131fbd3e89325f88fe9f5c2b4ed87b2
2021-02-21 21:04:54 +00:00
drh
e2678b93af
Fix a couple of unreachable branches.
...
FossilOrigin-Name: f2d26f2b11317abd4f993faa1a4df7afcd1a2d4e448ecc69ca05e9ebf102cd62
2020-08-28 12:58:21 +00:00
drh
08b9208660
Fix harmless compiler warnings that surface in newer versions of GCC.
...
FossilOrigin-Name: 9d670a318381f219b467653f5f9539097808b887ae37291ce13be462dedfb18d
2020-08-10 14:18:00 +00:00
drh
b6907e2993
Extra assert() statements in the printf() logic.
...
FossilOrigin-Name: b1b182be2ab34cec1d94c5570bc361331a34f727eb9fa4aadfabb7f1ef79f83e
2020-05-25 15:41:03 +00:00
drh
dd6c33d372
Limit the "precision" of floating-point to text conversions in the printf()
...
function to 100,000,000. Fix for ticket [23439ea582241138].
FossilOrigin-Name: d08d3405878d394e08e5d3af281246edfbd81ca74cc8d16458808591512fb93d
2020-05-23 19:58:07 +00:00
drh
d924e7bc78
Use the sqlite3Realloc() interface internally, rather than the public
...
sqlite3_realloc64() equivalent, to avoid unnecessary calls to
sqlite3_initialize().
FossilOrigin-Name: 1313557b512297e7b75ed748894379b2022aecf696d5a58318e46a668321c1ff
2020-05-17 00:26:44 +00:00
mistachkin
a8e41ecaca
Enhancements to long-path support in the Win32 VFS.
...
FossilOrigin-Name: 0119d96decd344ae711388ac8475b92464a6d018ecf73862170f137410036dac
2020-05-15 01:18:07 +00:00
drh
ef7d5187a7
Improved rounding even on systems with an 8-byte "long double" type.
...
FossilOrigin-Name: 15202aee150fa8e15fb90e90e5765c5e19a1eaf4896da2996a747636b76da8e6
2019-05-27 00:29:15 +00:00
drh
a0ed86bc37
Improvements to rounding behavior in the round() and printf() functions.
...
FossilOrigin-Name: 641b2d210541b4d5a1a9e57d7dcf5ce5dfd7ff4d2dc6277ba0582869f48fc946
2019-05-24 22:58:16 +00:00
drh
c3dcdba387
Improved reporting of SQLITE_TOOBIG errors while parsing.
...
FossilOrigin-Name: ea2d4b65e20e44e19219c821bf68e97ff3af1760b3b4762250d020ba2a5a6343
2019-04-09 21:32:46 +00:00
drh
255a81f10a
Modify sqlite3_str_finish() and sqlite3VMPrintf() so that they always
...
return NULL on any OOM or SQLITE_LIMIT_LENGTH error.
FossilOrigin-Name: e7144ffd21294d7aebbfa6aa5a262797a6d16de11193f1bf6b75f5f27b04c940
2019-02-22 15:42:10 +00:00
drh
7ba03ea15a
Slight adjustment to the printf formatter large memory allocation detector
...
so that it does not overestimate the amount of space needed for
oversize %d conversions.
FossilOrigin-Name: 1aee70d6de8a9b17ebb74a7cb1dad65139cde1b615dcce4d15d3a476fda8676b
2019-02-01 21:08:27 +00:00
drh
2964225247
Prevent the printf formatter from doing large memory allocations - larger
...
than either the size of the static buffer for interfaces like
sqlite3_snprintf(), or larger than SQLITE_LIMIT_LENGTH for interfaces that
are associated with a database connection. This helps to prevent DOS
attacks on products that let hostile sources inject arbitrary SQL. It also
helps fuzzers run faster and more effectively.
FossilOrigin-Name: 179e5d46054e5c86f53a79b7a0823d9a383da8391ad1d3c3b22645927a1e052b
2019-02-01 20:29:04 +00:00
drh
9a6d01bff5
Performance improvement in the parsing of options to %-formats in the
...
printf implementation.
FossilOrigin-Name: 40d8f8ae87abf928542c4e558a4c3a3eab18776a3e8db7ca1c5e5f744ca0bce3
2019-02-01 18:46:41 +00:00
drh
af524a6343
Make sure the %z optimization for printf() is not invoked if there has been
...
a prior error (SQLITE_NOMEM or SQLITE_TOOBIG) associated with the same
printf() call.
FossilOrigin-Name: a2304a3474b0ca35eee0af64286ce2f7cb24d181323e128d5f04f7fe6e1c0980
2018-09-13 17:07:12 +00:00
drh
3e62ddbf13
Fix a harmless compiler warning.
...
FossilOrigin-Name: 8d02c7a6a09f7520ad180b0d943db475894cd39b0ccdb2ad2c44009d5f25c8a6
2018-05-30 00:59:09 +00:00
drh
f80bba9d8d
Enhance the sqlite3_str_new() interface so that it always returns a valid
...
and non-NULL pointer even in an OOM condition.
FossilOrigin-Name: ed5b09680fd6659ebbe5ace3c1c56f3962bbd75cfdf65c7565651900cf87917a
2018-05-16 15:35:03 +00:00
drh
446135d724
Fix minor problems with the sqlite3_str interface.
...
FossilOrigin-Name: 43ea8a6836ccb9910314d35e07d881694200c97ef5969629f62e49f7a2a42f92
2018-05-09 14:29:40 +00:00
drh
0cdbe1aee0
Make the internal dynamic string interface available to extensions using
...
the new sqlite3_str object and its associated methods. This is mostly just
a renaming of internal objects and methods to use external names, through
there are a few small wrapper functions.
FossilOrigin-Name: 87f261f0cb800b06ad786f6df16f2c4dddd0d93dfdcc77b4a4eaa22920b56bf1
2018-05-09 13:46:26 +00:00
drh
cc398969e0
Optimize calls to sqlite3_mprintf("%z...") so that they attempt to append
...
text onto the end of the existing memory allocation rather than reallocating
and copying.
FossilOrigin-Name: 4bc8a48e644562f6e6192f4c6fc4a70f6bb59f8126ed6c6dc876bedf65d74cda
2018-02-20 15:23:37 +00:00
drh
a15a7c352c
Printing a value of 0 using %c terminates the string.
...
FossilOrigin-Name: 255612f0a131f2f522cbca3cc5a1edcf7e38938abca25ba421e7e38a422db9c9
2018-02-19 21:58:16 +00:00
drh
cf7c8370d1
Test cases and a bug fix on the new unicode handling in %c.
...
FossilOrigin-Name: e41d64e95b9b6fec5dc329553822925e7d648a41912b420cfa1ba198736e6bab
2018-02-19 20:23:20 +00:00
drh
136102beda
Fix the %c substitution in printf() so that it works with unicode characters.
...
FossilOrigin-Name: c35be1d9e9132fbadc74d207c1088e5a710a151c0835c38a63bf3c8e6fd711a0
2018-02-19 18:56:52 +00:00
drh
57e3ba7623
Make the alternate-form-2 flag ("!") change the meaning of width and precision
...
from bytes to characters for the %q, %Q, and %w extensions of printf().
FossilOrigin-Name: 391540acbea34eb88c75b1152b458d8936b3fdfff47633b9ec897775b015ba4c
2018-02-19 18:03:10 +00:00
drh
62856465f2
In the printf() library, measure width and precision in characters rather
...
than bytes if the "!" (alternate-form-2) flag is present on a %s or %z
substitution.
FossilOrigin-Name: ca31c6630422fca70e626dd38aae96296bd8535d491ca52391624a5e7e663636
2018-02-19 17:03:23 +00:00
mistachkin
4a9ff91852
Make it possible to use OSTRACE for multi-process testing.
...
FossilOrigin-Name: 0a7d416c4c43632725dc89cda8667cd9726b5152ee4692e4d0c9e2031e60cfb4
2017-11-09 17:29:04 +00:00