$sql =~ s/^SELECT .+$/SELECT COUNT(DISTINCT s.path)/m;
$sql =~ s/^ORDER BY .+$//m;
$sql =~ s/^LIMIT .+$//m;
- $log->debug($sql);
my $sth = $db->prepare_cached($sql);
pop @params;
$sth->execute(@params);
$sth = $db->prepare_cached('SELECT COUNT(*) FROM songs');
$sth->execute;
my $total = ($sth->fetchrow_array)[0];
+ $sth->finish;
$log->debug(
sprintf(
"Number of songs meeting the criteria: %d out of total %d (%5.2f%%)",
$count, $total, 100.0 * $count / $total
)
);
- $sth->finish;
$sql = <<SQL;
SELECT COUNT(*)
FROM songs s
WHERE (s.last_queued IS NULL OR s.last_queued < CURRENT_TIMESTAMP - (? || ' seconds')::interval)
-UNION
-SELECT COUNT(*)
-FROM songs
SQL
$sth = $db->prepare_cached($sql);
$sth->execute($opt->min_song_interval);
$count = ($sth->fetchrow_array)[0];
- $total = ($sth->fetchrow_array)[0];
$sth->finish;
$log->debug(
SELECT COUNT(*)
FROM artists ar
WHERE (ar.last_queued IS NULL OR ar.last_queued < CURRENT_TIMESTAMP - (? || ' seconds')::interval)
-UNION
-SELECT COUNT(*)
-FROM artists
SQL
$sth = $db->prepare_cached($sql);
$sth->execute($opt->min_artist_interval);
$count = ($sth->fetchrow_array)[0];
+ $sth->finish;
+
+ $sth = $db->prepare_cached('SELECT COUNT(*) FROM artists');
+ $sth->execute;
$total = ($sth->fetchrow_array)[0];
+ $sth->finish;
$log->debug(
sprintf(
"Number of artists not queued soon: %d out of total %d (%5.2f%%)",
$count, $total, 100.0 * $count / $total
)
);
- $sth->finish;
$sql = <<SQL;
SELECT COUNT(*)
FROM albums al
WHERE (al.last_queued IS NULL OR al.last_queued < CURRENT_TIMESTAMP - (? || ' seconds')::interval)
-UNION
-SELECT COUNT(*)
-FROM albums
SQL
$sth = $db->prepare_cached($sql);
$sth->execute($opt->min_album_interval);
$count = ($sth->fetchrow_array)[0];
+ $sth->finish;
+
+ $sth = $db->prepare_cached('SELECT COUNT(*) FROM albums');
+ $sth->execute;
$total = ($sth->fetchrow_array)[0];
+ $sth->finish;
$log->debug(
sprintf(
"Number of albums not queued soon: %d out of total %d (%5.2f%%)",
$count, $total, 100.0 * $count / $total
)
);
- $sth->finish;
undef $sth;
}