Avoid sql caching on transient content. Ported from nZEDb.

This commit is contained in:
Darko
2015-06-23 14:03:41 +02:00
parent 4197368869
commit e35effaba9
+21 -21
View File
@@ -400,7 +400,7 @@ class ProcessReleases
foreach ($groupIDs as $groupID) {
if ($this->pdo->queryOneRow(
sprintf(
'SELECT id FROM %s WHERE filecheck = %d AND filesize > 0 AND group_id = %d LIMIT 1',
'SELECT SQL_NO_CACHE id FROM %s WHERE filecheck = %d AND filesize > 0 AND group_id = %d LIMIT 1',
$group['cname'],
self::COLLFC_SIZED,
$groupID['id']
@@ -504,7 +504,7 @@ class ProcessReleases
$collections = $this->pdo->queryDirect(
sprintf('
SELECT %s.*, groups.name AS gname
SELECT SQL_NO_CACHE %s.*, groups.name AS gname
FROM %s
INNER JOIN groups ON %s.group_id = groups.id
WHERE %s %s.filecheck = %d
@@ -541,7 +541,7 @@ class ProcessReleases
// A 1% variance in size is considered the same size when the subject and poster are the same
$dupeCheck = $this->pdo->queryOneRow(
sprintf("
SELECT id
SELECT SQL_NO_CACHE id
FROM releases
WHERE name = %s
AND fromname = %s
@@ -667,7 +667,7 @@ class ProcessReleases
$releases = $this->pdo->queryDirect(
sprintf("
SELECT CONCAT(COALESCE(cp.title,'') , CASE WHEN cp.title IS NULL THEN '' ELSE ' > ' END , c.title) AS title,
SELECT SQL_NO_CACHE CONCAT(COALESCE(cp.title,'') , CASE WHEN cp.title IS NULL THEN '' ELSE ' > ' END , c.title) AS title,
r.name, r.id, r.guid
FROM releases r
INNER JOIN category c ON r.categoryid = c.id
@@ -803,7 +803,7 @@ class ProcessReleases
* Post-process releases.
*
* @param int $postProcess
* @param NNTP $nntp
* @param \NNTP $nntp
*
* @void
* @access public
@@ -943,7 +943,7 @@ class ProcessReleases
// Collections that somehow have no binaries.
$collectionIDs = $this->pdo->queryDirect(
sprintf(
'SELECT id FROM %s WHERE id NOT IN (SELECT collection_id FROM %s) %s',
'SELECT SQL_NO_CACHE id FROM %s WHERE id NOT IN (SELECT collection_id FROM %s) %s',
$group['cname'], $group['bname'], $this->minMaxQueryFormulator($group['cname'], 10000)
)
);
@@ -969,7 +969,7 @@ class ProcessReleases
$collections = $this->pdo->queryDirect(
sprintf('
SELECT c.id
SELECT SQL_NO_CACHE c.id
FROM %s c
INNER JOIN releases r ON r.id = c.releaseid
WHERE r.nzbstatus = 1',
@@ -1035,7 +1035,7 @@ class ProcessReleases
foreach ($groupIDs as $groupID) {
$releases = $this->pdo->queryDirect(
sprintf("
SELECT r.guid, r.id
SELECT SQL_NO_CACHE r.guid, r.id
FROM releases r
INNER JOIN groups g ON g.id = r.groupid
WHERE r.groupid = %d
@@ -1056,7 +1056,7 @@ class ProcessReleases
if ($maxSizeSetting > 0) {
$releases = $this->pdo->queryDirect(
sprintf('
SELECT id, guid
SELECT SQL_NO_CACHE id, guid
FROM releases
WHERE groupid = %d
AND size > %d',
@@ -1074,7 +1074,7 @@ class ProcessReleases
$releases = $this->pdo->queryDirect(
sprintf("
SELECT r.id, r.guid
SELECT SQL_NO_CACHE r.id, r.guid
FROM releases r
INNER JOIN groups g ON g.id = r.groupid
WHERE r.groupid = %d
@@ -1130,7 +1130,7 @@ class ProcessReleases
if ($this->pdo->getSetting('releaseretentiondays') != 0) {
$releases = $this->pdo->queryDirect(
sprintf(
'SELECT id, guid FROM releases WHERE postdate < (NOW() - INTERVAL %d DAY)',
'SELECT SQL_NO_CACHE id, guid FROM releases WHERE postdate < (NOW() - INTERVAL %d DAY)',
$this->pdo->getSetting('releaseretentiondays')
)
);
@@ -1146,7 +1146,7 @@ class ProcessReleases
if ($this->pdo->getSetting('deletepasswordedrelease') == 1) {
$releases = $this->pdo->queryDirect(
sprintf(
'SELECT id, guid FROM releases WHERE passwordstatus = %d',
'SELECT SQL_NO_CACHE id, guid FROM releases WHERE passwordstatus = %d',
\Releases::PASSWD_RAR
)
);
@@ -1162,7 +1162,7 @@ class ProcessReleases
if ($this->pdo->getSetting('deletepossiblerelease') == 1) {
$releases = $this->pdo->queryDirect(
sprintf(
'SELECT id, guid FROM releases WHERE passwordstatus = %d',
'SELECT SQL_NO_CACHE id, guid FROM releases WHERE passwordstatus = %d',
\Releases::PASSWD_POTENTIAL
)
);
@@ -1179,7 +1179,7 @@ class ProcessReleases
do {
$releases = $this->pdo->queryDirect(
sprintf(
'SELECT id, guid FROM releases WHERE adddate > (NOW() - INTERVAL %d HOUR) GROUP BY name HAVING COUNT(name) > 1',
'SELECT SQL_NO_CACHE id, guid FROM releases WHERE adddate > (NOW() - INTERVAL %d HOUR) GROUP BY name HAVING COUNT(name) > 1',
$this->crossPostTime
)
);
@@ -1196,7 +1196,7 @@ class ProcessReleases
if ($this->completion > 0) {
$releases = $this->pdo->queryDirect(
sprintf('SELECT id, guid FROM releases WHERE completion < %d AND completion > 0', $this->completion)
sprintf('SELECT SQL_NO_CACHE id, guid FROM releases WHERE completion < %d AND completion > 0', $this->completion)
);
if ($releases instanceof \Traversable) {
foreach ($releases as $release) {
@@ -1211,7 +1211,7 @@ class ProcessReleases
if (count($disabledCategories) > 0) {
foreach ($disabledCategories as $disabledCategory) {
$releases = $this->pdo->queryDirect(
sprintf('SELECT id, guid FROM releases WHERE categoryid = %d', $disabledCategory['id'])
sprintf('SELECT SQL_NO_CACHE id, guid FROM releases WHERE categoryid = %d', $disabledCategory['id'])
);
if ($releases instanceof \Traversable) {
foreach ($releases as $release) {
@@ -1224,7 +1224,7 @@ class ProcessReleases
// Delete smaller than category minimum sizes.
$categories = $this->pdo->queryDirect('
SELECT c.id AS id,
SELECT SQL_NO_CACHE c.id AS id,
CASE WHEN c.minsizetoformrelease = 0 THEN cp.minsizetoformrelease ELSE c.minsizetoformrelease END AS minsize
FROM category c
INNER JOIN category cp ON cp.id = c.parentid
@@ -1236,7 +1236,7 @@ class ProcessReleases
if ($category['minsize'] > 0) {
$releases = $this->pdo->queryDirect(
sprintf('
SELECT r.id, r.guid
SELECT SQL_NO_CACHE r.id, r.guid
FROM releases r
WHERE r.categoryid = %d
AND r.size < %d',
@@ -1260,7 +1260,7 @@ class ProcessReleases
foreach ($genrelist as $genre) {
$releases = $this->pdo->queryDirect(
sprintf('
SELECT id, guid
SELECT SQL_NO_CACHE id, guid
FROM releases
INNER JOIN (SELECT id AS mid FROM musicinfo WHERE musicinfo.genreID = %d) mi
ON musicinfoid = mid',
@@ -1280,7 +1280,7 @@ class ProcessReleases
if ($this->pdo->getSetting('miscotherretentionhours') > 0) {
$releases = $this->pdo->queryDirect(
sprintf('
SELECT id, guid
SELECT SQL_NO_CACHE id, guid
FROM releases
WHERE categoryid = %d
AND adddate <= NOW() - INTERVAL %d HOUR',
@@ -1300,7 +1300,7 @@ class ProcessReleases
if ($this->pdo->getSetting('mischashedretentionhours') > 0) {
$releases = $this->pdo->queryDirect(
sprintf('
SELECT id, guid
SELECT SQL_NO_CACHE id, guid
FROM releases
WHERE categoryid = %d
AND adddate <= NOW() - INTERVAL %d HOUR',