Opened 11 years ago

Closed 9 years ago

#4812 closed task (invalid)

mythweather tables assume innodb is configured for mysql

Reported by: rbonafied@… Owned by:
Priority: minor Milestone: unknown
Component: Plugin - MythWeather Version: 0.21-fixes
Severity: low Keywords:
Cc: Ticket locked: no

Description

I recently upgraded my friend's system to the 0.21-fixes (16181) branch from an older svn revision. After confirming the myth schema upgrades were complete, I started the backend and launched mythweb. Mythweb errored out with a bunch of messages of 'missing weatherscreens' table.

Upon further investigation, it appeared that mysql had the tables in it's catelog, but selecting from them returned 'table weatherscreens' does not exist. Additionally, mysqlrepair showed them in the catelog but with errors that the table didn't exist.

After several tries at removing the phantom tables, I succeeded by moving the flat files out of the mysql directory that represented the tables. Then I removed the settings entry for mythweather in the hopes that myth would see the tables missing and re-create them the right way. Myth did re-create the tables, however they were still phantom (unusable).

Looking at the table creation code in mythweather/dbcheck.cpp I saw it made a hardcoded reference to TYPE=InnoDB . Once I removed this reference, the tables were created and usable.
My mysql server is not configured to use InnoDB.

Change History (7)

comment:1 Changed 11 years ago by stuartm

Milestone: 0.210.22
Severity: mediumlow

I doubt this will get fixed before 0.21 unless someone submits a patch. The mythweather tables must be Innodb as they use foreign key constraints. These would need to be replaced with code to update/insert/delete child entries in all the relevant places. No-one even noticed that it had been written to use InnoDB until recently which is why it didn't get fixed much earlier.

comment:2 Changed 11 years ago by anonymous

I've just encountered this problem on my MyISAM mysql system. I created the tables by hand without the innoDB specifier and just ran mythweather which was then able to grab sources and displays weather data.

comment:3 Changed 11 years ago by stuartm

Owner: changed from stuartm to Isaac Richards
Status: newassigned

comment:4 Changed 11 years ago by stuartm

Owner: Isaac Richards deleted
Status: assignednew

comment:5 Changed 10 years ago by stuartm

Milestone: 0.22unknown
Type: defecttask

comment:6 Changed 10 years ago by stuartm

Component: mythweatherPlugin - MythWeather

comment:7 Changed 9 years ago by Dibblah

Resolution: invalid
Status: newclosed

Two years and no patch. Closing since innoDB is very rarely not available.

Note: See TracTickets for help on using tickets.