On Fri, 6 Feb 2004, D. Richard Hipp wrote:
> Would this proposed change cause anyone unreasonable hardship?

Given that I don't have any investment (code or data) in older SQLite 
versions, it will be no problem for me at all if you remove the 
auto-conversion feature.

Moreover, I support the immediate removal of the feature from the SQLite 
core package.

I believe that in order to keep a product nice and clean, all 
functionality regarding support for non-native/current data formats should 
be separated from the core program.  They should take the form of a 
completely optional plug-in or separate utility.  Better that the core not 
be cluttered.

This said, you absolutely must keep functionality in the core that lets 
you detect whether the data file is in the current/native format or not, 
so nothing gets corrupted when you try to use a file.  Raise an error if 
the file is not in the current format.  However, if you can easily 
distinguish it, you should raise a different error for old versions of the 
SQLite file format vs attempts to open any other kind of file.

Assuming that these errors are in a machine-readable format, I believe 
that someone who wants to maintain the old behaviour could create a 
wrapper for the current SQLite which also wraps a copy of the older 
SQLite.  When asked to open a SQLite data file, it will try with the 
current core first, and if that raises an error citing an old file format, 
then the wrapper will try with the old core instead.  The wrapper can also 
be used for a utility that migrates data to the new format; it reads the 
old file with the old core and writes the new file with the new core.  A 
similar technique would also help in situations if you had to move data 
from a newer to an older version, for people stuck with old binaries that 
only know the older format.

So in short, strip out the functionality.  I assume there are copies 
somewhere of all your older releases which people can use if necessary.

-- Darren Duncan


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to