aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/db/tools/tools.php
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2017-12-31 14:00:36 +0100
committerMarc Alexander <admin@m-a-styles.de>2018-01-01 18:57:50 +0100
commitee8b72d733a3e096f35ec65a7eaf3c63a237cb4b (patch)
tree92bea6ae93a3f3d9c90523256c80b07c496a903e /phpBB/phpbb/db/tools/tools.php
parentd99ef034463ec94739026ca5154e597db77df8a9 (diff)
downloadforums-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.php15
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)