SQLite

All files named ”src/printf.c”
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

History for src/printf.c

2025-06-16
15:34
[71b6d3a009] part of check-in [a29627d7e7] Make the show-%p-az-zero hack of the previous check-in configurable at run-time using the 0x100000 bit of either .treetrace or .wheretrace. As before, this is all a no-op except for debugging builds. (check-in: [a29627d7e7] user: drh branch: trunk, size: 47294)
13:51
[b3f5d5985a] part of check-in [65e2704c0b] Add an "#if 0" that can be changed to "1" to cause all %p output to render as 0, thus making comparisons of .treetrace and .wheretrace output easier. (check-in: [65e2704c0b] user: drh branch: trunk, size: 47389)
2025-04-17
17:46
[3b91c334f5] part of check-in [a64e8491c9] Increase the size of the output buffer for sqlite3_log(). (check-in: [a64e8491c9] user: drh branch: trunk, size: 47078)
2025-03-02
20:29
[33fc0d7643] part of check-in [b7c5ce8421] Ensure that detection of control characters by comparison against 0x1f uses unsigned characters. Forum post 4c344ca61f. (check-in: [b7c5ce8421] user: drh branch: trunk, size: 46804)
2025-02-25
12:18
[b373a8800e] part of check-in [17e440781e] Small performance improvement for the new %#Q conversion in printf. (check-in: [17e440781e] user: drh branch: unistr, size: 46780)
11:47
[b6056bd281] part of check-in [6208e49485] Consolidate two different UTF8 encoders into a single subroutine. (check-in: [6208e49485] user: drh branch: unistr, size: 46668)
2025-02-23
11:48
[743e31d168] part of check-in [997391d420] The %#Q conversion now adds unistr('...') around the converted string if escape characters were inserted. %#w now works just like %w as escape sequences inside of identifiers are not recognized. (check-in: [997391d420] user: drh branch: unistr, size: 47296)
00:09
[41f5ccdec1] part of check-in [ffbfcc2bbb] Enhance the %Q, %q, and %w printf conversions so that if the alternate-form flag # is present, they transform backslash and control characters into unistr()-style backslash escape codes. (check-in: [ffbfcc2bbb] user: drh branch: unistr, size: 46542)
2025-02-17
17:33
[b9ac740dfa] part of check-in [215650a5a1] Code changes that make it easier to prove that no 32-bit integer overflows happen during memory allocation. No problems fixed; this change is just to make future maintenance easier. (check-in: [215650a5a1] user: drh branch: trunk, size: 45807)
2024-11-20
11:34
[96f7f8baee] part of check-in [bf66c6dfc2] Do not report an sqlite3_error_offset() for errors that occur inside of views or triggers, since the text of those elements is not part of the original query. (check-in: [bf66c6dfc2] user: drh branch: trunk, size: 45802)
2024-11-13
14:42
[9480e90343] part of check-in [35aa893d45] Increase maximum length of sqlite3_log() messages to 700 bytes. Mark log messages as v=10. (check-in: [35aa893d45] user: dan branch: cf8f1552-commit-instr, size: 45751)
2024-08-20
20:01
[6a87534ebf] part of check-in [17699329aa] Remove unreachable code. (check-in: [17699329aa] user: drh branch: srcitem-opt, size: 45751)
2024-08-19
22:48
[17054fb94f] part of check-in [8ff5dda844] Refactor the SrcItem object so that information about subqueries is stored in a separately allocated Subquery object. This reduces the memory requirements for SrcItem and makes the code run faster. It also provides an expansion path for subquery processing that does not burden simple queries. The current checking mostly works, but there are still issues that need to be tracked down and fixed. (check-in: [8ff5dda844] user: drh branch: srcitem-opt, size: 45832)
2024-08-17
23:23
[efa3973bdc] part of check-in [9f5aeef3cb] Give unique names to fields in the SrcItem object, to facilitate analysis of how those fields are used using "grep". (check-in: [9f5aeef3cb] user: drh branch: srcitem-opt, size: 45650)
19:46
[3820e4fbb9] part of check-in [a4c59ac3c6] Reduce the size of the SrcItem object by combining fields into a union. (check-in: [a4c59ac3c6] user: drh branch: srcitem-opt, size: 45647)
2024-06-10
18:30
[c80f4b4b6d] part of check-in [3dec4b35ec] The aggressive rounding behavior is now only accessible using the internal sqlite3MPrintf() function. The round() SQL function uses that internal function so it can access the aggressive rounding. But ordinary extensions and the format() SQL function cannot. Update: Superseded by round-up-2 branch (check-in: [3dec4b35ec] user: drh branch: round-up, size: 45751)
18:10
[bdb1b61543] part of check-in [a1b57288d7] More aggressive rounding behavior for the round() function only. Format() still uses the classic behavior, and the same behavior exhibited by printf() in glibc. (check-in: [a1b57288d7] user: drh branch: round-up, size: 45870)
2024-04-24
11:51
[8b25097230] part of check-in [6f0e7e1952] Add comments linking the assert() added in [cef4d9e3ba586735] to the places where the precondition that the assert() tests are actually required. (check-in: [6f0e7e1952] user: drh branch: trunk, size: 45610)
2024-03-18
13:31
[87b67bba36] part of check-in [21f616d9b9] Add assert() statements to validate access to the SrcItem.u1.nRow union member. (check-in: [21f616d9b9] user: drh branch: exp-values-clause2, size: 45578)
12:49
[aec4a5d743] part of check-in [ac6f095e13] Improvements to EXPLAIN QUERY PLAN output for multi-row VALUES claues. (check-in: [ac6f095e13] user: drh branch: exp-values-clause2, size: 45508)
2024-02-20
13:11
[10e8bad300] part of check-in [4c9886b692] Remove an unreachable branch from printf(). Change it into an assert(). (check-in: [4c9886b692] user: drh branch: trunk, size: 45341)
2024-02-17
03:32
[d3392b2a20] part of check-in [7fca1bc482] Fix rounding in zero-precision %f and %g printf conversions. Forum post 393708f4a8. This bug was introduced by check-in [32befb224b254639] and first appeared in version 3.43.0. (check-in: [7fca1bc482] user: drh branch: trunk, size: 45344)
2023-12-01
12:57
[18fbdf0283] part of check-in [25ed295f30] First attempt to get the JSON text-to-binary cache working. All test cases pass, but the cache seems not to help much. (check-in: [25ed295f30] user: drh branch: jsonb, size: 45300)
2023-10-17
19:33
[9da63b9ae1] part of check-in [37ff0d8e7f] Fix a harmless compiler warning about variant types for a pointer function. (check-in: [37ff0d8e7f] user: drh branch: trunk, size: 45295)
2023-07-28
12:59
[be332893e1] part of check-in [a0de01108c] A failed attempt to add a new sqlite3_result_zeroterminated() interface that is a hint to SQLite that a TEXT result does have a zero terminator. The idea is to avoid unnecessary copying of TEXT values. This seems like an unnecessary complication at the moment, but maybe I'll return to this later. Note that this check-in does not work - it is a proof of concept only. (check-in: [a0de01108c] user: drh branch: sqlite3_result_zeroterminated, size: 45364)
2023-07-26
01:05
[e3ba080e2f] part of check-in [2dbb22c75e] Extend the enhancement to json_set() and json_replace(). Clean up cruft. (check-in: [2dbb22c75e] user: drh branch: json-opt-rcstr, size: 45295)
00:48
[56e362bbef] part of check-in [f930b139d6] Add the JsonParse.zAlt field to old revised JSON text after a change. Demonstrate that this elminates the need for reparsing after a change by using it in the json_remove() function. This is an incremental check-in containing lots of cruft. (check-in: [f930b139d6] user: drh branch: json-opt-rcstr, size: 47296)
2023-07-25
20:26
[1406ade145] part of check-in [afe02a398a] Clarify ownership of the various objects involved in parsing JSON. (check-in: [afe02a398a] user: drh branch: json-opt-rcstr, size: 47246)
15:08
[21e410b0a3] part of check-in [c1b8725089] Create the new RCStr class of strings and try to use them for JSON storage. (check-in: [c1b8725089] user: drh branch: json-opt-rcstr, size: 47242)
2023-07-01
18:33
[84b7b4b647] part of check-in [07eab52e08] Reinstate the fpdecode() SQL function for testing, but only when compiled with SQLITE_DEBUG. (check-in: [07eab52e08] user: drh branch: fp-to-decimal-refactor, size: 43741)
17:56
[1d2d5ba8c2] part of check-in [6f1122e942] Improved rounding policy. (check-in: [6f1122e942] user: drh branch: fp-to-decimal-refactor, size: 43799)
15:23
[161c522372] part of check-in [76ab8ae809] Improved response to Infinity and NaN. Remove the termporary fpdecode() function. (check-in: [76ab8ae809] user: drh branch: fp-to-decimal-refactor, size: 43774)
14:03
[1291f62b21] part of check-in [1138b8d16e] Progress towards fixing corner-case floating-point formatting issues. (check-in: [1138b8d16e] user: drh branch: fp-to-decimal-refactor, size: 43674)
2023-06-30
23:42
[890a111a37] part of check-in [bdfd1eb1d7] Fix an issue with the "+" attribute in printf(). (check-in: [bdfd1eb1d7] user: drh branch: fp-to-decimal-refactor, size: 43427)
23:18
[a3497bdf4e] part of check-in [c134d423e7] Begin cutting over sqlite3FpDecode() into printf(). The code in this check-in gets a lot right, but there are still some formatting discrepencies. (check-in: [c134d423e7] user: drh branch: fp-to-decimal-refactor, size: 43432)
2023-06-29
17:36
[a87473be34] part of check-in [41580ba452] Improve the range of floating-point numbers that can be handled as integers for numeric-to-text conversion. (check-in: [41580ba452] user: drh branch: trunk, size: 47372)
2023-06-28
11:46
[cb8357e781] part of check-in [4943e8a181] Improved accuracy of floating-point conversion constants as suggested by forum post 598d32f6135c41c1. (check-in: [4943e8a181] user: drh branch: trunk, size: 47371)
2023-05-05
19:36
[b9320cdbec] part of check-in [910e770ad4] Fix a buffer overrun that could occur when using the format() function to format a very small real value with the "," modifier. (check-in: [910e770ad4] user: dan branch: trunk, size: 47367)
2023-05-04
13:07
[19a25adf1b] part of check-in [7080e196a1] Add support for the comma (,) modifier to %f formats in the format() function. (check-in: [7080e196a1] user: drh branch: comma-format, size: 47359)
2023-03-22
16:55
[7eac1a9896] part of check-in [ad59fa1766] The floating-point-to-text conversion with the zero-padding option now renders NaN as "null". (check-in: [ad59fa1766] user: drh branch: trunk, size: 47174)
2023-03-17
20:31
[8c16d3783e] part of check-in [efce4690a5] Fix json rendering so that it shows positive and negative infinity as 9.0e+999 and -9.0e+999 respectively. (check-in: [efce4690a5] user: drh branch: numeric-only-json, size: 47049)
2023-02-25
12:50
[fb31597cf9] part of check-in [4430e6e96d] Performance optimization on sqlite3_vsnprintf(). (check-in: [4430e6e96d] user: drh branch: trunk, size: 46908)
2023-02-24
01:37
[91836661df] part of check-in [334d22bc70] A simpler fix to the problem described by forum thread d1387c3979c7f557. See specifically post 2d2ddc5b70c31de5. This approach is simpler, but it also runs a little slower. (check-in: [334d22bc70] user: drh branch: fp-conversion-simpler, size: 45239)
01:08
[5957a30d10] part of check-in [f32055e811] Fix an incorrect optimization that was attempted as part of check-in [18de3a8e6b431a07]. (check-in: [f32055e811] user: drh branch: fp-conversion, size: 46662)
2023-02-23
22:08
[74e7638686] part of check-in [32b0ba0d27] Omit unnecessary branches from the enhanced floating-point conversion logic. (check-in: [32b0ba0d27] user: drh branch: fp-conversion, size: 46764)
21:18
[d7b8c87d35] part of check-in [18de3a8e6b] Increased precision of floating-point to decimal conversions when the floating point value has no fractional part. Forum post d1387c3979c7f557 (check-in: [18de3a8e6b] user: drh branch: fp-conversion, size: 46763)
2023-01-13
19:00
[a40bb6b23e] part of check-in [3ae9127f15] Fix an error in debugging output discovered while working on the problem with RETURNING reported by forum post d010a26798. (check-in: [3ae9127f15] user: drh branch: returning-is-null-fix, size: 45221)
2022-12-21
19:11
[ff4b05e38b] part of check-in [371f9b8838] 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. (check-in: [371f9b8838] user: drh branch: trunk, size: 45236)
2022-10-24
21:58
[615d24684b] part of check-in [80fbb30f28] This check-in attempts to make the SrcItem object smaller by combining the zDatabase and pSchema fields into a single union. It mostly works, but there are some issues, and the performance savings is minimal. So it is side-tracked onto this dead-end branch. (check-in: [80fbb30f28] user: drh branch: failed-opt-attempt, size: 44740)
2022-07-18
15:02
[e99ee9741e] part of check-in [aab790a16e] Increase the size of loop variables in the printf() implementation to avoid integer overflow on multi-gigabyte string arguments. CVE-2022-35737. (check-in: [aab790a16e] user: drh branch: trunk, size: 44705)
2022-05-13
16:38
[6166a30417] part of check-in [6f741d6cfb] 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. (check-in: [6f741d6cfb] user: drh branch: trunk, size: 44705)
14:52
[320fd82b2b] part of check-in [1ffea07ff9] Improved names for flags on the Expr object: EP_FromJoin becames EP_OuterON and EP_InnerJoin becomes EP_InnerON. (check-in: [1ffea07ff9] user: drh branch: trunk, size: 44687)
2022-04-22
17:36
[512574910a] part of check-in [a2d3ee9242] Improve EXPLAIN QUERY PLAN output and comments on bytecode listings by distinguishing between "subquery" and "join" and using consistent names across EQP and bytecode. (check-in: [a2d3ee9242] user: drh branch: trunk, size: 44688)
2022-02-06
23:54
[05d8dfd201] part of check-in [031381aea3] Fix unreachable branches in the sqlite3_error_offset() logic. (check-in: [031381aea3] user: drh branch: trunk, size: 44509)
00:30
[88a96f8d7b] part of check-in [fa34676042] Further improvements to localization of errors in input SQL. (check-in: [fa34676042] user: drh branch: trunk, size: 44538)
2022-02-05
23:11
[ceadf2ee3a] part of check-in [5b8d257790] Enhance sqlite3_error_offset() to report the position of unresolved identifiers. (check-in: [5b8d257790] user: drh branch: trunk, size: 44116)
2021-12-24
20:22
[975f1f5417] part of check-in [b518ce7743] Add the sqlite3_error_offset() interface. Use it in the CLI to provide better context for error messages. (check-in: [b518ce7743] user: drh branch: improved-error-context, size: 43734)
2021-12-10
21:01
[9565aeb5af] part of check-in [8e98ba1eeb] Factor out the logic that does quoting for the SQL quote() function, so that it might be reused for other purposes. (check-in: [8e98ba1eeb] user: drh branch: trunk, size: 42982)
2021-10-03
00:12
[5901672228] part of check-in [e548e9299d] Add the sqlite3ResultStrAccum() internal interface to simplify the the implementation of functions that return strings. (check-in: [e548e9299d] user: drh branch: trunk, size: 42989)
2021-10-01
00:25
[1ce574bf02] part of check-in [04399cf964] 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. (check-in: [04399cf964] user: drh branch: group_concat-fix-legacy, size: 42529)
2021-05-21
13:32
[014a4afc4f] part of check-in [fd8b68a474] Add a new sqlite3_config() option for setting the maximum precision of a printf() substitition. The default value is 100,000. It was formerly more than 2 billion. The default can be changed using the SQLITE_PRINTF_PRECISION_LIMIT compile-time option. (check-in: [fd8b68a474] user: drh branch: compile-time-precision-limit, size: 42320)
2021-03-23
21:02
[78fabb49b9] part of check-in [0646d2260c] Add an ALWAYS() on a branch that is always taken. (check-in: [0646d2260c] user: drh branch: trunk, size: 42487)
2021-03-20
15:46
[85d3413fa5] part of check-in [1b83e232c4] Use the canonical name, not the AS name, when showing the MATERIALIZE or CO-ROUTINE lines for a CTE. (check-in: [1b83e232c4] user: drh branch: eqp-improvements, size: 42479)
15:11
[987fdc0ea4] part of check-in [50fbd53260] Revise tests cases to align with the new EXPLAIN QUERY PLAN output. (check-in: [50fbd53260] user: drh branch: eqp-improvements, size: 42382)
2021-03-19
19:44
[492d108f65] part of check-in [1fadd30525] Further simplification of the EQP output. Only show "SUBQUERY n" if the subquery is anonymous. (check-in: [1fadd30525] user: drh branch: eqp-improvements, size: 42475)
13:00
[59c2222594] part of check-in [6f8faec022] Improved labeling of EXPLAIN QUERY PLAN output. Many test failures due to the different output format. (check-in: [6f8faec022] user: drh branch: eqp-improvements, size: 42558)
2021-03-02
21:07
[2b03a80d7c] part of check-in [a5940294b2] Cast a string size variable to 64-bit to avoid any possibility of integer overflow. (check-in: [a5940294b2] user: drh branch: trunk, size: 42110)
2021-02-21
21:04
[10e61ec79d] part of check-in [bfd5bf2c73] Rename the "struct SrcList_item" object to the more succinct "SrcItem". This is a symbolic change only. The logic is unmodified. (check-in: [bfd5bf2c73] user: drh branch: trunk, size: 42095)
2020-08-28
12:58
[30e92b638f] part of check-in [f2d26f2b11] Fix a couple of unreachable branches. (check-in: [f2d26f2b11] user: drh branch: trunk, size: 42107)
2020-08-10
14:18
[9efcd4e984] part of check-in [9d670a3183] Fix harmless compiler warnings that surface in newer versions of GCC. (check-in: [9d670a3183] user: drh branch: trunk, size: 42118)
2020-07-29
16:18
[a300cd289a] part of check-in [a80ae2c98b] Dozens and dozens of typo fixes in comments. This change adds no value to the end product and is disruptive, so it is questionable whether or not it will ever land on trunk. (check-in: [a80ae2c98b] user: drh branch: typos, size: 42113)
2020-05-25
15:41
[94b5419ad0] part of check-in [b1b182be2a] Extra assert() statements in the printf() logic. (check-in: [b1b182be2a] user: drh branch: trunk, size: 42116)
2020-05-23
19:58
[c558075d06] part of check-in [d08d340587] Limit the "precision" of floating-point to text conversions in the printf() function to 100,000,000. Fix for ticket [23439ea582241138]. (check-in: [d08d340587] user: drh branch: trunk, size: 42060)
2020-05-17
00:26
[ebf563cff3] part of check-in [1313557b51] Use the sqlite3Realloc() interface internally, rather than the public sqlite3_realloc64() equivalent, to avoid unnecessary calls to sqlite3_initialize(). (check-in: [1313557b51] user: drh branch: trunk, size: 41751)
2020-05-15
01:18
[4c76c0f492] part of check-in [0119d96dec] Enhancements to long-path support in the Win32 VFS. (check-in: [0119d96dec] user: mistachkin branch: trunk, size: 41754)
2019-06-12
20:11
[05d4d769e0] part of check-in [6ba4be66be] Enhancements to the printf() logic in order to render a negative zero with a minus sign. (check-in: [6ba4be66be] user: drh branch: negative-zero, size: 41901)
2019-05-27
00:29
[9be6945837] part of check-in [15202aee15] Improved rounding even on systems with an 8-byte "long double" type. (check-in: [15202aee15] user: drh branch: trunk, size: 41733)
2019-05-24
22:58
[23a0fd3c81] part of check-in [641b2d2105] Improvements to rounding behavior in the round() and printf() functions. (check-in: [641b2d2105] user: drh branch: trunk, size: 41555)
2019-04-09
21:32
[67f7922727] part of check-in [ea2d4b65e2] Improved reporting of SQLITE_TOOBIG errors while parsing. (check-in: [ea2d4b65e2] user: drh branch: trunk, size: 41244)
2019-02-22
15:42
[93a3d53901] part of check-in [e7144ffd21] Modify sqlite3_str_finish() and sqlite3VMPrintf() so that they always return NULL on any OOM or SQLITE_LIMIT_LENGTH error. (check-in: [e7144ffd21] user: drh branch: trunk, size: 41177)
2019-02-01
21:08
[cbf27c3200] part of check-in [1aee70d6de] 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. (check-in: [1aee70d6de] user: drh branch: trunk, size: 41112)
20:29
[15c8c8c409] part of check-in [179e5d4605] 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. (check-in: [179e5d4605] user: drh branch: trunk, size: 41069)
18:46
[fdea5e38f2] part of check-in [40d8f8ae87] Performance improvement in the parsing of options to %-formats in the printf implementation. (check-in: [40d8f8ae87] user: drh branch: trunk, size: 40490)
2018-09-13
17:07
[0f1177cf1d] part of check-in [a2304a3474] 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. (check-in: [a2304a3474] user: drh branch: trunk, size: 39806)
2018-05-30
00:59
[7f6f3cba8e] part of check-in [8d02c7a6a0] Fix a harmless compiler warning. (check-in: [8d02c7a6a0] user: drh branch: trunk, size: 39729)
2018-05-16
15:35
[1d1b4a568a] part of check-in [ed5b09680f] Enhance the sqlite3_str_new() interface so that it always returns a valid and non-NULL pointer even in an OOM condition. (check-in: [ed5b09680f] user: drh branch: trunk, size: 39726)
2018-05-09
14:29
[74ca034879] part of check-in [43ea8a6836] Fix minor problems with the sqlite3_str interface. (check-in: [43ea8a6836] user: drh branch: trunk, size: 39376)
13:46
[fb76c433bb] part of check-in [87f261f0cb] 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. (check-in: [87f261f0cb] user: drh branch: trunk, size: 39251)
2018-02-20
15:23
[d3b7844dde] part of check-in [4bc8a48e64] 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. (check-in: [4bc8a48e64] user: drh branch: trunk, size: 38427)
2018-02-19
21:58
[07244a9e17] part of check-in [255612f0a1] Printing a value of 0 using %c terminates the string. (check-in: [255612f0a1] user: drh branch: printf-enhancement, size: 37582)
20:23
[1c8986a3ab] part of check-in [e41d64e95b] Test cases and a bug fix on the new unicode handling in %c. (check-in: [e41d64e95b] user: drh branch: printf-enhancement, size: 37565)
18:56
[721a26a112] part of check-in [c35be1d9e9] Fix the %c substitution in printf() so that it works with unicode characters. (check-in: [c35be1d9e9] user: drh branch: printf-enhancement, size: 37517)
18:03
[ab91b63394] part of check-in [391540acbe] 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(). (check-in: [391540acbe] user: drh branch: printf-enhancement, size: 36548)
17:03
[a94897345b] part of check-in [ca31c66304] 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. (check-in: [ca31c66304] user: drh branch: printf-enhancement, size: 36271)
2017-11-09
17:29
[9506b4b96e] part of check-in [0a7d416c4c] Make it possible to use OSTRACE for multi-process testing. (check-in: [0a7d416c4c] user: mistachkin branch: readonly-wal-recovery, size: 35393)
2017-08-19
20:38
[40aee47ae9] part of check-in [d01d2cffef] Space and size optimization to the printf implementation. (check-in: [d01d2cffef] user: drh branch: trunk, size: 35232)
2017-08-12
02:01
[439c145d71] part of check-in [6e52fa5fd7] Remove the zBase field from the StrAccum object. Resulting code is slightly smaller and faster. (check-in: [6e52fa5fd7] user: drh branch: trunk, size: 35223)
2017-03-20
16:34
[8757834f1b] part of check-in [ef3a7c877a] Avoid the possibility of signed integer overflow with oversized precisions in %d conversions in the printf() implementation. (check-in: [ef3a7c877a] user: drh branch: trunk, size: 35510)
2017-02-10
19:38
[67427bbee6] part of check-in [064445b12f] Add the "," flag to printf(). (check-in: [064445b12f] user: drh branch: trunk, size: 35482)
2017-01-04
00:26
[ff10a9b990] part of check-in [acdb8f6f10] Changes to the printf implementation for better performance. (check-in: [acdb8f6f10] user: drh branch: printf-optimization, size: 35438)
2016-12-30
14:15
[0c8579432f] part of check-in [56ff72ab44] Avoid passing NULL pointers to memcmp() or memcpy(), even when the "number-of-bytes" argument is passed 0. (check-in: [56ff72ab44] user: dan branch: trunk, size: 35535)
2016-11-25
15:47
[f94da4935d] part of check-in [c53dca7fad] Performance enhancement to sqlite3_snprintf(). (check-in: [c53dca7fad] user: drh branch: trunk, size: 35527)
15:11
[8a76e8e9b4] part of check-in [b6acf5d4ef] Performance improvement in sqlite3StrAccumFinish() for the common case where no memory allocation is required. (check-in: [b6acf5d4ef] user: drh branch: trunk, size: 35527)
2016-05-05
11:53
[a5f0ca08dd] part of check-in [69d11447f4] Renumber internal constants in the printf() implemention for a small performance improvement. (check-in: [69d11447f4] user: drh branch: trunk, size: 35386)
2016-02-05
01:55
[63e6fb12bb] part of check-in [c3ef03478a] Improvements to the way that OOM errors are processed. (check-in: [c3ef03478a] user: drh branch: oom-handling, size: 35386)
2016-01-30
12:50
[98a5cef7fc] part of check-in [0bdb41c45a] Simplification and size reduction to the printf logic. Remove the bFlags parameter from sqlite3VXPrintf() and sqlite3XPrintf(). Use sqlite3XPrintf() instead of sqlite3_snprintf() for rendering P4 values in EXPLAIN output. (check-in: [0bdb41c45a] user: drh branch: trunk, size: 35387)
2016-01-04
04:28
[79265c0b36] part of check-in [d655a665ac] Limit the length of sqlite3_mprintf() output to 2^30 bytes, even if SQLITE_MAX_LENGTH is set larger at compile-time. (check-in: [d655a665ac] user: drh branch: trunk, size: 35468)
2015-12-08
16:08
[af589a27b7] part of check-in [f20396adb2] Avoid doing comparisons with pointers that might have been previously been passed to realloc() and/or free(). (check-in: [f20396adb2] user: drh branch: trunk, size: 35355)
2015-12-07
16:43
[9a9105464f] part of check-in [a9e819082b] Changes to avoid undefined behavior detected by analysis tools - never observed in the wild. Later: This check-in introduces a bug, fixed at [a304e34675404aee]. (check-in: [a9e819082b] user: drh branch: trunk, size: 34971)
2015-11-30
22:52
[ca05561795] part of check-in [ecad75d69e] Add the SQLITE_PRINTF_PRECISION_LIMIT compile-time option. (check-in: [ecad75d69e] user: drh branch: trunk, size: 34960)
2015-11-14
22:04
[f8fc8f04e7] part of check-in [9272426057] Code simplification in sqlite3ColumnsFromExprList(). Update the %z format code so that it works with buffers obtained from sqlite3DbMalloc(). Add a testcase for the slow column name uniquifier. (check-in: [9272426057] user: drh branch: trunk, size: 34611)
2015-09-02
21:00
[0c4bcdd1c2] part of check-in [a3b35ddeca] Optimizations to the printf formatter. (check-in: [a3b35ddeca] user: drh branch: trunk, size: 34598)
15:37
[e66737e0e4] part of check-in [82355e4108] Use sqlite3XPrintf() instead of sqlite3StrAccumAppend() in a few places for better performance and a smaller footprint. (check-in: [82355e4108] user: drh branch: trunk, size: 34660)
2015-07-14
22:43
[2bc439ff20] part of check-in [a73d7128fb] Amplify the comment on renderLogMsg() that explains the problems associated with calling sqlite3_log() from deep within the memory allocator. (check-in: [a73d7128fb] user: drh branch: trunk, size: 34568)
2015-06-08
17:42
[db11b59601] part of check-in [e49c291735] Fix typo in comment. No changes to code. (check-in: [e49c291735] user: mistachkin branch: trunk, size: 34296)
15:08
[9889e8826f] part of check-in [c32ce54ca4] Factor out the TreeView parse tree printing module into a separate file. (check-in: [c32ce54ca4] user: drh branch: view-optimization, size: 34297)
2015-05-20
19:48
[1c030b72d7] part of check-in [b330c7ff6f] Avoid signed integer overflow when converting oversized in-line integer widths and precisions in printf(). Cherrypick of [c494171f77dc], [5ce4e7d7651e], [95625ef3adc3] and [8e4ac2ce2441]. (check-in: [b330c7ff6f] user: dan branch: branch-3.8.6, size: 33940)
2015-05-15
04:13
[13ce37e557] part of check-in [56ef98a047] Simplifications to error message processing. Fix a possible problem in error message formatting when vacuuming a database with a corrupt schema. (check-in: [56ef98a047] user: drh branch: trunk, size: 36668)
2015-05-05
18:52
[54dd6dce95] part of check-in [04afa3febe] Remove four lines of superfluous code identified by clang scan-build. (check-in: [04afa3febe] user: drh branch: trunk, size: 37155)
2015-05-02
18:25
[c287c1cf15] part of check-in [f8b159794c] Add the SQLITE_LIMIT_PRINTF_WIDTH setting for sqlite3_limit() and associated logic for preventing DOS attacks using printf() with oversized widths or precisions. (check-in: [f8b159794c] user: drh branch: limit-printf-width, size: 37478)
11:45
[1f87c24770] part of check-in [7952c32268] Cleanup of the sqlite3StrAccumInit() function. No functionality changes. (check-in: [7952c32268] user: drh branch: trunk, size: 37191)
2015-04-29
16:50
[aa040909f4] part of check-in [48f553b05c] Use sqlite3_malloc64() in place of sqlite3_malloc() internally. (check-in: [48f553b05c] user: drh branch: trunk, size: 36865)
2015-04-22
14:41
[9753790eed] part of check-in [658e20f554] Prototype for an sqlite3_db_log() interface. (check-in: [658e20f554] user: drh branch: sqlite3_db_log, size: 37596)
2015-04-16
03:37
[18df0da8c3] part of check-in [ae5af70427] Make sure the sqlite3DebugPrintf() function is defined for OSTRACE as well. (check-in: [ae5af70427] user: mistachkin branch: winTest, size: 36859)
2015-04-15
05:38
[08fa675c20] part of check-in [998cfdb8dc] Fix a faulty assert() in the sqlite3StrAccumAppend() routine. (check-in: [998cfdb8dc] user: drh branch: trunk, size: 36826)
2015-04-07
15:39
[8ae1fa9d30] part of check-in [8e4ac2ce24] Avoid signed integer overflow when converting oversized in-line integer widths and precisions in printf(). (check-in: [8e4ac2ce24] user: drh branch: trunk, size: 36818)
14:38
[62f93b9276] part of check-in [95625ef3ad] Another change to avoid a problem caused by integer overflow in the printf() code. (check-in: [95625ef3ad] user: dan branch: trunk, size: 36944)
13:28
[0f3476d9c8] part of check-in [5ce4e7d765] Further changes to guard against integer overflow in the width and precision of printf() arguments. (check-in: [5ce4e7d765] user: drh branch: trunk, size: 36616)
12:41
[32f69fcba9] part of check-in [c494171f77] Guard against excessive width and precision in floating-point conversions in the printf routines. (check-in: [c494171f77] user: drh branch: trunk, size: 36471)
2015-03-31
19:06
[8fff88d299] part of check-in [f79c236fc5] Build fixes for OSTRACE enhancements. (check-in: [f79c236fc5] user: mistachkin branch: winTest, size: 36494)
2015-02-13
16:36
[8da9a2687a] part of check-in [823ad40ccb] Improvements to SQLITE_ENABLE_API_ARMOR. (check-in: [823ad40ccb] user: drh branch: trunk, size: 36430)
2015-01-25
20:19
[05edc41450] part of check-in [1964e656b4] The va_list argument cannot take on a NULL value and cannot be compared with NULL on some platforms (ex: ARM). So do not attempt to do so. (check-in: [1964e656b4] user: drh branch: trunk, size: 36437)
2015-01-10
16:49
[ea82bcb1b8] part of check-in [9e92a5ed5a] 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. (check-in: [9e92a5ed5a] user: drh branch: trunk, size: 36570)
2014-11-12
14:12
[d83b573624] part of check-in [839a6df9f9] Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. (check-in: [839a6df9f9] user: drh branch: branch-3.8.7, size: 36239)
2014-11-03
14:46
[9e75a6a0b5] part of check-in [a518bc3318] 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. (check-in: [a518bc3318] user: drh branch: trunk, size: 36896)
13:24
[ee13daccd4] part of check-in [3dda3c9374] When enlarging the size of a StrAccum object, use sqlite3DbMallocSize() to record the entire size of the allocation, not just the requested size. (check-in: [3dda3c9374] user: drh branch: trunk, size: 36689)
2014-10-29
18:20
[10a2493593] part of check-in [08a27440f1] Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. (check-in: [08a27440f1] user: drh branch: trunk, size: 36637)
2014-10-24
00:35
[c31012ac23] part of check-in [c297a84bc6] Add the SQLITE_ENABLE_API_ARMOR compile-time option. This is a work in progress and is not yet completely functional. (check-in: [c297a84bc6] user: drh branch: api-armor, size: 36501)
2014-10-22
20:07
[090fac0f77] part of check-in [e580470db7] Disable the use of strchrnul() unless specifically enabled by compile-time options. (check-in: [e580470db7] user: drh branch: trunk, size: 36103)
2014-09-30
21:24
[ecbec6fce8] part of check-in [0efc6859d1] Draw the TreeView debugging graphs using unicode box-drawing characters. (check-in: [0efc6859d1] user: drh branch: box-character-graph, size: 36355)
19:04
[6b79bbd063] part of check-in [5ce05757aa] 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. (check-in: [5ce05757aa] user: drh branch: trunk, size: 36166)
12:33
[0db94d24f9] part of check-in [4ff51325d6] Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(), and sqlite3TreeViewSelect(). (check-in: [4ff51325d6] user: drh branch: trunk, size: 36165)
2014-09-20
00:29
[3a47f526b1] part of check-in [0fac2c045f] Only enable HAVE_STRCHRNUL by default on linux, as that is the only place it appears to work by default. (check-in: [0fac2c045f] user: drh branch: sqliteIntMacros, size: 34033)
00:02
[901a2b924f] part of check-in [35db3e2f35] Revise macro usage in 'sqliteInt.h'. (check-in: [35db3e2f35] user: mistachkin branch: sqliteIntMacros, size: 34039)
2014-09-18
01:50
[19e3e81add] part of check-in [ef1aa10b7f] Make sure of the strchrnul() library function on platforms where it is available. (check-in: [ef1aa10b7f] user: drh branch: trunk, size: 34061)
2014-09-06
16:39
[e74925089a] part of check-in [e62aab5e92] Fix typos in comments. No code changes. (check-in: [e62aab5e92] user: peter.d.reid branch: trunk, size: 33572)
2014-08-22
15:40
[00986c86dd] part of check-in [f7f2160db0] Performance improvement in the printf() logic by avoiding unnecessary stack pointer movement. (check-in: [f7f2160db0] user: drh branch: trunk, size: 33573)
2014-05-31
15:39
[af06f66927] part of check-in [7e287f2055] Fix a compile of harmless static analyzer warnings. (check-in: [7e287f2055] user: drh branch: trunk, size: 33552)
2014-04-24
13:20
[eca1a6289f] part of check-in [34155c406c] Add sqlite3_log() diagnostic messages for a specific type of corruption where the file size is reported to be too small relative to the size in the header. This branch is intended to help debug a specific problem reported from the wild and is not for general use. (check-in: [34155c406c] user: drh branch: filesize-debug, size: 33256)
2014-03-17
15:06
[e5a0005f8b] part of check-in [ecd9d3f945] Clean up some obsolete "register" declarations in printf.c. (check-in: [ecd9d3f945] user: drh branch: trunk, size: 33508)
14:24
[d95ea1b8a1] part of check-in [eb071eb58c] Performance enhancements and size reduction for sqlite3VXPrintf() (check-in: [eb071eb58c] user: drh branch: trunk, size: 33594)
2013-12-17
15:58
[85d07756e4] part of check-in [3375571a5e] Fix the formatting of %c in the printf() SQL function. (check-in: [3375571a5e] user: drh branch: printf-sql-function, size: 32994)
15:03
[0c0cb58e43] part of check-in [6db7052eee] Add the printf() SQL function. (check-in: [6db7052eee] user: drh branch: printf-sql-function, size: 32937)
2013-12-13
16:42
[ba8b28e9d4] part of check-in [e2a8b280e8] Avoid unnecessary calls to sqlite3_free() from within sqlite3VXPrintf(). (check-in: [e2a8b280e8] user: drh branch: trunk, size: 31226)
2013-12-11
11:00
[b2778aa160] part of check-in [a7e5fcd666] Fix harmless compiler warnings. (check-in: [a7e5fcd666] user: drh branch: trunk, size: 31213)
02:21
[e2f78b695b] part of check-in [2525296d91] Fix harmless compiler warning. (check-in: [2525296d91] user: mistachkin branch: trunk, size: 31208)
2013-12-09
19:03
[aacd7f7301] part of check-in [9227ad48e1] Performance optimizations for sqlite3VXPrintf(). (check-in: [9227ad48e1] user: drh branch: trunk, size: 31215)
2013-08-21
21:12
[da9119eb31] part of check-in [700dbbea86] Simplification to the StrAccum object and the sqlite3StrAccumAppend() method that also results in slightly better performance. (check-in: [700dbbea86] user: drh branch: trunk, size: 30817)
2013-07-08
22:33
[41c49dac36] part of check-in [776e65f98c] Make sure an adequate number of digits are shown for binary-to-text rendering of very small floating point values. (check-in: [776e65f98c] user: drh branch: trunk, size: 30744)
2013-05-28
12:11
[bff529ed47] part of check-in [a0d5cc9315] Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. (check-in: [a0d5cc9315] user: drh branch: trunk, size: 30730)
2012-06-19
03:35
[4a9f882f1c] part of check-in [fd7bd4a593] 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(). (check-in: [fd7bd4a593] user: drh branch: floating-point-conversions, size: 30946)
03:11
[263748c3b1] part of check-in [8ecffca900] Improved accuracy on text-to-real and real-to-text conversions. Most conversions now round-trip correctly. Still need to fix some corner cases. (check-in: [8ecffca900] user: drh branch: floating-point-conversions, size: 30865)
2011-12-06
19:44
[7ffb4ebb8b] part of check-in [79ae51c5b1] Begin adding the data-structure explaining subsystem. All is contained within (check-in: [79ae51c5b1] user: drh branch: tree-explain, size: 30752)
2011-10-14
21:49
[03104cbff6] part of check-in [60fee9574b] 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. (check-in: [60fee9574b] user: drh branch: trunk, size: 30738)
2011-10-12
18:52
[c6ec4b3456] part of check-in [97ef4f5013] Clean up obsolete comments in printf.c. (check-in: [97ef4f5013] user: drh branch: trunk, size: 30676)
2011-10-11
17:54
[1cd24df913] part of check-in [1f843fb383] 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. (check-in: [1f843fb383] user: drh branch: trunk, size: 33280)
2011-03-05
20:59
[585a36b6a9] part of check-in [abf2139412] 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. (check-in: [abf2139412] user: drh branch: trunk, size: 33221)
13:54
[6eb5c70b53] part of check-in [04abab71ec] Fix an instance of signed arithmetic overflow and an one bit-shift overflow. Mark six other signed arithmetic overflow locations that need fixing. (check-in: [04abab71ec] user: drh branch: trunk, size: 33122)
2011-01-21
18:25
[df2ff3bb54] part of check-in [380f61df07] Change sqlite3StrAccumAppend() to use realloc instead of malloc. (check-in: [380f61df07] user: dan branch: trunk, size: 33109)
2011-01-05
12:20
[37e8bfd4c5] part of check-in [fc67adea41] Add the sqlite3_vsnprintf() interface. (check-in: [fc67adea41] user: drh branch: trunk, size: 33062)
2010-07-24
16:34
[8ae5082dd3] part of check-in [ac1f37a647] Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). (check-in: [ac1f37a647] user: drh branch: malloc-enhancement, size: 32661)
2010-03-04
17:58
[5f5b65a83e] part of check-in [5e472896e0] Fix for [9abd6aa831]. Do not overread a buffer used for an %q or %w conversion with a precision specifier. (check-in: [5e472896e0] user: dan branch: trunk, size: 32371)
17:11
[8146d9ff92] part of check-in [14ad62b9a5] Fix an uninitialized variable in printf when compiling with SQLITE_OMIT_FLOATING_POINT. (check-in: [14ad62b9a5] user: drh branch: trunk, size: 32371)
00:53
[10b7034923] part of check-in [5322d1df5b] Increase the maximum length of an sqlite3_log() result string. Provide more details on the statement abort log message. (check-in: [5322d1df5b] user: drh branch: trunk, size: 32303)
2010-03-03
22:40
[7c2ae3a3c1] part of check-in [6f368b5448] 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. Cherry-pick merge of [28d1bc98d6]. (check-in: [6f368b5448] user: drh branch: branch-3.6.22, size: 32413)
22:25
[e2b8c9c8d3] part of check-in [28d1bc98d6] 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. (check-in: [28d1bc98d6] user: drh branch: trunk, size: 32472)
2010-02-25
21:27
[aa793722d7] part of check-in [d986e92893] Test coverage enhancements. Additional documentation detail on the new sqlite3_log() interface. (check-in: [d986e92893] user: drh branch: trunk, size: 31954)
14:44
[fd40f2fe29] part of check-in [a255059786] Add some technically unnecessary variable initializations to silence compiler warnings. (check-in: [a255059786] user: dan branch: branch-3.6.1, size: 30421)
02:32
[ed476ea406] part of check-in [46f406b202] Merge in all of the logging enhancements. This is a cherrypick merge of the following check-ins: [103321e37a], [a8076aede3], [6d910245ad], [7c4cca6d1a], [edea3bb740], [1a6d4bb130], [a8c984c1d6], [69a493182f], and [1168763d2c]. (check-in: [46f406b202] user: drh branch: branch-3.6.22, size: 31906)
2010-02-22
19:32
[f5c160b471] part of check-in [a8076aede3] Log all error messages if logging is enabled. (check-in: [a8076aede3] user: drh branch: trunk, size: 31965)
2010-02-18
18:45
[35d62dffdc] part of check-in [103321e37a] Add a new, experimental logging interface designed to aid in debugging of deeply embedded projects that use SQLite. (check-in: [103321e37a] user: drh branch: trunk, size: 31956)
2010-01-13
16:43
[2c2702dc49] part of check-in [3fd6f9ad06] 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. (check-in: [3fd6f9ad06] user: drh branch: trunk, size: 31220)
2009-11-25
18:03
[644bc7d59d] part of check-in [545cfb3b63] Initial check-in of code that inserts tokenizations of the values for bound parameters into the output of sqlite3_trace(). (check-in: [545cfb3b63] user: drh branch: trunk, size: 31161)
16:53
[51c3b010c6] part of check-in [3ba773132d] Enhance the %q, %Q, and %w printf conversions so that the precisions specifies the length of the input. (check-in: [3ba773132d] user: drh branch: trunk, size: 30914)
2009-11-10
01:30
[03fabdd611] part of check-in [f6c045f649] Remove the obsolete "$Id:$" RCS identifier strings from the source code. (check-in: [f6c045f649] user: drh branch: trunk, size: 30789)
2009-06-03
01:24
[508a1c5943] part of check-in [baea79fd0c] Additional changes to reduce stack usage. The SQLITE_SMALL_STACK compile-time option is now available. (CVS 6708) (check-in: [baea79fd0c] user: drh branch: trunk, size: 30847)
2009-05-04
20:20
[3f4dca207a] part of check-in [3543be6e34] Make sure va_arg() does not occur on the same line as any "if" statement or "?" operator. (CVS 6602) (check-in: [3543be6e34] user: drh branch: trunk, size: 30847)
2009-04-08
16:10
[ea2d76000c] part of check-in [3cc79162db] Reconfigure the default case for the printf switch in order to improve branch coverage. (CVS 6472) (check-in: [3cc79162db] user: drh branch: trunk, size: 30781)
15:45
[3c974cdc39] part of check-in [6fe8b5d702] Remove a pair unnecessary conditions from printf.c. The "db" parameter is now required for sqlite3MPrintf(). (CVS 6471) (check-in: [6fe8b5d702] user: drh branch: trunk, size: 30647)
11:49
[f5e10308af] part of check-in [ee5a4a0e59] Add a comment to printf.c - no changes to code. (CVS 6468) (check-in: [ee5a4a0e59] user: drh branch: trunk, size: 30570)
2008-12-10
19:26
[9866a9a9c4] part of check-in [c872d55493] 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) (check-in: [c872d55493] user: drh branch: trunk, size: 30482)
18:03
[b42e767ee0] part of check-in [14e6d19c31] More explicit type casting to silence VC++. (CVS 6006) (check-in: [14e6d19c31] user: drh branch: trunk, size: 30366)
2008-11-22
18:28
[e29d9475c6] part of check-in [ce36b6474a] Make sure the error message handler is able to deal with NULL expression spans. Ticket #3508. (CVS 5949) (check-in: [ce36b6474a] user: drh branch: trunk, size: 30366)
2008-11-20
18:20
[ce86aed93a] part of check-in [eebacbc9d7] 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) (check-in: [eebacbc9d7] user: drh branch: trunk, size: 30358)
2008-11-17
19:18
[5fe6ba48f8] part of check-in [8009220c36] Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914) (check-in: [8009220c36] user: danielk1977 branch: trunk, size: 30303)
2008-08-22
14:08
[785f871205] part of check-in [7fd11f4ad8] Remove unused variable from printf.c. Ticket #3331. (CVS 5595) (check-in: [7fd11f4ad8] user: drh branch: trunk, size: 30333)
2008-07-28
19:34
[2e984b2507] part of check-in [e48f9697e9] 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) (check-in: [e48f9697e9] user: drh branch: trunk, size: 30421)
2008-07-15
00:27
[2174222bc3] part of check-in [7cf91e08c0] Increased test coverage. (CVS 5414) (check-in: [7cf91e08c0] user: drh branch: trunk, size: 29875)
2008-07-14
12:52
[36895cfc04] part of check-in [4961b0bbe8] Write sqlite3_initialize() calls in sqlite3_malloc() within SQLITE_OMIT_AUTOINIT. Ticket #3217. (CVS 5408) (check-in: [4961b0bbe8] user: drh branch: trunk, size: 29927)
2008-07-10
00:32
[8e5d410220] part of check-in [636cd72329] 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) (check-in: [636cd72329] user: drh branch: trunk, size: 29825)
2008-07-09
16:51
[2a759d2759] part of check-in [2d8f7bebf0] Test coverage improvements on printf. (CVS 5385) (check-in: [2d8f7bebf0] user: drh branch: trunk, size: 29997)
2008-07-08
19:34
[0e4bd14132] part of check-in [8ed04b1e26] Completely rework the sqlite3SetString() primitive so that it honors the SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374) (check-in: [8ed04b1e26] user: drh branch: trunk, size: 30142)
2008-06-16
20:51
[8b063da9dc] part of check-in [bb4edb5396] Clean up obfuscated code in sqlite3_table_column_meta_data(). Be sure to invoke sqlite3_initialize() within sqlite3_mprintf(). (CVS 5224) (check-in: [bb4edb5396] user: drh branch: trunk, size: 30123)
2008-06-15
02:51
[ff67198b0d] part of check-in [65fe7b62cf] 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) (check-in: [65fe7b62cf] user: drh branch: trunk, size: 30075)
2008-05-16
04:51
[f2d4f6c5b0] part of check-in [81a8c70ed7] Add more version tags to files that lack them. Ticket #3120. (CVS 5137) (check-in: [81a8c70ed7] user: danielk1977 branch: trunk, size: 30086)
2008-04-29
15:22
[77c192ccc8] part of check-in [1f5b18419b] 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) (check-in: [1f5b18419b] user: drh branch: trunk, size: 30021)
2008-04-28
16:55
[2d9bac813d] part of check-in [07fd9a8c6c] Change the implementation of the NaN recognition to be more cross-platform. Ticket #3089. (CVS 5060) (check-in: [07fd9a8c6c] user: drh branch: trunk, size: 29962)
2008-03-20
16:30
[05d2b44d7b] part of check-in [4c4be4c3c8] Reinstate test cases for the limit tests. The sqlite3_limit() API is now tested and working. (CVS 4899) (check-in: [4c4be4c3c8] user: drh branch: trunk, size: 29963)
14:03
[88674589be] part of check-in [60c77882b2] 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) (check-in: [60c77882b2] user: drh branch: trunk, size: 29900)
2007-12-13
17:50
[eb27822ba2] part of check-in [8f184e40ff] Additional test cases for tkt2822. Fix a related bug in printf(). (CVS 4624) (check-in: [8f184e40ff] user: drh branch: trunk, size: 29782)
02:45
[5732e393c4] part of check-in [bbddf16ac9] 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) (check-in: [bbddf16ac9] user: drh branch: trunk, size: 29783)
2007-12-08
17:55
[c94a2571a8] part of check-in [1d6a9f5faf] Fix a bug in the debugging printf logic. (CVS 4600) (check-in: [1d6a9f5faf] user: drh branch: trunk, size: 29339)
2007-11-28
22:36
[0d7ad18591] part of check-in [221aee72be] 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) (check-in: [221aee72be] user: drh branch: trunk, size: 29308)
2007-10-05
16:23
[96c8d55315] part of check-in [4424357d17] Remove #include <math.h> from all source files. It is no longer needed but causes compile problems when -DSQLITE_OMIT_FLOATING_POINT is defined. Ticket #2696. (CVS 4474) (check-in: [4424357d17] user: drh branch: trunk, size: 30735)
2007-09-01
09:02
[85f7a4344d] part of check-in [595bfe72f0] Fix a problem handling a malloc() failure in printf.c. Also some other things to improve test coverage. (CVS 4361) (check-in: [595bfe72f0] user: danielk1977 branch: trunk, size: 30753)
2007-08-30
11:48
[81e5db668c] part of check-in [d3e5022638] Fixes for failures in fuzz_malloc.test. (CVS 4334) (check-in: [d3e5022638] user: danielk1977 branch: trunk, size: 30686)
2007-08-29
12:31
[e8cb99691b] part of check-in [e38ef81b85] Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321) (check-in: [e38ef81b85] user: danielk1977 branch: trunk, size: 30433)
2007-08-24
03:51
[33d23a68e4] part of check-in [3a68fcddfa] The win32 driver compiles but does not yet work well. Many bugs fixed. (CVS 4282) (check-in: [3a68fcddfa] user: drh branch: trunk, size: 30384)
2007-08-22
20:18
[0f46bc3a80] part of check-in [db818430e9] The malloc.test script now passes all tests with no errors. (CVS 4271) (check-in: [db818430e9] user: drh branch: trunk, size: 30384)
2007-08-16
10:09
[a8f46e0ed3] part of check-in [77b1671351] More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) (check-in: [77b1671351] user: danielk1977 branch: trunk, size: 30411)
04:30
[326386450a] part of check-in [deb7ecd65f] 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) (check-in: [deb7ecd65f] user: drh branch: trunk, size: 30388)
2007-06-24
06:32
[9b3048d270] part of check-in [d5b7224f37] When expanding '*' in the result set of a SELECT, quote the expanded identifiers. Fix for #2450. (CVS 4111) (check-in: [d5b7224f37] user: danielk1977 branch: trunk, size: 30078)
2007-06-20
15:29
[deaef57ea9] part of check-in [406675bb1c] Remove the dependency on libm for isnan(). Ticket #2436. (CVS 4103) (check-in: [406675bb1c] user: drh branch: trunk, size: 29888)
2007-06-15
20:29
[711908d6ff] part of check-in [7d3c1f08a3] Make arrangements to optionally print a debug message at the point of a simulated malloc() failure when SQLITE_MEMDEBUG is defined. (CVS 4077) (check-in: [7d3c1f08a3] user: drh branch: trunk, size: 29880)
2007-05-15
02:34
[cd91e057fa] part of check-in [5af49a57d4] Fix a bug in sqlite3_mprintf() which could have caused a buffer overrun if malloc() failed. (CVS 3998) (check-in: [5af49a57d4] user: drh branch: trunk, size: 29852)
2007-05-10
17:23
[05b233c7a3] part of check-in [ffe615a711] Add some UTF-8 test infrastructure. Treat NaN as NULL. The printf routines print infinity as "Inf" not as "NaN". Ticket #2345. (CVS 3972) (check-in: [ffe615a711] user: drh branch: trunk, size: 29800)
2007-05-07
11:24
[67de0dcb40] part of check-in [f3ae4ac5fe] Change sqlite3_snprintf() so that it does not write a zero-terminator if the buffer size argument is less than 1. Ticket #2341. Added documentation about the sqlite3_snprintf() function. (CVS 3935) (check-in: [f3ae4ac5fe] user: drh branch: trunk, size: 29501)
2007-03-31
15:02
[0c6f406487] part of check-in [c2badb208f] Improved test coverage for printf.c. (CVS 3780) (check-in: [c2badb208f] user: drh branch: trunk, size: 29451)
2007-01-26
19:23
[aade23a789] part of check-in [1b26d68756] Add code to select.c for printing the contents of parse-tree structures. The code is normally omitted. You must compile with -DSQLITE_TEST or -DSQLITE_DEBUG to enable it. (CVS 3606) (check-in: [1b26d68756] user: drh branch: trunk, size: 29526)
2006-06-26
21:35
[b179b6ed12] part of check-in [85a66a25e9] Publish APIs sqlite3_malloc() and sqlite3_realloc() that use the OS-layer memory allocator. Convert sqlite3_free() and sqlite3_mprintf() to also use the OS-layer memory allocator. (CVS 3298) (check-in: [85a66a25e9] user: drh branch: trunk, size: 29540)
2006-05-22
22:04
[7029e5f734] part of check-in [9d7297b9ef] If an sqlite3_mprintf() call uses a disallowed internal-use-only conversion character, then abort the call with a -1 error code. Ticket #1818. (CVS 3187) (check-in: [9d7297b9ef] user: drh branch: trunk, size: 29556)
2006-03-28
23:57
[358b4b5852] part of check-in [aedadfc3e4] Compile-time option to use only 32-bit integers. (CVS 3157) (check-in: [aedadfc3e4] user: drh branch: trunk, size: 29520)
2006-03-19
13:00
[6801501273] part of check-in [8ae6ccc715] Increase test coverage to above 98%. (CVS 3144) (check-in: [8ae6ccc715] user: drh branch: trunk, size: 29520)
2006-03-06
20:55
[341e488b54] part of check-in [e510e6dd9d] Code changes resulting from Coverity analysis. http://scan.coverity.com/ Found 1 potential segfault in sqlite3_mprintf(). Also 2 failures to fclose() following a malloc() failure. And lots of cases where unnecessary conditionals could be removed from the code. (CVS 3126) (check-in: [e510e6dd9d] user: drh branch: trunk, size: 29756)
2006-02-24
02:53
[cda33918f6] part of check-in [4b22e4b847] Remove unused parameters on internal APIs. Suppress warnings from CodeWarrior. (CVS 3110) (check-in: [4b22e4b847] user: drh branch: trunk, size: 29712)
2006-01-24
12:09
[c7d6ad9efb] part of check-in [d86f18a427] Rename some variables to avoid hiding others. Also add "static" to two function signatures that were missing it. (CVS 3024) (check-in: [d86f18a427] user: danielk1977 branch: trunk, size: 29711)
2005-12-09
20:02
[f47a2f4b53] part of check-in [83a5915155] Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810) (check-in: [83a5915155] user: drh branch: trunk, size: 29689)
2005-10-13
02:09
[3ea3a17d25] part of check-in [a0bdb58468] Attempt to fix the SQLite core so that no floating point operations are used anywhere if SQLITE_OMIT_FLOATING_POINT is defined at compile-time. This is useful to people who use SQLite on embedded processors that lack floating point support. (CVS 2749) (check-in: [a0bdb58468] user: drh branch: trunk, size: 29682)
2005-09-16
02:38
[bd421c1ad5] part of check-in [4686d64975] Fix a whole host of newly discovered memory leaks the occur after a failure of realloc(). (CVS 2696) (check-in: [4686d64975] user: drh branch: trunk, size: 29569)
2005-09-06
21:40
[c01e9ad473] part of check-in [b86bd70f30] Changes to reduce the amount of stack space required. (CVS 2661) (check-in: [b86bd70f30] user: drh branch: trunk, size: 29443)
2005-08-30
19:30
[d2678b06cf] part of check-in [0f7a53f78d] Fix printf.c so that it handles 10.0 correctly. (CVS 2643) (check-in: [0f7a53f78d] user: drh branch: trunk, size: 29121)
2005-08-19
02:26
[cea584c588] part of check-in [842a80bd8f] Increased test coverage on trigger.c and printf.c. (CVS 2601) (check-in: [842a80bd8f] user: drh branch: trunk, size: 29118)
2005-08-13
13:40
[772b15c339] part of check-in [1054685f15] Fix a comment in printf. (CVS 2588) (check-in: [1054685f15] user: drh branch: trunk, size: 29389)
13:39
[e63e8aa8fc] part of check-in [240bb04900] Additional cleanup and optimization of the printf function. (CVS 2587) (check-in: [240bb04900] user: drh branch: trunk, size: 29389)
12:59
[d1fa64c696] part of check-in [4b98dace6b] Add the "!" flag to the "%g" mprintf conversion parameter to force a decimal point. This prevents floating point values from appearing as integers. Use this flag when converting floating point to text. Ticket #1362. (CVS 2586) (check-in: [4b98dace6b] user: drh branch: trunk, size: 29347)
03:07
[a06d3527c6] part of check-in [4f47c3c884] Make the round() function work correctly on numbers with very large exponents. Ticket #1340. (CVS 2585) (check-in: [4f47c3c884] user: drh branch: trunk, size: 29463)
2004-11-05
17:17
[3d20b21cfe] part of check-in [b0506bdd70] Create table now works with sqlite3NestedParse. This changed uncovered a latent bug in xprintf which is also fixed. (CVS 2069) (check-in: [b0506bdd70] user: drh branch: trunk, size: 29384)
2004-10-06
15:41
[7a92adc00b] part of check-in [d790c84c5a] Convert many constants to have type "const". (CVS 2006) (check-in: [d790c84c5a] user: drh branch: trunk, size: 29275)
2004-09-24
22:32
[40770e1f55] part of check-in [eabc77c99b] Optimizations to vdbeaux.c and printf.c (CVS 1980) (check-in: [eabc77c99b] user: drh branch: trunk, size: 29237)
19:39
[74ee8eed59] part of check-in [bdc3bb070f] Improvements to the debugging code. (CVS 1979) (check-in: [bdc3bb070f] user: drh branch: trunk, size: 29451)
2004-09-19
02:15
[2dfe86e6fc] part of check-in [4871c77f8f] Add comments to unused P3 fields of selected instructions when NDEBUG is not defined. This makes VDBE program dumps more readable during debugging. (CVS 1973) (check-in: [4871c77f8f] user: drh branch: trunk, size: 29437)
2004-09-08
20:13
[a8b92a3bcb] part of check-in [39755d2166] More changes directed at getting things to work on 64-bit platforms. (CVS 1949) (check-in: [39755d2166] user: drh branch: trunk, size: 29390)
2004-07-26
12:24
[17b28a1eed] part of check-in [e3cad1ab62] Fix problems for 64-bit machines and when SQLITE_OMIT_AUTHORIZATION is defined. (CVS 1868) (check-in: [e3cad1ab62] user: drh branch: trunk, size: 29169)
2004-07-17
21:59
[378ec63d93] part of check-in [ea364dffc7] Fix for ticket #812 in the 2.8 branch. (CVS 1801) (check-in: [ea364dffc7] user: drh branch: version_2, size: 31020)
21:56
[36090f6d7b] part of check-in [4f56db1149] mprintf() correctly handles "%s","". Fix for ticket #812. (CVS 1800) (check-in: [4f56db1149] user: drh branch: trunk, size: 31882)
2004-06-25
01:10
[3090c8ff39] part of check-in [200cd3baf6] Fix signed integer problems in vxprintf. Ticket #778. Also remove some dead code from util.c. (CVS 1685) (check-in: [200cd3baf6] user: drh branch: trunk, size: 31846)
2004-06-22
22:04
[b6490067bb] part of check-in [e17ea666b1] Be careful to initialize the Mem.xDel field to zero for static Mems. (CVS 1671) (check-in: [e17ea666b1] user: drh branch: trunk, size: 32286)
12:13
[afe30ac12d] part of check-in [d98b1502e2] Patch around compilers that do not support "long long int". (CVS 1656) (check-in: [d98b1502e2] user: drh branch: trunk, size: 32261)
2004-06-18
17:10
[823b6a5cbe] part of check-in [2590fffcaa] Changes to allow libsqlite3.a and libsqlite.a to be both linked into the same program at the same time. (CVS 1621) (check-in: [2590fffcaa] user: drh branch: trunk, size: 32259)
2004-06-16
12:02
[7e7f83a747] part of check-in [7974c9a6f5] Trivial modifications to prevent compiler warnings. (CVS 1607) (check-in: [7974c9a6f5] user: danielk1977 branch: trunk, size: 32249)
10:39
[060199ba97] part of check-in [b739ef2a1b] Fix handling of a failed malloc() in various places (CVS 1605) (check-in: [b739ef2a1b] user: danielk1977 branch: trunk, size: 32249)
2004-06-07
16:27
[63b15f1ea9] part of check-in [0c2d169cf3] More work on windows locking. Fix some problems with unix locking. There is still an assertion failure on windows locking in attach2.test. (CVS 1539) (check-in: [0c2d169cf3] user: drh branch: trunk, size: 32217)
01:52
[77ee9ec6db] part of check-in [4f7c0961ad] Progress towards getting locking to work on windows. (CVS 1536) (check-in: [4f7c0961ad] user: drh branch: trunk, size: 32199)
2004-05-12
07:33
[ef750e8e23] part of check-in [0242c9e4f7] Change the table record format to support manifest typing. (CVS 1361) (check-in: [0242c9e4f7] user: danielk1977 branch: trunk, size: 31769)
2004-05-10
10:34
[8aa5d88509] part of check-in [2242423e31] Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1338) (check-in: [2242423e31] user: danielk1977 branch: trunk, size: 31427)
2004-05-08
08:23
[43d5465428] part of check-in [8af6474c49] Change lots of internal symbols from sqliteXXX to sqlite3XXX so that the library links again. It doesn't work yet, due to changes in the btree layer calling convention. (CVS 1324) (check-in: [8af6474c49] user: danielk1977 branch: trunk, size: 31410)
2004-05-07
13:30
[8dba709243] part of check-in [dcd6b55f93] New btree.c module compiles and links. (CVS 1320) (check-in: [dcd6b55f93] user: drh branch: trunk, size: 31405)
2004-02-29
00:11
[8c58b7b6d4] part of check-in [e97089b7df] Fix some compiler warnings in LCC. The warnings did not indicate real problems. Ticket #634. Not all warnings in ticket #634 were fixed. (CVS 1276) (check-in: [e97089b7df] user: drh branch: trunk, size: 30984)
2004-02-21
19:41
[f201a5a316] part of check-in [96a6d2d3ff] Test cases for printf of double overflows. (CVS 1260) (check-in: [96a6d2d3ff] user: drh branch: trunk, size: 30978)
19:02
[2a8bf0fa0d] part of check-in [2756f7af33] Cleanup the printf code to make it smaller and more modular. Fix a memory leak in the new OP_ContextPush opcode. (CVS 1258) (check-in: [2756f7af33] user: drh branch: trunk, size: 30980)
13:31
[ef1838bd06] part of check-in [8e3eda2a90] More code cleanup and size reduction. (CVS 1256) (check-in: [8e3eda2a90] user: drh branch: trunk, size: 30326)
2004-02-02
12:29
[84e4ea4ba4] part of check-in [0b3f552b98] Remove undocumented extensions from sqlite_mprintf() and friends in order to make it about 10% smaller. (CVS 1207) (check-in: [0b3f552b98] user: drh branch: trunk, size: 30404)
2004-01-07
03:04
[292a7bfc5a] part of check-in [8371f662d2] Use "long double" to hold intermediate values when doing ascii to binary and binary to ascii conversions of floating point numbers. (CVS 1162) (check-in: [8371f662d2] user: drh branch: trunk, size: 31301)
2003-12-23
02:17
[09fac1bc6b] part of check-in [4d9edbc50f] Use a built-in atof() function instead of the one from the library to avoid problems with locale. Ticket #305. (CVS 1144) (check-in: [4d9edbc50f] user: drh branch: trunk, size: 31282)
2003-06-16
03:08
[12e45d482a] part of check-in [eca1398eaa] Add the %z format to the sqlite_mprintf() and related functions. (CVS 1028) (check-in: [eca1398eaa] user: drh branch: trunk, size: 30098)
2003-06-07
11:29
[12ab57e638] part of check-in [5dad7c05e9] Do not assume that a pointer can fit in a long inside the printf() code. Ticket #342. (CVS 1013) (check-in: [5dad7c05e9] user: drh branch: trunk, size: 29791)
2003-03-19
03:14
[fc5fdef6e9] part of check-in [875da9eed9] Modifications to the VDBE to support more than one database file. (CVS 878) (check-in: [875da9eed9] user: drh branch: trunk, size: 29827)
2003-01-29
18:46
[f8fd911a87] part of check-in [ccc82f1ab4] Better error messages on constraint violations. Additional tests and bug fixes for the callback-free API. (CVS 854) (check-in: [ccc82f1ab4] user: drh branch: trunk, size: 29841)
2003-01-19
03:59
[e8e9a06056] part of check-in [f6a8706872] Update comments. No changes to code. (CVS 841) (check-in: [f6a8706872] user: drh branch: trunk, size: 29233)
2002-08-15
13:50
[5c50fc1da7] part of check-in [8cf17f2a24] Fix for ticket #135: Remove unused variables from three files. (CVS 719) (check-in: [8cf17f2a24] user: drh branch: trunk, size: 29228)
2002-07-10
21:26
[06f4c87250] part of check-in [ff8b6f4ee8] When reporting back the datatype of columns, use the text of the datatype as it appears in the CREATE TABLE statement, if available. Also: removed the ".reindex" command from the shell. (CVS 669) (check-in: [ff8b6f4ee8] user: drh branch: trunk, size: 29288)
2002-06-16
04:55
[236ed7a793] part of check-in [b9c7ecc2f9] Added %Q format specifier: like %q but automatic enclosing in single quotes, NULL pointers replaced by NULL w/o single-quotes. (CVS 621) (check-in: [b9c7ecc2f9] user: chw branch: trunk, size: 29538)
2002-05-15
11:44
[d8032ee18b] part of check-in [690f9a1631] Remove all tabs from the beginning of source code lines. Replace tabs with the appropriate number of spaces. (CVS 565) (check-in: [690f9a1631] user: drh branch: trunk, size: 29051)
2001-11-03
23:57
[300a905543] part of check-in [1c448f1fd2] Added "const" to lots of "char*" parameters in the API. (CVS 298) (check-in: [1c448f1fd2] user: drh branch: trunk, size: 28941)
2001-10-22
02:58
[167fbfb192] part of check-in [f8328a5f11] More changes for 2.0.7. (CVS 293) (check-in: [f8328a5f11] user: drh branch: trunk, size: 28941)
2001-04-11
14:28
[b1e22a47be] part of check-in [86b30cd097] better handling of out-of-memory errors (CVS 207) (check-in: [86b30cd097] user: drh branch: trunk, size: 28686)
2001-01-31
13:28
[af0dc65c29] part of check-in [df0ff30485] Working better with Win95. Continued work on the new db.c backend. (CVS 1714) (check-in: [df0ff30485] user: drh branch: trunk, size: 28648)
2000-10-17
01:31
[1efb6b3e7f] part of check-in [17fcd3b015] Fix an off-by-one error in printf.c (CVS 156) (check-in: [17fcd3b015] user: drh branch: trunk, size: 28655)
2000-10-11
19:28
[6fc343f0c3] part of check-in [3f0f1fa1fc] Misc cleanup. Notes on compiling for Win95. (CVS 152) (check-in: [3f0f1fa1fc] user: drh branch: trunk, size: 28651)
2000-10-08
22:20
Added: [534954b942] part of check-in [f9372072a6] Added the _printf() interface. (CVS 150) (check-in: [f9372072a6] user: drh branch: trunk, size: 28631)