Re: [sqlite] Who is using SQLite prior to version 3.3.0?

2008-05-12 Thread D. Richard Hipp

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?

2008-05-12 Thread Scott Baker
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?

2008-05-12 Thread D. Richard Hipp
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