Opened 17 years ago
Closed 17 years ago
Last modified 16 years ago
#3681 closed defect (fixed)
mythfilldatabase erroneously deletes record schedules for the current day
Reported by: | 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 (1)
Change History (8)
comment:1 Changed 17 years ago by
comment:4 Changed 17 years ago by
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 17 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:6 Changed 17 years ago by
comment:7 Changed 16 years ago by
Milestone: | unknown → 0.21 |
---|
This also drives me insane.