Kristian Nielsen wrote: > Jay Pipes <[EMAIL PROTECTED]> writes: > >> Mats Kindahl wrote: > >>> I this we should seriously consider a robust interface into the internals >>> of the >>> server. For this purpose, the THD/Session should be an opaque pointer, and >>> then >>> be should provide a set of functions to get information from the opaque >>> pointer. >> +++ I've been arguing for this approach for a while. Zero access to >> internals except through a well-defined and documented interface (i.e. >> public methods of a class). Want to change a session variable, then >> change it via an API...not via access to a public member variable. > > I think we also need to be aware of performance. > > Eg. for storage engine plugins, I think inlined access to internals (item, > condition pushdown, ...) is necessary for best performance. For storage > engines, I think performance is more important than ABI stability. > > For other engines, performance may not be a problem, so they could use only > opaque interfaces. > > So maybe some interfaces can be opaque, and some should remain internal?
I do not agree with that (entirely), since that would force the layout of objects to be fixed, which is usually not a good idea. For some specific cases, where it is known that items are stable and critical to performance, it could be possible to provide inline functions to access the internals, but I think that should be an exception. Just my few cents, Mats Kindahl > > - Kristian. -- Mats Kindahl Lead Software Developer Replication Team MySQL AB, www.mysql.com
begin:vcard fn:Mats Kindahl n:Kindahl;Mats org:Sun Microsystems adr;quoted-printable:;;Tegv=C3=A4gen 3;Storvreta;SE;74334;Sweden email;internet:[EMAIL PROTECTED] title:Lead Replication Software Developer x-mozilla-html:FALSE version:2.1 end:vcard
_______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

