mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-31 10:18:55 +00:00
Avoid sql caching on transient content. Ported from nZEDb.
This commit is contained in:
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user