[Lazarus] MySQL 5.1
Michael Van Canneyt
michael at freepascal.org
Sun Sep 19 13:24:17 CEST 2010
On Sun, 19 Sep 2010, Joost van der Sluis wrote:
> On Sat, 2010-09-18 at 13:36 -0500, Andrew Brunner wrote:
>> Hi Michael,
>>
>> I have a wrapper API for SQL Database access. I support MySQL by way
>> of TMySQL50Connection. Since my system has the client and server at
>> 5.1 and I can hard-code this new component so I don't throw the
>> exception...
>>
>> Will an exception be thrown for all users who try to use client/server
>> 5.0 when the actual component is assigned as TMySQL51Connection? Is
>> TMySQL51Connection backwards compatible to 5.0?
>
> No. That's not possible, because Mysql 5.1 isn't backwards compatible.
What matters to Andrew (I think) is that all code will recompile as it
was, the Pascal API has not changed. It's just a matter of doing
MyConnection:=TMySQL51Connection.Create(Application)
instead of
MyConnection:=TMySQL50Connection.Create(Application)
That is all that must be changed.
All other code will be oblivious to this change, if all code
just assumes TSQLConnection (as it should). If you hardcoded
TMySQL50Connection everywhere, then I suggest changing it to
TSQLConnection with search and replace. All the rest should
continue to work as-is.
We have a TSQLonnector component, which works more or less
like the zeos connection component: you specify which connection
type must be made, and it will create the appropriate TSQLConnection
descendent and act as a proxy for that. There is still a bug, but
if we can get it fixed, it would solve many of these version problems.
Michael.
More information about the Lazarus
mailing list