PHP 7 changes how most errors are reported by PHP. Instead of reporting errors
through the traditional error reporting mechanism used by PHP 5, most errors
are now reported by throwing Error exceptions.
Use it to display meaningful SQL error messages instead of PHP fatal errors
for SQL errors.
PHPBB3-17232
Fixes [DBAL function sql_nextid - name is
misleading](https://tracker.phpbb.com/browse/PHPBB3-8071).
Per the tracker issue:
> This function gets the ID of the last inserted row, not the ID of the next row
to be inserted (which is difficult due to different autoincrement steps and also
lends itself nicely to race conditions).
@iwisdom replied that the naming is consistent with how PHP itself names this
functionality, but the link they posted doesn't support that (I guess this is
referring to a much older version of PHP? The comment is from 2009).
PHPBB3-8071
This will cause the sqlite3 driver to automatically rollback transactions
if an insert fails during a transaction. Other dbms trigger a rollback
inside the sql_error() function with a rollback command. However,
this manual rollback command might fail on sqlite3 due to ongoing queries.
With this change, sqlite3 itself will abort any ongoing queries and
initiate the rollback automatically. Since manually triggered rollbacks
will fail after the rollback was started automatically, we catch
exceptions output by the exec() command during rollback and any exception
that might be thrown by fetchArray() due to aborted queries.
PHPBB3-14044
* develop-ascraeus:
[ticket/12671] Possibility to use NOT LIKE expression
[ticket/12671] Possibility to use NOT LIKE expression
[ticket/12671] Possibility to use NOT LIKE expression
[ticket/12671] Possibility to use NOT LIKE expression
[ticket/12671] Possibility to use NOT LIKE expression
[ticket/12387] Cleanup *_free_result call and remove @ on that call
* Nicofuma/ticket/12387:
[ticket/12387] Fix a call to sql_freeresult in full_text_native
[ticket/12387] Fix \phpbb\db\driver\mysqli::sql_freeresult
[ticket/12387] Use the hash as query_id for caching
[ticket/12387] Remove unnecessary checks
[ticket/12387] mssql_query return true if a select query returns 0 row
[ticket/12387] Cleanup *_free_result call and remove @ on that call
PR #2570 has added new constant to display load time information without
debug mode is being on (https://tracker.phpbb.com/browse/PHPBB3-12687).
This patch expands the total load time info with SQL/PHP load times,
while hiding the additional info with <abbr> element.
PHPBB3-12704