diff options
| author | Frank Herrmann <xpix@xpix.de> | 2007-09-16 19:06:23 +0000 |
|---|---|---|
| committer | Frank Herrmann <xpix@xpix.de> | 2007-09-16 19:06:23 +0000 |
| commit | cfd92fa45d5b86a70b094cc9df9124faa15386e1 (patch) | |
| tree | 2fe079b4f2bfbd39018a03bb8b424c1055caafb0 /lib | |
| parent | d37dd0897cb0968eea008e9700ded68d15a7fd93 (diff) | |
| download | xxv-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.pm | 28 | ||||
| -rw-r--r-- | lib/XXV/MODULES/CHANNELS.pm | 32 | ||||
| -rw-r--r-- | lib/XXV/MODULES/CHRONICLE.pm | 6 | ||||
| -rw-r--r-- | lib/XXV/MODULES/EPG.pm | 34 | ||||
| -rw-r--r-- | lib/XXV/MODULES/MEDIALIB.pm | 20 | ||||
| -rw-r--r-- | lib/XXV/MODULES/MUSIC.pm | 54 | ||||
| -rw-r--r-- | lib/XXV/MODULES/RECORDS.pm | 46 | ||||
| -rw-r--r-- | lib/XXV/MODULES/TIMERS.pm | 40 | ||||
| -rw-r--r-- | lib/XXV/MODULES/USER.pm | 12 |
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)) |
