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