Modify
Warning Please read the Ticket HowTo before creating or commenting on a ticket. Failure to do so may cause your ticket to be rejected or result in a slower response.

Opened 5 years ago

Closed 3 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.

Attachments (0)

Change History (7)

comment:1 Changed 5 years ago by stuartm

  • Milestone changed from 0.21 to 0.22
  • Severity changed from medium to low

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 5 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 5 years ago by stuartm

  • Owner changed from stuartm to ijr
  • Status changed from new to assigned

comment:4 Changed 5 years ago by stuartm

  • Owner ijr deleted
  • Status changed from assigned to new

comment:5 Changed 4 years ago by stuartm

  • Milestone changed from 0.22 to unknown
  • Type changed from defect to task

comment:6 Changed 4 years ago by stuartm

  • Component changed from mythweather to Plugin - MythWeather

comment:7 Changed 3 years ago by Dibblah

  • Resolution set to invalid
  • Status changed from new to closed

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

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'new'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.