diff --git a/Changelog b/Changelog index a6aae89ab..9d3c23677 100755 --- a/Changelog +++ b/Changelog @@ -1,4 +1,5 @@ 2015-11-18 DariusIII + Chg: Use releaseid instead of id from releasefiles table, rename releasefiles table to release_files Fix: TVMaze AKA processing and some other bugs 2015-11-16 DariusIII Fix: Use rawurlencode in TVMaze/Client.php diff --git a/misc/sphinxsearch/populate_rt_indexes.php b/misc/sphinxsearch/populate_rt_indexes.php index fa99856ff..9c618b057 100644 --- a/misc/sphinxsearch/populate_rt_indexes.php +++ b/misc/sphinxsearch/populate_rt_indexes.php @@ -23,7 +23,7 @@ function populate_rt($table = '') case 'releases_rt': $pdo->queryDirect('SET SESSION group_concat_max_len=8192'); $rows = $pdo->queryExec('SELECT r.id, r.name, r.searchname, r.fromname, IFNULL(GROUP_CONCAT(rf.name SEPARATOR " "),"") filename - FROM releases r LEFT JOIN releasefiles rf ON(r.id=rf.releaseid) GROUP BY r.id' + FROM releases r LEFT JOIN release_files rf ON(r.id=rf.releaseid) GROUP BY r.id' ); $rtvalues = '(id, name, searchname, fromname, filename)'; break; diff --git a/misc/testing/DB/resetdb.php b/misc/testing/DB/resetdb.php index 088d9e0a5..b1aca1bac 100644 --- a/misc/testing/DB/resetdb.php +++ b/misc/testing/DB/resetdb.php @@ -35,7 +35,7 @@ echo $pdo->log->primary("Reseting all groups completed."); $arr = [ "videos", "tv_episodes", "tv_info", "releasenfo", "release_comments", 'sharing', 'sharing_sites', - "usercart", "usermovies", "userseries", "movieinfo", "musicinfo", "releasefiles", + "usercart", "usermovies", "userseries", "movieinfo", "musicinfo", "release_files", "releaseaudio", "releasesubs", "releasevideo", "releaseextrafull", "parts", "partrepair", "binaries", "collections", "releases", "spotnabsources" ]; diff --git a/misc/testing/movecat.php b/misc/testing/movecat.php index 8ec3cfebd..aab2b7f6e 100644 --- a/misc/testing/movecat.php +++ b/misc/testing/movecat.php @@ -16,7 +16,7 @@ $db = new Settings(); /* $sql = "update releases inner join ( select distinct rf.releaseID -from releasefiles rf +from release_files rf inner join releases r on r.ID = rf.releaseID where rf.name like '%.mp3' and r.categoryID like '7%') x on x.releaseID = releases.ID diff --git a/misc/update_scripts/nix_scripts/tmux/bin/fixreleasenames.php b/misc/update_scripts/nix_scripts/tmux/bin/fixreleasenames.php index 34443861c..b6d825ec5 100644 --- a/misc/update_scripts/nix_scripts/tmux/bin/fixreleasenames.php +++ b/misc/update_scripts/nix_scripts/tmux/bin/fixreleasenames.php @@ -38,7 +38,7 @@ if (!isset($argv[1])) { $release = $pieces[1]; if ($res = $db->queryOneRow(sprintf('SELECT relfiles.name AS textstring, rel.categoryid, rel.searchname, ' . 'rel.groupid, relfiles.releaseid AS fileid, rel.id AS releaseid, rel.name FROM releases rel ' - . 'INNER JOIN releasefiles relfiles ON (relfiles.releaseid = rel.id) WHERE rel.id = %d', $release))) { + . 'INNER JOIN release_files relfiles ON (relfiles.releaseid = rel.id) WHERE rel.id = %d', $release))) { $namefixer->done = $namefixer->matched = false; if ($namefixer->checkName($res, true, 'Filenames, ', 1, 1) !== true) { echo '.'; @@ -47,7 +47,7 @@ if (!isset($argv[1])) { } } else if (isset($pieces[1]) && $pieces[0] == 'md5') { $release = $pieces[1]; - if ($res = $db->queryOneRow(sprintf('SELECT r.id AS releaseid, r.name, r.searchname, r.categoryid, r.groupid, dehashstatus, rf.name AS filename FROM releases r LEFT JOIN releasefiles rf ON r.id = rf.releaseid WHERE r.id = %d', $release))) { + if ($res = $db->queryOneRow(sprintf('SELECT r.id AS releaseid, r.name, r.searchname, r.categoryid, r.groupid, dehashstatus, rf.name AS filename FROM releases r LEFT JOIN release_files rf ON r.id = rf.releaseid WHERE r.id = %d', $release))) { if (preg_match('/[a-fA-F0-9]{32,40}/i', $res['name'], $matches)) { $namefixer->matchPredbHash($matches[0], $res, 1, 1, true, 1); } else if (preg_match('/[a-fA-F0-9]{32,40}/i', $res['filename'], $matches)) { diff --git a/misc/update_scripts/nix_scripts/tmux/bin/groupfixrelnames.php b/misc/update_scripts/nix_scripts/tmux/bin/groupfixrelnames.php index 3fe572ce6..7b4019f06 100644 --- a/misc/update_scripts/nix_scripts/tmux/bin/groupfixrelnames.php +++ b/misc/update_scripts/nix_scripts/tmux/bin/groupfixrelnames.php @@ -63,7 +63,7 @@ if (!isset($argv[1])) { SELECT rf.name AS textstring, rf.releaseid AS fileid, r.id AS releaseid, r.name, r.searchname, r.categoryid, r.groupid FROM releases r - INNER JOIN releasefiles rf ON r.id = rf.releaseid + INNER JOIN release_files rf ON r.id = rf.releaseid WHERE r.guid %s AND r.nzbstatus = 1 AND r.proc_files = 0 AND r.prehashid = 0 @@ -90,7 +90,7 @@ if (!isset($argv[1])) { SELECT DISTINCT r.id AS releaseid, r.name, r.searchname, r.categoryid, r.groupid, r.dehashstatus, rf.name AS filename FROM releases r - LEFT OUTER JOIN releasefiles rf ON r.id = rf.releaseid AND rf.ishashed = 1 + LEFT OUTER JOIN release_files rf ON r.id = rf.releaseid AND rf.ishashed = 1 WHERE r.guid %s AND nzbstatus = 1 AND r.ishashed = 1 AND r.dehashstatus BETWEEN -6 AND 0 diff --git a/misc/update_scripts/python/fixreleasenames_threaded.py b/misc/update_scripts/python/fixreleasenames_threaded.py index fab165e6e..12f77ca65 100644 --- a/misc/update_scripts/python/fixreleasenames_threaded.py +++ b/misc/update_scripts/python/fixreleasenames_threaded.py @@ -65,11 +65,11 @@ elif len(sys.argv) > 1 and sys.argv[1] == "miscsorter": cur[0].execute(run, (int(perrun[0]) * int(run_threads[0]))) datas = cur[0].fetchall() elif len(sys.argv) > 1 and (sys.argv[1] == "filename"): - run = "SELECT DISTINCT rel.id AS releaseid FROM releases rel INNER JOIN releasefiles relfiles ON (relfiles.releaseid = rel.id) WHERE nzbstatus = 1 AND proc_files = 0 AND" + clean + "ORDER BY postdate ASC LIMIT %s" + run = "SELECT DISTINCT rel.id AS releaseid FROM releases rel INNER JOIN release_files relfiles ON (relfiles.releaseid = rel.id) WHERE nzbstatus = 1 AND proc_files = 0 AND" + clean + "ORDER BY postdate ASC LIMIT %s" cur[0].execute(run, (int(perrun[0]) * int(run_threads[0]))) datas = cur[0].fetchall() elif len(sys.argv) > 1 and (sys.argv[1] == "md5"): - run = "SELECT DISTINCT rel.id FROM releases rel LEFT OUTER JOIN releasefiles rf ON rel.id = rf.releaseid AND rf.ishashed = 1 WHERE nzbstatus = 1 AND rel.dehashstatus BETWEEN -6 AND 0 AND rel.ishashed = 1 AND prehashid = 0 ORDER BY dehashstatus DESC, postdate ASC LIMIT %s" + run = "SELECT DISTINCT rel.id FROM releases rel LEFT OUTER JOIN release_files rf ON rel.id = rf.releaseid AND rf.ishashed = 1 WHERE nzbstatus = 1 AND rel.dehashstatus BETWEEN -6 AND 0 AND rel.ishashed = 1 AND prehashid = 0 ORDER BY dehashstatus DESC, postdate ASC LIMIT %s" cur[0].execute(run, (int(perrun[0])*int(run_threads[0]))) datas = cur[0].fetchall() elif len(sys.argv) > 1 and (sys.argv[1] == "par2"): diff --git a/misc/update_scripts/python/groupfixrelnames_threaded.py b/misc/update_scripts/python/groupfixrelnames_threaded.py index bc6c9e332..067bc69f8 100644 --- a/misc/update_scripts/python/groupfixrelnames_threaded.py +++ b/misc/update_scripts/python/groupfixrelnames_threaded.py @@ -54,12 +54,12 @@ if threads > 16: maxperrun = int(run_perrun[0]) if sys.argv[1] == "md5": - join = "LEFT OUTER JOIN releasefiles rf ON r.id = rf.releaseid AND rf.ishashed = 1" + join = "LEFT OUTER JOIN release_files rf ON r.id = rf.releaseid AND rf.ishashed = 1" where = "r.ishashed = 1 AND r.dehashstatus BETWEEN -6 AND 0" elif sys.argv[1] == "nfo": where = "r.proc_nfo = 0 AND r.nfostatus = 1" elif sys.argv[1] == "filename": - join = "INNER JOIN releasefiles rf ON r.id = rf.releaseid" + join = "INNER JOIN release_files rf ON r.id = rf.releaseid" where = "r.proc_files = 0" elif sys.argv[1] == "par2": where = "r.proc_par2 = 0" diff --git a/newznab/NameFixer.php b/newznab/NameFixer.php index 97269b5b0..fb3fe8558 100755 --- a/newznab/NameFixer.php +++ b/newznab/NameFixer.php @@ -254,7 +254,7 @@ class NameFixer SELECT rf.name AS textstring, rel.categoryid, rel.name, rel.searchname, rel.groupid, rf.releaseid AS fileid, rel.id AS releaseid FROM releases rel - INNER JOIN releasefiles rf ON (rf.releaseid = rel.id) + INNER JOIN release_files rf ON (rf.releaseid = rel.id) WHERE nzbstatus = %d AND prehashid = 0', NZB::NZB_ADDED @@ -266,7 +266,7 @@ class NameFixer SELECT rf.name AS textstring, rel.categoryid, rel.name, rel.searchname, rel.groupid, rf.releaseid AS fileid, rel.id AS releaseid FROM releases rel - INNER JOIN releasefiles rf ON (rf.releaseid = rel.id) + INNER JOIN release_files rf ON (rf.releaseid = rel.id) WHERE (isrenamed = %d OR rel.categoryid = %d) AND proc_files = %d', self::IS_RENAMED_NONE, @@ -720,7 +720,7 @@ class NameFixer } echo $this->pdo->log->header("\nMatch PreFiles (${args[1]}) Started at " . date('g:i:s')); - echo $this->pdo->log->primary("Matching predb filename to cleaned releasefiles.name.\n"); + echo $this->pdo->log->primary("Matching predb filename to cleaned release_files.name.\n"); $query = $this->pdo->queryDirect( sprintf(' @@ -728,7 +728,7 @@ class NameFixer r.groupid, r.categoryid, rf.name AS filename FROM releases r - INNER JOIN releasefiles rf ON r.id = rf.releaseid + INNER JOIN release_files rf ON r.id = rf.releaseid AND rf.name IS NOT NULL WHERE r.prehashid = 0 GROUP BY r.id diff --git a/newznab/PreHash.php b/newznab/PreHash.php index 8e8c4da9e..add008354 100644 --- a/newznab/PreHash.php +++ b/newznab/PreHash.php @@ -190,12 +190,12 @@ Class PreHash if ($cats === 3) { $query = sprintf('SELECT r.id AS releaseid, r.name, r.searchname, r.categoryid, r.groupid, ' . 'dehashstatus, rf.name AS filename FROM releases r ' - . 'LEFT OUTER JOIN releasefiles rf ON r.id = rf.releaseid ' + . 'LEFT OUTER JOIN release_files rf ON r.id = rf.releaseid ' . 'WHERE nzbstatus = 1 AND dehashstatus BETWEEN -6 AND 0 AND prehashid = 0 %s', $regex); } else { $query = sprintf('SELECT r.id AS releaseid, r.name, r.searchname, r.categoryid, r.groupid, ' . 'dehashstatus, rf.name AS filename FROM releases r ' - . 'LEFT OUTER JOIN releasefiles rf ON r.id = rf.releaseid ' + . 'LEFT OUTER JOIN release_files rf ON r.id = rf.releaseid ' . 'WHERE nzbstatus = 1 AND isrenamed = 0 AND dehashstatus BETWEEN -6 AND 0 %s %s %s', $regex, $ct, $tq); } diff --git a/newznab/ReleaseFiles.php b/newznab/ReleaseFiles.php index 5005bd7fa..e164fec2f 100644 --- a/newznab/ReleaseFiles.php +++ b/newznab/ReleaseFiles.php @@ -33,7 +33,7 @@ class ReleaseFiles */ public function get($id) { - return $this->pdo->query(sprintf("SELECT * FROM releasefiles WHERE releaseid = %d ORDER BY releasefiles.name ", $id)); + return $this->pdo->query(sprintf("SELECT * FROM release_files WHERE releaseid = %d ORDER BY release_files.name ", $id)); } /** @@ -41,7 +41,7 @@ class ReleaseFiles */ public function getByGuid($guid) { - return $this->pdo->query(sprintf("SELECT releasefiles.* FROM releasefiles INNER JOIN releases r ON r.id = releasefiles.releaseid WHERE r.guid = %s ORDER BY releasefiles.name ", $this->pdo->escapeString($guid))); + return $this->pdo->query(sprintf("SELECT release_files.* FROM release_files INNER JOIN releases r ON r.id = release_files.releaseid WHERE r.guid = %s ORDER BY release_files.name ", $this->pdo->escapeString($guid))); } /** @@ -49,7 +49,7 @@ class ReleaseFiles */ public function delete($id) { - $res = $this->pdo->queryExec(sprintf("DELETE FROM releasefiles WHERE releaseid = %d", $id)); + $res = $this->pdo->queryExec(sprintf("DELETE FROM release_files WHERE releaseid = %d", $id)); $this->sphinxSearch->updateRelease($id, $this->pdo); return $res; } @@ -71,8 +71,8 @@ class ReleaseFiles $duplicateCheck = $this->pdo->queryOneRow( sprintf(' - SELECT id - FROM releasefiles + SELECT releaseid + FROM release_files WHERE releaseid = %d AND name = %s', $id, $this->pdo->escapeString(utf8_encode($name)) @@ -82,7 +82,7 @@ class ReleaseFiles if ($duplicateCheck === false) { $insert = $this->pdo->queryInsert( sprintf(" - INSERT INTO releasefiles + INSERT INTO release_files (releaseid, name, size, createddate, passworded) VALUES (%d, %s, %s, %s, %d)", diff --git a/newznab/ReleaseRemover.php b/newznab/ReleaseRemover.php index b9800616b..66606b5c1 100644 --- a/newznab/ReleaseRemover.php +++ b/newznab/ReleaseRemover.php @@ -438,7 +438,7 @@ class ReleaseRemover $this->query = sprintf( "SELECT r.guid, r.searchname, r.id FROM releases r %s - STRAIGHT_JOIN releasefiles rf ON r.id = rf.releaseid + STRAIGHT_JOIN release_files rf ON r.id = rf.releaseid WHERE r.searchname NOT REGEXP %s AND rf.name %s AND r.categoryid NOT IN (%d, %d, %d, %d, %d, %d) %s %s", @@ -485,7 +485,7 @@ class ReleaseRemover $this->query = sprintf( "SELECT r.guid, r.searchname, r.id FROM releases r %s - STRAIGHT_JOIN releasefiles rf ON r.id = rf.releaseid + STRAIGHT_JOIN release_files rf ON r.id = rf.releaseid WHERE rf.name %s %s", $ftJoin, $this->pdo->likeString('install.bin', true, true), @@ -523,7 +523,7 @@ class ReleaseRemover $this->query = sprintf( "SELECT r.guid, r.searchname, r.id FROM releases r %s - STRAIGHT_JOIN releasefiles rf ON r.id = rf.releaseid + STRAIGHT_JOIN release_files rf ON r.id = rf.releaseid WHERE rf.name %s %s %s", $ftJoin, $this->pdo->likeString('password.url', true, true), @@ -735,7 +735,7 @@ class ReleaseRemover $this->query = sprintf( "SELECT r.guid, r.searchname, r.id FROM releases r %s - STRAIGHT_JOIN releasefiles rf ON r.id = rf.releaseid + STRAIGHT_JOIN release_files rf ON r.id = rf.releaseid WHERE (rf.name REGEXP '[.]scr[$ \"]' OR r.name REGEXP '[.]scr[$ \"]') %s %s", $ftJoin, @@ -923,7 +923,7 @@ class ReleaseRemover } } - $regexSQL = sprintf("INNER JOIN releasefiles rf ON r.id = rf.releaseid + $regexSQL = sprintf("INNER JOIN release_files rf ON r.id = rf.releaseid WHERE rf.name REGEXP %s ", $this->pdo->escapeString($regex['regex']) ); @@ -1002,7 +1002,7 @@ class ReleaseRemover { $this->method = 'WMV_ALL'; $this->query = "SELECT DISTINCT r.guid, r.searchname - FROM releasefiles AS rf + FROM release_files AS rf INNER JOIN releases r ON (rf.releaseid = r.id) WHERE rf.name REGEXP 'x264.*\.wmv$'" ; @@ -1063,7 +1063,7 @@ class ReleaseRemover $codeclike = sprintf(" SELECT r.guid, r.searchname, r.id FROM releases r %s - STRAIGHT_JOIN releasefiles rf ON r.id = rf.releaseid + STRAIGHT_JOIN release_files rf ON r.id = rf.releaseid WHERE %s %s AND (rf.name %s OR rf.name %s OR rf.name %s OR rf.name %s OR @@ -1086,7 +1086,7 @@ class ReleaseRemover $this->query = sprintf( "SELECT r.guid, r.searchname, r.id FROM releases r %s - STRAIGHT_JOIN releasefiles rf ON r.id = rf.releaseid + STRAIGHT_JOIN release_files rf ON r.id = rf.releaseid WHERE %s %s AND (%s OR %s) %s UNION %s", diff --git a/newznab/Releases.php b/newznab/Releases.php index 27abc9017..da188865b 100755 --- a/newznab/Releases.php +++ b/newznab/Releases.php @@ -609,7 +609,7 @@ class Releases LEFT OUTER JOIN releasenfo rn ON rn.releaseid = r.id LEFT OUTER JOIN release_comments rc ON rc.releaseid = r.id LEFT OUTER JOIN userdownloads uc ON uc.releaseid = r.id - LEFT OUTER JOIN releasefiles rf ON rf.releaseid = r.id + LEFT OUTER JOIN release_files rf ON rf.releaseid = r.id LEFT OUTER JOIN releaseaudio ra ON ra.releaseid = r.id LEFT OUTER JOIN releasesubs rs ON rs.releaseid = r.id LEFT OUTER JOIN releasevideo rv ON rv.releaseid = r.id diff --git a/newznab/Sphinx.php b/newznab/Sphinx.php index c40ff4086..ed2247074 100644 --- a/newznab/Sphinx.php +++ b/newznab/Sphinx.php @@ -36,7 +36,7 @@ class Sphinx { $this->pdo = new Settings(); $this->nzb = new NZB; - $this->indexes = array("releases", "releasefiles", + $this->indexes = array("releases", "release_files", "releasenfo", "nzbs", "predb"); } @@ -407,7 +407,7 @@ class Sphinx return true; // Always enabled, as long as Sphinx is case "releasenfo": return (bool)$this->pdo->getSetting('sphinxindexnfos'); - case "releasefiles": + case "release_files": return (bool)$this->pdo->getSetting('sphinxindexreleasefiles'); case "nzbs": return (bool)$this->pdo->getSetting('sphinxindexnzbs'); diff --git a/newznab/SphinxSearch.php b/newznab/SphinxSearch.php index 12b115b52..08ef49e63 100644 --- a/newznab/SphinxSearch.php +++ b/newznab/SphinxSearch.php @@ -109,7 +109,7 @@ class SphinxSearch sprintf(' SELECT r.id, r.name, r.searchname, r.fromname, IFNULL(GROUP_CONCAT(rf.name SEPARATOR " "),"") filename FROM releases r - LEFT JOIN releasefiles rf ON (r.id=rf.releaseid) + LEFT JOIN release_files rf ON (r.id=rf.releaseid) WHERE r.id = %d GROUP BY r.id LIMIT 1', $releaseID diff --git a/newznab/build/nntmux.xml b/newznab/build/nntmux.xml index 1c1c6437a..0ee322aad 100755 --- a/newznab/build/nntmux.xml +++ b/newznab/build/nntmux.xml @@ -2,8 +2,8 @@ - 222 - 222 + 223 + 223 0.4.2 @@ -12,6 +12,6 @@ 9 - 4396 + 4397 diff --git a/newznab/libraries/Forking.php b/newznab/libraries/Forking.php index 938f33238..f103b7381 100644 --- a/newznab/libraries/Forking.php +++ b/newznab/libraries/Forking.php @@ -505,7 +505,7 @@ class Forking extends \fork_daemon } switch($this->workTypeOptions[0]) { case "md5": - $join = "LEFT OUTER JOIN releasefiles rf ON r.id = rf.releaseid AND rf.ishashed = 1"; + $join = "LEFT OUTER JOIN release_files rf ON r.id = rf.releaseid AND rf.ishashed = 1"; $where = "r.ishashed = 1 AND r.dehashstatus BETWEEN -6 AND 0"; break; @@ -514,7 +514,7 @@ class Forking extends \fork_daemon break; case "filename": - $join = "INNER JOIN releasefiles rf ON r.id = rf.releaseid"; + $join = "INNER JOIN release_files rf ON r.id = rf.releaseid"; $where = "r.proc_files = 0"; break; diff --git a/newznab/processing/PostProcess.php b/newznab/processing/PostProcess.php index ec91875fe..95b714a0e 100755 --- a/newznab/processing/PostProcess.php +++ b/newznab/processing/PostProcess.php @@ -404,8 +404,8 @@ class PostProcess if ($filesAdded < 11 && $this->pdo->queryOneRow( sprintf(' - SELECT id - FROM releasefiles + SELECT releaseid + FROM release_files WHERE releaseid = %d AND name = %s', $relID, diff --git a/newznab/processing/post/ProcessAdditional.php b/newznab/processing/post/ProcessAdditional.php index 847fb18e0..fdda7f1c6 100644 --- a/newznab/processing/post/ProcessAdditional.php +++ b/newznab/processing/post/ProcessAdditional.php @@ -1120,7 +1120,7 @@ class ProcessAdditional $this->pdo->queryOneRow( sprintf( ' - SELECT id FROM releasefiles + SELECT releaseid FROM release_files WHERE releaseid = %d AND name = %s AND size = %d', @@ -1541,9 +1541,9 @@ class ProcessAdditional $releaseFiles = $this->pdo->queryOneRow( sprintf( ' - SELECT COUNT(releasefiles.releaseid) AS count, - SUM(releasefiles.size) AS size - FROM releasefiles + SELECT COUNT(release_files.releaseid) AS count, + SUM(release_files.size) AS size + FROM release_files WHERE releaseid = %d', $this->_release['id'] ) @@ -2192,7 +2192,7 @@ class ProcessAdditional if ($filesAdded < 11 && $this->pdo->queryOneRow( sprintf( - 'SELECT id FROM releasefiles WHERE releaseid = %d AND name = %s', + 'SELECT releaseid FROM release_files WHERE releaseid = %d AND name = %s', $this->_release['id'], $this->pdo->escapeString($file['name']) ) ) === false diff --git a/resources/db/patches/mysql/+1~release_files.sql b/resources/db/patches/mysql/+1~release_files.sql new file mode 100644 index 000000000..58dc3bc50 --- /dev/null +++ b/resources/db/patches/mysql/+1~release_files.sql @@ -0,0 +1,31 @@ +# Create the temp table +DROP TABLE IF EXISTS release_files_new; +CREATE TABLE release_files_new ( + releaseid int(11) unsigned NOT NULL, + name varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', + size bigint(20) unsigned NOT NULL DEFAULT '0', + ishashed tinyint(1) NOT NULL DEFAULT '0', + createddate datetime DEFAULT NULL, + passworded tinyint(1) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (releaseid, name), + KEY ix_releasefiles_ishashed (ishashed) +) + ENGINE = MYISAM + DEFAULT CHARSET = utf8 + COLLATE = utf8_unicode_ci; + +# Copy the data from the old table into the new and remove duplicates +INSERT IGNORE INTO release_files_new (releaseid, name, size, ishashed, createddate, passworded) + (SELECT releaseid, name, size, ishashed, createddate, passworded FROM releasefiles); + +# Rename the old table +ALTER TABLE releasefiles RENAME release_files_old; + +# Rename the new table +ALTER TABLE release_files_new RENAME release_files; + +# Drop the old table +DROP TABLE release_files_old; + +# Analyze Table to refresh the indexes +ANALYZE TABLE release_files; diff --git a/resources/db/patches/mysql/0223~release_files.sql b/resources/db/patches/mysql/0223~release_files.sql new file mode 100644 index 000000000..58dc3bc50 --- /dev/null +++ b/resources/db/patches/mysql/0223~release_files.sql @@ -0,0 +1,31 @@ +# Create the temp table +DROP TABLE IF EXISTS release_files_new; +CREATE TABLE release_files_new ( + releaseid int(11) unsigned NOT NULL, + name varchar(255) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', + size bigint(20) unsigned NOT NULL DEFAULT '0', + ishashed tinyint(1) NOT NULL DEFAULT '0', + createddate datetime DEFAULT NULL, + passworded tinyint(1) unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (releaseid, name), + KEY ix_releasefiles_ishashed (ishashed) +) + ENGINE = MYISAM + DEFAULT CHARSET = utf8 + COLLATE = utf8_unicode_ci; + +# Copy the data from the old table into the new and remove duplicates +INSERT IGNORE INTO release_files_new (releaseid, name, size, ishashed, createddate, passworded) + (SELECT releaseid, name, size, ishashed, createddate, passworded FROM releasefiles); + +# Rename the old table +ALTER TABLE releasefiles RENAME release_files_old; + +# Rename the new table +ALTER TABLE release_files_new RENAME release_files; + +# Drop the old table +DROP TABLE release_files_old; + +# Analyze Table to refresh the indexes +ANALYZE TABLE release_files; diff --git a/www/themes_shared/templates/admin/tmux-edit.tpl b/www/themes_shared/templates/admin/tmux-edit.tpl index 967ca964a..fe6c2e906 100644 --- a/www/themes_shared/templates/admin/tmux-edit.tpl +++ b/www/themes_shared/templates/admin/tmux-edit.tpl @@ -533,7 +533,7 @@ Included in the same pane is Update Predb. This scrapes several predb sites and then tries to match against releases.
This should be run along with fixReleasenames.php, this is faster, but only looks at releases.names. - fixReleasenames.php goes further and looks at releasefiles.name. + fixReleasenames.php goes further and looks at release_files.name.