Re: [sqlite] Who is using SQLite prior to version 3.3.0?
On May 12, 2008, at 12:00 PM, Scott Baker wrote: > > What's the advantage to making all new DBs created format 4? I'm > against > breaking backwards compatibility. Please reread the post carefully. This is *not* a backwards compatibility break. Format 4 provides DESC index capability and a tighter encoding for boolean values. Every version of SQLite released over the past 2 years can read and write both format 4 and format 1 without any problems. However, if you create a new database in format 4 and then try to read it using a version of SQLite that is more than 2 years old, the older SQLite will be unable to read the file and will return an error. Note that on older systems this should not be a problem since databases will be both created and read by older versions of SQLite. Note that for upgrading this should not be a problem since older database will continue to be readable and writable by newer versions of SQLite. The only time this will cause a problem is when you create a new database file using SQLite 3.6.0 or later and then try to read or write that file using a different version of SQLite that is more than 2 years old. D. Richard Hipp [EMAIL PROTECTED] ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Who is using SQLite prior to version 3.3.0?
D. Richard Hipp wrote: > Is there anybody still using a version of SQLite prior to version > 3.3.0 in a context where they might want to read a database file that > was created by the latest version of SQLite? > > The reason I ask is this: SQLite understands two slightly different > file formats, format 1 and format 4. (Ok, it also understands formats > 2 and 3, but they don't come into play here so ignore that fact for > the moment.) In format 4, SQLite uses a tighter encoding for boolean > values and it honors the DESC keyword on indices. > > All versions of SQLite since 3.3.0 can read and write both format 1 > and format 4. But versions of SQLite prior to 3.3.0 could only > understand format 1. New database files are created in format 1 by > default in order to be readable and writable by older versions of > SQLite. I'm wondering if we have reached a point where this can > change. Can we move to creating new database files in format 4 by > default. > > Please note that this is not a backwards compatibility break. All > prior database files will still be readable and writable by any > version of SQLite after 3.3.0. But this is a forwards compatibility > break. Database files created by SQLite version 3.6.0 or later will > likely be unreadable by SQLite version 3.2.8 and earlier. > > If we do move to creating new database files in format 4 by default, > an application will still be able to create format 1 database files > using a pragma. Or, a compile-time option can be used to force format > 1 databases to be used as the default. > > FWIW, SQLite version 3.3.0 was released over 2 years ago on January > 10, 2006. What's the advantage to making all new DBs created format 4? I'm against breaking backwards compatibility. One of the most annoying this about SQLite is that version 3.x can't open version 2.x databases (which unfortunately are still out there). Now we're talking about breaking forwards compatibility... I dunno. I like the idea of keeping things as compatible as possible. -- Scott Baker - Canby Telcom RHCE - System Administrator - 503.266.8253 ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] Who is using SQLite prior to version 3.3.0?
Is there anybody still using a version of SQLite prior to version 3.3.0 in a context where they might want to read a database file that was created by the latest version of SQLite? The reason I ask is this: SQLite understands two slightly different file formats, format 1 and format 4. (Ok, it also understands formats 2 and 3, but they don't come into play here so ignore that fact for the moment.) In format 4, SQLite uses a tighter encoding for boolean values and it honors the DESC keyword on indices. All versions of SQLite since 3.3.0 can read and write both format 1 and format 4. But versions of SQLite prior to 3.3.0 could only understand format 1. New database files are created in format 1 by default in order to be readable and writable by older versions of SQLite. I'm wondering if we have reached a point where this can change. Can we move to creating new database files in format 4 by default. Please note that this is not a backwards compatibility break. All prior database files will still be readable and writable by any version of SQLite after 3.3.0. But this is a forwards compatibility break. Database files created by SQLite version 3.6.0 or later will likely be unreadable by SQLite version 3.2.8 and earlier. If we do move to creating new database files in format 4 by default, an application will still be able to create format 1 database files using a pragma. Or, a compile-time option can be used to force format 1 databases to be used as the default. FWIW, SQLite version 3.3.0 was released over 2 years ago on January 10, 2006. D. Richard Hipp [EMAIL PROTECTED] ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users