Mac Mini running El Capitan, not getting program data

For discussion of topics specific to MythTV on OSX
Gary Buhrmaster
Junior
Posts: 52
Joined: Mon Feb 10, 2014 8:19 pm
United States of America

Re: Mac Mini running El Capitan, not getting program data

Post by Gary Buhrmaster »

sfatula wrote:Speaking of which.... Has anyone in the myth project considered using foreign keys and restraints in mariadb to prevent people from mucking up tables for the most part? Also has the side effect of catching program bugs as well.
The MythTV project does have people who understand databases quite well.

In MythTV, all the business logic is in the code. There is a lot of business logic that would have to be examined to determine which can, and which can not (or would require refactoring, or schema changes) to be able to take advantage of any possible constraints and to utilize transactions.

However, since the MythTV database explicitly does not use a transactional engine, someone would likely first have to go through every existing use and fix the presumptions that exist (there were a couple of issues that were known to cause challenges (some could possibly be mitigated with careful tuning, some would possibly require code changes)) so that the various constraints can be properly applied inside a transaction.

If you are volunteering to reviewing all the code, and submit the (perhaps largish) set of (individually smallish) patches to move in the direction you are suggesting, I suspect your efforts will be welcomed (but yes, ask over on irc). If you are trying to suggest how others should spend their volunteer free time, well, I suspect not so much.

Like most large projects, MythTV has evolved. There is clearly room for improvement.
sfatula
Senior
Posts: 163
Joined: Sun Aug 09, 2015 3:51 am
Location: Calera, OK
United States of America

Re: Mac Mini running El Capitan, not getting program data

Post by sfatula »

I would never suggest how people spend their free time, what they do with their own project is up to them of course! I am just perhaps stating the obvious. If you embed the database, and, something gets screwed up in said embedded database, users will need a way to fix the issue. If the goal is to prevent users from messing with the database, that could be a problem. I am sure you guys know this, so, likely just stating what you already know. Just can't help commenting. :-)

The advantage of having the database enforce integrity is obvious in such a case, assuming one defines all rules correctly, then, at least bad data will be prevented even with coding bugs.

However, yes, taking existing code that was not designed with transactions and triggers, constraints, etc. is not quite so simple. Building something from scratch, well worth the effort.

As far as volunteering, sure, once I lose my current job (which will almost certainly be my last job). Would love to get involved in various projects.
Post Reply