aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes
diff options
context:
space:
mode:
authorIgor Wiedler <igor@wiedler.ch>2010-09-09 00:23:33 +0200
committerIgor Wiedler <igor@wiedler.ch>2010-09-09 00:23:33 +0200
commit2baa8c61d119707246f87372bb9e8036fcfc99fb (patch)
treecacdb325fbf48e4d2d6875d2642a274f5f2bfb0a /phpBB/includes
parentea4d204cf68b3cee2bfb0633085e4ebdadeb3a80 (diff)
parent2e891c5eba78d68796dc6854d5805af2e3978641 (diff)
downloadforums-2baa8c61d119707246f87372bb9e8036fcfc99fb.tar
forums-2baa8c61d119707246f87372bb9e8036fcfc99fb.tar.gz
forums-2baa8c61d119707246f87372bb9e8036fcfc99fb.tar.bz2
forums-2baa8c61d119707246f87372bb9e8036fcfc99fb.tar.xz
forums-2baa8c61d119707246f87372bb9e8036fcfc99fb.zip
Merge branch 'develop-olympus' into develop
* develop-olympus: [task/git-tools] Change the GNU --lines argument to the POSIX -l [task/git-tools] Solve dependency on the GNU wc --max-line-length option [ticket/8944] Patch db_tools to support index length for MySQL4 [ticket/9039] Make mssqlnative.php non-executable [ticket/8944] Add index length to CREATE INDEX for MySQL4 in database_update [ticket/9800] Update tracker URL in docs/README.html
Diffstat (limited to 'phpBB/includes')
-rw-r--r--phpBB/includes/db/db_tools.php18
-rw-r--r--[-rwxr-xr-x]phpBB/includes/db/mssqlnative.php0
2 files changed, 17 insertions, 1 deletions
diff --git a/phpBB/includes/db/db_tools.php b/phpBB/includes/db/db_tools.php
index 819ef69c96..f4b181c6ad 100644
--- a/phpBB/includes/db/db_tools.php
+++ b/phpBB/includes/db/db_tools.php
@@ -611,7 +611,7 @@ class phpbb_db_tools
* drop_columns: Removing/Dropping columns
* add_primary_keys: adding primary keys
* add_unique_index: adding an unique index
- * add_index: adding an index
+ * add_index: adding an index (can be column:index_size if you need to provide size)
*
* The values are in this format:
* {TABLE NAME} => array(
@@ -1804,6 +1804,12 @@ class phpbb_db_tools
{
$statements = array();
+ // remove index length unless MySQL4
+ if ('mysql_40' != $this->sql_layer)
+ {
+ $column = preg_replace('#:.*$#', '', $column);
+ }
+
switch ($this->sql_layer)
{
case 'firebird':
@@ -1814,6 +1820,16 @@ class phpbb_db_tools
break;
case 'mysql_40':
+ // add index size to definition as required by MySQL4
+ foreach ($column as $i => $col)
+ {
+ if (false !== strpos($col, ':'))
+ {
+ list($col, $index_size) = explode(':', $col);
+ $column[$i] = "$col($index_size)";
+ }
+ }
+ // no break
case 'mysql_41':
$statements[] = 'CREATE INDEX ' . $index_name . ' ON ' . $table_name . '(' . implode(', ', $column) . ')';
break;
diff --git a/phpBB/includes/db/mssqlnative.php b/phpBB/includes/db/mssqlnative.php
index 44d5722e4f..44d5722e4f 100755..100644
--- a/phpBB/includes/db/mssqlnative.php
+++ b/phpBB/includes/db/mssqlnative.php