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 respectfully disagree. :)

Cores are plentiful, disk is plentiful, memory is plentiful.  What
isn't?  Developers and DBAs.  So, given a choice of clean, stable, and
standardized interfaces vs. developers hacking on internals (and having
to understand the mess), I prefer stable public interfaces via an object.

Furthermore, there is nothing preventing inlining of public interface
methods on a class object.  Given this, I fail to see where performance
regression would be significant.  I'd prefer to let compiler developers
handle performance issues of this nature.  Optimizing for this kind of
thing gets us into a situation like, well, like what we have today.

-j

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to