Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:55222 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 95280 invoked from network); 5 Sep 2011 13:28:24 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 5 Sep 2011 13:28:24 -0000 Authentication-Results: pb1.pair.com smtp.mail=php@hristov.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=php@hristov.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain hristov.com from 91.196.124.214 cause and error) X-PHP-List-Original-Sender: php@hristov.com X-Host-Fingerprint: 91.196.124.214 more.superhosting.bg Linux 2.6 Received: from [91.196.124.214] ([91.196.124.214:35931] helo=more.superhosting.bg) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id CD/F4-64330-37EC46E4 for ; Mon, 05 Sep 2011 09:28:22 -0400 Received: from androto.ddns.playtime.bg ([87.121.162.167] helo=[192.168.2.117]) by more.superhosting.bg with esmtpa (Exim 4.69) (envelope-from ) id 1R0ZDj-0004yK-QX; Mon, 05 Sep 2011 16:28:15 +0300 Message-ID: <4E64CE6D.4070508@hristov.com> Date: Mon, 05 Sep 2011 15:28:13 +0200 User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Thunderbird/3.1.13 ThunderBrowse/3.8 MIME-Version: 1.0 To: Ulf Wendel CC: internals@lists.php.net, Stas Malyshev References: <4E611027.6000103@sugarcrm.com> <4E64CC62.1000209@oracle.com> In-Reply-To: <4E64CC62.1000209@oracle.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - more.superhosting.bg X-AntiAbuse: Original Domain - lists.php.net X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - hristov.com X-Source: X-Source-Args: X-Source-Dir: Subject: Re: [PHP-DEV] mysqli tests breaking From: php@hristov.com (Andrey Hristov) 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