Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Update documentation prior to the release of 2.6.0. (CVS 683) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
f2d9191381e956900a14bd80e50678b9 |
User & Date: | drh 2002-07-18 02:07:08.000 |
Context
2002-07-18
| ||
02:50 | Version 2.6.0 Release 1 (CVS 684) (check-in: dde65e9e06 user: drh tags: trunk) | |
02:07 | Update documentation prior to the release of 2.6.0. (CVS 683) (check-in: f2d9191381 user: drh tags: trunk) | |
01:27 | Make the automatic database upgrade work even if there are triggers. Add tests for automatic upgrade and for failing if reading a more advanced version of the database. Ticket #107. (CVS 682) (check-in: 0493e39c1c user: drh tags: trunk) | |
Changes
Changes to test/version.test.
︙ | ︙ | |||
8 9 10 11 12 13 14 | # May you share freely, never taking more than you give. # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this file is testing the ability of the library to detect # past or future file format version numbers and respond appropriately. # | | | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # May you share freely, never taking more than you give. # #*********************************************************************** # This file implements regression tests for SQLite library. The # focus of this file is testing the ability of the library to detect # past or future file format version numbers and respond appropriately. # # $Id: version.test,v 1.2 2002/07/18 02:07:08 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # Current file format version set VX 3 |
︙ | ︙ | |||
160 161 162 163 164 165 166 | } {101 102 103 104 105 106 107 108} do_test version-1.14 { execsql { SELECT * FROM v2; } } {16 0} | > | > > > > > > > > > > > > | 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 | } {101 102 103 104 105 106 107 108} do_test version-1.14 { execsql { SELECT * FROM v2; } } {16 0} # Try to do an upgrade where the database file is read-only # do_test version-2.1 { db close set m2 [lreplace $::meta 2 2 2] btree_begin_transaction $::bt eval btree_update_meta $::bt $m2 btree_commit $::bt btree_close $::bt catch {file attributes test.db -permissions 0444} catch {file attributes test.db -readonly 1} set rc [catch {sqlite db test.db} msg] lappend rc $msg } {1 {unable to upgrade database to the version 2.6 format}} finish_test |
Changes to www/changes.tcl.
︙ | ︙ | |||
20 21 22 23 24 25 26 27 28 29 30 31 32 33 | } proc chng {date desc} { puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>" } chng {2002 Jly 7 (2.5.6)} { <li>Fix more problems with rollback. Enhance the test suite to exercise the rollback logic extensively in order to prevent any future problems. </li> } | > > > > > > > > > > > | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | } proc chng {date desc} { puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>" } chng {2002 Jly 7 (2.6.0)} { <li>Change the format of indices to correct a design flaw the originated with version 2.1.0. <font color="red">*** This is an incompatible file format change ***</font> When version 2.6.0 or later of the library attempts to open a database file created by version 2.5.6 or earlier, it will automatically and irreversibly convert the file format. <b>Make backup copies of older database files before opening them with version 2.6.0 of the library.</b> </li> } chng {2002 Jly 7 (2.5.6)} { <li>Fix more problems with rollback. Enhance the test suite to exercise the rollback logic extensively in order to prevent any future problems. </li> } |
︙ | ︙ |
Changes to www/formatchng.tcl.
1 2 3 | # # Run this Tcl script to generate the formatchng.html file. # | | | 1 2 3 4 5 6 7 8 9 10 11 | # # Run this Tcl script to generate the formatchng.html file. # set rcsid {$Id: formatchng.tcl,v 1.6 2002/07/18 02:07:08 drh Exp $ } puts {<html> <head> <title>File Format Changes in SQLite</title> </head> <body bgcolor=white> <h1 align=center> |
︙ | ︙ | |||
111 112 113 114 115 116 117 118 119 120 121 122 123 124 | <td>Beginning with version 2.5.0, SQLite added support for triggers. Information about triggers is stored in the SQLITE_MASTER table. If an older version of SQLite attempts to read a database that contains a CREATE TRIGGER in the SQLITE_MASTER table, the parser will not understand the new syntax and initialization will fail. </td> </tr> </table> </blockquote> <p> To perform a database reload, have ready versions of the <b>sqlite</b> command-line utility for both the old and new version of SQLite. Call these two executables "<b>sqlite-old</b>" | > > > > > > > > > > > > > > > > > > > > > | 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 | <td>Beginning with version 2.5.0, SQLite added support for triggers. Information about triggers is stored in the SQLITE_MASTER table. If an older version of SQLite attempts to read a database that contains a CREATE TRIGGER in the SQLITE_MASTER table, the parser will not understand the new syntax and initialization will fail. </td> </tr> <tr> <td valign="top">2.5.6 to 2.6.0</td> <td valign="top">2002-July-17</td> <td>A design flaw in the layout of indices required a file format change to correct. This change appeared in version 2.6.0.<p> If you use version 2.6.0 or later of the library to open a database file that was originally created by version 2.5.6 or earlier, an attempt to rebuild the database into the new format will occur automatically. This can take some time for a large database. (Allow 1 or 2 seconds per megabyte of database under Unix - longer under Windows.) This format conversion is irreversible. It is <strong>strongly</strong> suggested that you make a backup copy of older database files prior to opening them with version 2.6.0 or later of the library, in case there are errors in the format conversion logic.<p> Version 2.6.0 or later of the library cannot open read-only database files from version 2.5.6 or earlier, since read-only files cannot be upgraded to the new format.</p> </td> </tr> </table> </blockquote> <p> To perform a database reload, have ready versions of the <b>sqlite</b> command-line utility for both the old and new version of SQLite. Call these two executables "<b>sqlite-old</b>" |
︙ | ︙ |
Changes to www/index.tcl.
1 2 3 | # # Run this TCL script to generate HTML for the index.html file. # | | | 1 2 3 4 5 6 7 8 9 10 11 | # # Run this TCL script to generate HTML for the index.html file. # set rcsid {$Id: index.tcl,v 1.60 2002/07/18 02:07:08 drh Exp $} puts {<html> <head><title>SQLite: An SQL Database Engine In A C Library</title></head> <body bgcolor=white> <h1 align=center>SQLite: An SQL Database Engine In A C Library</h1> <p align=center>} puts "This page was last modified on [lrange $rcsid 3 4] UTC<br>" |
︙ | ︙ | |||
43 44 45 46 47 48 49 | </td></tr> </table> } puts {<h2>Features</h2> <p><ul> | | > > > > > > > > > > > > > > > > > > > > > > > > | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | </td></tr> </table> } puts {<h2>Features</h2> <p><ul> <li>Implements most of SQL92.</li> <li>A complete database (with multiple tables and indices) is stored in a single disk file.</li> <li>Atomic commit and rollback protect data integrity.</li> <li>Small memory footprint: less than 20K lines of C code.</li> <li><a href="speed.html">Four times faster</a> than PostgreSQL. Twice as fast as SQLite 1.0.</li> <li>Very simple <a href="c_interface.html">C/C++ interface</a> requires the use of only three functions and one opaque structure.</li> <li><a href="tclsqlite.html">TCL bindings</a> included.</li> <li>A TCL-based test suite provides near 100% code coverage.</li> <li>Self-contained: no external dependencies.</li> <li>Built and tested under Linux and Win2K.</li> <li>Sources are uncopyrighted. Use for any purpose.</li> </ul> </p> } puts {<h2>Database File Format Change - 2002 July 17</h2> <p>Beginning with version 2.6.0, the SQLite database file format changed in an incompatible way. If you open a database file from version 2.5.6 or earlier with version 2.6.0 or later of the library, then the file format will be converted automatically. This is an irreversible operation. Once the conversion occurs, you will no longer be able to access the database file from older versions of the library. If the database is large, the conversion might take some time. (Allow 1 to 2 seconds per megabyte of database under Linux.) If the database is read-only, the conversion cannot occur and the attempt to open the database will fail. It is suggested that you make backup copies of older database files before attempting to open them with version 2.6.0 or later of the library.</p> <center> <table width="50%" border=1 cellpadding=20 cellspacing=0> <tr><td> <b>Make backups of older database files before opening them with version 2.6.0 or later of SQLite</b></td></tr> </table> </center> } puts {<h2>Current Status</h2> <p>A <a href="changes.html">Change Summary</a> is available on this website. You can also access a detailed <a href="http://cvs.hwaci.com:2080/sqlite/timeline">change history</a>, <a href="http://cvs.hwaci.com:2080/sqlite/rptview?rn=2">view open bugs</a>, |
︙ | ︙ |