Opened 18 years ago
Closed 18 years ago
Last modified 18 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 by , 18 years ago
comment:4 by , 18 years ago
Just curious...is this also going to get patched in the release-0-20-fixes branch (in programs/mythfilldatabase/filldata.cpp)?
Thanks.
comment:5 by , 18 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:6 by , 18 years ago
comment:7 by , 18 years ago
Milestone: | unknown → 0.21 |
---|
This also drives me insane.