← Back to team overview

drizzle-discuss team mailing list archive

Re: Improvements to Storage Engine API


On Mon, Jan 04, 2010 at 03:08:18PM -0500, Jay Pipes wrote:
> In the long run, I don't think we should be passing anything that is
> not a GPB in the storage engine API except possibly a reference to
> the current Session object.  GPB messages can be constructed from
> anything that is now a struct or class (LEX, JOIN, etc...)  The
> advantage to a GPB message is clearly in documentation, versioning
> and serialization of course.

Very much disagree.

GPB is designed for IPC with explicit warnings about how you should
not rely on these data structures within your software as data
structures if you're not gonig to be pumping them over the wire (or
otherwise serialising them). There's also explicit advice to copy the
data out of the message into your own data structure if you have
performance critical code.

Using GPB everywhere for DDL isn't an issue - DDL is never that
performance critical. But for actual DML... it gets incredibly so. The
foo() method on a GPB class is infinitile more complex than a getFoo()
{ return foo; } method.

Stewart Smith

Follow ups