aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2014-08-07 16:49:37 +0200
committerJoas Schilling <nickvergessen@gmx.de>2014-08-07 16:49:37 +0200
commit9b36b5283cc29f59428206726f666554b0e0a358 (patch)
tree7e253d5bf14e8cfbc16b58733e2d55c8c6f0f224 /phpBB
parentab8a197e92c491ac37f8ffe2fff1f7c6c42167b6 (diff)
parent2b3e15cf64fdc3f3f1fd4067321c92d4a20c1dd9 (diff)
downloadforums-9b36b5283cc29f59428206726f666554b0e0a358.tar
forums-9b36b5283cc29f59428206726f666554b0e0a358.tar.gz
forums-9b36b5283cc29f59428206726f666554b0e0a358.tar.bz2
forums-9b36b5283cc29f59428206726f666554b0e0a358.tar.xz
forums-9b36b5283cc29f59428206726f666554b0e0a358.zip
Merge pull request #2761 from Nicofuma/ticket/12873
[ticket/12873] Test the correct identifier in \phpbb\db\tools * Nicofuma/ticket/12873: [ticket/12873] Add migration to rename the index [ticket/12873] Don not touch the existing migrations [ticket/12873] Test the good identifier in \phpbb\db\tools
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/install/schemas/schema.json16
-rw-r--r--phpBB/phpbb/db/migration/data/v310/rename_too_long_indexes.php38
-rw-r--r--phpBB/phpbb/db/tools.php2
3 files changed, 47 insertions, 9 deletions
diff --git a/phpBB/install/schemas/schema.json b/phpBB/install/schemas/schema.json
index a3ffd923a1..1a9b9b62b7 100644
--- a/phpBB/install/schemas/schema.json
+++ b/phpBB/install/schemas/schema.json
@@ -2397,14 +2397,6 @@
]
},
"KEYS": {
- "unq_mtch": [
- "UNIQUE",
- [
- "word_id",
- "post_id",
- "title_match"
- ]
- ],
"word_id": [
"INDEX",
"word_id"
@@ -2412,6 +2404,14 @@
"post_id": [
"INDEX",
"post_id"
+ ],
+ "un_mtch": [
+ "UNIQUE",
+ [
+ "word_id",
+ "post_id",
+ "title_match"
+ ]
]
}
},
diff --git a/phpBB/phpbb/db/migration/data/v310/rename_too_long_indexes.php b/phpBB/phpbb/db/migration/data/v310/rename_too_long_indexes.php
new file mode 100644
index 0000000000..8d2a15d8ea
--- /dev/null
+++ b/phpBB/phpbb/db/migration/data/v310/rename_too_long_indexes.php
@@ -0,0 +1,38 @@
+<?php
+/**
+*
+* This file is part of the phpBB Forum Software package.
+*
+* @copyright (c) phpBB Limited <https://www.phpbb.com>
+* @license GNU General Public License, version 2 (GPL-2.0)
+*
+* For full copyright and license information, please see
+* the docs/CREDITS.txt file.
+*
+*/
+
+namespace phpbb\db\migration\data\v310;
+
+class rename_too_long_indexes extends \phpbb\db\migration\migration
+{
+ static public function depends_on()
+ {
+ return array('\phpbb\db\migration\data\v30x\release_3_0_0');
+ }
+
+ public function update_schema()
+ {
+ return array(
+ 'drop_keys' => array(
+ $this->table_prefix . 'search_wordmatch' => array(
+ 'unq_mtch',
+ ),
+ ),
+ 'add_unique_index' => array(
+ $this->table_prefix . 'search_wordmatch' => array(
+ 'un_mtch' => array('word_id', 'post_id', 'title_match'),
+ ),
+ ),
+ );
+ }
+}
diff --git a/phpBB/phpbb/db/tools.php b/phpBB/phpbb/db/tools.php
index ae0c695aa2..5d93eb8246 100644
--- a/phpBB/phpbb/db/tools.php
+++ b/phpBB/phpbb/db/tools.php
@@ -2104,7 +2104,7 @@ class tools
$statements = array();
$table_prefix = substr(CONFIG_TABLE, 0, -6); // strlen(config)
- if (strlen($table_name . $index_name) - strlen($table_prefix) > 24)
+ if (strlen($table_name . '_' . $index_name) - strlen($table_prefix) > 24)
{
$max_length = strlen($table_prefix) + 24;
trigger_error("Index name '{$table_name}_$index_name' on table '$table_name' is too long. The maximum is $max_length characters.", E_USER_ERROR);