* 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.
* Noxwizard/ticket/11219:
[ticket/11219] Coding guidelines and naming consistency changes
[ticket/11219] Only update sequences that are affected by a fixture
[ticket/11219] Recreate Oracle sequences instead of altering them
[ticket/11219] Add unit test for inserting into a sequence column
[ticket/11219] Update sequence values after loading fixtures
* p/ticket/10841:
[ticket/10841] Revert more whitespace changes.
[ticket/10841] Revert whitespace changes.
[ticket/10841] adding space after if
[ticket/10841] removing unnecessary spacing
[ticket/10841] changing affectedrows check to COUNT in sql
[ticket/10841] Modifying style and language selectors in UCP
We keep the last queue run time around, therefore for determining
whether enough time has passed since the last run we can simply
use this config variable.
When there is no queue file we consider a queue run successful.
Previously queue.php ("cache file") modification time would be used
for determining whether enough time has passed since last queue run.
The problem was that modification time would be updated whenever
anything was added to the queue, creating a situation where if
queue is processed less frequently than it is added to that email
would not be sent.
PHPBB3-10602
* p/ticket/10716:
[ticket/10716] Collect standard error from executed php process.
[ticket/10716] Skip test if php is not in PATH.
[ticket/10716] Exclude our dependencies from linting.
[ticket/10716] Only lint on php 5.3+.
[ticket/10716] php parse all php files as part of the test suite.
Supposedly it choked on the version without any columns thusly:
phpbb_dbal_connect_test::test_failing_connect
PDOException: SQLSTATE[HY090]: [Microsoft][ODBC Driver Manager] Invalid string or buffer length
PHPBB3-10205
php executes everything via a shell. The standard error of this
top level shell is not captured by exec/shell_exec/popen/etc.
and there is no way to capture it. proc_open might work but it
is a nightmare to use and without multiplexing reads from
standard error and standard output it can deadlock.
Thus the solution in this commit. Put the command into a subshell
and redirect standard error to standard output for the subshell.
PHPBB3-10716
The previous method would always leave a gap between the last value and the
new one due to how you have to update the sequence values. To remove gaps in
all situations, the options are to alter the USER_SEQUENCES table or just
drop the sequence and recreate it. The prior requires elevated priveleges
and the latter can break attached objects. Since we don't attach objects to
the sequences, we won't have any problems doing it for the tests.
PHPBB3-11219
If a value is provide for an auto_increment type of column, certain DBMSes
do not update their internal sequencers. If a row is inserted later, it can
be given an ID that is already in use, resulting in an error. The database
test cases now resynchronise the sequencers before the tests are run.
PHPBB3-11219
* bantu/ticket/11192:
[ticket/11192] Merge dataProvider arrays because the test is the same now.
[ticket/11192] Update $value parameter description to support other types.
[ticket/11192] Mark negative byte numbers as unsupported.
[ticket/11192] Test strings not converted to int/float before.
[ticket/11192] Also test strings, e.g. sums returned by the database.
[ticket/11192] Also test powers of 10 / 1000.
[ticket/11192] Add tests.
[ticket/11192] Add Tebibyte to get_formatted_filesize().