List:General Discussion« Previous MessageNext Message »
From:Sebastien FLAESCH Date:May 17 2013 2:30pm
Subject:Re: MySQL Client (libmysqlclient) compatibility policy
View as plain text  
On 05/17/2013 03:07 PM, Reindl Harald wrote:
>
>
> Am 17.05.2013 14:53, schrieb Sebastien FLAESCH:
>> On 05/17/2013 12:29 PM, Reindl Harald wrote:
>>>
>>>
>>> Am 17.05.2013 12:05, schrieb Sebastien FLAESCH:
>>>> Beside the Oracle skills debate and the stupid mistakes with soname
>>>> changes between 5.5.8 and 5.5.10 or 5.6.x, (imagine all of this did
>>>> not happen):
>>>>
>>>> I have a VERY simple question that needs a VERY CLEAR answer:
>>>>
>>>> In our distribution packages (for different platforms! not only Linux),
>>>> I need to provide mysql client binaries for different versions of mysql
>>>> client environments:
>>>>
>>>> 4.1.x
>>>> 5.1.x
>>>> 5.4.x
>>>> 5.5.x
>>>> 5.6.x
>>>>
>>>> How many binaries do I have to provide to support all these versions?
>>>>
>>>> We compile with headers of a given version and link dynamically with
>>>> -lmysqlclient of course
>>>
>>> 4.1 and 5.6 should be enough if the topic is only
>>> to connect to servers from 4.1 to 5.6, a 5.6 client
>>> will happily connct to a>= 5.1 server
>>>
>>> 4.1 has a older protocol version and is AFAIk not supported
>>> by recent client libraries, at least recent PHP versions can
>>> not connect to servers older than 5.x
>>
>> I see want you mean regarding C/S protocols but understand that:
>>
>> 1- we do not ship the MySQL client library
>
> so you must require it as dependency
>
>> 2- it's not sure that a 5.6 (or 4.1) libmysqlclient is installed.
>
> you have to make sure it
>
>> Typically, customers will install a MySQL 5.x.y server WITH the
>> corresponding 5.x.y MySQL client library (usually on the same
>> machine), then they install our software (it's a dev tool).
>
> and you only need to specify this as requirement
>
>> Until today, if we want to have a common and simple rule for all
>> plaforms, my instinct is that we better provide a binary compiled
>> and linked with each major version of the MySQL we want to support.
>
> no - typically you require the mysql libraries to be installed
> in a specific version, or ship them with your package if possible
> by license, but the latter is a bad practice because nobody will
> update the libs in case of security fixes and this perverts
> the concept of shared libraries

For sure we'll not provide the MySQL libs in our packages!

But as I wrote, we support other platforms as Linux, and AIX/HP/Solaris
or Windows users will not have rpm ou deb packages with automatic soname
lib version checking...

We have our own installation program for all Unix platforms and we need
a common rule, for different versions on these operating systems...

We cannot force customers to install a MySQL 5.6 client lib, when they have
a 5.1, 5.4 or 5.5 server, especially when installed on an old Linux where
you cannot get a more recent version of the client lib...

Further, even if migrating to the last MySQL version is possible regarding
the OS version, some customers can stay with a given db version for years
and we have to support this.

Anyway, basically I think you answered to my main compatibility question...

Didn't you? ;-)

Seb
Thread
MySQL Client (libmysqlclient) compatibility policySebastien FLAESCH18 Feb
  • Re: MySQL Client (libmysqlclient) compatibility policyReindl Harald18 Feb
  • Re: MySQL Client (libmysqlclient) compatibility policyNoel Butler18 Feb
    • Re: MySQL Client (libmysqlclient) compatibility policySebastien FLAESCH18 Feb
      • Re: MySQL Client (libmysqlclient) compatibility policySebastien FLAESCH20 Feb
        • Re: MySQL Client (libmysqlclient) compatibility policySebastien FLAESCH17 May
          • Re: MySQL Client (libmysqlclient) compatibility policyReindl Harald17 May
            • Re: MySQL Client (libmysqlclient) compatibility policySebastien FLAESCH17 May
              • Re: MySQL Client (libmysqlclient) compatibility policyReindl Harald17 May
                • Re: MySQL Client (libmysqlclient) compatibility policySebastien FLAESCH17 May
                  • Re: MySQL Client (libmysqlclient) compatibility policyReindl Harald17 May
                    • Re: MySQL Client (libmysqlclient) compatibility policySebastien FLAESCH17 May