[mythtv] Backwards compatibility
Lawrence Rust
lvr at softsystem.co.uk
Thu Jan 7 09:25:16 UTC 2016
On Thu, 2016-01-07 at 08:28 +1100, Jean-Yves Avenard wrote:
> Le mercredi 6 janvier 2016, Lawrence Rust <lvr at softsystem.co.uk> a écrit :
>
> > Hi all,
> >
> > Over the holidays I've been thinking about how to increase the amount of
> > testing that the master branch gets. One of the common stumbling blocks
> > to more universal acceptance is that many Myth users have a 'production'
> > backend running an older version, often 0.27, which is incompatible with
> > the latest Myth protocol and database schema.
> >
> >
> I simply compile the dev frontend to ignore the scheme version. Allows me
> to use a master frontend with a 0.27 "production" backend.
>
> Been doing so for years...
That only works in a very limited number of cases where the schema
change is small. There are a number of critical 'select' commands that
if failed due to schema changes prevent the FE from doing anything
useful. Once the BE & FE are more than a few schema changes apart there
is little hope of successful interworking. In fact with some schema
changes there is a distinct possibility of damaging the production
database. That's why these patches enforce read-only mode when using an
old schema.
> The more correct way to do so IMHO would be to stop having front ends
> directly connect to the MySQL database and instead go via the backend. So
> that way we don't have to rely on a schema at all.
>
> This been talked about for years, if you want to tackle this that would be
> awesome.
This was one of the topics I raised when PaulH asked me about becoming a
dev. Having MySQL statements littered around the code base breaks
encapsulation and is a big overhead for low powered frontends.
The work on backwards compatibility is a precursor to this change as it
enables me to see the scale and spread of the problem.
--
Lawrence Rust
More information about the mythtv-dev
mailing list