On 09/05/2011 03:19 PM, Ulf Wendel wrote:
No mysqlnd-libmysql BC break here.
Metadata and libmysql - there's hardly a better example why mysqlnd
should be set as a default. With libmysql as a default, PHP 5.4 will
have a "randomly" crashing default configuration.
https://bugs.php.net/bug.php?id=55001
http://bugs.mysql.com/bug.php?id=62350
(Note how the issue is there, then gone and then back again depending on
version...)
Am 02.09.2011 19:19, schrieb Stas Malyshev:
EXPLAIN - metadata [ext/mysqli/tests/mysqli_explain_metadata.phpt]
The reason is that plain SQL and prepared SQL return different data -
catalog field sometimes is "def", sometimes NULL in MYSQL_FIELD
structure returned by mysql_fetch_field_direct(). It may be mysql bug in
which case test should be SKIPed for versions that have this bug.
And, yet again metadata...
PASS EXPLAIN - metadata [ext/mysqli/tests/mysqli_explain_metadata.phpt]
libmysql 5.1.49 @ MySQL 5.1.49
libmysql 5.5.15 @ MySQL 5.1.49
libmysql 5.6.2-m5 @ MySQL 5.1.49
mysqlnd @ MySQL 5.1.49
mysqlnd @ MySQL 5.1.37
FAIL
libmysql 5.1.37 @ MySQL 5.1.37
... always use the latest and greatest. Libmysql bug, exact version
range is not known to me. Feel free to change the test to be skipped
during SKIPIF, for example, like this:
require(connect.inc)
if (!IS_MYSQLND && libmysql_version > ... && libmysql_version < ...)
die(skip libmysql bug)
At the first look, I can't find a related bug report at bugs.php.net.
Looks like few people compare PS and non-PS metadata for EXPLAIN in
their application.
this is exactly what I mean. If there was a bug in a previous version
and you try to use it, what do you want to see? SKIP or FAIL? I vote
with 2 hands for FAIL, because so I can easily spot problems when
migrating to a new version of PHP on my platform. If the test is made to
PASS, it should not be skipped unless it is not possible to run it -
like if it tests mysqli functions which are not available in libmysql's
build. But otherwise let it go, and if it FAILs, this is outside of our
problem. WE _should_ not try to hide problems of third party software.
Our tests don't test only PHP, they test the whole platform they run on
to convince the end user that he can rely on the results of PHP on this
configuration.
Ulf
Andrey
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php