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

