1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

[ticket/10327] Change CREATE INDEX to ALTER TABLE table ADD INDEX for MySQL.

* CREATE INDEX is internally mapped to an ALTER INDEX statement.
* CREATE INDEX requires the INDEX permission.
* ALTER TABLE requires the (more powerful) ALTER permission.
* We require the ALTER permission anyway for operation.
* Changing CREATE INDEX to ALTER TABLE thus removes dependency on the INDEX
  permission which is good because some management software does not give
  out the INDEX permission by default.

http://dev.mysql.com/doc/refman/5.0/en/create-index.html

PHPBB3-10327
This commit is contained in:
Andreas Fischer
2011-10-14 04:29:53 +02:00
parent 4e69fe6859
commit d86fccf9c9
2 changed files with 19 additions and 1 deletions

View File

@@ -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));
}
}