SQLite

Check-in [f1c09acaca]
Login

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

Overview
Comment:Fix a typo on the ynVar typedef that unfortunately caused 3.6.20 to be released with a "bug" that causes excess memory usage for Expr objects. This bug should be benign in the sense that the correct answer is still always obtained - it only uses more more memory than is really necessary.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | shunning-error
Files: files | file ages | folders
SHA1: f1c09acaca3e205acf5b077c9b2d0fe35f035c1e
User & Date: drh 2009-11-04 23:02:52.000
Context
2009-11-05
16:29
Add a comment related to code coverage. No changes to code. (check-in: 6bdc2c9957 user: drh tags: shunning-error)
2009-11-04
23:02
Fix a typo on the ynVar typedef that unfortunately caused 3.6.20 to be released with a "bug" that causes excess memory usage for Expr objects. This bug should be benign in the sense that the correct answer is still always obtained - it only uses more more memory than is really necessary. (check-in: f1c09acaca user: drh tags: shunning-error)
21:49
Do not accept a codec no an in-memory database. (check-in: 6f3081a8e5 user: drh tags: shunning-error)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/sqliteInt.h.
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
** it uses less memory in the Expr object, which is a big memory user
** in systems with lots of prepared statements.  And few applications
** need more than about 10 or 20 variables.  But some extreme users want
** to have prepared statements with over 32767 variables, and for them
** the option is available (at compile-time).
*/
#if SQLITE_MAX_VARIABLE_NUMBER<=32767
typedef i64 ynVar;
#else
typedef int ynVar;
#endif

/*
** Each node of an expression in the parse tree is an instance
** of this structure.







|







1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
** it uses less memory in the Expr object, which is a big memory user
** in systems with lots of prepared statements.  And few applications
** need more than about 10 or 20 variables.  But some extreme users want
** to have prepared statements with over 32767 variables, and for them
** the option is available (at compile-time).
*/
#if SQLITE_MAX_VARIABLE_NUMBER<=32767
typedef i16 ynVar;
#else
typedef int ynVar;
#endif

/*
** Each node of an expression in the parse tree is an instance
** of this structure.