* monty@stripped <monty@stripped> [07/07/30 07:32]:
> ChangeSet@stripped, 2007-07-30 06:22:25+03:00, monty@stripped +3 -0
> Add 'extension' field to all client library structures to make them extensible
> Reorder structure elements to make structures smaller and faster on 64 bit systems
> This is a first step in cleaning up the client include files (but should be enough
> to allow us to do future fixes without breaking the library)
> This change is part of WL#2872, Make client library extensible.
Hello Monty,
I think this solution inadequate, it will be difficult to
maintain.
E.g. if we want to re-structure the client
implementation in future -- by moving out common members, or,
say, merging common parts of MYSQL_STMT and MYSQL, we won't be
able to do that without breaking the ABI again.
I believe we should pay the price and replace all structures with
opaque pointers.
> enum mysql_option
> @@ -211,6 +213,7 @@ struct st_mysql_options {
> void (*local_infile_end)(void *);
> int (*local_infile_error)(void *, char *, unsigned int);
> void *local_infile_userdata;
> + void *extension;
> };
--
-- Konstantin Osipov Software Developer, Moscow, Russia
-- MySQL AB, www.mysql.com The best DATABASE COMPANY in the GALAXY