On Wed, Nov 18, 2009 at 07:51:04PM -0800, Brian Aker wrote:
> I'm not sure that this will really work longterm. Since we rapidly
> are approaching the day when store_lock() will not longer exist
> engines really will need to be designed a bit differently to really
> make maximum benefit of Drizzle.

I'm pretty sure the way forward is to have sep Cursor/Handler and
StorageEngine classes for MySQL and Drizzle. Otherwise the #ifdefs are
just going to be nuts (which they probably are already).

> At some point I want to remove passing the buffer in write_row() for
> example. If you want a byte array you will need to loop the Field
> (eventually Value) objects and store the results (which... you are
> probably already doing unless you are not doing blobs or not packing...).

We're going to have to be really careful not to at all screw
performance here... 

There's an on the wire record format, and then there's at least one
record format per engine (with column based engines being very
different).

we'll have to have some way to ensure we only ever have one conversion
going on, and preferably only when we *have* to blow the row over the
wire.

The ideas forming in my head now about it are a bit NdbRecord-ish.
Having a description of the record format, and perhaps having just
about all of the server go through it (the fun comes with engines
storing data types in a way that the server doesn't really
understand).

memcpy() is probably the most expensive thing we can possibly do
(apart from going to/from disk).

-- 
Stewart Smith

_______________________________________________
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