Ticket #3681 (closed defect: fixed)
Opened 5 years ago
Last modified 4 years ago
mythfilldatabase erroneously deletes record schedules for the current day
| Reported by: | Tom Dexter <digitalaudiorock@…> | Owned by: | stuartm |
|---|---|---|---|
| Priority: | major | Milestone: | 0.21 |
| Component: | mythfilldatabase | Version: | unknown |
| Severity: | medium | Keywords: | mythfilldatabase schedules |
| Cc: | Ticket locked: | no |
Description
mythfilldata always deletes records from the record table with types of single, override, or dontrecord whose enddate is the current day.
The problem is in the clearOldDBEntries in the file programs/mythfilldatabase/filldata.cpp (in 0.20) and libs/libmythtv/programdata.cpp (in 0.21):
query.prepare("DELETE FROM record WHERE (type = :SINGLE "
"OR type = :OVERRIDE OR type = :DONTRECORD) " "AND enddate < NOW();");
query.bindValue(":SINGLE", kSingleRecord); query.bindValue(":OVERRIDE", kOverrideRecord); query.bindValue(":DONTRECORD", kDontRecord); query.exec();
Since enddate is a date column (not datetime) it's getting compared to NOW() as a datetime at 12:00AM, thus always less than NOW(). Using either CURDATE(), CURRENT_DATE, or CAST(NOW() AS DATE) in place of NOW() would work correctly.
Attachments
Change History
comment:1 Changed 5 years ago by Jeff <jeff@…>
comment:4 Changed 5 years ago by Tom Dexter <digitalaudiorock@…>
Just curious...is this also going to get patched in the release-0-20-fixes branch (in programs/mythfilldatabase/filldata.cpp)?
Thanks.
comment:5 Changed 5 years ago by stuartm
- Status changed from new to closed
- Resolution set to fixed


This also drives me insane.