/ File History
Login

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

History of src/printf.c

2019-02-01
21:08
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. file: [cbf27c32] check-in: [1aee70d6] user: drh branch: trunk, size: 41112
20:29
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. file: [15c8c8c4] check-in: [179e5d46] user: drh branch: trunk, size: 41069
18:46
Performance improvement in the parsing of options to %-formats in the printf implementation. file: [fdea5e38] check-in: [40d8f8ae] user: drh branch: trunk, size: 40490
2018-09-13
17:07
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. file: [0f1177cf] check-in: [a2304a34] user: drh branch: trunk, size: 39806
2018-05-30
00:59
Fix a harmless compiler warning. file: [7f6f3cba] check-in: [8d02c7a6] user: drh branch: trunk, size: 39729
2018-05-16
15:35
Enhance the sqlite3_str_new() interface so that it always returns a valid and non-NULL pointer even in an OOM condition. file: [1d1b4a56] check-in: [ed5b0968] user: drh branch: trunk, size: 39726
2018-05-09
14:29
Fix minor problems with the sqlite3_str interface. file: [74ca0348] check-in: [43ea8a68] user: drh branch: trunk, size: 39376
13:46
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. file: [fb76c433] check-in: [87f261f0] user: drh branch: trunk, size: 39251
2018-02-20
15:23
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. file: [d3b7844d] check-in: [4bc8a48e] user: drh branch: trunk, size: 38427
2018-02-19
21:58
Printing a value of 0 using %c terminates the string. file: [07244a9e] check-in: [255612f0] user: drh branch: printf-enhancement, size: 37582
20:23
Test cases and a bug fix on the new unicode handling in %c. file: [1c8986a3] check-in: [e41d64e9] user: drh branch: printf-enhancement, size: 37565
18:56
Fix the %c substitution in printf() so that it works with unicode characters. file: [721a26a1] check-in: [c35be1d9] user: drh branch: printf-enhancement, size: 37517
18:03
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(). file: [ab91b633] check-in: [391540ac] user: drh branch: printf-enhancement, size: 36548
17:03
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. file: [a9489734] check-in: [ca31c663] user: drh branch: printf-enhancement, size: 36271
2017-11-09
17:29
Make it possible to use OSTRACE for multi-process testing. file: [9506b4b9] check-in: [0a7d416c] user: mistachkin branch: readonly-wal-recovery, size: 35393
2017-08-19
20:38
Space and size optimization to the printf implementation. file: [40aee47a] check-in: [d01d2cff] user: drh branch: trunk, size: 35232
2017-08-12
02:01
Remove the zBase field from the StrAccum object. Resulting code is slightly smaller and faster. file: [439c145d] check-in: [6e52fa5f] user: drh branch: trunk, size: 35223
2017-03-20
16:34
Avoid the possibility of signed integer overflow with oversized precisions in %d conversions in the printf() implementation. file: [8757834f] check-in: [ef3a7c87] user: drh branch: trunk, size: 35510
2017-02-10
19:38
Add the "," flag to printf(). file: [67427bbe] check-in: [064445b1] user: drh branch: trunk, size: 35482
2017-01-04
00:26
Changes to the printf implementation for better performance. file: [ff10a9b9] check-in: [acdb8f6f] user: drh branch: printf-optimization, size: 35438
2016-12-30
14:15
Avoid passing NULL pointers to memcmp() or memcpy(), even when the "number-of-bytes" argument is passed 0. file: [0c857943] check-in: [56ff72ab] user: dan branch: trunk, size: 35535
2016-11-25
15:47
Performance enhancement to sqlite3_snprintf(). file: [f94da493] check-in: [c53dca7f] user: drh branch: trunk, size: 35527
15:11
Performance improvement in sqlite3StrAccumFinish() for the common case where no memory allocation is required. file: [8a76e8e9] check-in: [b6acf5d4] user: drh branch: trunk, size: 35527
2016-05-05
11:53
Renumber internal constants in the printf() implemention for a small performance improvement. file: [a5f0ca08] check-in: [69d11447] user: drh branch: trunk, size: 35386
2016-02-05
01:55
Improvements to the way that OOM errors are processed. file: [63e6fb12] check-in: [c3ef0347] user: drh branch: oom-handling, size: 35386
2016-01-30
12:50
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. file: [98a5cef7] check-in: [0bdb41c4] user: drh branch: trunk, size: 35387
2016-01-04
04:28
Limit the length of sqlite3_mprintf() output to 2^30 bytes, even if SQLITE_MAX_LENGTH is set larger at compile-time. file: [79265c0b] check-in: [d655a665] user: drh branch: trunk, size: 35468
2015-12-08
16:08
Avoid doing comparisons with pointers that might have been previously been passed to realloc() and/or free(). file: [af589a27] check-in: [f20396ad] user: drh branch: trunk, size: 35355
2015-12-07
16:43
Changes to avoid undefined behavior detected by analysis tools - never observed in the wild. Later: This check-in introduces a bug, fixed at [a304e34675404aee]. file: [9a910546] check-in: [a9e81908] user: drh branch: trunk, size: 34971
2015-11-30
22:52
Add the SQLITE_PRINTF_PRECISION_LIMIT compile-time option. file: [ca055617] check-in: [ecad75d6] user: drh branch: trunk, size: 34960
2015-11-14
22:04
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. file: [f8fc8f04] check-in: [92724260] user: drh branch: trunk, size: 34611
2015-09-02
21:00
Optimizations to the printf formatter. file: [0c4bcdd1] check-in: [a3b35dde] user: drh branch: trunk, size: 34598
15:37
Use sqlite3XPrintf() instead of sqlite3StrAccumAppend() in a few places for better performance and a smaller footprint. file: [e66737e0] check-in: [82355e41] user: drh branch: trunk, size: 34660
2015-07-14
22:43
Amplify the comment on renderLogMsg() that explains the problems associated with calling sqlite3_log() from deep within the memory allocator. file: [2bc439ff] check-in: [a73d7128] user: drh branch: trunk, size: 34568
2015-06-08
17:42
Fix typo in comment. No changes to code. file: [db11b596] check-in: [e49c2917] user: mistachkin branch: trunk, size: 34296
15:08
Factor out the TreeView parse tree printing module into a separate file. file: [9889e882] check-in: [c32ce54c] user: drh branch: view-optimization, size: 34297
2015-05-20
19:48
Avoid signed integer overflow when converting oversized in-line integer widths and precisions in printf(). Cherrypick of [c494171f77dc], [5ce4e7d7651e], [95625ef3adc3] and [8e4ac2ce2441]. file: [1c030b72] check-in: [b330c7ff] user: dan branch: branch-3.8.6, size: 33940
2015-05-15
04:13
Simplifications to error message processing. Fix a possible problem in error message formatting when vacuuming a database with a corrupt schema. file: [13ce37e5] check-in: [56ef98a0] user: drh branch: trunk, size: 36668
2015-05-05
18:52
Remove four lines of superfluous code identified by clang scan-build. file: [54dd6dce] check-in: [04afa3fe] user: drh branch: trunk, size: 37155
2015-05-02
18:25
Add the SQLITE_LIMIT_PRINTF_WIDTH setting for sqlite3_limit() and associated logic for preventing DOS attacks using printf() with oversized widths or precisions. file: [c287c1cf] check-in: [f8b15979] user: drh branch: limit-printf-width, size: 37478
11:45
Cleanup of the sqlite3StrAccumInit() function. No functionality changes. file: [1f87c247] check-in: [7952c322] user: drh branch: trunk, size: 37191
2015-04-29
16:50
Use sqlite3_malloc64() in place of sqlite3_malloc() internally. file: [aa040909] check-in: [48f553b0] user: drh branch: trunk, size: 36865
2015-04-22
14:41
Prototype for an sqlite3_db_log() interface. file: [9753790e] check-in: [658e20f5] user: drh branch: sqlite3_db_log, size: 37596
2015-04-16
03:37
Make sure the sqlite3DebugPrintf() function is defined for OSTRACE as well. file: [18df0da8] check-in: [ae5af704] user: mistachkin branch: winTest, size: 36859
2015-04-15
05:38
Fix a faulty assert() in the sqlite3StrAccumAppend() routine. file: [08fa675c] check-in: [998cfdb8] user: drh branch: trunk, size: 36826
2015-04-07
15:39
Avoid signed integer overflow when converting oversized in-line integer widths and precisions in printf(). file: [8ae1fa9d] check-in: [8e4ac2ce] user: drh branch: trunk, size: 36818
14:38
Another change to avoid a problem caused by integer overflow in the printf() code. file: [62f93b92] check-in: [95625ef3] user: dan branch: trunk, size: 36944
13:28
Further changes to guard against integer overflow in the width and precision of printf() arguments. file: [0f3476d9] check-in: [5ce4e7d7] user: drh branch: trunk, size: 36616
12:41
Guard against excessive width and precision in floating-point conversions in the printf routines. file: [32f69fcb] check-in: [c494171f] user: drh branch: trunk, size: 36471
2015-03-31
19:06
Build fixes for OSTRACE enhancements. file: [8fff88d2] check-in: [f79c236f] user: mistachkin branch: winTest, size: 36494
2015-02-13
16:36
Improvements to SQLITE_ENABLE_API_ARMOR. file: [8da9a268] check-in: [823ad40c] user: drh branch: trunk, size: 36430
2015-01-25
20:19
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. file: [05edc414] check-in: [1964e656] user: drh branch: trunk, size: 36437
2015-01-10
16:49
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. file: [ea82bcb1] check-in: [9e92a5ed] user: drh branch: trunk, size: 36570
2014-11-12
14:12
Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. file: [d83b5736] check-in: [839a6df9] user: drh branch: branch-3.8.7, size: 36239
2014-11-03
14:46
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. file: [9e75a6a0] check-in: [a518bc33] user: drh branch: trunk, size: 36896
13:24
When enlarging the size of a StrAccum object, use sqlite3DbMallocSize() to record the entire size of the allocation, not just the requested size. file: [ee13dacc] check-in: [3dda3c93] user: drh branch: trunk, size: 36689
2014-10-29
18:20
Fix the %c format character in sqlite3VXPrintf() so that it correctly handles precisions larger than 70. file: [10a24935] check-in: [08a27440] user: drh branch: trunk, size: 36637
2014-10-24
00:35
Add the SQLITE_ENABLE_API_ARMOR compile-time option. This is a work in progress and is not yet completely functional. file: [c31012ac] check-in: [c297a84b] user: drh branch: api-armor, size: 36501
2014-10-22
20:07
Disable the use of strchrnul() unless specifically enabled by compile-time options. file: [090fac0f] check-in: [e580470d] user: drh branch: trunk, size: 36103
2014-09-30
21:24
Draw the TreeView debugging graphs using unicode box-drawing characters. file: [ecbec6fc] check-in: [0efc6859] user: drh branch: box-character-graph, size: 36355
19:04
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. file: [6b79bbd0] check-in: [5ce05757] user: drh branch: trunk, size: 36166
12:33
Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(), and sqlite3TreeViewSelect(). file: [0db94d24] check-in: [4ff51325] user: drh branch: trunk, size: 36165
2014-09-20
00:29
Only enable HAVE_STRCHRNUL by default on linux, as that is the only place it appears to work by default. file: [3a47f526] check-in: [0fac2c04] user: drh branch: sqliteIntMacros, size: 34033
00:02
Revise macro usage in 'sqliteInt.h'. file: [901a2b92] check-in: [35db3e2f] user: mistachkin branch: sqliteIntMacros, size: 34039
2014-09-18
01:50
Make sure of the strchrnul() library function on platforms where it is available. file: [19e3e81a] check-in: [ef1aa10b] user: drh branch: trunk, size: 34061
2014-09-06
16:39
Fix typos in comments. No code changes. file: [e7492508] check-in: [e62aab5e] user: peter.d.reid branch: trunk, size: 33572
2014-08-22
15:40
Performance improvement in the printf() logic by avoiding unnecessary stack pointer movement. file: [00986c86] check-in: [f7f2160d] user: drh branch: trunk, size: 33573
2014-05-31
15:39
Fix a compile of harmless static analyzer warnings. file: [af06f669] check-in: [7e287f20] user: drh branch: trunk, size: 33552
2014-04-24
13:20
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. file: [eca1a628] check-in: [34155c40] user: drh branch: filesize-debug, size: 33256
2014-03-17
15:06
Clean up some obsolete "register" declarations in printf.c. file: [e5a0005f] check-in: [ecd9d3f9] user: drh branch: trunk, size: 33508
14:24
Performance enhancements and size reduction for sqlite3VXPrintf() file: [d95ea1b8] check-in: [eb071eb5] user: drh branch: trunk, size: 33594
2013-12-17
15:58
Fix the formatting of %c in the printf() SQL function. file: [85d07756] check-in: [3375571a] user: drh branch: printf-sql-function, size: 32994
15:03
Add the printf() SQL function. file: [0c0cb58e] check-in: [6db7052e] user: drh branch: printf-sql-function, size: 32937
2013-12-13
16:42
Avoid unnecessary calls to sqlite3_free() from within sqlite3VXPrintf(). file: [ba8b28e9] check-in: [e2a8b280] user: drh branch: trunk, size: 31226
2013-12-11
11:00
Fix harmless compiler warnings. file: [b2778aa1] check-in: [a7e5fcd6] user: drh branch: trunk, size: 31213
02:21
Fix harmless compiler warning. file: [e2f78b69] check-in: [2525296d] user: mistachkin branch: trunk, size: 31208
2013-12-09
19:03
Performance optimizations for sqlite3VXPrintf(). file: [aacd7f73] check-in: [9227ad48] user: drh branch: trunk, size: 31215
2013-08-21
21:12
Simplification to the StrAccum object and the sqlite3StrAccumAppend() method that also results in slightly better performance. file: [da9119eb] check-in: [700dbbea] user: drh branch: trunk, size: 30817
2013-07-08
22:33
Make sure an adequate number of digits are shown for binary-to-text rendering of very small floating point values. file: [41c49dac] check-in: [776e65f9] user: drh branch: trunk, size: 30744
2013-05-28
12:11
Many small harmless comment changes. Removal of obsolete comments and fixing misspelled words. No changes to code. file: [bff529ed] check-in: [a0d5cc93] user: drh branch: trunk, size: 30730
2012-06-19
03:35
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(). file: [4a9f882f] check-in: [fd7bd4a5] user: drh branch: floating-point-conversions, size: 30946
03:11
Improved accuracy on text-to-real and real-to-text conversions. Most conversions now round-trip correctly. Still need to fix some corner cases. file: [263748c3] check-in: [8ecffca9] user: drh branch: floating-point-conversions, size: 30865
2011-12-06
19:44
Begin adding the data-structure explaining subsystem. All is contained within file: [7ffb4ebb] check-in: [79ae51c5] user: drh branch: tree-explain, size: 30752
2011-10-14
21:49
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. file: [03104cbf] check-in: [60fee957] user: drh branch: trunk, size: 30738
2011-10-12
18:52
Clean up obsolete comments in printf.c. file: [c6ec4b34] check-in: [97ef4f50] user: drh branch: trunk, size: 30676
2011-10-11
17:54
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. file: [1cd24df9] check-in: [1f843fb3] user: drh branch: trunk, size: 33280
2011-03-05
20:59
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. file: [585a36b6] check-in: [abf21394] user: drh branch: trunk, size: 33221
13:54
Fix an instance of signed arithmetic overflow and an one bit-shift overflow. Mark six other signed arithmetic overflow locations that need fixing. file: [6eb5c70b] check-in: [04abab71] user: drh branch: trunk, size: 33122
2011-01-21
18:25
Change sqlite3StrAccumAppend() to use realloc instead of malloc. file: [df2ff3bb] check-in: [380f61df] user: dan branch: trunk, size: 33109
2011-01-05
12:20
Add the sqlite3_vsnprintf() interface. file: [37e8bfd4] check-in: [fc67adea] user: drh branch: trunk, size: 33062
2010-07-24
16:34
Make sure all memory from sqlite3DbMalloc() is freed by sqlite3DbFree() and all memory from sqlite3_malloc() is freed by sqlite3_free(). file: [8ae5082d] check-in: [ac1f37a6] user: drh branch: malloc-enhancement, size: 32661
2010-03-04
17:58
Fix for [9abd6aa831]. Do not overread a buffer used for an %q or %w conversion with a precision specifier. file: [5f5b65a8] check-in: [5e472896] user: dan branch: trunk, size: 32371
17:11
Fix an uninitialized variable in printf when compiling with SQLITE_OMIT_FLOATING_POINT. file: [8146d9ff] check-in: [14ad62b9] user: drh branch: trunk, size: 32371
00:53
Increase the maximum length of an sqlite3_log() result string. Provide more details on the statement abort log message. file: [10b70349] check-in: [5322d1df] user: drh branch: trunk, size: 32303
2010-03-03
22:40
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]. file: [7c2ae3a3] check-in: [6f368b54] user: drh branch: branch-3.6.22, size: 32413
22:25
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. file: [e2b8c9c8] check-in: [28d1bc98] user: drh branch: trunk, size: 32472
2010-02-25
21:27
Test coverage enhancements. Additional documentation detail on the new sqlite3_log() interface. file: [aa793722] check-in: [d986e928] user: drh branch: trunk, size: 31954
14:44
Add some technically unnecessary variable initializations to silence compiler warnings. file: [fd40f2fe] check-in: [a2550597] user: dan branch: branch-3.6.1, size: 30421
02:32
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]. file: [ed476ea4] check-in: [46f406b2] user: drh branch: branch-3.6.22, size: 31906
2010-02-22
19:32
Log all error messages if logging is enabled. file: [f5c160b4] check-in: [a8076aed] user: drh branch: trunk, size: 31965
2010-02-18
18:45
Add a new, experimental logging interface designed to aid in debugging of deeply embedded projects that use SQLite. file: [35d62dff] check-in: [103321e3] user: drh branch: trunk, size: 31956
2010-01-13
16:43
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. file: [2c2702dc] check-in: [3fd6f9ad] user: drh branch: trunk, size: 31220
2009-11-25
18:03
Initial check-in of code that inserts tokenizations of the values for bound parameters into the output of sqlite3_trace(). file: [644bc7d5] check-in: [545cfb3b] user: drh branch: trunk, size: 31161
16:53
Enhance the %q, %Q, and %w printf conversions so that the precisions specifies the length of the input. file: [51c3b010] check-in: [3ba77313] user: drh branch: trunk, size: 30914
2009-11-10
01:30
Remove the obsolete "$Id:$" RCS identifier strings from the source code. file: [03fabdd6] check-in: [f6c045f6] user: drh branch: trunk, size: 30789
2009-06-03
01:24
Additional changes to reduce stack usage. The SQLITE_SMALL_STACK compile-time option is now available. (CVS 6708) file: [508a1c59] check-in: [baea79fd] user: drh branch: trunk, size: 30847
2009-05-04
20:20
Make sure va_arg() does not occur on the same line as any "if" statement or "?" operator. (CVS 6602) file: [3f4dca20] check-in: [3543be6e] user: drh branch: trunk, size: 30847
2009-04-08
16:10
Reconfigure the default case for the printf switch in order to improve branch coverage. (CVS 6472) file: [ea2d7600] check-in: [3cc79162] user: drh branch: trunk, size: 30781
15:45
Remove a pair unnecessary conditions from printf.c. The "db" parameter is now required for sqlite3MPrintf(). (CVS 6471) file: [3c974cdc] check-in: [6fe8b5d7] user: drh branch: trunk, size: 30647
11:49
Add a comment to printf.c - no changes to code. (CVS 6468) file: [f5e10308] check-in: [ee5a4a0e] user: drh branch: trunk, size: 30570
2008-12-10
19:26
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) file: [9866a9a9] check-in: [c872d554] user: drh branch: trunk, size: 30482
18:03
More explicit type casting to silence VC++. (CVS 6006) file: [b42e767e] check-in: [14e6d19c] user: drh branch: trunk, size: 30366
2008-11-22
18:28
Make sure the error message handler is able to deal with NULL expression spans. Ticket #3508. (CVS 5949) file: [e29d9475] check-in: [ce36b647] user: drh branch: trunk, size: 30366
2008-11-20
18:20
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) file: [ce86aed9] check-in: [eebacbc9] user: drh branch: trunk, size: 30358
2008-11-17
19:18
Modifications to avoid unsigned/signed comparisons in various files. (CVS 5914) file: [5fe6ba48] check-in: [8009220c] user: danielk1977 branch: trunk, size: 30303
2008-08-22
14:08
Remove unused variable from printf.c. Ticket #3331. (CVS 5595) file: [785f8712] check-in: [7fd11f4a] user: drh branch: trunk, size: 30333
2008-07-28
19:34
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) file: [2e984b25] check-in: [e48f9697] user: drh branch: trunk, size: 30421
2008-07-15
00:27
Increased test coverage. (CVS 5414) file: [2174222b] check-in: [7cf91e08] user: drh branch: trunk, size: 29875
2008-07-14
12:52
Write sqlite3_initialize() calls in sqlite3_malloc() within SQLITE_OMIT_AUTOINIT. Ticket #3217. (CVS 5408) file: [36895cfc] check-in: [4961b0bb] user: drh branch: trunk, size: 29927
2008-07-10
00:32
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) file: [8e5d4102] check-in: [636cd723] user: drh branch: trunk, size: 29825
2008-07-09
16:51
Test coverage improvements on printf. (CVS 5385) file: [2a759d27] check-in: [2d8f7beb] user: drh branch: trunk, size: 29997
2008-07-08
19:34
Completely rework the sqlite3SetString() primitive so that it honors the SQLITE_LIMIT_LENGTH and avoids the use of strlen(). (CVS 5374) file: [0e4bd141] check-in: [8ed04b1e] user: drh branch: trunk, size: 30142
2008-06-16
20:51
Clean up obfuscated code in sqlite3_table_column_meta_data(). Be sure to invoke sqlite3_initialize() within sqlite3_mprintf(). (CVS 5224) file: [8b063da9] check-in: [bb4edb53] user: drh branch: trunk, size: 30123
2008-06-15
02:51
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) file: [ff67198b] check-in: [65fe7b62] user: drh branch: trunk, size: 30075
2008-05-16
04:51
Add more version tags to files that lack them. Ticket #3120. (CVS 5137) file: [f2d4f6c5] check-in: [81a8c70e] user: danielk1977 branch: trunk, size: 30086
2008-04-29
15:22
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) file: [77c192cc] check-in: [1f5b1841] user: drh branch: trunk, size: 30021
2008-04-28
16:55
Change the implementation of the NaN recognition to be more cross-platform. Ticket #3089. (CVS 5060) file: [2d9bac81] check-in: [07fd9a8c] user: drh branch: trunk, size: 29962
2008-03-20
16:30
Reinstate test cases for the limit tests. The sqlite3_limit() API is now tested and working. (CVS 4899) file: [05d2b44d] check-in: [4c4be4c3] user: drh branch: trunk, size: 29963
14:03
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) file: [88674589] check-in: [60c77882] user: drh branch: trunk, size: 29900
2007-12-13
17:50
Additional test cases for tkt2822. Fix a related bug in printf(). (CVS 4624) file: [eb27822b] check-in: [8f184e40] user: drh branch: trunk, size: 29782
02:45
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) file: [5732e393] check-in: [bbddf16a] user: drh branch: trunk, size: 29783
2007-12-08
17:55
Fix a bug in the debugging printf logic. (CVS 4600) file: [c94a2571] check-in: [1d6a9f5f] user: drh branch: trunk, size: 29339
2007-11-28
22:36
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) file: [0d7ad185] check-in: [221aee72] user: drh branch: trunk, size: 29308
2007-10-05
16:23
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) file: [96c8d553] check-in: [4424357d] user: drh branch: trunk, size: 30735
2007-09-01
09:02
Fix a problem handling a malloc() failure in printf.c. Also some other things to improve test coverage. (CVS 4361) file: [85f7a434] check-in: [595bfe72] user: danielk1977 branch: trunk, size: 30753
2007-08-30
11:48
Fixes for failures in fuzz_malloc.test. (CVS 4334) file: [81e5db66] check-in: [d3e50226] user: danielk1977 branch: trunk, size: 30686
2007-08-29
12:31
Modifications to the malloc failure tests to test transient and persistent failures. (CVS 4321) file: [e8cb9969] check-in: [e38ef81b] user: danielk1977 branch: trunk, size: 30433
2007-08-24
03:51
The win32 driver compiles but does not yet work well. Many bugs fixed. (CVS 4282) file: [33d23a68] check-in: [3a68fcdd] user: drh branch: trunk, size: 30384
2007-08-22
20:18
The malloc.test script now passes all tests with no errors. (CVS 4271) file: [0f46bc3a] check-in: [db818430] user: drh branch: trunk, size: 30384
2007-08-16
10:09
More work on refactoring of malloc() interfaces. There are still many errors. (CVS 4233) file: [a8f46e0e] check-in: [77b16713] user: danielk1977 branch: trunk, size: 30411
04:30
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) file: [32638645] check-in: [deb7ecd6] user: drh branch: trunk, size: 30388
2007-06-24
06:32
When expanding '*' in the result set of a SELECT, quote the expanded identifiers. Fix for #2450. (CVS 4111) file: [9b3048d2] check-in: [d5b7224f] user: danielk1977 branch: trunk, size: 30078
2007-06-20
15:29
Remove the dependency on libm for isnan(). Ticket #2436. (CVS 4103) file: [deaef57e] check-in: [406675bb] user: drh branch: trunk, size: 29888
2007-06-15
20:29
Make arrangements to optionally print a debug message at the point of a simulated malloc() failure when SQLITE_MEMDEBUG is defined. (CVS 4077) file: [711908d6] check-in: [7d3c1f08] user: drh branch: trunk, size: 29880
2007-05-15
02:34
Fix a bug in sqlite3_mprintf() which could have caused a buffer overrun if malloc() failed. (CVS 3998) file: [cd91e057] check-in: [5af49a57] user: drh branch: trunk, size: 29852
2007-05-10
17:23
Add some UTF-8 test infrastructure. Treat NaN as NULL. The printf routines print infinity as "Inf" not as "NaN". Ticket #2345. (CVS 3972) file: [05b233c7] check-in: [ffe615a7] user: drh branch: trunk, size: 29800
2007-05-07
11:24
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) file: [67de0dcb] check-in: [f3ae4ac5] user: drh branch: trunk, size: 29501
2007-03-31
15:02
Improved test coverage for printf.c. (CVS 3780) file: [0c6f4064] check-in: [c2badb20] user: drh branch: trunk, size: 29451
2007-01-26
19:23
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) file: [aade23a7] check-in: [1b26d687] user: drh branch: trunk, size: 29526
2006-06-26
21:35
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) file: [b179b6ed] check-in: [85a66a25] user: drh branch: trunk, size: 29540
2006-05-22
22:04
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) file: [7029e5f7] check-in: [9d7297b9] user: drh branch: trunk, size: 29556
2006-03-28
23:57
Compile-time option to use only 32-bit integers. (CVS 3157) file: [358b4b58] check-in: [aedadfc3] user: drh branch: trunk, size: 29520
2006-03-19
13:00
Increase test coverage to above 98%. (CVS 3144) file: [68015012] check-in: [8ae6ccc7] user: drh branch: trunk, size: 29520
2006-03-06
20:55
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) file: [341e488b] check-in: [e510e6dd] user: drh branch: trunk, size: 29756
2006-02-24
02:53
Remove unused parameters on internal APIs. Suppress warnings from CodeWarrior. (CVS 3110) file: [cda33918] check-in: [4b22e4b8] user: drh branch: trunk, size: 29712
2006-01-24
12:09
Rename some variables to avoid hiding others. Also add "static" to two function signatures that were missing it. (CVS 3024) file: [c7d6ad9e] check-in: [d86f18a4] user: danielk1977 branch: trunk, size: 29711
2005-12-09
20:02
Clean up annoying (and pointless) compiler warnings about differing signedness. (CVS 2810) file: [f47a2f4b] check-in: [83a59151] user: drh branch: trunk, size: 29689
2005-10-13
02:09
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) file: [3ea3a17d] check-in: [a0bdb584] user: drh branch: trunk, size: 29682
2005-09-16
02:38
Fix a whole host of newly discovered memory leaks the occur after a failure of realloc(). (CVS 2696) file: [bd421c1a] check-in: [4686d649] user: drh branch: trunk, size: 29569
2005-09-06
21:40
Changes to reduce the amount of stack space required. (CVS 2661) file: [c01e9ad4] check-in: [b86bd70f] user: drh branch: trunk, size: 29443
2005-08-30
19:30
Fix printf.c so that it handles 10.0 correctly. (CVS 2643) file: [d2678b06] check-in: [0f7a53f7] user: drh branch: trunk, size: 29121
2005-08-19
02:26
Increased test coverage on trigger.c and printf.c. (CVS 2601) file: [cea584c5] check-in: [842a80bd] user: drh branch: trunk, size: 29118
2005-08-13
13:40
Fix a comment in printf. (CVS 2588) file: [772b15c3] check-in: [1054685f] user: drh branch: trunk, size: 29389
13:39
Additional cleanup and optimization of the printf function. (CVS 2587) file: [e63e8aa8] check-in: [240bb049] user: drh branch: trunk, size: 29389
12:59
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) file: [d1fa64c6] check-in: [4b98dace] user: drh branch: trunk, size: 29347
03:07
Make the round() function work correctly on numbers with very large exponents. Ticket #1340. (CVS 2585) file: [a06d3527] check-in: [4f47c3c8] user: drh branch: trunk, size: 29463
2004-11-05
17:17
Create table now works with sqlite3NestedParse. This changed uncovered a latent bug in xprintf which is also fixed. (CVS 2069) file: [3d20b21c] check-in: [b0506bdd] user: drh branch: trunk, size: 29384
2004-10-06
15:41
Convert many constants to have type "const". (CVS 2006) file: [7a92adc0] check-in: [d790c84c] user: drh branch: trunk, size: 29275
2004-09-24
22:32
Optimizations to vdbeaux.c and printf.c (CVS 1980) file: [40770e1f] check-in: [eabc77c9] user: drh branch: trunk, size: 29237
19:39
Improvements to the debugging code. (CVS 1979) file: [74ee8eed] check-in: [bdc3bb07] user: drh branch: trunk, size: 29451
2004-09-19
02:15
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) file: [2dfe86e6] check-in: [4871c77f] user: drh branch: trunk, size: 29437
2004-09-08
20:13
More changes directed at getting things to work on 64-bit platforms. (CVS 1949) file: [a8b92a3b] check-in: [39755d21] user: drh branch: trunk, size: 29390
2004-07-26
12:24
Fix problems for 64-bit machines and when SQLITE_OMIT_AUTHORIZATION is defined. (CVS 1868) file: [17b28a1e] check-in: [e3cad1ab] user: drh branch: trunk, size: 29169
2004-07-17
21:59
Fix for ticket #812 in the 2.8 branch. (CVS 1801) file: [378ec63d] check-in: [ea364dff] user: drh branch: version_2, size: 31020
21:56
mprintf() correctly handles "%s","". Fix for ticket #812. (CVS 1800) file: [36090f6d] check-in: [4f56db11] user: drh branch: trunk, size: 31882
2004-06-25
01:10
Fix signed integer problems in vxprintf. Ticket #778. Also remove some dead code from util.c. (CVS 1685) file: [3090c8ff] check-in: [200cd3ba] user: drh branch: trunk, size: 31846
2004-06-22
22:04
Be careful to initialize the Mem.xDel field to zero for static Mems. (CVS 1671) file: [b6490067] check-in: [e17ea666] user: drh branch: trunk, size: 32286
12:13
Patch around compilers that do not support "long long int". (CVS 1656) file: [afe30ac1] check-in: [d98b1502] user: drh branch: trunk, size: 32261
2004-06-18
17:10
Changes to allow libsqlite3.a and libsqlite.a to be both linked into the same program at the same time. (CVS 1621) file: [823b6a5c] check-in: [2590fffc] user: drh branch: trunk, size: 32259
2004-06-16
12:02
Trivial modifications to prevent compiler warnings. (CVS 1607) file: [7e7f83a7] check-in: [7974c9a6] user: danielk1977 branch: trunk, size: 32249
10:39
Fix handling of a failed malloc() in various places (CVS 1605) file: [060199ba] check-in: [b739ef2a] user: danielk1977 branch: trunk, size: 32249
2004-06-07
16:27
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) file: [63b15f1e] check-in: [0c2d169c] user: drh branch: trunk, size: 32217
01:52
Progress towards getting locking to work on windows. (CVS 1536) file: [77ee9ec6] check-in: [4f7c0961] user: drh branch: trunk, size: 32199
2004-05-12
07:33
Change the table record format to support manifest typing. (CVS 1361) file: [ef750e8e] check-in: [0242c9e4] user: danielk1977 branch: trunk, size: 31769
2004-05-10
10:34
Change the names of external symbols from sqlite_XXX to sqlite3_XXX. (CVS 1338) file: [8aa5d885] check-in: [2242423e] user: danielk1977 branch: trunk, size: 31427
2004-05-08
08:23
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) file: [43d54654] check-in: [8af6474c] user: danielk1977 branch: trunk, size: 31410
2004-05-07
13:30
New btree.c module compiles and links. (CVS 1320) file: [8dba7092] check-in: [dcd6b55f] user: drh branch: trunk, size: 31405
2004-02-29
00:11
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) file: [8c58b7b6] check-in: [e97089b7] user: drh branch: trunk, size: 30984
2004-02-21
19:41
Test cases for printf of double overflows. (CVS 1260) file: [f201a5a3] check-in: [96a6d2d3] user: drh branch: trunk, size: 30978
19:02
Cleanup the printf code to make it smaller and more modular. Fix a memory leak in the new OP_ContextPush opcode. (CVS 1258) file: [2a8bf0fa] check-in: [2756f7af] user: drh branch: trunk, size: 30980
13:31
More code cleanup and size reduction. (CVS 1256) file: [ef1838bd] check-in: [8e3eda2a] user: drh branch: trunk, size: 30326
2004-02-02
12:29
Remove undocumented extensions from sqlite_mprintf() and friends in order to make it about 10% smaller. (CVS 1207) file: [84e4ea4b] check-in: [0b3f552b] user: drh branch: trunk, size: 30404
2004-01-07
03:04
Use "long double" to hold intermediate values when doing ascii to binary and binary to ascii conversions of floating point numbers. (CVS 1162) file: [292a7bfc] check-in: [8371f662] user: drh branch: trunk, size: 31301
2003-12-23
02:17
Use a built-in atof() function instead of the one from the library to avoid problems with locale. Ticket #305. (CVS 1144) file: [09fac1bc] check-in: [4d9edbc5] user: drh branch: trunk, size: 31282
2003-06-16
03:08
Add the %z format to the sqlite_mprintf() and related functions. (CVS 1028) file: [12e45d48] check-in: [eca1398e] user: drh branch: trunk, size: 30098
2003-06-07
11:29
Do not assume that a pointer can fit in a long inside the printf() code. Ticket #342. (CVS 1013) file: [12ab57e6] check-in: [5dad7c05] user: drh branch: trunk, size: 29791
2003-03-19
03:14
Modifications to the VDBE to support more than one database file. (CVS 878) file: [fc5fdef6] check-in: [875da9ee] user: drh branch: trunk, size: 29827
2003-01-29
18:46
Better error messages on constraint violations. Additional tests and bug fixes for the callback-free API. (CVS 854) file: [f8fd911a] check-in: [ccc82f1a] user: drh branch: trunk, size: 29841
2003-01-19
03:59
Update comments. No changes to code. (CVS 841) file: [e8e9a060] check-in: [f6a87068] user: drh branch: trunk, size: 29233
2002-08-15
13:50
Fix for ticket #135: Remove unused variables from three files. (CVS 719) file: [5c50fc1d] check-in: [8cf17f2a] user: drh branch: trunk, size: 29228
2002-07-10
21:26
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) file: [06f4c872] check-in: [ff8b6f4e] user: drh branch: trunk, size: 29288
2002-06-16
04:55
Added %Q format specifier: like %q but automatic enclosing in single quotes, NULL pointers replaced by NULL w/o single-quotes. (CVS 621) file: [236ed7a7] check-in: [b9c7ecc2] user: chw branch: trunk, size: 29538
2002-05-15
11:44
Remove all tabs from the beginning of source code lines. Replace tabs with the appropriate number of spaces. (CVS 565) file: [d8032ee1] check-in: [690f9a16] user: drh branch: trunk, size: 29051
2001-11-03
23:57
Added "const" to lots of "char*" parameters in the API. (CVS 298) file: [300a9055] check-in: [1c448f1f] user: drh branch: trunk, size: 28941
2001-10-22
02:58
More changes for 2.0.7. (CVS 293) file: [167fbfb1] check-in: [f8328a5f] user: drh branch: trunk, size: 28941
2001-04-11
14:28
better handling of out-of-memory errors (CVS 207) file: [b1e22a47] check-in: [86b30cd0] user: drh branch: trunk, size: 28686
2001-01-31
13:28
Working better with Win95. Continued work on the new db.c backend. (CVS 1714) file: [af0dc65c] check-in: [df0ff304] user: drh branch: trunk, size: 28648
2000-10-17
01:31
Fix an off-by-one error in printf.c (CVS 156) file: [1efb6b3e] check-in: [17fcd3b0] user: drh branch: trunk, size: 28655
2000-10-11
19:28
Misc cleanup. Notes on compiling for Win95. (CVS 152) file: [6fc343f0] check-in: [3f0f1fa1] user: drh branch: trunk, size: 28651
2000-10-08
22:20
Added the _printf() interface. (CVS 150) file: [534954b9] check-in: [f9372072] user: drh branch: trunk, size: 28631 Added