* p/ticket/10205:
[ticket/10205] Reduce nesting in mysql drivers.
[ticket/10205] Rewrite _sql_error implementations to have a single return.
[ticket/10205] Cosmetic changes.
[ticket/10205] Add some columns to the empty fixture file for mssqlnative.
[ticket/10205] Delete stray return.
[ticket/10205] Test failed connection attempts.
[ticket/10205] Check for function existence in mssql connect method.
[ticket/10205] Convert mssqlnative driver to the same logic.
[ticket/10205] Fix a parse error in oracle driver.
[ticket/10205] Fix remaining db drivers.
[ticket/10205] Avoid calling mysqli functions when mysqli is missing.
[ticket/10205] Account for potentially missing extensions in dbal.
Fix phpbb_dbal_select_test::test_sql_fetchrow_returns_false_when_empty() on
MSSQL and Oracle by specifying an existing table in the query.
PHPBB3-10890
Auto increment test does not need any particular columns
and should not depend, in particular, on correct handling
of binary data.
This commit moves auto increment test into its own file and
gives it its own table with a simple schema.
PHPBB3-10887
* bantu/ticket/10327:
[ticket/10327] Use $this->tools instead of creating a new instance of db_tools.
[ticket/10327] Also change CREATE UNIQUE INDEX to use ALTER TABLE.
* 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
The test creates a table and runs a number of queries on it to judge whether
the selected column types can hold the data they are expected to contain.
Additional test methods check the auto increment feature and a few of the
basic commands of db_tools. This is only a starting point. Plenty more
tests need to be added.
PHPBB3-9892
If a database is unable to nest transactions the dbal should implement
sql_buffer_nested_transactions to signal that buffering of the outer
results and closing of the outer transaction is required to open the
inner transaction.
PHPBB3-9685
Due to the usage of `__DIR__` for the file includes the tests can't
be ran on systems with PHP < 5.3. Replace all occurances of
`__DIR__` with `dirname(__FILE__)`.
PHPBB3-10011