State of libmysql?

  106086
June 28, 2019 12:59 nikita.ppv@gmail.com (Nikita Popov)
Hi internals,

Building PHP 7.4 against libmysql rather than mysqlnd has been broken for
quite a while and only recently noticed in
https://github.com/php/php-src/pull/4316. Clearly none of us are using
libmysql and none of our CI jobs test it. Now that it compiles again, there
are many build warnings, as well as about 10 failing PDO MySQL tests and 20
failing MySQLi tests.

This is not good. I think that we either need an interested party to
support these bindings, or else drop support for building against libmysql.

Regards,
Nikita
  106087
June 28, 2019 13:04 Remi Collet <remi@fedoraproject.org>
--bxEFo1OgOnoc6PhGSjjBiM1q1blFulGI9
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

Le 28/06/2019 =C3=A0 14:59, Nikita Popov a =C3=A9crit=C2=A0:
> Hi internals, >=20 > Building PHP 7.4 against libmysql rather than mysqlnd has been broken f= or
> quite a while and only recently noticed in > https://github.com/php/php-src/pull/4316. Clearly none of us are using > libmysql and none of our CI jobs test it. Now that it compiles again, t= here
> are many build warnings, as well as about 10 failing PDO MySQL tests an= d 20
> failing MySQLi tests. >=20 > This is not good. I think that we either need an interested party to > support these bindings, or else drop support for building against libmy= sql.
+1 to drop support for libmysqlclient. BTW license is NOT compatible with PHP. Remi
>=20 > Regards, > Nikita >=20
--bxEFo1OgOnoc6PhGSjjBiM1q1blFulGI9--
  106089
June 28, 2019 15:00 johannes@schlueters.de (Johannes =?ISO-8859-1?Q?Schl=FCter?=)
On Fri, 2019-06-28 at 15:04 +0200, Remi Collet wrote:
> Le 28/06/2019 à 14:59, Nikita Popov a écrit : > > Hi internals, > > > > Building PHP 7.4 against libmysql rather than mysqlnd has been > > broken for > > quite a while and only recently noticed in > > https://github.com/php/php-src/pull/4316. Clearly none of us are > > using > > libmysql and none of our CI jobs test it. Now that it compiles > > again, there > > are many build warnings, as well as about 10 failing PDO MySQL > > tests and 20 > > failing MySQLi tests. > > > > This is not good. I think that we either need an interested party > > to > > support these bindings, or else drop support for building against > > libmysql.
I think andrey did some experiments reccently. I haven't looked into it in a while. There are sometimes benefits where some operations can be used via libmysql, but not mysqlnd, while mysqlnd has benefits. Dropping libmysql-support would make the code easier, but also limit abilities. (especially in case where mariadb and mysql protocol diverge)
> +1 to drop support for libmysqlclient. > > BTW license is NOT compatible with PHP.
I am no lawyer, but imo that is incorrect. a) libmysql is licensed under GPL+universal FOSS exception, which allows combination with OSI-approved licenses, to which PHP License belongs https://oss.oracle.com/licenses/universal-foss-exception/ b) there is a commercial version of libmysql, which doesn't have GPL's virality johannes
  106156
July 5, 2019 12:00 nikita.ppv@gmail.com (Nikita Popov)
On Fri, Jun 28, 2019 at 5:00 PM Johannes Schlüter <johannes@schlueters..de>
wrote:

> On Fri, 2019-06-28 at 15:04 +0200, Remi Collet wrote: > > Le 28/06/2019 à 14:59, Nikita Popov a écrit : > > > Hi internals, > > > > > > Building PHP 7.4 against libmysql rather than mysqlnd has been > > > broken for > > > quite a while and only recently noticed in > > > https://github.com/php/php-src/pull/4316. Clearly none of us are > > > using > > > libmysql and none of our CI jobs test it. Now that it compiles > > > again, there > > > are many build warnings, as well as about 10 failing PDO MySQL > > > tests and 20 > > > failing MySQLi tests. > > > > > > This is not good. I think that we either need an interested party > > > to > > > support these bindings, or else drop support for building against > > > libmysql. > > I think andrey did some experiments reccently. I haven't looked into it > in a while. There are sometimes benefits where some operations can be > used via libmysql, but not mysqlnd, while mysqlnd has benefits. > Dropping libmysql-support would make the code easier, but also limit > abilities. (especially in case where mariadb and mysql protocol > diverge) >
I think that having libmysql support is in principle valuable, but it needs to be maintained. I'd prefer to have no libmysql support over having broken support. Is there anyone who is interested in fixing the current test failures? I think it will be manageable to maintain this code once we have a clean CI build set up, but someone with MySQL familiarity needs to bring the tests in shape first. Nikita
> +1 to drop support for libmysqlclient. > > > > BTW license is NOT compatible with PHP. > > I am no lawyer, but imo that is incorrect. > > a) libmysql is licensed under GPL+universal FOSS exception, which > allows combination with OSI-approved licenses, to which PHP License > belongs https://oss.oracle.com/licenses/universal-foss-exception/ > b) there is a commercial version of libmysql, which doesn't have GPL's > virality > > johannes > > > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >