[mythtv] More ideas on PostgreSQL support, comments welcome

Isaac Richards ijr at po.cwru.edu
Wed Sep 1 17:34:33 EDT 2004


On Wednesday 01 September 2004 05:07 pm, David Härdeman wrote:
> On Wed, Sep 01, 2004 at 12:13:06PM -0400, Isaac Richards wrote:
> >The current dbcheck/schema upgrade code is:
> >- Very clean.
> >- Very simple.
> >
> >And I rather like it.  I don't want to munge it up terribly much for
> > something that isn't completely necessary.
>
> I beg to differ, I challenge anyone to tell me what the current DB
> schema of MythTV is without: 1) running MythTV 2) letting MythTV
> auto-create/alter/drop the tables, 3) checking the resulting tables in the
> database.
>
> Right now, when initializing the DB for the first time, the code starts
> out with an old version (1003, added Tue Sep 30 18:19:00 2003) and then
> goes trough all intermediate versions up until the recent version (1054)
> via 51 minor or major alterations.
>
> IMHO, it would have been better to include the incremental stuff but
> keep the InitializeDatabase up-to-date with the very latest schema
> (that can still be done of course, but merging the 51 intermediate
> changes is not a fun job). That way Initialization is done directly to
> current version (faster, less error-prone) and the current schema is
> easy to overview.

IMHO, the current way is far superior - I don't have to test the 
initialiization code to make sure it works every schema change.  One code 
path for everyone means many fewer bugs.

> Now over to summing the different alternatives up and some of the
> opinions on them which I've seen:

You left out:

) Write a small set of helper functions to create tables, alter/add fields, 
etc.

Pros:
- I'll accept this, which I likely won't do for anything else proposed.
- It should be extremely easy to do.
- Doesn't require _any_ maintenance down the road, unless there's a new 'type' 
of change that needs to be supported.  However, this would be completely 
obvious that things would break, so I don't see it as a problem.

Cons:
- Requires redoing dbcheck.cpp.

I don't think you can compare database server support to audio driver support.  
It doesn't require a reinstall to switch audio drivers.

Isaac


More information about the mythtv-dev mailing list