From: Frank Lichtenheld Date: Fri, 23 Mar 2007 18:39:31 GMT Subject: Re: [PATCH 4/5] cvsserver: Make the database backend configurable Message-ID: <20070323183931.GK8017@planck.djpig.de> In-Reply-To: <20070323151757.GH8017@planck.djpig.de> On Fri, Mar 23, 2007 at 04:17:58PM +0100, Frank Lichtenheld wrote: > On Tue, Mar 20, 2007 at 07:47:12AM +1200, Martin Langhoff wrote: > > On 3/20/07, Frank Lichtenheld wrote: > > >Make all the different parts of the database backend connection > > >configurable. This adds the following string configuration variables: > > > > Nice. I guess the hard part of this is going to be creating DB schemas > > that are reasonably portable. The SQL we use is as vanilla as it gets > > ;-) > > I've now actually made a quick test to see how we do when using other > backends (with PostgreSQL 8.2, will also do one with MySQL later). Done the MySQL tests, too. > Some problems that I saw: > > - It would probably cool to be able to tell git-cvsserver that it > should use only one database for all modules (i.e. git branches) > This way one doesn't need to give the users database creation > privileges. Of course pre-creating all databases possibly ever needed > is possible but somewhat cumbersome. > > - DBI->tables seems to be a portability problem. e.g. with SQLite > it returns "head", "commitmsgs", etc; with PostgreSQL it returns > public.head, public.commitmsgs, etc. The output of MySQL might > be different, too. It is `head`, and `revision`. Fun ;) Why no etc.? Because pretty much every other used SQL command (than these two "create table") fails with syntax errors. Not that I actually expected anything else from MySQL... Gruesse, -- Frank Lichtenheld www: http://www.djpig.de/