diff options
| -rw-r--r-- | phpBB/includes/db/db_tools.php | 2 | ||||
| -rw-r--r-- | tests/dbal/db_tools_test.php | 18 | 
2 files changed, 19 insertions, 1 deletions
diff --git a/phpBB/includes/db/db_tools.php b/phpBB/includes/db/db_tools.php index 10ca6c0a1f..0d8cf7fdab 100644 --- a/phpBB/includes/db/db_tools.php +++ b/phpBB/includes/db/db_tools.php @@ -2145,7 +2145,7 @@ class phpbb_db_tools  				}  			// no break  			case 'mysql_41': -				$statements[] = 'CREATE INDEX ' . $index_name . ' ON ' . $table_name . '(' . implode(', ', $column) . ')'; +				$statements[] = 'ALTER TABLE ' . $table_name . ' ADD INDEX ' . $index_name . '(' . implode(', ', $column) . ')';  			break;  			case 'mssql': diff --git a/tests/dbal/db_tools_test.php b/tests/dbal/db_tools_test.php index 753cc08fc5..927bce4597 100644 --- a/tests/dbal/db_tools_test.php +++ b/tests/dbal/db_tools_test.php @@ -333,4 +333,22 @@ class phpbb_dbal_db_tools_test extends phpbb_database_test_case  			),  		));  	} + +	public function test_index_exists() +	{ +		$db_tools = new phpbb_db_tools($this->db); + +		$this->assertTrue($db_tools->sql_index_exists('prefix_table_name', 'i_simple')); +	} + +	public function test_create_index_against_index_exists() +	{ +		$db_tools = new phpbb_db_tools($this->db); + +		$table_name = 'prefix_table_name'; +		$index_name = 'fookey'; + +		$db_tools->sql_create_index($table_name, $index_name, array('c_timestamp', 'c_decimal')); +		$this->assertTrue($db_tools->sql_index_exists($table_name, $index_name)); +	}  }  | 
