diff options
author | Marc Alexander <admin@m-a-styles.de> | 2017-12-31 14:00:36 +0100 |
---|---|---|
committer | Marc Alexander <admin@m-a-styles.de> | 2018-01-01 18:57:50 +0100 |
commit | ee8b72d733a3e096f35ec65a7eaf3c63a237cb4b (patch) | |
tree | 92bea6ae93a3f3d9c90523256c80b07c496a903e /phpBB/phpbb/db/tools/tools.php | |
parent | d99ef034463ec94739026ca5154e597db77df8a9 (diff) | |
download | forums-ee8b72d733a3e096f35ec65a7eaf3c63a237cb4b.tar forums-ee8b72d733a3e096f35ec65a7eaf3c63a237cb4b.tar.gz forums-ee8b72d733a3e096f35ec65a7eaf3c63a237cb4b.tar.bz2 forums-ee8b72d733a3e096f35ec65a7eaf3c63a237cb4b.tar.xz forums-ee8b72d733a3e096f35ec65a7eaf3c63a237cb4b.zip |
[ticket/15055] Properly support index length check on mssql
PHPBB3-15055
Diffstat (limited to 'phpBB/phpbb/db/tools/tools.php')
-rw-r--r-- | phpBB/phpbb/db/tools/tools.php | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/phpBB/phpbb/db/tools/tools.php b/phpBB/phpbb/db/tools/tools.php index 2f891e43d5..d21d34b8a9 100644 --- a/phpBB/phpbb/db/tools/tools.php +++ b/phpBB/phpbb/db/tools/tools.php @@ -1561,7 +1561,8 @@ class tools implements tools_interface */ protected function check_index_name_length($table_name, $index_name, $throw_error = true) { - if (strlen($index_name) > 30) + $max_index_name_length = $this->get_max_index_name_length(); + if (strlen($index_name) > $max_index_name_length) { // Try removing the table prefix if it's at the beginning $table_prefix = substr(CONFIG_TABLE, 0, -6); // strlen(config) @@ -1582,7 +1583,7 @@ class tools implements tools_interface if ($throw_error) { - trigger_error("Index name '$index_name' on table '$table_name' is too long. The maximum is 30 characters.", E_USER_ERROR); + trigger_error("Index name '$index_name' on table '$table_name' is too long. The maximum is $max_index_name_length characters.", E_USER_ERROR); } } @@ -1590,6 +1591,16 @@ class tools implements tools_interface } /** + * Get maximum index name length. Might vary depending on db type + * + * @return int Maximum index name length + */ + protected function get_max_index_name_length() + { + return 30; + } + + /** * {@inheritDoc} */ function sql_list_index($table_name) |