summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorFrank Herrmann <xpix@xpix.de>2007-09-16 19:06:23 +0000
committerFrank Herrmann <xpix@xpix.de>2007-09-16 19:06:23 +0000
commitcfd92fa45d5b86a70b094cc9df9124faa15386e1 (patch)
tree2fe079b4f2bfbd39018a03bb8b424c1055caafb0 /lib
parentd37dd0897cb0968eea008e9700ded68d15a7fd93 (diff)
downloadxxv-cfd92fa45d5b86a70b094cc9df9124faa15386e1.tar.gz
xxv-cfd92fa45d5b86a70b094cc9df9124faa15386e1.tar.bz2
- add to all select statements sql_cache for more performance
Diffstat (limited to 'lib')
-rw-r--r--lib/XXV/MODULES/AUTOTIMER.pm28
-rw-r--r--lib/XXV/MODULES/CHANNELS.pm32
-rw-r--r--lib/XXV/MODULES/CHRONICLE.pm6
-rw-r--r--lib/XXV/MODULES/EPG.pm34
-rw-r--r--lib/XXV/MODULES/MEDIALIB.pm20
-rw-r--r--lib/XXV/MODULES/MUSIC.pm54
-rw-r--r--lib/XXV/MODULES/RECORDS.pm46
-rw-r--r--lib/XXV/MODULES/TIMERS.pm40
-rw-r--r--lib/XXV/MODULES/USER.pm12
9 files changed, 136 insertions, 136 deletions
diff --git a/lib/XXV/MODULES/AUTOTIMER.pm b/lib/XXV/MODULES/AUTOTIMER.pm
index 200095f..d0eb276 100644
--- a/lib/XXV/MODULES/AUTOTIMER.pm
+++ b/lib/XXV/MODULES/AUTOTIMER.pm
@@ -165,7 +165,7 @@ sub status {
my $lastReportTime = shift || 0;
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
t.Id as __Id,
t.File,
t.Status as __Status,
@@ -314,11 +314,11 @@ sub autotimer {
# Get Autotimer
my $sth;
if($autotimerid) {
- $sth = $obj->{dbh}->prepare('select * from AUTOTIMER where Activ = "y" AND Id = ? order by Id');
+ $sth = $obj->{dbh}->prepare('SELECT SQL_CACHE * from AUTOTIMER where Activ = "y" AND Id = ? order by Id');
$sth->execute($autotimerid)
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
} else {
- $sth = $obj->{dbh}->prepare('select * from AUTOTIMER where Activ = "y" order by Id');
+ $sth = $obj->{dbh}->prepare('SELECT SQL_CACHE * from AUTOTIMER where Activ = "y" order by Id');
$sth->execute()
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
}
@@ -528,7 +528,7 @@ sub autotimerEdit {
my $epg;
if($timerid and not ref $data) {
- my $sth = $obj->{dbh}->prepare("select * from AUTOTIMER where Id = ?");
+ my $sth = $obj->{dbh}->prepare("SELECT SQL_CACHE * from AUTOTIMER where Id = ?");
$sth->execute($timerid)
or return $console->err(sprintf(gettext("The autotimer '%s' does not exist in the database."),$timerid));
$epg = $sth->fetchrow_hashref();
@@ -855,7 +855,7 @@ You can also fine tune your search :
$obj->_insert($data);
- $data->{Id} = $obj->{dbh}->selectrow_arrayref('SELECT max(ID) FROM AUTOTIMER')->[0]
+ $data->{Id} = $obj->{dbh}->selectrow_arrayref('SELECT SQL_CACHE max(ID) FROM AUTOTIMER')->[0]
if(not $data->{Id});
$console->message(gettext('Autotimer saved!'));
@@ -918,7 +918,7 @@ sub autotimerToggle {
my @timers = reverse sort{ $a <=> $b } split(/[^0-9]/, $timerid);
- my $sql = sprintf('SELECT Id,Activ FROM AUTOTIMER where Id in (%s)', join(',' => ('?') x @timers));
+ my $sql = sprintf('SELECT SQL_CACHE Id,Activ FROM AUTOTIMER where Id in (%s)', join(',' => ('?') x @timers));
my $sth = $obj->{dbh}->prepare($sql);
if(!$sth->execute(@timers)) {
error sprintf("Couldn't execute query: %s.",$sth->errstr);
@@ -1005,7 +1005,7 @@ sub list {
);
my $sql = qq|
- select
+ SELECT SQL_CACHE
Id as $f{'Id'},
Activ as $f{'Act'},
Search as $f{'Search'},
@@ -1110,7 +1110,7 @@ sub _eventsearch {
# Search for events
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
e.eventid as eventid,
e.channel_id as ChannelID,
c.Name as Channel,
@@ -1144,7 +1144,7 @@ sub _timerexists {
my ($nexttime, $aidcomment) = @_;
# Avoid Timer already defined (the timer with the same data again do not put on)
- my $sql = "select count(*) as cc from TIMERS where
+ my $sql = "SELECT SQL_CACHE count(*) as cc from TIMERS where
ChannelID = ?
and UNIX_TIMESTAMP(NextStartTime) = ?
and UNIX_TIMESTAMP(NextStopTime) = ?
@@ -1177,7 +1177,7 @@ sub _timerexistsfuzzy {
# Adjust timers set by the autotimer
my $timerID = 0;
- my $sql = "select ID from TIMERS where
+ my $sql = "SELECT SQL_CACHE ID from TIMERS where
ChannelID = ?
and UNIX_TIMESTAMP(NextStartTime) = ?
and UNIX_TIMESTAMP(NextStopTime) = ?
@@ -1202,7 +1202,7 @@ sub _recordexists {
my ($nexttime, $aidcomment) = @_;
# Ignore timer if it already with same title recorded
- my $sql = "SELECT count(*) as cc
+ my $sql = "SELECT SQL_CACHE count(*) as cc
FROM RECORDS as r, OLDEPG as e
WHERE e.eventid = r.EventId
AND CONCAT_WS('~',e.title,IF(e.subtitle<>'',e.subtitle,NULL)) = ?";
@@ -1227,7 +1227,7 @@ sub _chronicleexists {
return 0
if(not $chroniclemod or $chroniclemod->{active} ne 'y');
- my $sql = "select count(*) as cc from CHRONICLE where title = ?";
+ my $sql = "SELECT SQL_CACHE count(*) as cc from CHRONICLE where title = ?";
my $sth = $obj->{dbh}->prepare($sql);
$sth->execute($eventdata->{File})
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
@@ -1244,7 +1244,7 @@ sub _timerexiststitle {
my $eventdata = shift || return error('No data defined!');
my ($nexttime, $aidcomment) = @_;
- my $sql = "select count(*) as cc from TIMERS where File = ?";
+ my $sql = "SELECT SQL_CACHE count(*) as cc from TIMERS where File = ?";
my $sth = $obj->{dbh}->prepare($sql);
$sth->execute($eventdata->{File})
@@ -1340,7 +1340,7 @@ sub suggest {
if($search) {
my $sql = qq|
- SELECT
+ SELECT SQL_CACHE
Search
FROM
AUTOTIMER
diff --git a/lib/XXV/MODULES/CHANNELS.pm b/lib/XXV/MODULES/CHANNELS.pm
index 6337231..2721821 100644
--- a/lib/XXV/MODULES/CHANNELS.pm
+++ b/lib/XXV/MODULES/CHANNELS.pm
@@ -127,10 +127,10 @@ sub status {
my $console = shift;
my $lastReportTime = shift || 0;
- my $sql = "select count(*) from CHANNELS";
+ my $sql = "SELECT SQL_CACHE count(*) from CHANNELS";
my $gesamt = $obj->{dbh}->selectrow_arrayref($sql)->[0];
- $sql = "select count(*) from CHANNELGROUPS";
+ $sql = "SELECT SQL_CACHE count(*) from CHANNELGROUPS";
my $groups = $obj->{dbh}->selectrow_arrayref($sql)->[0];
return {
@@ -432,7 +432,7 @@ sub list {
my $params = shift;
my $sql = qq|
-select
+SELECT SQL_CACHE
c.*, cg.Name as __GrpName
from
CHANNELS as c,
@@ -469,7 +469,7 @@ sub NameToChannel {
my $obj = shift || return error('No object defined!');
my $name = shift || return undef;
- my $sth = $obj->{dbh}->prepare('select Id from CHANNELS where UPPER(Name) = UPPER( ? )');
+ my $sth = $obj->{dbh}->prepare('SELECT SQL_CACHE Id from CHANNELS where UPPER(Name) = UPPER( ? )');
$sth->execute($name)
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
my $erg = $sth->fetchrow_hashref();
@@ -482,7 +482,7 @@ sub PosToName {
my $obj = shift || return error('No object defined!');
my $pos = shift || return undef;
- my $sth = $obj->{dbh}->prepare('select Name from CHANNELS where POS = ?');
+ my $sth = $obj->{dbh}->prepare('SELECT SQL_CACHE Name from CHANNELS where POS = ?');
$sth->execute($pos)
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
my $erg = $sth->fetchrow_hashref();
@@ -495,7 +495,7 @@ sub PosToChannel {
my $obj = shift || return error('No object defined!');
my $pos = shift || return undef;
- my $sth = $obj->{dbh}->prepare('select Id from CHANNELS where POS = ?');
+ my $sth = $obj->{dbh}->prepare('SELECT SQL_CACHE Id from CHANNELS where POS = ?');
$sth->execute($pos)
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
my $erg = $sth->fetchrow_hashref();
@@ -510,7 +510,7 @@ sub ChannelGroupsArray {
my $where = shift || '';
$where = sprintf('WHERE %s', $where) if($where);
- my $sql = sprintf('select %s, Id from CHANNELGROUPS %s order by Id', $field, $where);
+ my $sql = sprintf('SELECT SQL_CACHE %s, Id from CHANNELGROUPS %s order by Id', $field, $where);
my $erg = $obj->{dbh}->selectall_arrayref($sql);
return $erg;
}
@@ -523,7 +523,7 @@ sub ChannelArray {
my $where = shift || '';
$where = sprintf('WHERE %s', $where) if($where);
- my $sql = sprintf('select %s, POS from CHANNELS %s order by POS', $field, $where);
+ my $sql = sprintf('SELECT SQL_CACHE %s, POS from CHANNELS %s order by POS', $field, $where);
my $erg = $obj->{dbh}->selectall_arrayref($sql);
return $erg;
}
@@ -536,7 +536,7 @@ sub ChannelIDArray {
my $where = shift || '';
$where = sprintf('WHERE %s', $where) if($where);
- my $sql = sprintf('select %s, Id from CHANNELS %s order by POS', $field, $where);
+ my $sql = sprintf('SELECT SQL_CACHE %s, Id from CHANNELS %s order by POS', $field, $where);
my $erg = $obj->{dbh}->selectall_arrayref($sql);
return $erg;
}
@@ -549,7 +549,7 @@ sub ChannelHash {
my $where = shift || '';
$where = sprintf('WHERE %s', $where) if($where);
- my $sql = sprintf('select * from CHANNELS %s', $where);
+ my $sql = sprintf('SELECT SQL_CACHE * from CHANNELS %s', $where);
my $erg = $obj->{dbh}->selectall_hashref($sql, $field);
return $erg;
}
@@ -560,7 +560,7 @@ sub ChannelToName {
my $obj = shift || return error('No object defined!');
my $id = shift || return undef;
- my $sth = $obj->{dbh}->prepare('select Name from CHANNELS where Id = ?');
+ my $sth = $obj->{dbh}->prepare('SELECT SQL_CACHE Name from CHANNELS where Id = ?');
$sth->execute($id)
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
my $erg = $sth->fetchrow_hashref();
@@ -573,7 +573,7 @@ sub ChannelToPos {
my $obj = shift || return error('No object defined!');
my $id = shift || return undef;
- my $sth = $obj->{dbh}->prepare('select POS from CHANNELS where Id = ?');
+ my $sth = $obj->{dbh}->prepare('SELECT SQL_CACHE POS from CHANNELS where Id = ?');
$sth->execute($id)
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
my $erg = $sth->fetchrow_hashref();
@@ -607,7 +607,7 @@ sub getChannelType {
sub _LastChannel {
# ------------------
my $obj = shift || return error('No object defined!');
- my $sql = sprintf('select * from CHANNELS order by POS desc limit 1');
+ my $sql = sprintf('SELECT SQL_CACHE * from CHANNELS order by POS desc limit 1');
my $erg = $obj->{dbh}->selectrow_hashref($sql);
return $erg;
}
@@ -639,7 +639,7 @@ sub editChannel {
$cid = $self->PosToChannel($cid)
unless(index($cid, '-') > -1);
- my $sth = $self->{dbh}->prepare('select POS, Name, Frequency, Parameters, Source, Srate, VPID, APID, TPID, CA, SID, NID, TID, RID from CHANNELS where Id = ?');
+ my $sth = $self->{dbh}->prepare('SELECT SQL_CACHE POS, Name, Frequency, Parameters, Source, Srate, VPID, APID, TPID, CA, SID, NID, TID, RID from CHANNELS where Id = ?');
$sth->execute($cid)
or return $console->err(sprintf(gettext("Channel '%s' does not exist in the database!"),$cid));
$defaultData = $sth->fetchrow_hashref();
@@ -933,7 +933,7 @@ sub deleteChannel {
my @channels = reverse sort{ $a <=> $b } split(/[^0-9]/, $channelid);
- my $sql = sprintf('select Id,POS,Name from CHANNELS where POS in (%s)', join(',' => ('?') x @channels));
+ my $sql = sprintf('SELECT SQL_CACHE Id,POS,Name from CHANNELS where POS in (%s)', join(',' => ('?') x @channels));
my $sth = $self->{dbh}->prepare($sql);
$sth->execute(@channels)
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
@@ -987,7 +987,7 @@ sub _brandNewChannels {
my $obj = shift || return error('No object defined!');
my $oldmaximumpos = shift || return;
- my $sql = 'select * from CHANNELS where POS > ?';
+ my $sql = 'SELECT SQL_CACHE * from CHANNELS where POS > ?';
my $sth = $obj->{dbh}->prepare($sql);
$sth->execute($oldmaximumpos)
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
diff --git a/lib/XXV/MODULES/CHRONICLE.pm b/lib/XXV/MODULES/CHRONICLE.pm
index 2ac4e8f..8cfc1ae 100644
--- a/lib/XXV/MODULES/CHRONICLE.pm
+++ b/lib/XXV/MODULES/CHRONICLE.pm
@@ -135,7 +135,7 @@ sub _insertData {
my $sql = qq|
INSERT IGNORE INTO CHRONICLE
- SELECT
+ SELECT SQL_CACHE
0, PASSWORD(CONCAT(e.channel_id,e.starttime,title)),
REPLACE(IF(Length(e.subtitle)<=0, IF(left(e.title,1) = '%',right(e.title,length(e.title)-1),e.title), CONCAT_WS('~',e.title,e.subtitle)),'~%','~') as title,
IF(e.channel_id <> "<undef>",e.channel_id , NULL),
@@ -167,7 +167,7 @@ sub list {
);
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
CHRONICLE.id as $f{'id'},
CHRONICLE.title as $f{'title'},
CHRONICLE.channel_id as $f{'channel'},
@@ -207,7 +207,7 @@ sub search {
);
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
CHRONICLE.id as $f{'id'},
CHRONICLE.title as $f{'title'},
CHRONICLE.channel_id as $f{'channel'},
diff --git a/lib/XXV/MODULES/EPG.pm b/lib/XXV/MODULES/EPG.pm
index e39b974..18f791a 100644
--- a/lib/XXV/MODULES/EPG.pm
+++ b/lib/XXV/MODULES/EPG.pm
@@ -131,7 +131,7 @@ sub status {
my $newEntrys = 0;
{
- my $sth = $obj->{dbh}->prepare("select count(*) as count from EPG");
+ my $sth = $obj->{dbh}->prepare("SELECT SQL_CACHE count(*) as count from EPG");
if(!$sth->execute())
{
error sprintf("Couldn't execute query: %s.",$sth->errstr);
@@ -142,7 +142,7 @@ sub status {
}
{
- my $sth = $obj->{dbh}->prepare("select count(*) as count from EPG where UNIX_TIMESTAMP(addtime) > ?");
+ my $sth = $obj->{dbh}->prepare("SELECT SQL_CACHE count(*) as count from EPG where UNIX_TIMESTAMP(addtime) > ?");
if(!$sth->execute($lastReportTime))
{
error sprintf("Couldn't execute query: %s.",$sth->errstr);
@@ -353,7 +353,7 @@ sub compareEpgData {
if(ref $waiter);
# First - read database
- my $sql = qq|select eventid, title, subtitle, length(description) as ldescription, duration, UNIX_TIMESTAMP(starttime) as starttime, UNIX_TIMESTAMP(vpstime) as vpstime, video, audio from EPG where channel_id = ? |;
+ my $sql = qq|SELECT SQL_CACHE eventid, title, subtitle, length(description) as ldescription, duration, UNIX_TIMESTAMP(starttime) as starttime, UNIX_TIMESTAMP(vpstime) as vpstime, video, audio from EPG where channel_id = ? |;
my $sth = $obj->{dbh}->prepare($sql);
$sth->execute($channel)
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
@@ -420,7 +420,7 @@ sub deleteDoubleEPGEntrys {
my $obj = shift || return error('No object defined!');
# Delete double EPG Entrys
- my $erg = $obj->{dbh}->selectall_arrayref('SELECT eventid FROM EPG GROUP BY starttime, channel_id having count(*) > 1');
+ my $erg = $obj->{dbh}->selectall_arrayref('SELECT SQL_CACHE eventid FROM EPG GROUP BY starttime, channel_id having count(*) > 1');
if(scalar @$erg > 0) {
lg sprintf('Repair data found %d wrong events!', scalar @$erg);
my $sth = $obj->{dbh}->prepare('DELETE FROM EPG WHERE eventid = ?');
@@ -628,7 +628,7 @@ sub search {
my $erg = [];
if($search) {
my $sql = qq|
- select
+ SELECT SQL_CACHE
e.eventid as Service,
e.title as Title,
e.subtitle as __Subtitle,
@@ -667,7 +667,7 @@ sub program {
my $obj = shift || return error('No object defined!');
my $watcher = shift || return error('No watcher defined!');
my $console = shift || return error('No console defined!');
- my $channel = shift || $obj->{dbh}->selectrow_arrayref("select POS from CHANNELS limit 1")->[0];
+ my $channel = shift || $obj->{dbh}->selectrow_arrayref("SELECT SQL_CACHE POS from CHANNELS limit 1")->[0];
my $mod = main::getModule('CHANNELS');
my $tim = main::getModule('TIMERS');
@@ -682,7 +682,7 @@ sub program {
}
my $sql = qq|
-select
+SELECT SQL_CACHE
e.eventid as Service,
e.title as Title,
e.subtitle as __Subtitle,
@@ -749,7 +749,7 @@ sub display {
foreach my $table (qw/EPG OLDEPG/) {
my $sql = qq|
-select
+SELECT SQL_CACHE
e.eventid as $f{'Id'},
e.title as $f{'Title'},
e.subtitle as $f{'Subtitle'},
@@ -810,7 +810,7 @@ CREATE TEMPORARY TABLE IF NOT EXISTS NEXTEPG (
# Get channelid and starttime of next broadcasting
my $sqltemp = qq|
-INSERT INTO NEXTEPG select
+INSERT INTO NEXTEPG select
c.Id as channel_id,
MIN(e.starttime) as nexttime
FROM EPG as e, CHANNELS as c
@@ -833,7 +833,7 @@ GROUP BY c.Id
);
my $sql =
qq|
-select
+SELECT SQL_CACHE
e.eventid as $f{'Service'},
e.title as $f{'Title'},
e.subtitle as __Subtitle,
@@ -908,7 +908,7 @@ sub runningNow {
);
my $sql =
qq|
-select
+SELECT SQL_CACHE
e.eventid as $f{'Service'},
e.title as $f{'Title'},
e.subtitle as __Subtitle,
@@ -962,7 +962,7 @@ sub NowOnChannel {
my $sql =
qq|
-select
+SELECT SQL_CACHE
e.eventid as Service,
e.title as Title,
e.subtitle as Subtitle,
@@ -1038,7 +1038,7 @@ sub schema {
my $sql =
qq|
-select
+SELECT SQL_CACHE
e.eventid as Service,
e.title as Title,
e.subtitle as __Subtitle,
@@ -1107,7 +1107,7 @@ sub checkOnTimer {
my $tim = main::getModule('TIMERS');
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
e.starttime as NextStartTime,
ADDDATE(e.starttime, INTERVAL e.duration SECOND) as NextStopTime,
LEFT(c.Source,1) as source,
@@ -1173,7 +1173,7 @@ sub getId {
foreach my $table (qw/EPG OLDEPG/) {
# EPG
- my $sql = sprintf('select %s from %s WHERE eventid = ?',$fields, $table);
+ my $sql = sprintf('SELECT SQL_CACHE %s from %s WHERE eventid = ?',$fields, $table);
my $sth = $obj->{dbh}->prepare($sql);
$sth->execute($id)
or return error "Couldn't execute query: $sth->errstr.";
@@ -1201,7 +1201,7 @@ sub suggest {# ------------------
}
my $sql = qq|
- SELECT
+ SELECT SQL_CACHE
e.title as title
FROM
EPG as e,
@@ -1213,7 +1213,7 @@ sub suggest {# ------------------
GROUP BY
title
UNION
- SELECT
+ SELECT SQL_CACHE
e.subtitle as title
FROM
EPG as e,
diff --git a/lib/XXV/MODULES/MEDIALIB.pm b/lib/XXV/MODULES/MEDIALIB.pm
index ba42ec6..cac031e 100644
--- a/lib/XXV/MODULES/MEDIALIB.pm
+++ b/lib/XXV/MODULES/MEDIALIB.pm
@@ -287,7 +287,7 @@ sub status {
my $console = shift;
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
COUNT(id)
FROM
MEDIALIB_VIDEODATA
@@ -353,7 +353,7 @@ sub copyMedia {
my $params = shift || 0;
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
*
FROM
MEDIALIB_VIDEODATA
@@ -510,7 +510,7 @@ ON
}
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
id, imgurl, title, subtitle, year, director, SUBSTRING(plot,1,200)
FROM
MEDIALIB_VIDEODATA
@@ -552,7 +552,7 @@ sub editMedia {
my $range = delete $params->{range} if defined $params->{range};
if ( $id ) {
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
*
FROM
MEDIALIB_VIDEODATA
@@ -621,7 +621,7 @@ sub listMedia {
}
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
id, imgurl, title, subtitle, year, director, SUBSTRING(plot,1,200)
FROM
MEDIALIB_VIDEODATA
@@ -660,7 +660,7 @@ sub displayMedia {
lg("Details for mediaid:". $id);
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
*
FROM
MEDIALIB_VIDEODATA
@@ -719,7 +719,7 @@ sub saveMedia {
if(not $params->{id}) {
lg("Got no id from CGI");
- $params->{id} = $obj->{dbh}->selectrow_arrayref('SELECT max(ID) FROM MEDIALIB_VIDEODATA')->[0];
+ $params->{id} = $obj->{dbh}->selectrow_arrayref('SELECT SQL_CACHE max(ID) FROM MEDIALIB_VIDEODATA')->[0];
lg("ID fetched from DB: ". $params->{id});
}
@@ -912,7 +912,7 @@ sub _get_actors {
} @actors;
my $sql = sprintf(qq|
-SELECT
+SELECT SQL_CACHE
UPPER(name) as name, imgurl
FROM
MEDIALIB_ACTORS
@@ -953,7 +953,7 @@ sub _get_actors_as_hash_by_name {
my @actors = split /\n/, $input;
my $sql = sprintf(qq|
-SELECT
+SELECT SQL_CACHE
name, imgurl
FROM
MEDIALIB_ACTORS
@@ -1107,7 +1107,7 @@ sub _get_videogenres_byvideoid {
return [] unless $id;
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
genre_id
FROM
MEDIALIB_VIDEOGENRE
diff --git a/lib/XXV/MODULES/MUSIC.pm b/lib/XXV/MODULES/MUSIC.pm
index b07eebc..ea6ebe6 100644
--- a/lib/XXV/MODULES/MUSIC.pm
+++ b/lib/XXV/MODULES/MUSIC.pm
@@ -304,11 +304,11 @@ sub _init {
) COMMENT = '$version'
|);
- $obj->{fields} = fields($obj->{dbh}, 'select * from MUSIC');
+ $obj->{fields} = fields($obj->{dbh}, 'SELECT SQL_CACHE * from MUSIC');
# Read File to Database, if the DB empty and Musicdir exists
$obj->refresh()
- unless($obj->{dbh}->selectrow_arrayref("select count(*) from MUSIC")->[0]);
+ unless($obj->{dbh}->selectrow_arrayref("SELECT SQL_CACHE count(*) from MUSIC")->[0]);
}
return 1;
@@ -373,7 +373,7 @@ sub refresh {
$obj->{CACHE} = {};
- my $data = $dbh->selectall_hashref("select ID, FILE from MUSIC", 'FILE');
+ my $data = $dbh->selectall_hashref("SELECT SQL_CACHE ID, FILE from MUSIC", 'FILE');
my @files = $obj->{ICE}->files;
lg sprintf('Found %d music files !', scalar @files);
@@ -465,9 +465,9 @@ sub playlist {
foreach my $id (split('_', $data)) {
my $data;
if($obj->{mdbh}) {
- $data = $dbh->selectrow_hashref("select * from tracks where id = '$id'");
+ $data = $dbh->selectrow_hashref("SELECT SQL_CACHE * from tracks where id = '$id'");
} else {
- $data = $dbh->selectrow_hashref("select * from MUSIC where ID = '$id'");
+ $data = $dbh->selectrow_hashref("SELECT SQL_CACHE * from MUSIC where ID = '$id'");
}
next unless($data);
@@ -529,15 +529,15 @@ sub list {
if(!$dbh);
# Genres cachen
- $obj->{GENRES} = $dbh->selectall_hashref('select * from genre', 'id')
+ $obj->{GENRES} = $dbh->selectall_hashref('SELECT SQL_CACHE * from genre', 'id')
if($obj->{mdbh} && !$obj->{GENRES});
if($obj->{mdbh} && ! $search) {
- my $eg = $dbh->selectrow_arrayref('select title from album limit 1')
+ my $eg = $dbh->selectrow_arrayref('SELECT SQL_CACHE title from album limit 1')
|| return $console->err($obj->{mdbh}->errstr);
$search = sprintf('album:%s', $eg->[0]);
} elsif(! $search) {
- my $eg = $dbh->selectrow_arrayref('select ALBUM from MUSIC limit 1')
+ my $eg = $dbh->selectrow_arrayref('SELECT SQL_CACHE ALBUM from MUSIC limit 1')
|| return $console->err($dbh->errstr);
$search = sprintf('album:%s', $eg->[0]);
}
@@ -598,7 +598,7 @@ sub list {
if($obj->{mdbh}) {
$sql = qq|
- SELECT
+ SELECT SQL_CACHE
tracks.id as $f{'Id'},
tracks.artist as $f{'Artist'},
album.title as $f{'Album'},
@@ -619,7 +619,7 @@ sub list {
$sql .= qq|
UNION
- SELECT
+ SELECT SQL_CACHE
tracks.id as $f{'Id'},
tracks.artist as $f{'Artist'},
album.title as $f{'Album'},
@@ -647,7 +647,7 @@ sub list {
} else {
$sql = qq|
- SELECT
+ SELECT SQL_CACHE
ID as $f{'Id'},
ARTIST as $f{'Artist'},
ALBUM as $f{'Album'},
@@ -720,10 +720,10 @@ sub field2path {
if($obj->{mdbh}) {
$pathfield = 'mp3file';
- $sql = sprintf "select %s, %s from tracks", $pathfield, $field;
+ $sql = sprintf "SELECT SQL_CACHE %s, %s from tracks", $pathfield, $field;
} else {
$pathfield = 'FILE';
- $sql = sprintf "select %s, %s from MUSIC", $pathfield, $field;
+ $sql = sprintf "SELECT SQL_CACHE %s, %s from MUSIC", $pathfield, $field;
}
$sql .= sprintf " where %s in (%s)", $field, join(',', @$data)
if($data->[0] ne '*');
@@ -851,9 +851,9 @@ sub GroupArray {
my $sql;
if($obj->{mdbh}) {
- $sql = sprintf('select %s, %s from %s %s group by %s order by %s %s', $field, $idfield, $table, $where, $field, $field, $limit);
+ $sql = sprintf('SELECT SQL_CACHE %s, %s from %s %s group by %s order by %s %s', $field, $idfield, $table, $where, $field, $field, $limit);
} else {
- $sql = sprintf('select %s, ID from MUSIC %s group by %s order by %s %s %s ', $field, $where, $field, $field, $limit);
+ $sql = sprintf('SELECT SQL_CACHE %s, ID from MUSIC %s group by %s order by %s %s %s ', $field, $where, $field, $field, $limit);
}
my $erg = $dbh->selectall_arrayref($sql);
@@ -869,10 +869,10 @@ sub GenreArray {
my $sql;
if($obj->{mdbh}) {
- $sql = "select genre, genre.id as id from genre,tracks where genre.id = tracks.genre1 group by id order by id";
+ $sql = "SELECT SQL_CACHE genre, genre.id as id from genre,tracks where genre.id = tracks.genre1 group by id order by id";
} else {
my $field = 'genre';
- $sql = sprintf('select %s, %s from MUSIC group by %s order by %s', $field, $field, $field, $field);
+ $sql = sprintf('SELECT SQL_CACHE %s, %s from MUSIC group by %s order by %s', $field, $field, $field, $field);
}
my $erg = $dbh->selectall_arrayref($sql);
@@ -892,11 +892,11 @@ sub status {
my $report = {};
if($obj->{mdbh}) {
- $report->{FILE} = $obj->{mdbh}->selectrow_arrayref('select count(*) from tracks')->[0];
- $report->{ALBUM} = $obj->{mdbh}->selectrow_arrayref('select count(*) from album')->[0];
- my $d = $obj->{mdbh}->selectall_arrayref('select artist from tracks group by artist');
+ $report->{FILE} = $obj->{mdbh}->selectrow_arrayref('SELECT SQL_CACHE count(*) from tracks')->[0];
+ $report->{ALBUM} = $obj->{mdbh}->selectrow_arrayref('SELECT SQL_CACHE count(*) from album')->[0];
+ my $d = $obj->{mdbh}->selectall_arrayref('SELECT SQL_CACHE artist from tracks group by artist');
$report->{ARTIST} = scalar @$d;
- $d = $obj->{mdbh}->selectall_arrayref('select genre1 from tracks group by genre1');
+ $d = $obj->{mdbh}->selectall_arrayref('SELECT SQL_CACHE genre1 from tracks group by genre1');
$report->{GENRE} = scalar @$d;
} else {
foreach my $field (qw/FILE ALBUM ARTIST GENRE/) {
@@ -980,9 +980,9 @@ sub getcovers {
my $erg;
if($obj->{mdbh}) {
- $erg = $dbh->selectall_hashref('select DISTINCT t.id as ID,t.mp3file as FILE, a.artist as ARTIST, a.title as ALBUM, t.year as YEAR from album as a, tracks as t where a.cddbid = t.sourceid group by a.title', 'ID');
+ $erg = $dbh->selectall_hashref('SELECT SQL_CACHE DISTINCT t.id as ID,t.mp3file as FILE, a.artist as ARTIST, a.title as ALBUM, t.year as YEAR from album as a, tracks as t where a.cddbid = t.sourceid group by a.title', 'ID');
} else {
- $erg = $dbh->selectall_hashref('select DISTINCT Id as ID, FILE, ARTIST, ALBUM, YEAR from MUSIC group by ALBUM', 'ID');
+ $erg = $dbh->selectall_hashref('SELECT SQL_CACHE DISTINCT Id as ID, FILE, ARTIST, ALBUM, YEAR from MUSIC group by ALBUM', 'ID');
}
my $current = 0;
@@ -1233,7 +1233,7 @@ sub coverimage {
if($obj->{mdbh}) {
$sql = sprintf qq|
- select id, mp3file as file,
+ SELECT SQL_CACHE id, mp3file as file,
tracks.artist as artist,
album.title as album
from tracks, album
@@ -1241,7 +1241,7 @@ sub coverimage {
and id in (%s)|, join(',', @id);
} else {
$sql = sprintf qq|
- select ID as id,
+ SELECT SQL_CACHE ID as id,
FILE as file,
ARTIST as artist,
ALBUM as album
@@ -1303,11 +1303,11 @@ sub getfile {
if($obj->{mdbh}) {
$sql = sprintf qq|
- select id, mp3file as file from tracks
+ SELECT SQL_CACHE id, mp3file as file from tracks
where id in (%s)|, join(',', @id);
} else {
$sql = sprintf qq|
- select ID as id, FILE as file from MUSIC
+ SELECT SQL_CACHE ID as id, FILE as file from MUSIC
where id in (%s)|, join(',', @id);
}
diff --git a/lib/XXV/MODULES/RECORDS.pm b/lib/XXV/MODULES/RECORDS.pm
index 498d588..b92fe88 100644
--- a/lib/XXV/MODULES/RECORDS.pm
+++ b/lib/XXV/MODULES/RECORDS.pm
@@ -442,7 +442,7 @@ sub readData {
$obj->{dbh}->do('DELETE FROM RECORDS');
} else {
# read database for compare with vdr data
- my $sql = qq|select r.eventid as eventid, r.RecordId as id,
+ my $sql = qq|SELECT SQL_CACHE r.eventid as eventid, r.RecordId as id,
UNIX_TIMESTAMP(e.starttime) as starttime,
e.duration as duration, r.State as state,
CONCAT_WS('~',e.title,e.subtitle) as title,
@@ -1040,7 +1040,7 @@ sub SearchEpgId {
my $bis = int($start + $dur);
if($subtitle && $channel && $channel ne "") {
$sth = $obj->{dbh}->prepare(
-qq|SELECT * FROM OLDEPG WHERE
+qq|SELECT SQL_CACHE * FROM OLDEPG WHERE
UNIX_TIMESTAMP(starttime) >= ?
AND UNIX_TIMESTAMP(starttime)+duration <= ?
AND title = ?
@@ -1050,7 +1050,7 @@ qq|SELECT * FROM OLDEPG WHERE
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
} elsif($subtitle) {
$sth = $obj->{dbh}->prepare(
-qq|SELECT * FROM OLDEPG WHERE
+qq|SELECT SQL_CACHE * FROM OLDEPG WHERE
UNIX_TIMESTAMP(starttime) >= ?
AND UNIX_TIMESTAMP(starttime)+duration <= ?
AND title = ?
@@ -1059,7 +1059,7 @@ qq|SELECT * FROM OLDEPG WHERE
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
} else {
$sth = $obj->{dbh}->prepare(
-qq|SELECT * FROM OLDEPG WHERE
+qq|SELECT SQL_CACHE * FROM OLDEPG WHERE
UNIX_TIMESTAMP(starttime) >= ?
AND UNIX_TIMESTAMP(starttime)+duration <= ?
AND title = ?|);
@@ -1101,7 +1101,7 @@ sub createOldEventId {
addtime => time
};
- $attr->{eventid} = $obj->{dbh}->selectrow_arrayref('select max(eventid)+1 from OLDEPG')->[0];
+ $attr->{eventid} = $obj->{dbh}->selectrow_arrayref('SELECT SQL_CACHE max(eventid)+1 from OLDEPG')->[0];
$attr->{eventid} = 1000000000 if(not defined $attr->{eventid} or $attr->{eventid} < 1000000000 );
lg sprintf('Create event "%s" - "%s" into OLDEPG',
@@ -1142,7 +1142,7 @@ sub display {
$stopp = "UNIX_TIMESTAMP(e.starttime) + e.duration" if($console->typ eq "HTML");
my $sql = qq|
-select
+SELECT SQL_CACHE
r.RecordMD5 as RecordId,
r.eventid,
e.Duration,
@@ -1193,7 +1193,7 @@ sub play {
my $console = shift || return error('No console defined!');
my $recordid = shift || return $console->err(gettext("No recording defined for playback! Please use rplay 'rid'."));
- my $sql = qq|SELECT RecordID FROM RECORDS WHERE RecordMD5 = ?|;
+ my $sql = qq|SELECT SQL_CACHE RecordID FROM RECORDS WHERE RecordMD5 = ?|;
my $sth = $obj->{dbh}->prepare($sql);
my $rec;
if(!$sth->execute($recordid)
@@ -1213,7 +1213,7 @@ sub cut {
my $console = shift || return error('No console defined!');
my $recordid = shift || return $console->err(gettext("No recording defined for playback! Please use rplay 'rid'."));
- my $sql = qq|SELECT RecordID FROM RECORDS WHERE RecordMD5 = ?|;
+ my $sql = qq|SELECT SQL_CACHE RecordID FROM RECORDS WHERE RecordMD5 = ?|;
my $sth = $obj->{dbh}->prepare($sql);
my $rec;
if(!$sth->execute($recordid)
@@ -1237,7 +1237,7 @@ sub list {
my $deep = 1;
my $folder = scalar (my @a = split('/',$obj->{videodir})) + 1;
- my $select = "e.eventid = r.eventid";
+ my $where = "e.eventid = r.eventid";
if($text) {
$deep = scalar (my @c = split('~',$text));
$folder += $deep;
@@ -1245,7 +1245,7 @@ sub list {
$text =~ s/\'/\\\'/sg;
$text =~ s/%/\\%/sg;
- $select .= qq|
+ $where .= qq|
AND (
SUBSTRING_INDEX(CONCAT_WS('~',e.title,e.subtitle), '~', $deep) LIKE '$text'
OR
@@ -1266,7 +1266,7 @@ AND (
$start = "UNIX_TIMESTAMP(e.starttime)" if($console->typ eq "HTML");
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
r.RecordMD5 as $f{'Id'},
r.eventid as __EventId,
e.title as $f{'Title'},
@@ -1283,7 +1283,7 @@ FROM
RECORDS as r,
OLDEPG as e
WHERE
- $select
+ $where
GROUP BY
SUBSTRING_INDEX(r.Path, '/', IF(Length(e.subtitle)<=0, $folder + 1, $folder))
|;
@@ -1339,7 +1339,7 @@ sub search {
$start = "UNIX_TIMESTAMP(e.starttime)" if($console->typ eq "HTML");
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
r.RecordMD5 as $f{'Id'},
r.eventid as __EventId,
e.title as $f{'Title'},
@@ -1411,7 +1411,7 @@ sub delete {
}
my @recordings = keys %rec;
- my $sql = sprintf("SELECT r.RecordId,CONCAT_WS('~',e.title,e.subtitle),r.RecordMD5 FROM RECORDS as r,OLDEPG as e WHERE e.eventid = r.eventid and r.RecordMD5 IN (%s) ORDER BY r.RecordId desc", join(',' => ('?') x @recordings));
+ my $sql = sprintf("SELECT SQL_CACHE r.RecordId,CONCAT_WS('~',e.title,e.subtitle),r.RecordMD5 FROM RECORDS as r,OLDEPG as e WHERE e.eventid = r.eventid and r.RecordMD5 IN (%s) ORDER BY r.RecordId desc", join(',' => ('?') x @recordings));
my $sth = $obj->{dbh}->prepare($sql);
$sth->execute(@recordings)
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
@@ -1513,7 +1513,7 @@ sub redit {
my $rec;
if($recordid) {
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
CONCAT_WS('~',e.title,e.subtitle) as title,
e.eventid as EventId,
r.Path,
@@ -1901,7 +1901,7 @@ sub status {
my $lastReportTime = shift;
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
r.RecordId as __Id,
r.eventid as __EventId,
e.title,
@@ -1937,7 +1937,7 @@ sub IdToPath {
my $obj = shift || return error('No object defined!');
my $id = shift || return undef;
- my $sth = $obj->{dbh}->prepare('select Path from RECORDS where RecordMD5 = ?');
+ my $sth = $obj->{dbh}->prepare('SELECT SQL_CACHE Path from RECORDS where RecordMD5 = ?');
$sth->execute($id)
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
my $erg = $sth->fetchrow_hashref();
@@ -1982,7 +1982,7 @@ sub getGroupIds {
my $deep = 1;
my $folder = scalar (my @a = split('/',$obj->{videodir})) + 1;
- my $select = "e.eventid = r.eventid";
+ my $where = "e.eventid = r.eventid";
if($text) {
$deep = scalar (my @c = split('~',$text));
$folder += $deep;
@@ -1990,7 +1990,7 @@ sub getGroupIds {
$text =~ s/\'/\\\'/sg;
$text =~ s/%/\\%/sg;
- $select .= qq|
+ $where .= qq|
AND (
SUBSTRING_INDEX(CONCAT_WS('~',e.title,e.subtitle), '~', $deep) LIKE '$text'
OR
@@ -2001,13 +2001,13 @@ AND (
}
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
r.RecordMD5
FROM
RECORDS as r,
OLDEPG as e
WHERE
- $select
+ $where
GROUP BY
SUBSTRING_INDEX(r.Path, '/', IF(Length(e.subtitle)<=0, $folder + 1, $folder))
|;
@@ -2101,7 +2101,7 @@ sub suggest {
if($search) {
my $sql = qq|
- SELECT
+ SELECT SQL_CACHE
e.title as title
FROM
RECORDS as r,
@@ -2112,7 +2112,7 @@ sub suggest {
GROUP BY
title
UNION
- SELECT
+ SELECT SQL_CACHE
e.subtitle as title
FROM
RECORDS as r,
diff --git a/lib/XXV/MODULES/TIMERS.pm b/lib/XXV/MODULES/TIMERS.pm
index f4a3b7d..f7759c6 100644
--- a/lib/XXV/MODULES/TIMERS.pm
+++ b/lib/XXV/MODULES/TIMERS.pm
@@ -306,7 +306,7 @@ sub status {
my $total = 0;
{
- my $sth = $obj->{dbh}->prepare("select count(*) as count from TIMERS");
+ my $sth = $obj->{dbh}->prepare("SELECT SQL_CACHE count(*) as count from TIMERS");
if(!$sth->execute())
{
error sprintf("Couldn't execute query: %s.",$sth->errstr);
@@ -483,7 +483,7 @@ sub newTimer {
if($epgid and not ref $epg) {
my $sth = $obj->{dbh}->prepare(
qq|
-SELECT
+SELECT SQL_CACHE
eventid,
channel_id,
description as Summary,
@@ -546,7 +546,7 @@ sub editTimer {
if($timerid and not ref $data) {
my $sth = $obj->{dbh}->prepare(
qq|
-SELECT
+SELECT SQL_CACHE
Id,
ChannelID as channel_id,
File,
@@ -787,7 +787,7 @@ sub deleteTimer {
my @timers = reverse sort{ $a <=> $b } split(/[^0-9]/, $timerid);
- my $sql = sprintf('SELECT Id,File,ChannelID,NextStartTime,IF(Status & 1 and NOW() between NextStartTime and NextStopTime,1,0) as Running FROM TIMERS where Id in (%s)', join(',' => ('?') x @timers));
+ my $sql = sprintf('SELECT SQL_CACHE Id,File,ChannelID,NextStartTime,IF(Status & 1 and NOW() between NextStartTime and NextStopTime,1,0) as Running FROM TIMERS where Id in (%s)', join(',' => ('?') x @timers));
my $sth = $obj->{dbh}->prepare($sql);
$sth->execute(@timers)
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
@@ -850,7 +850,7 @@ sub toggleTimer {
my @timers = reverse sort{ $a <=> $b } split(/[^0-9]/, $timerid);
- my $sql = sprintf('SELECT Id,File,Status,NextStartTime, NextStopTime FROM TIMERS where Id in (%s)', join(',' => ('?') x @timers));
+ my $sql = sprintf('SELECT SQL_CACHE Id,File,Status,NextStartTime, NextStopTime FROM TIMERS where Id in (%s)', join(',' => ('?') x @timers));
my $sth = $obj->{dbh}->prepare($sql);
$sth->execute(@timers)
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
@@ -894,7 +894,7 @@ sub toggleTimer {
if(ref $console and $console->typ eq 'AJAX') {
# { "data" : [ [ ID, ON, RUN, CONFLICT ], .... ] }
# { "data" : [ [ 5, 1, 0, 0 ], .... ] }
- my $sql = sprintf('select Id, Status & 1 as Active, IF(NOW() between NextStartTime and NextStopTime,1,0) as Running, Collision from TIMERS where Id in (%s) %s',
+ my $sql = sprintf('SELECT SQL_CACHE Id, Status & 1 as Active, IF(NOW() between NextStartTime and NextStopTime,1,0) as Running, Collision from TIMERS where Id in (%s) %s',
join(',' => ('?') x @timers),$ref);
my $sth = $obj->{dbh}->prepare($sql);
$sth->execute(@timers)
@@ -1082,7 +1082,7 @@ sub list {
);
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
t.Id as $f{'Id'},
t.Status as $f{'Status'},
c.Name as $f{'Channel'},
@@ -1109,7 +1109,7 @@ WHERE
UNION
-SELECT
+SELECT SQL_CACHE
t.Id as $f{'Id'},
t.Status as $f{'Status'},
c.Name as $f{'Channel'},
@@ -1155,7 +1155,7 @@ sub getTimerById {
my $tid = shift || return error('No id defined!');
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
t.Id,
t.Status,
c.Name as Channel,
@@ -1189,7 +1189,7 @@ sub getRunningTimer {
# ------------------
my $obj = shift || return error('No object defined!');
my $rowname = shift || 'Id';
- my $sql = "select $rowname from TIMERS where NOW() between NextStartTime and NextStopTime AND (Status & 1)";
+ my $sql = "SELECT SQL_CACHE $rowname from TIMERS where NOW() between NextStartTime and NextStopTime AND (Status & 1)";
my $erg = $obj->{dbh}->selectall_hashref($sql, $rowname);
return $erg;
}
@@ -1213,7 +1213,7 @@ sub getNewTimers {
sub getOldDeactivTimer {
# ------------------
my $obj = shift || return error('No object defined!');
- my $sql = "select Id from TIMERS where not (Status & 1) and UNIX_TIMESTAMP(NextStopTime) > UNIX_TIMESTAMP() + (60*60*24*28)";
+ my $sql = "SELECT SQL_CACHE Id from TIMERS where not (Status & 1) and UNIX_TIMESTAMP(NextStopTime) > UNIX_TIMESTAMP() + (60*60*24*28)";
my $erg = $obj->{dbh}->selectall_hashref($sql, 'Id');
foreach my $t (reverse sort {$a <=> $b} keys %$erg) {
@@ -1229,7 +1229,7 @@ sub getCheckTimer {
# ------------------
my $obj = shift || return error('No object defined!');
my $sql = qq|
-SELECT t.Id as Id, t.Status as Status,t.ChannelID as ChannelID,
+SELECT SQL_CACHE t.Id as Id, t.Status as Status,t.ChannelID as ChannelID,
t.Priority as Priority, t.Lifetime as Lifetime,
t.File as File, t.Summary as Summary,
t.Start as TimerStart,t.Stop as TimerStop,
@@ -1302,7 +1302,7 @@ SELECT t.Id as Id, t.Status as Status,t.ChannelID as ChannelID,
sub getEpgIds {
# ------------------
my $obj = shift || return error('No object defined!');
- my $sql = "select Id, Status & 1 as Status, eventid from TIMERS where eventid > 0";
+ my $sql = "SELECT SQL_CACHE Id, Status & 1 as Status, eventid from TIMERS where eventid > 0";
my $erg = $obj->{dbh}->selectall_hashref($sql, 'eventid');
return $erg;
}
@@ -1314,7 +1314,7 @@ sub getEpgDesc {
my $tid = shift || return error('No id defined!');
my $sql = qq|
-select
+SELECT SQL_CACHE
description from TIMERS as t, EPG as e
where
e.eventid > 0 and
@@ -1335,7 +1335,7 @@ sub getOverlappingTimer {
my $obj = shift || return error('No object defined!');
my $sql = qq|
-select
+SELECT SQL_CACHE
TIMERS.Id,
TIMERS.Priority,
TIMERS.NextStartTime,
@@ -1377,7 +1377,7 @@ sub checkOverlapping {
my $tid = $data->{Id} || 0;
my $sql = qq|
-SELECT
+SELECT SQL_CACHE
t.Id,
t.Priority,
c.TID
@@ -1499,7 +1499,7 @@ sub _getNextEpgId {
if(scalar @file >= 2) { # title and subtitle defined
my $sth = $obj->{dbh}->prepare(qq|
- SELECT eventid,starttime,duration from EPG
+ SELECT SQL_CACHE eventid,starttime,duration from EPG
WHERE
channel_id = ?
AND ((UNIX_TIMESTAMP(starttime) + (duration/2)) between ? and ? )
@@ -1519,7 +1519,7 @@ sub _getNextEpgId {
} else {
my $sth = $obj->{dbh}->prepare(qq|
- SELECT eventid,starttime,duration from EPG
+ SELECT SQL_CACHE eventid,starttime,duration from EPG
WHERE
channel_id = ?
AND ((UNIX_TIMESTAMP(starttime) + (duration/2)) between ? and ? )
@@ -1659,7 +1659,7 @@ sub getTimersByAutotimer {
sub getRootDirs {
my $obj = shift || return error('No object defined!');
my $count = shift || 1;
- my $sql = "select distinct SUBSTRING_INDEX(File,'~',$count) from TIMERS;";
+ my $sql = "SELECT SQL_CACHE distinct SUBSTRING_INDEX(File,'~',$count) from TIMERS;";
my $erg = $obj->{dbh}->selectall_arrayref($sql);
my @ret;
for(@$erg) {
@@ -1696,7 +1696,7 @@ sub suggest {
if($search) {
my $sql = qq|
- SELECT
+ SELECT SQL_CACHE
File
FROM
TIMERS
diff --git a/lib/XXV/MODULES/USER.pm b/lib/XXV/MODULES/USER.pm
index 497eaf7..93be4b2 100644
--- a/lib/XXV/MODULES/USER.pm
+++ b/lib/XXV/MODULES/USER.pm
@@ -210,7 +210,7 @@ sub _init {
|);
# The Table is empty? Make a default User ...
- unless($obj->{dbh}->selectrow_arrayref('select count(*) from USER')->[0]) {
+ unless($obj->{dbh}->selectrow_arrayref('SELECT SQL_CACHE count(*) from USER')->[0]) {
$obj->_insert({
Name => 'xxv',
Password => 'xxv',
@@ -247,7 +247,7 @@ sub userprefs {
my $user;
if($id and not ref $data) {
- my $sth = $obj->{dbh}->prepare('select * from USER where Id = ?');
+ my $sth = $obj->{dbh}->prepare('SELECT SQL_CACHE * from USER where Id = ?');
$sth->execute($id)
or return $console->err(sprintf(gettext("User account '%s' does not exist in the database!"),$id));
$user = $sth->fetchrow_hashref();
@@ -330,7 +330,7 @@ sub edit {
my $user;
if($id and not ref $data) {
- my $sth = $obj->{dbh}->prepare('select * from USER where Id = ?');
+ my $sth = $obj->{dbh}->prepare('SELECT SQL_CACHE * from USER where Id = ?');
$sth->execute($id)
or return $console->err(sprintf(gettext("User account '%s' does not exist in the database!"),$id));
$user = $sth->fetchrow_hashref();
@@ -526,7 +526,7 @@ sub list {
);
my $sql = qq|
-select
+SELECT SQL_CACHE
Id as $f{Id},
Name as $f{Name},
Level as $f{Level},
@@ -623,7 +623,7 @@ sub check {
}
# check User
- my $sth = $obj->{dbh}->prepare('select * from USER where Name = ? and Password = md5( ? )');
+ my $sth = $obj->{dbh}->prepare('SELECT SQL_CACHE * from USER where Name = ? and Password = md5( ? )');
$sth->execute($name, $password)
or return error sprintf("Couldn't execute query: %s.",$sth->errstr);
$obj->{USER} = $sth->fetchrow_hashref();
@@ -701,7 +701,7 @@ sub allowCommand {
or
(exists $modCfg->{Commands}->{$cmdName}->{Level} and $user->{value} < $obj->getLevel($modCfg->{Commands}->{$cmdName}->{Level}))
or
- (exists $user->{Deny} and exists $modCfg->{Commands}->{$cmdName}->{DenyClass} and $user->{Deny} =~ /$modCfg->{Commands}->{$cmdName}->{DenyClass}/)
+ ($user->{Deny} and exists $modCfg->{Commands}->{$cmdName}->{DenyClass} and $user->{Deny} =~ /$modCfg->{Commands}->{$cmdName}->{DenyClass}/)
) {
error(sprintf('User %s with Level %s has try to call command %s without permissions!',
$user->{Name}, $user->{Level}, $cmdName))