Re: [SPAM?]: Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-07 Thread Andrey Hristov

 Hi,
On 09/07/2011 07:17 AM, Tomas Kuliavas wrote:

2011.09.06 23:20 Ulf Wendel rašė:

Am 06.09.2011 21:33, schrieb Stas Malyshev:

Hi!


Any new PHP major release is about setting new directions. I, Andrey
and
Johannes, the guys maintaining ext/*mysql* recommend going mysqlnd
after
an incubation of some four years (5.3x series + dev time).


My concern was also that making mysqlnd the default would make libmysql
support considered secondary and unimportant. As I was assured it is not
the case and the differences between mysqlnd and libmysql flavors seem
to be rectified or in the process of being rectified, and I heard no
objections for this as a default, I'm OK with it now.


Jippie!

Removing libmysql support would be crazy. Not only from a PHP
perspective but also from a MySQL one. For PHP it is a must-have
fallback option. For MySQL the PHP stuff is a nice libmysql test drive.
Not a welcome job among the mysqlnd fan boys, as you noticed. But then,
sometimes we count mysqlnd vs. libmysql issues...


Bouncing bug reports (https://bugs.php.net/bug.php?id=55001) that are not
reproducible on setup with mysqlnd when user reports about issue with
libmysql is not the way bugs are solved. mysqlnd is not authoritative
source for mysql extension behavior. libmysql is. That bug report shows
semantics differences Stas was talking about and bug status shows the way
you are handling it. If libmysql semantics change between versions,
indicate that in bug report instead refusing to solve the problem with
'mysqlnd works fine'



The specific case you are talking about is a bug in libmysql. Seems like 
a very old one as it has been reproduced with a vast range of versions. 
What Ulf tells you is that you might want to consider mysqlnd, as it had 
exposed less bugs than libmysql did so far and crashes less in some 
weirdo cases, than libmysql does. And we talk about libmysql, not the 
extensions than wrap it.
The interface to libmysql won't die, we will support it but be sure that 
mysqlnd will be better because it is and will be engineered towards the 
needs of PHP and not like libmysql towards the needs of everyone but the 
aliens.
I hope that even the hardcore supporters for mysqlX@libmysql will some 
day realize that waiting for a libmysql fix in a mission critical 
environment will cost them (in time and hence money) a lot more than 
waiting for the proper mysqlnd fix (applying a patch from svn).


Best,
Andrey

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-06 Thread Ulf Wendel

Am 05.09.2011 11:08, schrieb Stas Malyshev:

Hi!

On 9/5/11 1:24 AM, Andrey Hristov wrote:

the problem is that libmysql breaks, maybe more often than mysqlnd does.
We rarely find bugs in mysqli, there are two codepaths in mysqli. If
there is a bug in libmysql, what do you want:


If we're dealing with libmysql bug, then I guess the expected thing
would be to report it upstream, and make the comment in the test with
bug ID. But in the cases I mentioned it does not look like libmysql bug
as everything works just according to Mysql documentation, however the
tests expect it to work differently.


Stas,

what are we going to do now after the discussion has calmed down a bit?

Any new PHP major release is about setting new directions. I, Andrey and 
Johannes, the guys maintaining ext/*mysql* recommend going mysqlnd after 
an incubation of some four years (5.3x series + dev time).


You, in your role as 5.4 RM, raised some concerns about changing the 
default to mysqlnd. Your primary concern is rolling out something that 
breaks PHP.


As an example, you have listed some mysqli test failures. After the 
weekend, I'm a lazy bastard refusing to work during weekends, test 
failures have been commented on:


 - connect_oo_*  - libmysql only, no BC  [1]
 - explain_meta  - libmysql can crash PHP, mysqlnd works [2]
 - stmt_num_rows - differences in undefined behaviour [3]
 - insert_id - as a bug, it would be bogussed, undefined [4]

Your four examples stand up against, for example, Pierre Windows Joye. 
The php.net windows binaries are using mysqlnd as of PHP 5.3. Windows is 
probaly the biggest individual distribution. Pierre, who is no MySQL fan 
boy, reports no BC issues. This is based on multiple years of php.net 
Windows users feedback and his continous integration testing using 
drupal 67, wp, oscommerce, mediawiki, sugarcrm, etc. [5]. At least on 
Windows, users do expect to see mysqlnd meanwhile.


Harald Reindl did the switch from libmysql to mysqlnd on hundret 
domains with no single problem [6]. OpenSuSE did the same.


As a manager, you often have to make a decision without knowing all 
details, without checking everything yourself. You have named and set 
the #1 risk (BC) and heard people's opinion: mysqlnd is not flawless, 
but well worth a try.


You also raised the question how or if a change will impact packagers. 
Tomas Kuliavas gave some great input on this [7]:


 SuSE:
--with-mysql=shared,mysqlnd

 Debian, Mandriva and Fedora:

   --with-mysql=shared,/usr
   --with-mysqli=shared,/usr/bin/mysql_config'

Looks like packages explicitly set config options. Thus, no break 
provoked if changing defaults. There's a bit of a buzz on shared builds, 
Johannes is working on that one - https://bugs.php.net/bug.php?id=55609 .


IMHO all of the relevant concerns have been adressed. No high risks have 
been found. There is nothing in the way that cannot be tackled down as 
one moves forward.


I see no reason for ignoring the vote of the maintainers. I fail to 
understand why PHP @ *nix should not catch up to Windows.


Ulf


[1] http://news.php.net/php.internals/55226
[2] http://news.php.net/php.internals/55221
[3] http://news.php.net/php.internals/55210
[4] http://news.php.net/php.internals/55228
[5] http://news.php.net/php.internals/55177
[6] http://news.php.net/php.internals/55174
[7] http://news.php.net/php.internals/55142

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-06 Thread Stas Malyshev

Hi!


Any new PHP major release is about setting new directions. I, Andrey and
Johannes, the guys maintaining ext/*mysql* recommend going mysqlnd after
an incubation of some four years (5.3x series + dev time).


My concern was also that making mysqlnd the default would make libmysql 
support considered secondary and unimportant. As I was assured it is not 
the case and the differences between mysqlnd and libmysql flavors seem 
to be rectified or in the process of being rectified, and I heard no 
objections for this as a default, I'm OK with it now.


--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [SPAM?]: Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-06 Thread Ulf Wendel

Am 06.09.2011 21:33, schrieb Stas Malyshev:

Hi!


Any new PHP major release is about setting new directions. I, Andrey and
Johannes, the guys maintaining ext/*mysql* recommend going mysqlnd after
an incubation of some four years (5.3x series + dev time).


My concern was also that making mysqlnd the default would make libmysql
support considered secondary and unimportant. As I was assured it is not
the case and the differences between mysqlnd and libmysql flavors seem
to be rectified or in the process of being rectified, and I heard no
objections for this as a default, I'm OK with it now.


Jippie!

Removing libmysql support would be crazy. Not only from a PHP 
perspective but also from a MySQL one. For PHP it is a must-have 
fallback option. For MySQL the PHP stuff is a nice libmysql test drive. 
Not a welcome job among the mysqlnd fan boys, as you noticed. But then, 
sometimes we count mysqlnd vs. libmysql issues...


Ulf

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [SPAM?]: Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-06 Thread Tomas Kuliavas
2011.09.06 23:20 Ulf Wendel rašė:
 Am 06.09.2011 21:33, schrieb Stas Malyshev:
 Hi!

 Any new PHP major release is about setting new directions. I, Andrey
 and
 Johannes, the guys maintaining ext/*mysql* recommend going mysqlnd
 after
 an incubation of some four years (5.3x series + dev time).

 My concern was also that making mysqlnd the default would make libmysql
 support considered secondary and unimportant. As I was assured it is not
 the case and the differences between mysqlnd and libmysql flavors seem
 to be rectified or in the process of being rectified, and I heard no
 objections for this as a default, I'm OK with it now.

 Jippie!

 Removing libmysql support would be crazy. Not only from a PHP
 perspective but also from a MySQL one. For PHP it is a must-have
 fallback option. For MySQL the PHP stuff is a nice libmysql test drive.
 Not a welcome job among the mysqlnd fan boys, as you noticed. But then,
 sometimes we count mysqlnd vs. libmysql issues...

Bouncing bug reports (https://bugs.php.net/bug.php?id=55001) that are not
reproducible on setup with mysqlnd when user reports about issue with
libmysql is not the way bugs are solved. mysqlnd is not authoritative
source for mysql extension behavior. libmysql is. That bug report shows
semantics differences Stas was talking about and bug status shows the way
you are handling it. If libmysql semantics change between versions,
indicate that in bug report instead refusing to solve the problem with
'mysqlnd works fine'

-- 
Tomas



-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-05 Thread Andrey Hristov

 Hi Stas,
On 09/02/2011 10:44 PM, Stas Malyshev wrote:

Hi!

On 9/2/11 1:41 PM, Ferenc Kovacs wrote:

I think you missed the referenced [1]:

[1] Yes, we will still allow building with libmysql and we will fix bugs
reported there and we will verify it works but focus on mysqlnd, as
we're actually handling it already


I did not miss it - I do not see what it means. Either we support both -
and then for the matter of development and testing nothing changes - or
something changes, namely we remove one moving piece out of the test
equation, the moving piece being libmysql - and remove means
remove. I just don't see how you can have both of these things at the
same time.


the problem is that libmysql breaks, maybe more often than mysqlnd does. 
We rarely find bugs in mysqli, there are two codepaths in mysqli. If 
there is a bug in libmysql, what do you want:
- SKIP, because either libmysql or the server is buggy, but many tests 
do skip and does anyone read the skip messages? But your environment is 
buggy, which means that your application will possibly FAIL. Instead of 
finding, that your environment is _broken_ you will skip this 
information. Good luck finding later that you hit a bug, which other 
knew about but you did not get that info, because of SKIP
- FAIL, and one does look at the failures. You might then notice that 
your libmysql and/or server is buggy. You might do something, check for 
existing bug, see if it is fixed and possible update or at least you can 
try to assess what the impact on you it will have.


Best,
Andrey

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-05 Thread Stas Malyshev

Hi!

On 9/5/11 1:24 AM, Andrey Hristov wrote:

the problem is that libmysql breaks, maybe more often than mysqlnd does.
We rarely find bugs in mysqli, there are two codepaths in mysqli. If
there is a bug in libmysql, what do you want:


If we're dealing with libmysql bug, then I guess the expected thing 
would be to report it upstream, and make the comment in the test with 
bug ID. But in the cases I mentioned it does not look like libmysql bug 
as everything works just according to Mysql documentation, however the 
tests expect it to work differently.

--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-05 Thread Reindl Harald


Am 05.09.2011 11:08, schrieb Stas Malyshev:
 Hi!
 
 On 9/5/11 1:24 AM, Andrey Hristov wrote:
 the problem is that libmysql breaks, maybe more often than mysqlnd does.
 We rarely find bugs in mysqli, there are two codepaths in mysqli. If
 there is a bug in libmysql, what do you want:
 
 If we're dealing with libmysql bug, then I guess the expected thing would be 
 to report it upstream, and make the
 comment in the test with bug ID. But in the cases I mentioned it does not 
 look like libmysql bug as everything
 works just according to Mysql documentation, however the tests expect it to 
 work differently

the point is not a single test NOW
the point is FUTURE and PHP 5.4

we are speaking not about a current libmysql bug, we are speaking about
bugs in the past and possible bugs in the future and the difference is
that using mysqlnd is removing the unknown variable libmysql version




signature.asc
Description: OpenPGP digital signature


Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-04 Thread Reindl Harald


Am 04.09.2011 06:37, schrieb Stas Malyshev:
 Hi!
 
 On 9/2/11 6:51 PM, Rasmus Lerdorf wrote:
 Forget the failed tests. A new PHP release is about improving the
 ecosystem. If the folks that maintain libmysql and mysqlnd suggest that
 mysqlnd is more robust and it is the path forward, why would we resist
 this? Do we not trust Oracle/MySQL enough to listen to their input?
 
 Because of the little thing called BC?

what the hell are you speaking about?

again:
running some hundret domains and made the switch to PHP 5.3 AND mysqlnd
at once, no single problem - there are no differences in the real world

and yes we are running ALL servers with error_reporting E_ALL | E_STRICT

 Right now I have at least two tests suggesting mysqlnd has different
 semantics than libmysql, 

so why are these not reported upstream 1 year ago and fixed?

 and not in some obscure corners either but in functions most people use every 
 day in every
 piece of code. This is worrying

 2. last_insert_id semantics change. The test expects select queries to 
 reset last insert
 it to 0, which does not happen with libmysql. Maybe it happens on later 
 versions of mysql
 server, I do not know

mhh in the real world some function makes the insert and giving back the ID
this maybe only relevant in spaghetti code and even there you fetch the
insertid after the insert and not 2000 lines later



signature.asc
Description: OpenPGP digital signature


Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-04 Thread Stas Malyshev

Hi!

On 9/4/11 2:13 AM, Reindl Harald wrote:

again:
running some hundret domains and made the switch to PHP 5.3 AND mysqlnd
at once, no single problem - there are no differences in the real world


That's assuming real world is exclusively your experience. In the 
meantime, outside of this real world I just sent to the list two 
examples where mysqlnd semantics as assumed by tests appears to be 
different from libmysql.



so why are these not reported upstream 1 year ago and fixed?


I don't know why. Why indeed? Why we have tests that fail and nobody 
fixed them 1 year ago or asked why they fail? I have no good answer to 
that, sorry. Do you?
But while this may be very curious, the real question is - how we fix it 
*now*?



mhh in the real world some function makes the insert and giving back the ID
this maybe only relevant in spaghetti code and even there you fetch the
insertid after the insert and not 2000 lines later


By real world you again must be meaning exclusively your code. Let me 
be the first to congratulate you that your code won't be affected. 
However the point of BC is not to be compatible exclusively with your 
code, other code matters too. Including the code you may not like.

--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-04 Thread Pierre Joye
Stas,

What are you actually afraid of?

Libmysql will still be supported. Mysqlnd, despite your examples, work out
of a bix with all major apps and frameworks out there. We do test it using
drupal 67, wp, oscommerce, mediawiki, sugarcrm, etc since 5.3.0. We have
zero compatibility.

In short, I do not understand your opposition.
On Sep 4, 2011 11:33 AM, Stas Malyshev smalys...@sugarcrm.com wrote:
 Hi!

 On 9/4/11 2:13 AM, Reindl Harald wrote:
 again:
 running some hundret domains and made the switch to PHP 5.3 AND mysqlnd
 at once, no single problem - there are no differences in the real world

 That's assuming real world is exclusively your experience. In the
 meantime, outside of this real world I just sent to the list two
 examples where mysqlnd semantics as assumed by tests appears to be
 different from libmysql.

 so why are these not reported upstream 1 year ago and fixed?

 I don't know why. Why indeed? Why we have tests that fail and nobody
 fixed them 1 year ago or asked why they fail? I have no good answer to
 that, sorry. Do you?
 But while this may be very curious, the real question is - how we fix it
 *now*?

 mhh in the real world some function makes the insert and giving back the
ID
 this maybe only relevant in spaghetti code and even there you fetch the
 insertid after the insert and not 2000 lines later

 By real world you again must be meaning exclusively your code. Let me
 be the first to congratulate you that your code won't be affected.
 However the point of BC is not to be compatible exclusively with your
 code, other code matters too. Including the code you may not like.
 --
 Stanislav Malyshev, Software Architect
 SugarCRM: http://www.sugarcrm.com/
 (408)454-6900 ext. 227

 --
 PHP Internals - PHP Runtime Development Mailing List
 To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-04 Thread Reindl Harald


Am 04.09.2011 11:33, schrieb Stas Malyshev:
 Hi!
 
 On 9/4/11 2:13 AM, Reindl Harald wrote:
 again:
 running some hundret domains and made the switch to PHP 5.3 AND mysqlnd
 at once, no single problem - there are no differences in the real world
 
 That's assuming real world is exclusively your experience. In the meantime, 
 outside of this real world I just
 sent to the list two examples where mysqlnd semantics as assumed by tests 
 appears to be different from libmysql.
 
 so why are these not reported upstream 1 year ago and fixed?
 
 I don't know why. Why indeed? Why we have tests that fail and nobody fixed 
 them 1 year ago or asked why they fail?
 I have no good answer to that, sorry. Do you?
 But while this may be very curious, the real question is - how we fix it 
 *now*?
 
 mhh in the real world some function makes the insert and giving back the ID
 this maybe only relevant in spaghetti code and even there you fetch the
 insertid after the insert and not 2000 lines later
 
 By real world you again must be meaning exclusively your code. Let me be 
 the first to congratulate you that your
 code won't be affected. However the point of BC is not to be compatible 
 exclusively with your code, other code
 matters too. Including the code you may not like

i do not like wordpress and joomla, but both runnign with mysqlnd without 
troubles
only error_reporting must be a little bit changed because the bad code quality



signature.asc
Description: OpenPGP digital signature


Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-04 Thread Tomas Kuliavas
2011.09.04 12:13 Reindl Harald rašė:


 Am 04.09.2011 06:37, schrieb Stas Malyshev:
 Hi!

 On 9/2/11 6:51 PM, Rasmus Lerdorf wrote:
 Forget the failed tests. A new PHP release is about improving the
 ecosystem. If the folks that maintain libmysql and mysqlnd suggest that
 mysqlnd is more robust and it is the path forward, why would we resist
 this? Do we not trust Oracle/MySQL enough to listen to their input?

 Because of the little thing called BC?

 what the hell are you speaking about?

A little thing called backwards compatibility. If you change the way
extension behaves and some application depends on that kind of behavior,
it will break that application.

 Right now I have at least two tests suggesting mysqlnd has different
 semantics than libmysql,

 so why are these not reported upstream 1 year ago and fixed?

Since when third party implementation can impose own standards on primary
library implementation? Different semantics is not a bug for libmysql.

-- 
Tomas


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-04 Thread Reindl Harald


Am 04.09.2011 11:54, schrieb Tomas Kuliavas:
 2011.09.04 12:13 Reindl Harald rašė:


 Am 04.09.2011 06:37, schrieb Stas Malyshev:
 Hi!

 On 9/2/11 6:51 PM, Rasmus Lerdorf wrote:
 Forget the failed tests. A new PHP release is about improving the
 ecosystem. If the folks that maintain libmysql and mysqlnd suggest that
 mysqlnd is more robust and it is the path forward, why would we resist
 this? Do we not trust Oracle/MySQL enough to listen to their input?

 Because of the little thing called BC?

 what the hell are you speaking about?
 
 A little thing called backwards compatibility. If you change the way
 extension behaves and some application depends on that kind of behavior,
 it will break that application.

well but mysqlnd is not new and well tested in the wild
the only problem is that libmysql-support was not removed with
the first 5.3 version, so we would have no discussion now

 Right now I have at least two tests suggesting mysqlnd has different
 semantics than libmysql,

 so why are these not reported upstream 1 year ago and fixed?
 
 Since when third party implementation can impose own standards on primary
 library implementation? Different semantics is not a bug for libmysql

AFAIK was mysqlnd also from sun/mysqlab/oracle

anyways - the only thing what is intereresting me why in the world are
failing tests ignored over years and the more or less broken code
or if the code is not broken the test himslef not fixed

why in the world does php permanently introduce redundances and
never cleanup them?

mysql_escape_string and mysql_real_escape_string is the best example
now we have libmysql, mysqlnd and both used by mysql_* and mysqli_* instead
release PHP 5.3 with removing mysql_*-functions and only msqlnd

how long do we not have these ballast as everybody can see by for long times 
failing
tests not really maintained

my main-question is for what reason are tests introduced if nobofy caers about 
them
for months and years? problems without any tests are hapenning and the reason
for making tests, but ignoring failed tests is simply stupid - everywhere 
independent
if we are speaking about opensource or commercial software



signature.asc
Description: OpenPGP digital signature


Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-04 Thread Stas Malyshev

Hi!

On 9/4/11 2:38 AM, Pierre Joye wrote:

What are you actually afraid of?


Having two different semantics inside one mysql extension.


Libmysql will still be supported. Mysqlnd, despite your examples, work
out of a bix with all major apps and frameworks out there. We do test it


Do you really think but it works for me is of any value when there's 
an example where it does not?

--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-04 Thread Reindl Harald


Am 04.09.2011 12:22, schrieb Stas Malyshev:
 Hi!
 
 On 9/4/11 2:38 AM, Pierre Joye wrote:
 What are you actually afraid of?
 
 Having two different semantics inside one mysql extension.

so these have to be cleaned up

 Libmysql will still be supported. Mysqlnd, despite your examples, work
 out of a bix with all major apps and frameworks out there. We do test it
 
 Do you really think but it works for me is of any value when there's an 
 example where it does not?

for a release like PHP 5.4 witch the chance to cleanup some thing
SURELY

and again: targeting mysqlnd as default in 5.4 maybe the missing reason
for cleanup / fixup the code so that the tests will run finally



signature.asc
Description: OpenPGP digital signature


Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-04 Thread Pierre Joye
Can you please open you eyes a little bit so we can move fordward in this
simehow sterile discussion?

It is not works for me but what actually represent a very large amount of
the running php codes out there.

There are incimoatibilities too across libmysql versions and across mysql
servers, which are actually affecting existing codes.

I cannot find any code out there relying on this test case and I very much
doubt there is any. It is a non issue (unlike the is_a change for example).
On Sep 4, 2011 12:22 PM, Stas Malyshev smalys...@sugarcrm.com wrote:


Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-04 Thread Stas Malyshev

Hi!

On 9/4/11 3:43 AM, Pierre Joye wrote:

It is not works for me but what actually represent a very large amount
of the running php codes out there.


So you're saying breaking BC is OK if only you can find some unaffected 
applications, right?



There are incimoatibilities too across libmysql versions and across
mysql servers, which are actually affecting existing codes.


I don't know of any incompatibilities that change semantics on this 
level, and anyway libmysql is beyond our control, but mysqlnd isn't.



I cannot find any code out there relying on this test case and I very
much doubt there is any. It is a non issue (unlike the is_a change for
example).


Why we're testing for functions that, as you claim, nobody ever uses?
--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-04 Thread Pierre Joye
hi,

On Sun, Sep 4, 2011 at 7:52 PM, Stas Malyshev smalys...@sugarcrm.com wrote:

 So you're saying breaking BC is OK if only you can find some unaffected
 applications, right?

No, just like what I said for the is_a change, but it was acceptable
for is_a, right? is_a actually broken many (many) apps and codes out
there and it was easily identified, and it was even acceptable in a
patch release. Go figure.

 There are incimoatibilities too across libmysql versions and across
 mysql servers, which are actually affecting existing codes.

 I don't know of any incompatibilities that change semantics on this level,
 and anyway libmysql is beyond our control, but mysqlnd isn't.

Look at the history for the mysql's bugs, plenty of them, internally
or in userland.

 I cannot find any code out there relying on this test case and I very
 much doubt there is any. It is a non issue (unlike the is_a change for
 example).

 Why we're testing for functions that, as you claim, nobody ever uses?

Can you please, and seriously, that's my last attempt, read my answers
and see what we actually test? I never claimed that nobody uses this
behavior but I cannot find any code, app or framework failing with
mysqlnd. Please find one and I will change my mind.

Btw, I have seen many totally pointless tests written for the sake of
having a better code coverage while the code itself makes absolutely
no sense or could even represent something that should not work this
way in the 1st place.

Cheers,
-- 
Pierre

@pierrejoye | http://blog.thepimp.net | http://www.libgd.org

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-04 Thread Stas Malyshev

Hi!

On 9/4/11 10:59 AM, Pierre Joye wrote:

No, just like what I said for the is_a change, but it was acceptable
for is_a, right? is_a actually broken many (many) apps and codes out
there and it was easily identified, and it was even acceptable in a
patch release. Go figure.


Please do not drag totally unrelated matters into the discussion. It 
serves absolutely no purpose.



Look at the history for the mysql's bugs, plenty of them, internally
or in userland.


OK, look at them and? What you want me to see there?


Can you please, and seriously, that's my last attempt, read my answers
and see what we actually test? I never claimed that nobody uses this
behavior but I cannot find any code, app or framework failing with
mysqlnd. Please find one and I will change my mind.


You said I cannot find any code out there relying on this test case and 
I very much doubt there is any.. This means you're claiming we're 
testing behavior for which there's no code out there - if your guesses 
reflect the truth - that is using it. I think you're wrong but that's 
exactly what you said.



Btw, I have seen many totally pointless tests written for the sake of
having a better code coverage while the code itself makes absolutely
no sense or could even represent something that should not work this
way in the 1st place.


It is true, but this test actually proved useful - it discovered 
difference in semantics between mysqlnd and libmysql, and in frequently 
used functions at that. Now we know it and we have to decide what to do 
with it. I hope once the weekend is over, mysqlnd maintainers would 
voice their opinions on the matter - e.g., should it work this way or 
not. That's exactly what I want to achieve.

--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-04 Thread Pierre Joye
On Sun, Sep 4, 2011 at 8:08 PM, Stas Malyshev smalys...@sugarcrm.com wrote:

 No, just like what I said for the is_a change, but it was acceptable
 for is_a, right? is_a actually broken many (many) apps and codes out
 there and it was easily identified, and it was even acceptable in a
 patch release. Go figure.

 Please do not drag totally unrelated matters into the discussion. It serves
 absolutely no purpose.

That's exactly the same situation, we change something and fix the
test to adapt to the actual behavior.

 Look at the history for the mysql's bugs, plenty of them, internally
 or in userland.

 OK, look at them and? What you want me to see there?

That's the libmysql world is far from being perfect (very far) and it
is time to get mysqlnd mainstream. And if 5.4 is not the right time,
the let kill that thing or move it to pecl as it is totally useless if
almost nobody uses it (as it is the case right now)

 Can you please, and seriously, that's my last attempt, read my answers
 and see what we actually test? I never claimed that nobody uses this
 behavior but I cannot find any code, app or framework failing with
 mysqlnd. Please find one and I will change my mind.

 You said I cannot find any code out there relying on this test case and I
 very much doubt there is any.. This means you're claiming we're testing
 behavior for which there's no code out there - if your guesses reflect the
 truth - that is using it. I think you're wrong but that's exactly what you
 said.

In my book I very much doubt has another meaning than I'm totally
sure. Still waiting for an example outside this test tho'.


Cheers,
-- 
Pierre

@pierrejoye | http://blog.thepimp.net | http://www.libgd.org

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-04 Thread Reindl Harald


Am 04.09.2011 19:52, schrieb Stas Malyshev:

 There are incimoatibilities too across libmysql versions and across
 mysql servers, which are actually affecting existing codes.
 
 I don't know of any incompatibilities that change semantics on this level, 
 and anyway libmysql is beyond our control, but mysqlnd isn't

how is libmysql under your control?
and why isn't mysqlnd?

maybe you mean exactly the opposite.



signature.asc
Description: OpenPGP digital signature


Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-04 Thread Ferenc Kovacs
On Sun, Sep 4, 2011 at 7:59 PM, Reindl Harald h.rei...@thelounge.net wrote:


 Am 04.09.2011 19:52, schrieb Stas Malyshev:

 There are incimoatibilities too across libmysql versions and across
 mysql servers, which are actually affecting existing codes.

 I don't know of any incompatibilities that change semantics on this level,
 and anyway libmysql is beyond our control, but mysqlnd isn't

 how is libmysql under your control?
 and why isn't mysqlnd?

 maybe you mean exactly the opposite.

he wrote the exact oppsosite AFAIK.


-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-03 Thread Lester Caine

Rasmus Lerdorf wrote:

On 09/02/2011 01:17 PM, Lester Caine wrote:

  Rasmus Lerdorf wrote:

  I was actually going to suggest doing this in 5.4 and trunk but didn't
  get around to writing the email yet.


  It would still be nice to be able to simply switch off MySQL for those
  of us who do not have it installed ...
  It gets annoying when PHP forces the installation of MySQL in a
  distribution and then prevents disabling it. It is another example of
  why a more modular approach does make sense!

I have no idea what you mean. We don't force MySQL in any way.
If you grab the PHP code and do: ./configure  make
there is absolutely no MySQL. You have to explictly do --with-mysql to
get MySQL support just like you have to enable other non-default extensions.

What the Oracle/MySQL guys are suggesting is simply that when you do
specify --with-mysql the default should be mysqlnd.


All builds seem to have mysqlnd included by default? So that has to be tested on 
every installation even if it's not going to be used? And I've hit problems with 
distributions needing MySQL because of a dependency on mysqlnd.


I know we have had the discussion before, but if it is a general library for all 
databases then call it something else, if it's specific for MySQL then it only 
needs to be installed when MySQL is available on a system?


--
Lester Caine - G8HFL
-
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk//
Firebird - http://www.firebirdsql.org/index.php

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-03 Thread Lester Caine

Stas Malyshev wrote:

libmysql *is* the common case build and the one most people would be running in
production, at least as far as I see around.

In the words of wikipedia - provide proof.
If this is the case then why is mysqlnd loaded by default? Even if we do not 
have MySQL installed.


--
Lester Caine - G8HFL
-
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk//
Firebird - http://www.firebirdsql.org/index.php

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-03 Thread Rasmus Lerdorf
On 09/02/2011 11:43 PM, Lester Caine wrote:
 All builds seem to have mysqlnd included by default? So that has to be
 tested on every installation even if it's not going to be used? And I've
 hit problems with distributions needing MySQL because of a dependency on
 mysqlnd.
 
 I know we have had the discussion before, but if it is a general library
 for all databases then call it something else, if it's specific for
 MySQL then it only needs to be installed when MySQL is available on a
 system?

Which general library? We are talking about mysqlnd which is obviously
only for MySQL.

And what do you mean by all builds ?

We don't do builds, the distributions do builds and we can't really
control what they choose to include by default, but most of the ones I
have seen have a separate php-mysql package.

I guess you may be exclusively talking about Windows builds and that has
absolutely nothing to do with our current discussion of whether
--with-mysql should point to libmysql or libmysqlnd by default.

-Rasmus

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-03 Thread Rasmus Lerdorf
On 09/02/2011 11:48 PM, Lester Caine wrote:
 Stas Malyshev wrote:
 libmysql *is* the common case build and the one most people would be
 running in
 production, at least as far as I see around.
 In the words of wikipedia - provide proof.
 If this is the case then why is mysqlnd loaded by default? Even if we do
 not have MySQL installed.

Lester, it would really help if you added on Windows to the end of all
your messages so you don't confuse the rest of us who are not talking
about Windows at all. We are talking about the configure flags on UNIX.
mysqlnd is only loaded by default in the binary build on Windows.

-Rasmus

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-03 Thread Lester Caine

Rasmus Lerdorf wrote:

On 09/02/2011 11:43 PM, Lester Caine wrote:

All builds seem to have mysqlnd included by default? So that has to be
tested on every installation even if it's not going to be used? And I've
hit problems with distributions needing MySQL because of a dependency on
mysqlnd.

I know we have had the discussion before, but if it is a general library
for all databases then call it something else, if it's specific for
MySQL then it only needs to be installed when MySQL is available on a
system?


Which general library? We are talking about mysqlnd which is obviously
only for MySQL.

And what do you mean by all builds ?

We don't do builds, the distributions do builds and we can't really
control what they choose to include by default, but most of the ones I
have seen have a separate php-mysql package.

I guess you may be exclusively talking about Windows builds and that has
absolutely nothing to do with our current discussion of whether
--with-mysql should point to libmysql or libmysqlnd by default.


My SUSE installs all have mysqlnd included in the core, As do other Linux 
distributions. I think for much the same reason that the windows builds do as 
well? The PHP development team have decided that -without-mysqlnd is required to 
remove it rather than -with-mysqlnd is with other optional packages. THAT 
decision determines what the distributions all do and flags mysqlnd as a core 
package?


Since I have no interest in MySQL much of this is academic other than having to 
manage the fallout, so the bit I'm not understanding here is where mysqlnd fits 
in with libmysql or libmysqlnd. Is mysqlnd even used by mysql if libmysql is the 
default library?


--
Lester Caine - G8HFL
-
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk//
Firebird - http://www.firebirdsql.org/index.php

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-03 Thread Lester Caine

Rasmus Lerdorf wrote:

On 09/02/2011 11:48 PM, Lester Caine wrote:

  Stas Malyshev wrote:

  libmysql*is*  the common case build and the one most people would be
  running in
  production, at least as far as I see around.

  In the words of wikipedia - provide proof.
  If this is the case then why is mysqlnd loaded by default? Even if we do
  not have MySQL installed.

Lester, it would really help if you added on Windows to the end of all
your messages so you don't confuse the rest of us who are not talking
about Windows at all. We are talking about the configure flags on UNIX.
mysqlnd is only loaded by default in the binary build on Windows.


See other post!
I am documenting and supporting FLAP just as much as FWAP ...

--
Lester Caine - G8HFL
-
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk//
Firebird - http://www.firebirdsql.org/index.php

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-03 Thread Rasmus Lerdorf
On 09/03/2011 12:15 AM, Lester Caine wrote:
 My SUSE installs all have mysqlnd included in the core, As do other
 Linux distributions. I think for much the same reason that the windows
 builds do as well? The PHP development team have decided that
 -without-mysqlnd is required to remove it rather than -with-mysqlnd is
 with other optional packages. THAT decision determines what the
 distributions all do and flags mysqlnd as a core package?

But I just told you that wasn't the case. Try it yourself. Download the
PHP tarball on your SUSE box and do ./configure  make
Show me where mysqlnd is linked in. It isn't.

-Rasmus


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-03 Thread Ulf Wendel

Am 03.09.2011 03:51, schrieb Rasmus Lerdorf:

On 09/02/2011 06:08 PM, Stas Malyshev wrote:

Hi!

On 9/2/11 6:02 PM, Rasmus Lerdorf wrote:

Well, we are not trying to get to 0 failed tests in all permutations of
all extensions on all platforms. We are trying to get to 0 failed tests
on a common-case build using defaults and common extensions. Given that,
changing a default has an impact on the 0-failed-tests goal.


Nobody talks about all permutations of all platforms, let's not be
absurd here. However, there's a distance between all permutations of
all platforms and we'll be ignoring failures on libmysql. libmysql
*is* the common case build and the one most people would be running in
production, at least as far as I see around.


Ah yes, but is that because they have actively chosen to use libmysql or
is it because our default is libmysql. It is buggier and less robust
than mysqlnd at this point, at least in my experience, so who are we
helping by leaving libmysql as the default?


ACK.

Yes, it is about the default that others copy from php.net.

(Yes, I consider mysqlnd stability to be at least on par with the 
libmysql and, mysqlnd is usually getting much faster bug fixes. Together 
with the set of free PHP license plugins (pecl/mysqlnd_*, query cache, 
replication support, load balancing, monitoring, ...), 
asynchronous/non-blocking queries, a nice debug trace log, copy-on-write 
variables, recognition of PHP's memory limit, ... it is worth a 
recommendation to users. Time to spread the news by switching the 
compile default. Five years after development started, four years after 
alpha and beta. Plus the PHP 5.3-series as an incubation time.)



Forget the failed tests. A new PHP release is about improving the
ecosystem. If the folks that maintain libmysql and mysqlnd suggest that
mysqlnd is more robust and it is the path forward, why would we resist
this? Do we not trust Oracle/MySQL enough to listen to their input?


ACK.

(For the last time in this thread: there are no plans to remove libmysql 
support but mysqlnd is the recommended choice.)


Ulf

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-03 Thread Stas Malyshev

Hi!

On 9/2/11 6:51 PM, Rasmus Lerdorf wrote:

Forget the failed tests. A new PHP release is about improving the
ecosystem. If the folks that maintain libmysql and mysqlnd suggest that
mysqlnd is more robust and it is the path forward, why would we resist
this? Do we not trust Oracle/MySQL enough to listen to their input?


Because of the little thing called BC? Right now I have at least two 
tests suggesting mysqlnd has different semantics than libmysql, and not 
in some obscure corners either but in functions most people use every 
day in every piece of code. This is worrying.

--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Johannes Schlüter
Hi,

when building PHP using
  (I) ./configure --with-mysql --with-mysqli --with-pdo-mysql
you currently get a build using the system default libmysql, usually
in /us or
such. Alternatively PHP can be built using
 (II) ./configure --with-mysqli=mysqlnd [...]
to build the MySQL extensions using the mysqlnd library.

I would like to change mysqlnd's config9.m4 file to build PHP using
mysqlnd when being called in form (I). Users would still be able to
enforce libmysql by passing a path, like /usr.

There are two main reasons I see for this:
  a) Different libmysql versions have slightly different behavior,
 which shows in our tests. We can't have both, a good test coverage
 and cover all these differences. By using mysqlnd we have a clear
 behavior every PHP developer can rely on.
  b) We provide different extensions (pecl/mysqlnd_*) which
 improve/extend mysqlnd functionality. By having mysqlnd as default
 these are better usable by users.

Opinions?

johannes
-- 
Johannes Schlüter, Oracle
MySQL Engineering - MySQL Connectors and Client Connectivity



--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Reindl Harald
please do it

we are using mysqlnd on some hundret domains with all sort of php-software
since PHP 5.3.3 (the first 5.3 version we used) and thinking back how
hard it was to get the fedora-srpm chnaged to build with mysqlnd
my opinion is drop the libmysql-support completly

you named the main-reason for that: auto-tests

supporting both without a real good reason will have permanently
side-effects covered in bugreports and instead maintain two code-paths
from the view of quality it would be better to optimize mysqlnd
if there is something missing what i do not know now

Am 02.09.2011 14:27, schrieb Johannes Schlüter:
 Hi,
 
 when building PHP using
   (I) ./configure --with-mysql --with-mysqli --with-pdo-mysql
 you currently get a build using the system default libmysql, usually
 in /us or
 such. Alternatively PHP can be built using
  (II) ./configure --with-mysqli=mysqlnd [...]
 to build the MySQL extensions using the mysqlnd library.
 
 I would like to change mysqlnd's config9.m4 file to build PHP using
 mysqlnd when being called in form (I). Users would still be able to
 enforce libmysql by passing a path, like /usr.
 
 There are two main reasons I see for this:
   a) Different libmysql versions have slightly different behavior,
  which shows in our tests. We can't have both, a good test coverage
  and cover all these differences. By using mysqlnd we have a clear
  behavior every PHP developer can rely on.
   b) We provide different extensions (pecl/mysqlnd_*) which
  improve/extend mysqlnd functionality. By having mysqlnd as default
  these are better usable by users.
 
 Opinions?
 
 johannes



signature.asc
Description: OpenPGP digital signature


Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Sebastian Bergmann
Am 02.09.2011 14:27, schrieb Johannes Schlüter:
 I would like to change mysqlnd's config9.m4 file to build PHP using
 mysqlnd when being called in form (I). Users would still be able to
 enforce libmysql by passing a path, like /usr.

 PLEASE do it :-)

-- 
Sebastian BergmannCo-Founder and Principal Consultant
http://sebastian-bergmann.de/   http://thePHP.cc/

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Rasmus Lerdorf
On 09/02/2011 05:27 AM, Johannes Schlüter wrote:
 Hi,
 
 when building PHP using
   (I) ./configure --with-mysql --with-mysqli --with-pdo-mysql
 you currently get a build using the system default libmysql, usually
 in /us or
 such. Alternatively PHP can be built using
  (II) ./configure --with-mysqli=mysqlnd [...]
 to build the MySQL extensions using the mysqlnd library.
 
 I would like to change mysqlnd's config9.m4 file to build PHP using
 mysqlnd when being called in form (I). Users would still be able to
 enforce libmysql by passing a path, like /usr.
 
 There are two main reasons I see for this:
   a) Different libmysql versions have slightly different behavior,
  which shows in our tests. We can't have both, a good test coverage
  and cover all these differences. By using mysqlnd we have a clear
  behavior every PHP developer can rely on.
   b) We provide different extensions (pecl/mysqlnd_*) which
  improve/extend mysqlnd functionality. By having mysqlnd as default
  these are better usable by users.
 
 Opinions?

I was actually going to suggest doing this in 5.4 and trunk but didn't
get around to writing the email yet.

-Rasmus

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Mike Willbanks
forgot to include everyone on this response - sorry.

when building PHP using
  (I) ./configure --with-mysql --with-mysqli --with-pdo-mysql
 you currently get a build using the system default libmysql, usually
 in /us or
 such. Alternatively PHP can be built using
  (II) ./configure --with-mysqli=mysqlnd [...]
 to build the MySQL extensions using the mysqlnd library.

 I would like to change mysqlnd's config9.m4 file to build PHP using
 mysqlnd when being called in form (I). Users would still be able to
 enforce libmysql by passing a path, like /usr.

 There are two main reasons I see for this:
  a) Different libmysql versions have slightly different behavior,
 which shows in our tests. We can't have both, a good test coverage
 and cover all these differences. By using mysqlnd we have a clear
 behavior every PHP developer can rely on.
  b) We provide different extensions (pecl/mysqlnd_*) which
 improve/extend mysqlnd functionality. By having mysqlnd as default
 these are better usable by users.

 Opinions?

 Yes, do it!!!

 Also; while we're talking about it; can we do something about the default
 socket location OR change configuring it in 3 places for pdo_mysql; mysqli;
 mysql?!   Maybe a mysqlnd_default_socket - or autoconf magic (for instance
 RedHat/CentOS MySQL provided RPM's default to: /var/lib/mysql/mysql.sock;
 Ubuntu/Debian default is: /var/run/mysqld/mysqld.sock, lastly is the current
 php default and mysql source default of /tmp/mysql.sock).  It seems like it
 could do a quick check either by platform or check to see if it is already
 there to change the default on build.  Only reason for bringing this up is
 that I've been burned a few times on this one (for instance pdo_mysql is
 configured but mysqli was not for the default socket locations).

 Regards,

 Mike



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Christopher Jones



On 09/02/2011 08:32 AM, Rasmus Lerdorf wrote:

On 09/02/2011 05:27 AM, Johannes Schlüter wrote:

Hi,

when building PHP using
   (I) ./configure --with-mysql --with-mysqli --with-pdo-mysql
you currently get a build using the system default libmysql, usually
in /us or
such. Alternatively PHP can be built using
  (II) ./configure --with-mysqli=mysqlnd [...]
to build the MySQL extensions using the mysqlnd library.

I would like to change mysqlnd's config9.m4 file to build PHP using
mysqlnd when being called in form (I). Users would still be able to
enforce libmysql by passing a path, like /usr.

There are two main reasons I see for this:
   a) Different libmysql versions have slightly different behavior,
  which shows in our tests. We can't have both, a good test coverage
  and cover all these differences. By using mysqlnd we have a clear
  behavior every PHP developer can rely on.
   b) We provide different extensions (pecl/mysqlnd_*) which
  improve/extend mysqlnd functionality. By having mysqlnd as default
  these are better usable by users.

Opinions?


I was actually going to suggest doing this in 5.4 and trunk but didn't
get around to writing the email yet.

-Rasmus



I'm +1 for this.  I think the decision  implementation needs to be done
before Beta or deferred to trunk.

Chris

--
Email: christopher.jo...@oracle.com
Tel:  +1 650 506 8630
Blog:  http://blogs.oracle.com/opal/

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Stas Malyshev

Hi!

On 9/2/11 12:17 PM, Christopher Jones wrote:

I'm +1 for this.  I think the decision  implementation needs to be done
before Beta or deferred to trunk.


Frankly, I'd be more comfortable with trunk. We have enough trouble with 
unit tests etc. before the beta, and introducing profound change in 
default without enough time for discussion and gathering feedback from 
packagers, etc. doesn't look a smart thing to do.


--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Christopher Jones



On 09/02/2011 12:24 PM, Stas Malyshev wrote:

Hi!

On 9/2/11 12:17 PM, Christopher Jones wrote:

I'm +1 for this. I think the decision implementation needs to be done
before Beta or deferred to trunk.


Frankly, I'd be more comfortable with trunk. We have enough trouble with unit 
tests etc. before the beta, and introducing profound change in default without 
enough time for discussion and gathering feedback from packagers, etc. doesn't 
look a smart thing
to do.



Let's see what other comments come in.

Doing it in 5.4 will make it easier to stabilize the tests and allow
trunk  5.4 build  tests to be in sync.  The user benefits include
more predictable behavior on edge cases, and presumably better
features  quality that core developers could fill their time working
on.

Chris

--
Email: christopher.jo...@oracle.com
Tel:  +1 650 506 8630
Blog:  http://blogs.oracle.com/opal/

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Ulf Wendel

Am 02.09.2011 21:24, schrieb Stas Malyshev:

Hi!

On 9/2/11 12:17 PM, Christopher Jones wrote:

I'm +1 for this. I think the decision implementation needs to be done
before Beta or deferred to trunk.


Frankly, I'd be more comfortable with trunk. We have enough trouble with
unit tests etc. before the beta, and introducing profound change in
default without enough time for discussion and gathering feedback from
packagers, etc. doesn't look a smart thing to do.


Hmm, I do not understand the unit test argument. Non-portable tests 
exist regardless of what the config.m4 default is.


We are talking about making mysqlnd as a compile default, if not 
explicitly choosing libmysql to compile against. This is no attempt to 
remove libmysql support. I somewhat assume most packagers do explicitly 
set libmysql path already and do not rely on any magic, because they 
don't use MySQL's default source layout. However, argument taken, let's 
do some checks who (Debian, Ubuntu, OpenSuse, RH, ...) does not set 
libmysql path during compile.


mysqlnd was introduced with PHP 5.3. IMHO, it has matured quite well. 
Mysqlnd reduces the PHP projects dependency on anybody controlling the 
library. This has been a major pain in the past. Think of builds made 
against outdated versions of libmysql, think of waiting for new libmysql 
releases, think of compilers not supported by libmysql, think of license 
discussion, think of accepting code contributions and so forth.


From a user perspective mysqlnd removes the need to install libmyql 
prior to building and a has a couple of neat features not available with 
libmysql, for example, the plugins.


Ulf

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Michael Stowe
+1 and agree that it should be implemented before the beta.




On Fri, Sep 2, 2011 at 2:58 PM, Ulf Wendel ulf.wen...@phpdoc.de wrote:

 Am 02.09.2011 21:24, schrieb Stas Malyshev:

  Hi!

 On 9/2/11 12:17 PM, Christopher Jones wrote:

 I'm +1 for this. I think the decision implementation needs to be done
 before Beta or deferred to trunk.


 Frankly, I'd be more comfortable with trunk. We have enough trouble with
 unit tests etc. before the beta, and introducing profound change in
 default without enough time for discussion and gathering feedback from
 packagers, etc. doesn't look a smart thing to do.


 Hmm, I do not understand the unit test argument. Non-portable tests exist
 regardless of what the config.m4 default is.

 We are talking about making mysqlnd as a compile default, if not explicitly
 choosing libmysql to compile against. This is no attempt to remove libmysql
 support. I somewhat assume most packagers do explicitly set libmysql path
 already and do not rely on any magic, because they don't use MySQL's default
 source layout. However, argument taken, let's do some checks who (Debian,
 Ubuntu, OpenSuse, RH, ...) does not set libmysql path during compile.

 mysqlnd was introduced with PHP 5.3. IMHO, it has matured quite well.
 Mysqlnd reduces the PHP projects dependency on anybody controlling the
 library. This has been a major pain in the past. Think of builds made
 against outdated versions of libmysql, think of waiting for new libmysql
 releases, think of compilers not supported by libmysql, think of license
 discussion, think of accepting code contributions and so forth.

 From a user perspective mysqlnd removes the need to install libmyql prior
 to building and a has a couple of neat features not available with libmysql,
 for example, the plugins.

 Ulf


 --
 PHP Internals - PHP Runtime Development Mailing List
 To unsubscribe, visit: http://www.php.net/unsub.php




-- 
---

My command is this: Love each other as I
have loved you. John 15:12

---


Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Lester Caine

Rasmus Lerdorf wrote:

I was actually going to suggest doing this in 5.4 and trunk but didn't
get around to writing the email yet.


It would still be nice to be able to simply switch off MySQL for those of us who 
do not have it installed ...
It gets annoying when PHP forces the installation of MySQL in a distribution and 
then prevents disabling it. It is another example of why a more modular approach 
does make sense!


--
Lester Caine - G8HFL
-
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk//
Firebird - http://www.firebirdsql.org/index.php

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Johannes Schlüter
On Fri, 2011-09-02 at 12:24 -0700, Stas Malyshev wrote:
 Hi!
 
 On 9/2/11 12:17 PM, Christopher Jones wrote:
  I'm +1 for this.  I think the decision  implementation needs to be done
  before Beta or deferred to trunk.
 
 Frankly, I'd be more comfortable with trunk. We have enough trouble with 
 unit tests etc. before the beta, and introducing profound change in 
 default without enough time for discussion and gathering feedback from 
 packagers, etc. doesn't look a smart thing to do.

Actually the testing point was the trigger for me to write this mail.
I/We should have done it earlier but for me it's too normal to build
using mysqlnd.

Looking at the tests we have: Most tests are written with mysqlnd in
focus. mysqlnd is what we (Oracle/MySQL) test the most in PHP
perspective for quite some time already. By making mysqlnd the default
we remove one moving piece out of the test equation which simplifies
tests[1]. (we still have multiple server versions to keep in mind ...)
Looking at the last test results Rasmus' sent (using my own would be a
lame cheat ;-) ) he had 6 mysqlnd test failures of which we fixed most
(we also fixed others) whereas libmysql builds have more (depending on
versions). Yes we could spend a few more days and do massive builds of
different combinations (and make the tests more complex to cover
multiple cases) or focus on having a good and stable default which
behaves the same on all platforms.

Looking at distributions: On Windows (which probably is the single most
used build of PHP at all) we're using mysqlnd by default since 5.3.0.
This had some pain in the beginning but went, aside from the recent
OpenSSL issue, quite soomthly. Some other packagers we could meanwhile
convince to use mysqlnd others told me things which boil down to if PHP
makes it default we use it. So I see little risk there.

johannes

[1] Yes, we will still allow building with libmysql and we will fix bugs
reported there and we will verify it works but focus on mysqlnd, as
we're actually handling it already

-- 
Johannes Schlüter, Oracle
MySQL Engineering - connectors and Client Connectivity


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Stas Malyshev

Hi!

On 9/2/11 1:14 PM, Johannes Schlüter wrote:

Looking at the tests we have: Most tests are written with mysqlnd in
focus. mysqlnd is what we (Oracle/MySQL) test the most in PHP
perspective for quite some time already. By making mysqlnd the default
we remove one moving piece out of the test equation which simplifies
tests[1]. (we still have multiple server versions to keep in mind ...)


Are you implying you would no longer fix failures on libmysql? If so, we 
should announce libmysql is unsupported and I definitely am against 
doing anything like this in 5.4. If you are not meaning this, then 
absolutely nothing changes with regard to unit tests - they still must 
pass on both modes.



different combinations (and make the tests more complex to cover
multiple cases) or focus on having a good and stable default which
behaves the same on all platforms.


We should focus on having unit tests passing, otherwise there's no point 
in having them. If we do not drop libmysql support, we should have 
exactly the same results in libmysql as we have in mysqlnd. Otherwise it 
is called unsupported configuration. If the plan is to keep pretense 
of supporting libmysql while actually neglecting to do fixes and fix 
tests for it in hope that people would eventually switch - this is not 
the right way to do it.

--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Ferenc Kovacs
2011/9/2 Stas Malyshev smalys...@sugarcrm.com:
 Hi!

 On 9/2/11 1:14 PM, Johannes Schlüter wrote:

 Looking at the tests we have: Most tests are written with mysqlnd in
 focus. mysqlnd is what we (Oracle/MySQL) test the most in PHP
 perspective for quite some time already. By making mysqlnd the default
 we remove one moving piece out of the test equation which simplifies
 tests[1]. (we still have multiple server versions to keep in mind ...)

 Are you implying you would no longer fix failures on libmysql? If so, we
 should announce libmysql is unsupported and I definitely am against doing
 anything like this in 5.4. If you are not meaning this, then absolutely
 nothing changes with regard to unit tests - they still must pass on both
 modes.


I think you missed the referenced [1]:

[1] Yes, we will still allow building with libmysql and we will fix bugs
reported there and we will verify it works but focus on mysqlnd, as
we're actually handling it already

-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Stas Malyshev

Hi!

On 9/2/11 1:41 PM, Ferenc Kovacs wrote:

I think you missed the referenced [1]:

[1] Yes, we will still allow building with libmysql and we will fix bugs
reported there and we will verify it works but focus on mysqlnd, as
we're actually handling it already


I did not miss it - I do not see what it means. Either we support both - 
and then for the matter of development and testing nothing changes - or 
something changes, namely we remove one moving piece out of the test 
equation, the moving piece being libmysql - and remove means 
remove. I just don't see how you can have both of these things at the 
same time.

--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Ulf Wendel

Am 02.09.2011 22:17, schrieb Lester Caine:

Rasmus Lerdorf wrote:

I was actually going to suggest doing this in 5.4 and trunk but didn't
get around to writing the email yet.


It would still be nice to be able to simply switch off MySQL for those
of us who do not have it installed ...
It gets annoying when PHP forces the installation of MySQL in a
distribution and then prevents disabling it. It is another example of
why a more modular approach does make sense!


Lester,

do I understand that you are afraid of a PHP which comes with MySQL 
support that cannot be disabled?


I don't think the proposal goes like that. The proposal is to change the 
default library, if not set during compile, used by the MySQL 
extensions, if enabled, from libmysql to mysqlnd. This is independent of 
the questions:


 - if any MySQL extension shall be enabled by default
 - if PHP can be built without MySQL support

And, I said it in the other email, this is no attempt to remove libmysql 
support.


I may be wrong but your concern - as valid as it is - seems a bit off 
topic, no?


Ulf


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Ferenc Kovacs
On Fri, Sep 2, 2011 at 10:44 PM, Stas Malyshev smalys...@sugarcrm.com wrote:
 Hi!

 On 9/2/11 1:41 PM, Ferenc Kovacs wrote:

 I think you missed the referenced [1]:

 [1] Yes, we will still allow building with libmysql and we will fix bugs
 reported there and we will verify it works but focus on mysqlnd, as
 we're actually handling it already

 I did not miss it - I do not see what it means. Either we support both - and
 then for the matter of development and testing nothing changes - or
 something changes, namely we remove one moving piece out of the test
 equation, the moving piece being libmysql - and remove means remove. I
 just don't see how you can have both of these things at the same time.

I think that Johannes means that mysqld would be the preferred or
baseline for the mysql tests.
maybe supporting IE6 would be a good metaphor: you could say that you
support every browser equally, or you could say that you write your
stuff for the modern browsers and tests it against IE6 and fix where
necessary.
Johannes, is this what you had in mind?


-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Johannes Schlüter
On Fri, 2011-09-02 at 22:48 +0200, Ferenc Kovacs wrote:
 On Fri, Sep 2, 2011 at 10:44 PM, Stas Malyshev smalys...@sugarcrm.com wrote:
  Hi!
 
  On 9/2/11 1:41 PM, Ferenc Kovacs wrote:
 
  I think you missed the referenced [1]:
 
  [1] Yes, we will still allow building with libmysql and we will fix bugs
  reported there and we will verify it works but focus on mysqlnd, as
  we're actually handling it already
 
  I did not miss it - I do not see what it means. Either we support both - and
  then for the matter of development and testing nothing changes - or
  something changes, namely we remove one moving piece out of the test
  equation, the moving piece being libmysql - and remove means remove. I
  just don't see how you can have both of these things at the same time.
 
 I think that Johannes means that mysqld would be the preferred or
 baseline for the mysql tests.
 maybe supporting IE6 would be a good metaphor: you could say that you
 support every browser equally, or you could say that you write your
 stuff for the modern browsers and tests it against IE6 and fix where
 necessary.
 Johannes, is this what you had in mind?

Thanks, I like your analogy and don't have a better one.

johannes

 
 -- 
 Ferenc Kovács
 @Tyr43l - http://tyrael.hu
 



--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Ulf Wendel

Am 02.09.2011 22:57, schrieb Johannes Schlüter:

On Fri, 2011-09-02 at 22:48 +0200, Ferenc Kovacs wrote:

On Fri, Sep 2, 2011 at 10:44 PM, Stas Malyshevsmalys...@sugarcrm.com  wrote:

Hi!

On 9/2/11 1:41 PM, Ferenc Kovacs wrote:


I think you missed the referenced [1]:

[1] Yes, we will still allow building with libmysql and we will fix bugs
reported there and we will verify it works but focus on mysqlnd, as
we're actually handling it already


I did not miss it - I do not see what it means. Either we support both - and
then for the matter of development and testing nothing changes - or
something changes, namely we remove one moving piece out of the test
equation, the moving piece being libmysql - and remove means remove. I
just don't see how you can have both of these things at the same time.


I think that Johannes means that mysqld would be the preferred or
baseline for the mysql tests.
maybe supporting IE6 would be a good metaphor: you could say that you
support every browser equally, or you could say that you write your
stuff for the modern browsers and tests it against IE6 and fix where
necessary.
Johannes, is this what you had in mind?


Thanks, I like your analogy and don't have a better one.



Let's see if I get it right.

Johannes and I say:

 - libmysql support is there and it will stay there
 - libmysql shall continue to be supported
 - tests shall be written in a portable way, whenever possible

We furthermore said, let me put it straigt:

 - we failed to catch some libmysql/MySQL/test version combination 
portability issues - shit happens, sorry for that

 - testing any extension that has external dependencies is a pain

I think, such a statement is quite a big step towards your test 
concerns, Stas. Ultimately, I still don't get what you (Stas) are after 
with the test discussion. Have I missed any of your worries?


Ulf











--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Stas Malyshev

Hi!

On 9/2/11 1:57 PM, Johannes Schlüter wrote:

maybe supporting IE6 would be a good metaphor: you could say that you
support every browser equally, or you could say that you write your
stuff for the modern browsers and tests it against IE6 and fix where
necessary.
Johannes, is this what you had in mind?


Thanks, I like your analogy and don't have a better one.


That is exactly the problem - *nobody* says we support every browser 
equally and most sites/applications explicitly say we do not support 
IE6 and every bug on IE6 is rejected unless it happens in some other 
place. If you plan to give libmysql the same treatment it means removing 
support for it, plain and simple. If you mean something else, please 
explain.


--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Ulf Wendel

Am 02.09.2011 23:20, schrieb Stas Malyshev:

Hi!

On 9/2/11 1:57 PM, Johannes Schlüter wrote:

maybe supporting IE6 would be a good metaphor: you could say that you
support every browser equally, or you could say that you write your
stuff for the modern browsers and tests it against IE6 and fix where
necessary.
Johannes, is this what you had in mind?


Thanks, I like your analogy and don't have a better one.


That is exactly the problem - *nobody* says we support every browser
equally and most sites/applications explicitly say we do not support
IE6 and every bug on IE6 is rejected unless it happens in some other
place. If you plan to give libmysql the same treatment it means removing
support for it, plain and simple. If you mean something else, please
explain.


Stas,

what is not clear from my last mail?

Ulf


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Stas Malyshev

Hi!

On 9/2/11 2:12 PM, Ulf Wendel wrote:

I think, such a statement is quite a big step towards your test
concerns, Stas. Ultimately, I still don't get what you (Stas) are after
with the test discussion. Have I missed any of your worries?


My concerns is first and foremost to have unit tests passing and 
compatibility API issues sorted out - such as same functions producing 
different semantics on libmysql and mysqlnd. This is my primary concern, 
especially if we want to have beta anytime soon :)


That said, talk about removing one moving piece out of the test
equation and comparing libmysql support to universally unsupported and 
officially considered dead IE6 makes me worried, when it comes from 
mysql extension maintainers. Your clarification about it in this letter 
makes clear my concerns are unfounded, which is good. Let's now get back 
to the first part - the failing tests.

--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Lester Caine

Ulf Wendel wrote:

Am 02.09.2011 22:17, schrieb Lester Caine:

Rasmus Lerdorf wrote:

I was actually going to suggest doing this in 5.4 and trunk but didn't
get around to writing the email yet.


It would still be nice to be able to simply switch off MySQL for those
of us who do not have it installed ...
It gets annoying when PHP forces the installation of MySQL in a
distribution and then prevents disabling it. It is another example of
why a more modular approach does make sense!


Lester,

do I understand that you are afraid of a PHP which comes with MySQL support that
cannot be disabled?

I don't think the proposal goes like that. The proposal is to change the default
library, if not set during compile, used by the MySQL extensions, if enabled,
from libmysql to mysqlnd. This is independent of the questions:

  - if any MySQL extension shall be enabled by default
  - if PHP can be built without MySQL support

And, I said it in the other email, this is no attempt to remove libmysql 
support.

I may be wrong but your concern - as valid as it is - seems a bit off topic, no?


If the MySQL support was loaded as an extension rather than being forced on 
everybody, then you could provide either version of library just by selecting 
the right extension? Just as we provide special builds of other extensions to 
allow backwards compatibility ... we HAD dropped MySQL dependence at one point, 
but it seems to have crept back in without any particular agreement?


--
Lester Caine - G8HFL
-
Contact - http://lsces.co.uk/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk//
Firebird - http://www.firebirdsql.org/index.php

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Ulf Wendel

Am 02.09.2011 23:30, schrieb Stas Malyshev:

Hi!

On 9/2/11 2:12 PM, Ulf Wendel wrote:

I think, such a statement is quite a big step towards your test
concerns, Stas. Ultimately, I still don't get what you (Stas) are after
with the test discussion. Have I missed any of your worries?


My concerns is first and foremost to have unit tests passing and
compatibility API issues sorted out - such as same functions producing
different semantics on libmysql and mysqlnd. This is my primary concern,
especially if we want to have beta anytime soon :)


Stas,

if you are really concerned about tests, aren't you a bit late, are all 
the 5.3 releases to be considered instable. I mean, they use the same 
tests. Andrey may know better, but I even assume mysqlnd to be very, 
very similar in 5.3 and 5.4. How strong is your argument, how many 
critical differences are you aware of that prevent a config.m4 change? 
If there are criticial differences of much practical relevance, how 
could we miss them, why are we not seeing more bug reports?


With all given respect, I think you are going a bit far here. You seem 
to be extrapolating from test x does not work in configuration y to z 
is instable/incompatible with y.


You have one argument against the config.m4 change that I get - the 
packaging/distribution one. But the test does not pass with X/Y/Z_old 
seems a bit weak to me.


I hope, nobody is angry if I call it a day.

Enjoy the weekend,
Ulf

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Pierre Joye
2011/9/2 Stas Malyshev smalys...@sugarcrm.com:
 Hi!

 On 9/2/11 1:14 PM, Johannes Schlüter wrote:

 Looking at the tests we have: Most tests are written with mysqlnd in
 focus. mysqlnd is what we (Oracle/MySQL) test the most in PHP
 perspective for quite some time already. By making mysqlnd the default
 we remove one moving piece out of the test equation which simplifies
 tests[1]. (we still have multiple server versions to keep in mind ...)

 Are you implying you would no longer fix failures on libmysql?

The problem is the exact opposite, the fact that mysqlnd is not
default makes the bugs hunting harder for this backend. Most bad bugs
(thread safe related for example) come from the windows where mysqlnd
is already the only and default option. So having more users now in
5.4-beta will only help to make it even more stable.

While limysql is still a good alternative (slightly faster in some
cases) and does not have some of the TS issues we meet with mysqlnd,
but both are certainly temporary states.

Cheers,
-- 
Pierre

@pierrejoye | http://blog.thepimp.net | http://www.libgd.org

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Stas Malyshev

Hi!

On 9/2/11 2:51 PM, Ulf Wendel wrote:

if you are really concerned about tests, aren't you a bit late, are all
the 5.3 releases to be considered instable. I mean, they use the same


The fact that 5.3 had so many failing tests is nothing good, but we 
can't fix the past. We can try to make it not happen in the future - 
namely, in 5.4.



tests. Andrey may know better, but I even assume mysqlnd to be very,
very similar in 5.3 and 5.4. How strong is your argument, how many
critical differences are you aware of that prevent a config.m4 change?


None of these issues prevent the default change, the default change is a 
completely separate issue. I just think introducing another issue to 
deal with - and literally days before the release, without any serious 
discussion - is wrong. We were burned so many times on this, and there's 
absolutely no reason to rush with it.


This is absolutely different and unrelated issue to the issue of unit 
tests, except for the fact that I do this there's a reason to rush with 
that and I want our energies rather be spent on that.



With all given respect, I think you are going a bit far here. You seem
to be extrapolating from test x does not work in configuration y to z
is instable/incompatible with y.


Oh no, I didn't make any claims about mysqlnd being unstable, if I said 
something that can be understood that I have misspoken and that's not 
what I meant to say. I'm just trying to avoid late-minute changes 
without enough consideration.

--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Rasmus Lerdorf
On 09/02/2011 12:24 PM, Stas Malyshev wrote:
 Hi!
 
 On 9/2/11 12:17 PM, Christopher Jones wrote:
 I'm +1 for this.  I think the decision  implementation needs to be done
 before Beta or deferred to trunk.
 
 Frankly, I'd be more comfortable with trunk. We have enough trouble with
 unit tests etc. before the beta, and introducing profound change in
 default without enough time for discussion and gathering feedback from
 packagers, etc. doesn't look a smart thing to do.

I would agree with this if the mysqlnd option had more test failures
than the current default. But right now it it the complete opposite.
Linking with mysqlnd has far fewer test failures than linking with
whatever libmysql happens to be installed on the system.

One of the goals before the beta is to get to 0 failed tests for a
common build. Unless you simply skip all the failing libmysql tests,
that's going to be hard to do unless we move the default to a more
robust library. That doesn't mean we shouldn't fix all the weird
libmysql test failures. Heck, 2 of the tests segfault PHP on my Ubuntu
box when I link against libmysql, so there are some serious problems there.

-Rasmus

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Rasmus Lerdorf
On 09/02/2011 01:17 PM, Lester Caine wrote:
 Rasmus Lerdorf wrote:
 I was actually going to suggest doing this in 5.4 and trunk but didn't
 get around to writing the email yet.
 
 It would still be nice to be able to simply switch off MySQL for those
 of us who do not have it installed ...
 It gets annoying when PHP forces the installation of MySQL in a
 distribution and then prevents disabling it. It is another example of
 why a more modular approach does make sense!

I have no idea what you mean. We don't force MySQL in any way.
If you grab the PHP code and do: ./configure  make
there is absolutely no MySQL. You have to explictly do --with-mysql to
get MySQL support just like you have to enable other non-default extensions.

What the Oracle/MySQL guys are suggesting is simply that when you do
specify --with-mysql the default should be mysqlnd.

-Rasmus

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Stas Malyshev

Hi!

On 9/2/11 4:45 PM, Rasmus Lerdorf wrote:

One of the goals before the beta is to get to 0 failed tests for a
common build. Unless you simply skip all the failing libmysql tests,
that's going to be hard to do unless we move the default to a more
robust library. That doesn't mean we shouldn't fix all the weird


How moving default changes anything?
--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Rasmus Lerdorf
On 09/02/2011 05:56 PM, Stas Malyshev wrote:
 Hi!
 
 On 9/2/11 4:45 PM, Rasmus Lerdorf wrote:
 One of the goals before the beta is to get to 0 failed tests for a
 common build. Unless you simply skip all the failing libmysql tests,
 that's going to be hard to do unless we move the default to a more
 robust library. That doesn't mean we shouldn't fix all the weird
 
 How moving default changes anything?

Well, we are not trying to get to 0 failed tests in all permutations of
all extensions on all platforms. We are trying to get to 0 failed tests
on a common-case build using defaults and common extensions. Given that,
changing a default has an impact on the 0-failed-tests goal.

-Rasmus

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Rasmus Lerdorf
On 09/02/2011 05:56 PM, Stas Malyshev wrote:
 Hi!
 
 On 9/2/11 4:45 PM, Rasmus Lerdorf wrote:
 One of the goals before the beta is to get to 0 failed tests for a
 common build. Unless you simply skip all the failing libmysql tests,
 that's going to be hard to do unless we move the default to a more
 robust library. That doesn't mean we shouldn't fix all the weird
 
 How moving default changes anything?

Well, we are not trying to get to 0 failed tests in all permutations of
all extensions on all platforms. We are trying to get to 0 failed tests
on a common-case build using defaults and common extensions. Given that,
changing a default has an impact on the 0-failed-tests goal.

-Rasmus

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Stas Malyshev

Hi!

On 9/2/11 6:02 PM, Rasmus Lerdorf wrote:

Well, we are not trying to get to 0 failed tests in all permutations of
all extensions on all platforms. We are trying to get to 0 failed tests
on a common-case build using defaults and common extensions. Given that,
changing a default has an impact on the 0-failed-tests goal.


Nobody talks about all permutations of all platforms, let's not be 
absurd here. However, there's a distance between all permutations of 
all platforms and we'll be ignoring failures on libmysql. libmysql 
*is* the common case build and the one most people would be running in 
production, at least as far as I see around.
So are you saying we'll be ignoring failures on libmysql? If we're not, 
changing the default doesn't have any impact on the 0-failed-tests goal. 
If you're saying we will, I think it would be a huge mistake - we'd do 
better skipping out problematic tests (which I also think is wrong, 
especially if these tests discover API incompatibility which shouldn't 
even exist between mysqlnd and libmysql) than just ignore the failures. 
We all see where ignoring failed tests got us. Let's not set ourselves 
for this again from the start.

--
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Reindl Harald


Am 03.09.2011 03:08, schrieb Stas Malyshev:
 Hi!
 
 On 9/2/11 6:02 PM, Rasmus Lerdorf wrote:
 Well, we are not trying to get to 0 failed tests in all permutations of
 all extensions on all platforms. We are trying to get to 0 failed tests
 on a common-case build using defaults and common extensions. Given that,
 changing a default has an impact on the 0-failed-tests goal.
 
 libmysql *is* the common case build and the one most people would be running 
 in production

but WHY is this so and are we not talking about the future here?

because it is the default
because there are two code-paths supported

why not remove libmysql-support completly?
is mysqlmd missing anything?
if yes - it should be improved

the benefits are:
* ONE codebase of mysql-drivers
* ONE codebase autotests rely on
* no install-dependencies for mysql-client
* faster
* less memory usage





signature.asc
Description: OpenPGP digital signature


Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Daniel Convissor
Hi Folks:

On Fri, Sep 02, 2011 at 06:08:59PM -0700, Stas Malyshev wrote:
 we'd do better skipping out problematic tests (which
 I also think is wrong, especially if these tests discover API
 incompatibility which shouldn't even exist between mysqlnd and
 libmysql) than just ignore the failures.

I don't know why there are differences in the output between mysqlnd and
libmysql.  It would be nice if there weren't.  But if that can't be,
two options come to mind for testing each feature:

a) have the feature tested against the lowest common denominator (by
either using expressions in an EXPECTF section or only producing output
that is consistent).

b) have two tests for the feature (one for mysqlnd and another for
libmysql, with SKIP's being emitted when running on the opposite
platform).

But what do I know...

--Dan

-- 
 T H E   A N A L Y S I S   A N D   S O L U T I O N S   C O M P A N Y
data intensive web and database programming
http://www.AnalysisAndSolutions.com/
 4015 7th Ave #4, Brooklyn NY 11232  v: 718-854-0335 f: 718-854-0409

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4

2011-09-02 Thread Rasmus Lerdorf
On 09/02/2011 06:08 PM, Stas Malyshev wrote:
 Hi!
 
 On 9/2/11 6:02 PM, Rasmus Lerdorf wrote:
 Well, we are not trying to get to 0 failed tests in all permutations of
 all extensions on all platforms. We are trying to get to 0 failed tests
 on a common-case build using defaults and common extensions. Given that,
 changing a default has an impact on the 0-failed-tests goal.
 
 Nobody talks about all permutations of all platforms, let's not be
 absurd here. However, there's a distance between all permutations of
 all platforms and we'll be ignoring failures on libmysql. libmysql
 *is* the common case build and the one most people would be running in
 production, at least as far as I see around.

Ah yes, but is that because they have actively chosen to use libmysql or
is it because our default is libmysql. It is buggier and less robust
than mysqlnd at this point, at least in my experience, so who are we
helping by leaving libmysql as the default?

Forget the failed tests. A new PHP release is about improving the
ecosystem. If the folks that maintain libmysql and mysqlnd suggest that
mysqlnd is more robust and it is the path forward, why would we resist
this? Do we not trust Oracle/MySQL enough to listen to their input?

-Rasmus

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php