Opened 13 years ago

Closed 13 years ago

#9651 closed Bug Report - General (Duplicate)

"length mismatch between programinfo" error v0.23

Reported by: awa_wp@… Owned by:
Priority: major Milestone: unknown
Component: MythTV - General Version: 0.23-fixes
Severity: medium Keywords:
Cc: Ticket locked: no

Description

When EIT data consist some garbage (for example binary data) and this data are saved to recorded table into text fields, some MythTV function crash with "length mismatch between programinfo" message.
For example "Watch Recordings" list is empty, but I can see recorded things in "Previous Recorded" list.
When I manually correct the table all works fine to the next recording.
In my case affected fields is a subtitle and description.
I am attaching a file with an incorrect and a corrected recorded table.

Attachments (4)

recorded_incorrect.sql.zip (1.8 KB) - added by AWa. 13 years ago.
recorded_corrected.sql.zip (1.8 KB) - added by AWa. 13 years ago.
myth.ver (721 bytes) - added by AWa. 13 years ago.
sql_trigger.sql (989 bytes) - added by AWa. 13 years ago.

Download all attachments as: .zip

Change History (7)

Changed 13 years ago by AWa.

Attachment: recorded_incorrect.sql.zip added

Changed 13 years ago by AWa.

Attachment: recorded_corrected.sql.zip added

Changed 13 years ago by AWa.

Attachment: myth.ver added

comment:1 Changed 13 years ago by awa_wp@…

I prepare simple workaround for this error:

delimiter

CREATE TRIGGER recorded_check_insert BEFORE INSERT ON recorded FOR EACH ROW BEGIN

IF NEW.subtitle = '\0' THEN

SET NEW.subtitle = ;

END IF; IF NEW.description = '\0' THEN

SET NEW.description = ;

END IF;

END;

CREATE TRIGGER recorded_check_update BEFORE UPDATE ON recorded FOR EACH ROW BEGIN

IF NEW.subtitle = '\0' THEN

SET NEW.subtitle = ;

END IF; IF NEW.description = '\0' THEN

SET NEW.description = ;

END IF;

END;

CREATE TRIGGER program_check_insert BEFORE INSERT ON program FOR EACH ROW BEGIN

IF NEW.subtitle = '\0' THEN

SET NEW.subtitle = ;

END IF; IF NEW.description = '\0' THEN

SET NEW.description = ;

END IF;

END;

CREATE TRIGGER program_check_update BEFORE UPDATE ON program FOR EACH ROW BEGIN

IF NEW.subtitle = '\0' THEN

SET NEW.subtitle = ;

END IF; IF NEW.description = '\0' THEN

SET NEW.description = ;

END IF;

END;

delimiter ;

Changed 13 years ago by AWa.

Attachment: sql_trigger.sql added

comment:2 Changed 13 years ago by awa_wp@…

Posted SQL code has been changed by a website parser and not work.

sql_trigger.sql consist valid code.

comment:3 Changed 13 years ago by Raymond Wagner

Resolution: Duplicate
Status: newclosed

Duplicate of #8707. Possibly related to #6663.

Note: See TracTickets for help on using tickets.