summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2008-01-18 21:26:27 +0000
committerAndreas Brachold <vdr07@deltab.de>2008-01-18 21:26:27 +0000
commitd1d21802502bb254d1790bdcb2f2d01a3855cdeb (patch)
treee0330cf8c58ac603fcbd33d1d4097707caa1369e /lib
parent7e1edd7310c35548846e444cf1b81fcfd1ee2d8c (diff)
downloadxxv-d1d21802502bb254d1790bdcb2f2d01a3855cdeb.tar.gz
xxv-d1d21802502bb254d1790bdcb2f2d01a3855cdeb.tar.bz2
EPG: small improve reading data
Diffstat (limited to 'lib')
-rw-r--r--lib/XXV/MODULES/EPG.pm18
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/XXV/MODULES/EPG.pm b/lib/XXV/MODULES/EPG.pm
index 51c515c..a5adc78 100644
--- a/lib/XXV/MODULES/EPG.pm
+++ b/lib/XXV/MODULES/EPG.pm
@@ -374,7 +374,7 @@ sub compareEpgData {
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
my $db_data = $sth->fetchall_hashref('eventid');
- lg sprintf( 'Compare EPG Database with data from vdr : %d / %d for channel %s', scalar keys %$db_data,scalar keys %$vdrData, $channel);
+ lg sprintf("Compare EPG Database with data from vdr : %d / %d for channel '%s' - %s", scalar keys %$db_data,scalar keys %$vdrData, $channelname, $channel);
# Compare this Hashes
foreach my $eid (keys %{$vdrData}) {
my $row = $vdrData->{$eid};
@@ -404,14 +404,14 @@ sub compareEpgData {
}
# Delete unused EpgEntrys in DB
- $deleteData += scalar keys %$db_data;
if(scalar keys %$db_data > 0) {
- my $sth = $obj->{dbh}->prepare('DELETE FROM EPG WHERE eventid IN (?)');
- foreach my $eventid (keys %$db_data) {
- if(!$sth->execute($eventid)) {
- error sprintf("Couldn't execute query: %s.",$sth->errstr);
- }
+ my @todel = keys(%$db_data);
+ my $sql = sprintf('DELETE FROM EPG WHERE eventid IN (%s)', join(',' => ('?') x @todel));
+ my $sth = $obj->{dbh}->prepare($sql);
+ if(!$sth->execute(@todel)) {
+ error sprintf("Couldn't execute query: %s.",$sth->errstr);
}
+ $deleteData += scalar @todel;
}
}
debug sprintf('Finish .. %d events created, %d events replaced, %d events deleted', $changedData, $updatedData, $deleteData);
@@ -652,7 +652,7 @@ sub search {
where
e.channel_id = c.Id
AND ( $search->{query} )
- AND (FROM_UNIXTIME(UNIX_TIMESTAMP(e.starttime) + e.duration) > NOW())
+ AND ((UNIX_TIMESTAMP(e.starttime) + e.duration) > UNIX_TIMESTAMP())
order by
starttime
|;
@@ -707,7 +707,7 @@ from
EPG as e, CHANNELS as c
where
e.channel_id = c.Id
- AND (FROM_UNIXTIME(UNIX_TIMESTAMP(e.starttime) + e.duration) > NOW())
+ AND ((UNIX_TIMESTAMP(e.starttime) + e.duration) > UNIX_TIMESTAMP())
AND e.channel_id = ?
order by
starttime