hey guys, just to weigh in here real quick:
On Sun, 2007-05-20 at 19:29 +0100, Matt Brown wrote:
> My impression is that it should be a separate backend so that an
> administrator can choose between using sqlite or sqlite3 for their
> database. A separate option could then be added to allow upgrades
> between sqlite and sqlite3 if desired.
yeah, i think it should be treated support-wise as an entirely seperate
format...
> I don't think that automatically upgrading databases to sqlite3 if it
> is available is a good idea, as it becomes hard to ensure that the
> package is depending on correct sqlite3 bindings for php, python,
> ruby, etc rather than plain old sqlite bindings.
...and this is exactly why. i think most apps that use sqlite are
linked against one of the sqlite libraries, and they dodn't have the
option of choosing one or the other. of course, a sqlite0 linked app
might later be rebuilt to use sqlite3, in which case having an
upgrade/conversion path in place would be really wise. i haven't used
sqlite enough to know what the best way to handle this is.
my guess would be that if/when such a situation arose, we'd need
something like "dbc_sqlite3_upgrade=version" used in in a manner similar
to the database upgrade detection. actually, maintainers could already
use that hook to do it manually i suppose, though it'd be nice to
automate as much as possible when we can.
> What I was trying to say originally is that regardless of how sqlite3
> is handled my hope is that it doesn't require too much duplication of
> dbconfig-common code. Even if it is functionally a completely separate
> backend to sqlite it should still be able to share most of the exist
> sqlite code.
my feelings exactly. if you need to copy/paste a bunch of code to get a
proof of concept working that's fine... but for a final version i'd like
to see as little duplicated code as possible. if the CLI is the same in
both versions, it's probably sufficient to copy most of the
internal/sqlite functions to a new internal/sqlite-common file and just
define $path_to_sqlite in the internal/sqlite{3}? files.
sean
signature.asc
Description: This is a digitally signed message part

