Documentation Source Text

Check-in [fb2b8b097b]
Login

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

Overview
Comment:Preparations for the 3.7.1 release.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: fb2b8b097b3b0d2674654c174af0c83346fcbd75
User & Date: drh 2010-08-21 19:11:12
Context
2010-08-23
22:51
Preparation for the 3.7.2 release. check-in: 7bf266483d user: drh tags: trunk
2010-08-21
19:11
Preparations for the 3.7.1 release. check-in: fb2b8b097b user: drh tags: trunk
2010-08-14
12:25
Break a big testable statement in lang_expr.html into several smaller blocks. check-in: 61d45eaf94 user: dan tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to pages/changes.in.

    38     38         http://www.sqlite.org/src/timeline</a>.</p>
    39     39       }
    40     40       hd_close_aux
    41     41       hd_enable_main 1
    42     42     }
    43     43   }
    44     44   
    45         -chng {2010 August 19 (3.7.1)} {
           45  +chng {2010 August 23 (3.7.1)} {
    46     46   <li> Added new commands [SQLITE_DBSTATUS_SCHEMA_USED] and
    47     47        [SQLITE_DBSTATUS_STMT_USED] to the [sqlite3_db_status()] interface, in
    48     48        order to report out the amount of memory used to hold the schema and
    49     49        prepared statements of a connection.
           50  +<li> Increase the maximum size of a database pages from 32KiB to 64KiB.
           51  +<li> Use the [LIKE optimization] even if the right-hand side string contains
           52  +     no wildcards.
           53  +<li> Added the [SQLITE_FCNTL_CHUNK_SIZE] verb to the [sqlite3_file_control()]
           54  +     interface for both unix and windows, to cause database files to grow in
           55  +     large chunks in order to reduce disk fragmentation.
           56  +<li> Fixed a bug in the query planner that caused performance regresssions
           57  +     relative to 3.6.23.1 on some complex joins.
    50     58   <li> Fixed a typo in the OS/2 backend.
           59  +<li> Refactored the pager module.
           60  +<li> The SQLITE_MAX_PAGE_SIZE compile-time option is now silently ignored.
           61  +     The maximum page size is hard-coded at 65536 bytes.
           62  +}
           63  +
           64  +chng {2010 August 04 (3.7.0.1)} {
           65  +<li> Fix a potential database corruption bug that can occur if version 3.7.0
           66  +     and version 3.6.23.1 alternately write to the same database file.
           67  +     <a href="http://www.sqlite.org/src/info/51ae9cad317a1">
           68  +     Ticket &#91;51ae9cad317a1&#93;</a>
           69  +<li> Fix a performance regression related to the query planner enhancements
           70  +     of version 3.7.0.
    51     71   }
    52     72   
    53     73   chng {2010 July 22 (3.7.0)} {
    54     74   <li> Added support for [WAL | write-ahead logging].
    55     75   <li> Query planner enhancement - automatic transient indices are created
    56     76        when doing so reduces the estimated query time.
    57     77   <li> Query planner enhancement - the ORDER BY becomes a no-op if the query

Changes to pages/compile.in.

   128    128   <li> [SQLITE_MAX_COLUMN]  </li>
   129    129   <li> [SQLITE_MAX_COMPOUND_SELECT]  </li>
   130    130   <li> [SQLITE_MAX_EXPR_DEPTH]  </li>
   131    131   <li> [SQLITE_MAX_FUNCTION_ARG]  </li>
   132    132   <li> [SQLITE_MAX_LENGTH]  </li>
   133    133   <li> [SQLITE_MAX_LIKE_PATTERN_LENGTH]  </li>
   134    134   <li> [SQLITE_MAX_PAGE_COUNT]  </li>
   135         -<li> [SQLITE_MAX_PAGE_SIZE]  </li>
   136    135   <li> [SQLITE_MAX_SQL_LENGTH]  </li>
   137    136   <li> [SQLITE_MAX_VARIABLE_NUMBER]  </li>
   138    137   </ul>
   139    138   
   140    139   <a name="controlfeatures"></a>
   141    140   <h2>1.3 Options To Control Operating Characteristics</h2>
   142    141   

Changes to pages/index.in.

    85     85   <td width="20"></td><td bgcolor="#044a64" width="1"></td><td width="20"></td>
    86     86   <td valign="top">
    87     87   <h3>Current Status</h3>
    88     88   
    89     89   <p><ul>
    90     90   <li><a href="releaselog/3_7_1.html">Version 3.7.1</a>
    91     91   of SQLite is recommended for all new development.  Upgrading from
    92         -version 3.7.0, 3.6.23, 3.6.22, 3.6.13, or 3.6.12 is optional.
           92  +version 3.6.23, 3.6.22, 3.6.13, or 3.6.12 is optional.
    93     93   Upgrading from all other SQLite versions is recommended.</li>
    94     94   </ul></p>
    95     95   
    96     96   <h3>Common Links</h3>
    97     97   
    98     98   <p><ul>
    99     99   <li> <a href="features.html">Features</a> </li>

Changes to pages/limits.in.

   363    363   
   364    364   <p>
   365    365   The maximum number of attached databases can be lowered at run-time using
   366    366   the [sqlite3_limit](db,[SQLITE_LIMIT_ATTACHED],size) interface.
   367    367   </p>
   368    368   }
   369    369   
   370         -limititem {Maximum Database Page Size} SQLITE_MAX_PAGE_SIZE {
   371         -<p>
   372         -An SQLite database file is organized as pages.  The size of each
   373         -page is a power of 2 between 512 and SQLITE_MAX_PAGE_SIZE.
   374         -The default value for SQLITE_MAX_PAGE_SIZE is 32768.  The current
   375         -implementation will not support a larger value.
   376         -</p>
   377         -
   378         -<p>
   379         -It used to be the case that SQLite would allocate some stack
   380         -structures whose size was proportional to the maximum page size.
   381         -For this reason, SQLite would sometimes be compiled with a smaller
   382         -maximum page size on embedded devices with limited stack memory.  But
   383         -more recent versions of SQLite put these large structures on the
   384         -heap, not on the stack, so reducing the maximum page size is no
   385         -longer necessary on embedded devices.  There is no longer any
   386         -real reason to lower the maximum page size.
   387         -</p>
   388         -}
   389         -
   390    370   limititem {Maximum Number Of Pages In A Database File} \
   391    371             SQLITE_MAX_PAGE_COUNT {
   392    372   <p>
   393    373   SQLite is able to limit the size of a database file to prevent
   394    374   the database file from growing too large and consuming too much
   395    375   disk space.
   396    376   The SQLITE_MAX_PAGE_COUNT parameter, which is normally set to

Changes to pages/news.in.

    14     14     hd_puts "<h3>$date - $title</h3>"
    15     15     regsub -all "\n( *\n)+" $text "</p>\n\n<p>" txt
    16     16     regsub -all {[Tt]icket #(\d+)} $txt \
    17     17         {<a href="http://www.sqlite.org/cvstrac/tktview?tn=\1">\0</a>} txt
    18     18     hd_resolve "<p>$txt</p>"
    19     19     hd_puts "<hr width=\"50%\">"
    20     20   }
           21  +
           22  +newsitem {2010-August-23} {Version 3.7.1} {
           23  +  SQLite [version 3.7.1] is a stabilization release for the 3.7.x series.
           24  +  Other than the filesize-in-header bug that was fixed in [version 3.7.0.1],
           25  +  no major problems have been seen in 3.7.0.  Some minor corner-case
           26  +  performance regressions have been fixed.  A typo in the OS/2 interface
           27  +  has been repaired.
           28  +
           29  +  A biggest part of the 3.7.1 release is a cleanup and refactoring of
           30  +  the pager module within SQLite.  This refactoring should have no
           31  +  application-visible effects.  The purpose was to reorganize the code
           32  +  in ways that make it easier to prove correctness.
           33  +
           34  +  The 3.7.1 release adds new experimental methods for obtained more 
           35  +  detailed memory usage information and for controlling database file
           36  +  fragmentation.  And the query planner now does a better job of
           37  +  optimizing the [LIKE] and [GLOB] operators.
           38  +
           39  +  This release increases the maximum size of database pages from 32KiB to
           40  +  64KiB.  A database with 64KiB pages will not be readable or writable by
           41  +  older versions of SQLite.  Note that further increases in page size
           42  +  are not feasible since the [file format] uses 16-bit offsets to structures
           43  +  within each page.
           44  +}
           45  +
           46  +newsitem {2010-August-04} {Version 3.7.0.1} {
           47  +  SQLite [version 3.7.0.1] is a patch release to fix a bug in the new
           48  +  filesize-in-header feature of the [file format | SQLite file format]
           49  +  that could cause database corruption if the same database file is
           50  +  written alternately with version 3.7.0 and version 3.6.23.1 or earlier.
           51  +  A performance regression was also fixed in this release.
           52  +}
    21     53   
    22     54   newsitem {2010-July-22} {Version 3.7.0} {
    23         -  SQLite [version 3.7.0] is a major new release of SQLite that features
    24         -  a new transaction control mechanism usingn a [write-ahead log] or [WAL].
           55  +  SQLite [version 3.7.0] is a major release of SQLite that features
           56  +  a new transaction control mechanism using a [write-ahead log] or [WAL].
    25     57     The traditional rollback-journal is still used as the default so there
    26     58     should be no visible change for legacy programs.  But newer programs
    27     59     can take advantage of improved performance and concurrency by enabling
    28     60     the WAL journaling mode.
    29     61   
    30     62     SQLite version 3.7.0 also contains some query planner enhancements and
    31     63     a few obscure bug fixes, but the only really big change is the addition
................................................................................
    78    110     but because they could arise in an application after deployment, it is
    79    111     recommended that all applications upgrade SQLite to version 3.6.22.
    80    112   
    81    113     This release also includes other minor bug fixes and performance
    82    114     enhancements, especially in the [FTS3] extension.
    83    115   }
    84    116   
    85         -newsitem {2009-Dec-07} {Version 3.6.21} {
    86         -  SQLite [version 3.6.21] focuses on performance optimization.  For
    87         -  a certain set of traces, this version uses 12% fewer CPU instructions
    88         -  than the previous release (as measured by valgrind).  In addition, the
    89         -  [FTS3] extension has been through an extensive cleanup and rework and
    90         -  the [sqlite3_trace()] interface has been modified to insert 
    91         -  [bound parameter] values into its output.
    92         -}
    93         -
    94         -newsitem {2009-Nov-04} {Version 3.6.20} {
    95         -  SQLite [version 3.6.20] is a general maintenance release.  The
    96         -  query planner has been enhanced to work better with bound parameters
    97         -  in LIKE and GLOB operators and in range constraints and various minor
    98         -  bugs have been fixed.  Upgrading from 3.6.19 is optional.
    99         -}
   100         -
   101         -newsitem {2009-Oct-14} {Version 3.6.19} {
   102         -  SQLite [version 3.6.19] adds native support for
   103         -  [foreign key constraints], including deferred constraints and
   104         -  cascading deletes.  Enforcement of foreign keys is disabled by
   105         -  default for backwards compatibility and must be turned on using
   106         -  the [foreign_keys pragma].
   107         -
   108         -  Version 3.6.19 also adds support for the
   109         -  [IS operator | IS and IS NOT operators].  Formerly, SQLite (as most
   110         -  other SQL database engines) supported IS NULL and IS NOT NULL.  The
   111         -  IS and IS NOT operators are generalizations that allow the right-hand
   112         -  side to be an arbitrary expression.  IS and IS NOT work the same as
   113         -  == (equals) and != (not equals) except that with IS and IS NOT the
   114         -  NULL values compare equal to one another.
   115         -}
   116         -
   117         -newsitem {2009-Sep-11} {Version 3.6.18} {
   118         -  Beginning with this release, the SQLite source code is tracked and
   119         -  managed using the [http://www.fossil-scm.org/ | Fossil]
   120         -  distributed configuration management system.  SQLite was previously
   121         -  versioned using CVS.  The entire CVS history has been imported into
   122         -  Fossil.  The older CVS repository remains on the website but is
   123         -  read-only.
   124         -
   125         -  There are two major enhancements in SQLite version 3.6.18.  The first
   126         -  is a series or refinements to the query planner that help SQLite to
   127         -  choose better plans for joins where in the past it was selecting suboptimal
   128         -  query plans.  The [SQLITE_ENABLE_STAT2] compile-time option has been
   129         -  added to cause SQLite to collect histogram data on indices when the
   130         -  [ANALYZE] command is run.  The use of histograms improve the query
   131         -  planning performance even more.
   132         -
   133         -  The second major enhancement is that SQLite now support recursive
   134         -  triggers.  The older non-recursive behavior of triggers is still the
   135         -  default behavior.  Recursive triggers are activated using the
   136         -  [recursive_triggers pragma].  In addition to allowing triggers to
   137         -  call themselves (either directly or indirectly) the new capability
   138         -  also fires DELETE triggers on rows that are removed from a table
   139         -  as a result of [ON CONFLICT | REPLACE] conflict resolution processing.
   140         -
   141         -  Non-recursive triggers are still the default behavior since this
   142         -  is least likely to cause problems for existing applications.  However,
   143         -  we anticipate that triggers will become
   144         -  recursive by default beginning with release 3.7.0.  At that point,
   145         -  applications that want to continue using the older non-recursive
   146         -  trigger behavior will need to use the [recursive_triggers pragma]
   147         -  to disable recursive triggers.
   148         -
   149         -  This version of SQLite also contains bug fixes, though none of the
   150         -  bugs are serious and all are obscure, so upgrading is optional.
   151         -
   152         -  The SQLite core continues to have [test coverage | 100% branch test coverage]
   153         -  and so despite the many changes in this release, the developers 
   154         -  believe that this version of SQLite is stable and ready for production
   155         -  use.
   156         -}
   157         -
   158         -newsitem {2009-Aug-10} {Version 3.6.17} {
   159         -  This is a monthly maintenance release with a focus of bug fixes,
   160         -  performance improvements, and increased test coverage.  This is the
   161         -  first release of SQLite since [test coverage | 100% branch test coverage]
   162         -  was achieved on the SQLite core.  
   163         -
   164         -  In addition, a new interface [sqlite3_strnicmp()] is provided for the
   165         -  convenience of extension writers.
   166         -
   167         -  None of the bugs fixed in this release are serious.  All bugs are
   168         -  obscure.  Upgrading is optional.
   169         -}
   170         -
   171         -newsitem {2009-July-25} {100% Branch Test Coverage} {
   172         -  A subset of the [TH3] test suite was measured by gcov to provide
   173         -  [test coverage | 100% branch test coverage] over the SQLite core
   174         -  (exclusive of the VFS backend and of extensions such as FTS3 and RTREE)
   175         -  when compiled for SuSE 10.1 Linux on x86.  The SQLite developers pledge
   176         -  to maintain branch test coverage at 100% in all future releases.
   177         -  Ongoing work will strive for 100% branch test coverage on the 
   178         -  operating-system backends and extensions as well.
   179         -}
   180         -
   181         -newsitem {2009-Jun-27} {Version 3.6.16} {
   182         -  SQLite [version 3.6.16] is another general maintenance release containing
   183         -  performance and robustness enhancements.  A single notable bug was fixed
   184         -  (ticket #3929).  This bug cause cause INSERT or UPDATE statements to fail
   185         -  on indexed tables that have AFTER triggers that modify the same table and
   186         -  index.
   187         -}
   188         -
   189         -newsitem {2009-Jun-15} {Version 3.6.15} {
   190         -  SQLite [version 3.6.15] is a general maintenance release containing
   191         -  performance and robustness enhancements and fixes for various obscure
   192         -  bugs.  
   193         -}
   194         -
   195         -newsitem {2009-May-25} {Version 3.6.14.2} {
   196         -  SQLite [version 3.6.14.2] fixes an obscure bug in the code generator
   197         -  (<a href="http://www.sqlite.org/cvstrac/tktview?tn=3879">ticket #3879</a>)
   198         -  section of SQLite which can potentially cause incorrect query results.
   199         -  The changes from the prior release consist of only this one bug fix,
   200         -  check-in <a href="http://www.sqlite.org/cvstrac/chngview?cn=6676">[6676]</a>
   201         -  and a change to the version number text.
   202         -
   203         -  The bug was introduced in version 3.6.14.  It is recommended that
   204         -  users of version 3.6.14 and 3.6.14.1 upgrade to this release.  Applications
   205         -  are unlikely to hit this bug, but since it is difficult to predict which
   206         -  applications might hit it and which might not, we recommend that all
   207         -  users of 3.6.14 and 3.5.14.1 upgrade to this release.
   208         -}
   209         -
   210         -newsitem {2009-May-19} {Version 3.6.14.1} {
   211         -  SQLite [version 3.6.14.1] is a patch release to [version 3.6.14] with
   212         -  minimal changes that fixes three bugs.  Upgrading is only necessary 
   213         -  for users who are impacted by one or more of those bugs.
   214         -}
   215         -
   216         -newsitem {2009-May-07} {Version 3.6.14} {
   217         -  SQLite [version 3.6.14] provides new performance enhancements in
   218         -  the btree and pager layers and in the query optimizer.  Certain
   219         -  workloads can be as much as twice as fast as the previous release,
   220         -  though 10% faster is a more typical result.
   221         -
   222         -  Queries against [virtual tables] that contain OR and IN operators
   223         -  in the WHERE clause are now able to use indexing.
   224         -
   225         -  A new optional [asynchronous I/O backend] is available for
   226         -  unix and windows.  The asynchronous backend gives the illusion of faster
   227         -  response time by pushing slow write operations into a background thread.
   228         -  The tradeoff for faster response time is that more memory is required
   229         -  (to hold the content of the pending writes) and if a power failure or
   230         -  program crash occurs, some transactions that appeared to have committed
   231         -  might end up being rolled back upon restart.
   232         -
   233         -  This release also contains many minor bug fixes, documentation enhancements,
   234         -  new test cases, and cleanups and simplifications to the source code.
   235         -
   236         -  There is no compelling reason to upgrade from versions 3.6.12 or
   237         -  3.6.13 if those prior versions are working.  Though many users may
   238         -  benefit from the improved performance.
   239         -}
   240         -
   241    117   </tcl>
   242    118   
   243    119   <a href="oldnews.html">Old news...</a>

Changes to pages/oldnews.in.

     6      6     regsub -all {[^a-z0-9]} $date _ tag
     7      7     hd_puts "<a name=\"$tag\"></a>"
     8      8     hd_puts "<h3>$date - $title</h3>"
     9      9     regsub -all "\n( *\n)+" $text "</p>\n\n<p>" txt
    10     10     hd_resolve "<p>$txt</p>"
    11     11     hd_puts "<hr width=\"50%\">"
    12     12   }
           13  +
           14  +
           15  +newsitem {2009-Dec-07} {Version 3.6.21} {
           16  +  SQLite [version 3.6.21] focuses on performance optimization.  For
           17  +  a certain set of traces, this version uses 12% fewer CPU instructions
           18  +  than the previous release (as measured by valgrind).  In addition, the
           19  +  [FTS3] extension has been through an extensive cleanup and rework and
           20  +  the [sqlite3_trace()] interface has been modified to insert 
           21  +  [bound parameter] values into its output.
           22  +}
           23  +
           24  +newsitem {2009-Nov-04} {Version 3.6.20} {
           25  +  SQLite [version 3.6.20] is a general maintenance release.  The
           26  +  query planner has been enhanced to work better with bound parameters
           27  +  in LIKE and GLOB operators and in range constraints and various minor
           28  +  bugs have been fixed.  Upgrading from 3.6.19 is optional.
           29  +}
           30  +
           31  +newsitem {2009-Oct-14} {Version 3.6.19} {
           32  +  SQLite [version 3.6.19] adds native support for
           33  +  [foreign key constraints], including deferred constraints and
           34  +  cascading deletes.  Enforcement of foreign keys is disabled by
           35  +  default for backwards compatibility and must be turned on using
           36  +  the [foreign_keys pragma].
           37  +
           38  +  Version 3.6.19 also adds support for the
           39  +  [IS operator | IS and IS NOT operators].  Formerly, SQLite (as most
           40  +  other SQL database engines) supported IS NULL and IS NOT NULL.  The
           41  +  IS and IS NOT operators are generalizations that allow the right-hand
           42  +  side to be an arbitrary expression.  IS and IS NOT work the same as
           43  +  == (equals) and != (not equals) except that with IS and IS NOT the
           44  +  NULL values compare equal to one another.
           45  +}
           46  +
           47  +newsitem {2009-Sep-11} {Version 3.6.18} {
           48  +  Beginning with this release, the SQLite source code is tracked and
           49  +  managed using the [http://www.fossil-scm.org/ | Fossil]
           50  +  distributed configuration management system.  SQLite was previously
           51  +  versioned using CVS.  The entire CVS history has been imported into
           52  +  Fossil.  The older CVS repository remains on the website but is
           53  +  read-only.
           54  +
           55  +  There are two major enhancements in SQLite version 3.6.18.  The first
           56  +  is a series or refinements to the query planner that help SQLite to
           57  +  choose better plans for joins where in the past it was selecting suboptimal
           58  +  query plans.  The [SQLITE_ENABLE_STAT2] compile-time option has been
           59  +  added to cause SQLite to collect histogram data on indices when the
           60  +  [ANALYZE] command is run.  The use of histograms improve the query
           61  +  planning performance even more.
           62  +
           63  +  The second major enhancement is that SQLite now support recursive
           64  +  triggers.  The older non-recursive behavior of triggers is still the
           65  +  default behavior.  Recursive triggers are activated using the
           66  +  [recursive_triggers pragma].  In addition to allowing triggers to
           67  +  call themselves (either directly or indirectly) the new capability
           68  +  also fires DELETE triggers on rows that are removed from a table
           69  +  as a result of [ON CONFLICT | REPLACE] conflict resolution processing.
           70  +
           71  +  Non-recursive triggers are still the default behavior since this
           72  +  is least likely to cause problems for existing applications.  However,
           73  +  we anticipate that triggers will become
           74  +  recursive by default beginning with release 3.7.0.  At that point,
           75  +  applications that want to continue using the older non-recursive
           76  +  trigger behavior will need to use the [recursive_triggers pragma]
           77  +  to disable recursive triggers.
           78  +
           79  +  This version of SQLite also contains bug fixes, though none of the
           80  +  bugs are serious and all are obscure, so upgrading is optional.
           81  +
           82  +  The SQLite core continues to have [test coverage | 100% branch test coverage]
           83  +  and so despite the many changes in this release, the developers 
           84  +  believe that this version of SQLite is stable and ready for production
           85  +  use.
           86  +}
           87  +
           88  +newsitem {2009-Aug-10} {Version 3.6.17} {
           89  +  This is a monthly maintenance release with a focus of bug fixes,
           90  +  performance improvements, and increased test coverage.  This is the
           91  +  first release of SQLite since [test coverage | 100% branch test coverage]
           92  +  was achieved on the SQLite core.  
           93  +
           94  +  In addition, a new interface [sqlite3_strnicmp()] is provided for the
           95  +  convenience of extension writers.
           96  +
           97  +  None of the bugs fixed in this release are serious.  All bugs are
           98  +  obscure.  Upgrading is optional.
           99  +}
          100  +
          101  +newsitem {2009-July-25} {100% Branch Test Coverage} {
          102  +  A subset of the [TH3] test suite was measured by gcov to provide
          103  +  [test coverage | 100% branch test coverage] over the SQLite core
          104  +  (exclusive of the VFS backend and of extensions such as FTS3 and RTREE)
          105  +  when compiled for SuSE 10.1 Linux on x86.  The SQLite developers pledge
          106  +  to maintain branch test coverage at 100% in all future releases.
          107  +  Ongoing work will strive for 100% branch test coverage on the 
          108  +  operating-system backends and extensions as well.
          109  +}
          110  +
          111  +newsitem {2009-Jun-27} {Version 3.6.16} {
          112  +  SQLite [version 3.6.16] is another general maintenance release containing
          113  +  performance and robustness enhancements.  A single notable bug was fixed
          114  +  (ticket #3929).  This bug cause cause INSERT or UPDATE statements to fail
          115  +  on indexed tables that have AFTER triggers that modify the same table and
          116  +  index.
          117  +}
          118  +
          119  +newsitem {2009-Jun-15} {Version 3.6.15} {
          120  +  SQLite [version 3.6.15] is a general maintenance release containing
          121  +  performance and robustness enhancements and fixes for various obscure
          122  +  bugs.  
          123  +}
          124  +
          125  +newsitem {2009-May-25} {Version 3.6.14.2} {
          126  +  SQLite [version 3.6.14.2] fixes an obscure bug in the code generator
          127  +  (<a href="http://www.sqlite.org/cvstrac/tktview?tn=3879">ticket #3879</a>)
          128  +  section of SQLite which can potentially cause incorrect query results.
          129  +  The changes from the prior release consist of only this one bug fix,
          130  +  check-in <a href="http://www.sqlite.org/cvstrac/chngview?cn=6676">[6676]</a>
          131  +  and a change to the version number text.
          132  +
          133  +  The bug was introduced in version 3.6.14.  It is recommended that
          134  +  users of version 3.6.14 and 3.6.14.1 upgrade to this release.  Applications
          135  +  are unlikely to hit this bug, but since it is difficult to predict which
          136  +  applications might hit it and which might not, we recommend that all
          137  +  users of 3.6.14 and 3.5.14.1 upgrade to this release.
          138  +}
          139  +
          140  +newsitem {2009-May-19} {Version 3.6.14.1} {
          141  +  SQLite [version 3.6.14.1] is a patch release to [version 3.6.14] with
          142  +  minimal changes that fixes three bugs.  Upgrading is only necessary 
          143  +  for users who are impacted by one or more of those bugs.
          144  +}
          145  +
          146  +newsitem {2009-May-07} {Version 3.6.14} {
          147  +  SQLite [version 3.6.14] provides new performance enhancements in
          148  +  the btree and pager layers and in the query optimizer.  Certain
          149  +  workloads can be as much as twice as fast as the previous release,
          150  +  though 10% faster is a more typical result.
          151  +
          152  +  Queries against [virtual tables] that contain OR and IN operators
          153  +  in the WHERE clause are now able to use indexing.
          154  +
          155  +  A new optional [asynchronous I/O backend] is available for
          156  +  unix and windows.  The asynchronous backend gives the illusion of faster
          157  +  response time by pushing slow write operations into a background thread.
          158  +  The tradeoff for faster response time is that more memory is required
          159  +  (to hold the content of the pending writes) and if a power failure or
          160  +  program crash occurs, some transactions that appeared to have committed
          161  +  might end up being rolled back upon restart.
          162  +
          163  +  This release also contains many minor bug fixes, documentation enhancements,
          164  +  new test cases, and cleanups and simplifications to the source code.
          165  +
          166  +  There is no compelling reason to upgrade from versions 3.6.12 or
          167  +  3.6.13 if those prior versions are working.  Though many users may
          168  +  benefit from the improved performance.
          169  +}
          170  +
    13    171   newsitem {2008-Dec-16} {Version 3.6.7} {
    14    172     SQLite [version 3.6.7] contains a major cleanup of the Unix driver,
    15    173     and support for the new Proxy Locking mechanism on MacOSX.  Though
    16    174     the Unix driver is reorganized, its functionality is the same and so
    17    175     applications should not notice a difference.
    18    176   }
    19    177   

Changes to pages/pragma.in.

   534    534   
   535    535   Pragma page_size {
   536    536      <p>^(<b>PRAGMA page_size;
   537    537          <br>PRAGMA page_size = </b><i>bytes</i><b>;</b></p>
   538    538       <p>Query or set the page size of the database.)^ ^The page size
   539    539       may only be set if the database has not yet been created. ^The page
   540    540       size must be a power of two greater than or equal to 512 and less
   541         -    than or equal to [SQLITE_MAX_PAGE_SIZE].
   542         -    The maximum value for [SQLITE_MAX_PAGE_SIZE] is 32768.
          541  +    than or equal to 65536.
   543    542       </p>
   544    543   
   545    544       <p>^When a new database is created, SQLite assigned a default page size
   546    545       based on information received from the xSectorSize and 
   547    546       xDeviceCharacteristics methods of the [sqlite3_io_methods] object
   548    547       of the newly created database file.  ^The page_size pragma will only
   549    548       cause an immediate change in the
................................................................................
   562    561       disabled or if xDeviceCharacteristics reports no suitable atomic
   563    562       write page sizes, then the default page size is the larger of 
   564    563       SQLITE_DEFALT_PAGE_SIZE
   565    564       and the sector size as reported by the xSectorSize method of the
   566    565       [sqlite3_io_methods] object, but not more than 
   567    566       SQLITE_MAX_DEFAULT_PAGE_SIZE.  ^The normal configuration for SQLite
   568    567       running on workstations is for atomic write to be
   569         -    disabled, for the maximum page size to be set to 32768, for
          568  +    disabled, for the maximum page size to be set to 65536, for
   570    569       SQLITE_DEFAULT_PAGE_SIZE to be 1024, and for the
   571    570       maximum default page size to be set to 8192.  ^(The default xSectorSize
   572    571       method on workstation implementations always reports a sector size
   573    572       of 512 bytes.  Hence, 
   574    573       the default page size chosen by SQLite is usually 1024 bytes.)^</p>
   575    574   }
   576    575   

Changes to pages/version3.in.

    61     61   data is stored in the leaves of the tree instead of in both the leaves and
    62     62   the intermediate branch nodes.  The use of B+trees for tables allows for
    63     63   better scalability and the storage of larger data fields without the use of
    64     64   overflow pages.  Traditional B-trees are still used for indices.</p>
    65     65   
    66     66   <p>
    67     67   The new file format also supports variable pages sizes between 512 and
    68         -32768 bytes.  The size of a page is stored in the file header so the
           68  +65536 bytes.  The size of a page is stored in the file header so the
    69     69   same library can read databases with different pages sizes, in theory,
    70     70   though this feature has not yet been implemented in practice.
    71     71   </p>
    72     72   
    73     73   <p>
    74     74   The new file format omits unused fields from its disk images.  For example,
    75     75   indices use only the key part of a B-tree record and not the data.  So