Re: [SPAM?]: Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4
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: [SPAM?]: Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4
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: [SPAM?]: Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4
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: [PHP-DEV] Make mysqlnd default over libmysql in 5.4
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: [PHP-DEV] Make mysqlnd default over libmysql in 5.4
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 6&7, 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
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
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
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
On Sun, Sep 4, 2011 at 7:59 PM, Reindl Harald 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
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
On Sun, Sep 4, 2011 at 8:08 PM, Stas Malyshev 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
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
hi, On Sun, Sep 4, 2011 at 7:52 PM, Stas Malyshev 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
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
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" wrote:
Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4
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
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
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 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
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
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 6&7, 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" 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
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
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
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
Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4
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
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
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
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
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
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
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
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
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
Re: [PHP-DEV] Make mysqlnd default over libmysql in 5.4
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
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
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
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
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
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
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
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
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/9/2 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? 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
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
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
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
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
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
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 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. 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
On Fri, 2011-09-02 at 22:48 +0200, Ferenc Kovacs wrote: > On Fri, Sep 2, 2011 at 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. > > 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
On Fri, Sep 2, 2011 at 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. 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
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
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/9/2 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. > 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
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
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
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
+1 and agree that it should be implemented before the beta. On Fri, Sep 2, 2011 at 2:58 PM, Ulf Wendel 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
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
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
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
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
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
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
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
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
[PHP-DEV] Make mysqlnd default over libmysql in 5.4
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