Hi! On Nov 18, 2009, at 7:04 PM, Toru Maesaka wrote:
> I was talking to Yasufumi Kinoshita (CC'd) couple of weeks ago about > engine API differences and how it would be awesome if someone wrote a > generic wrapper that can absorb the API differences. I suspect a lot > of dirty work will need to be done to pull off this wrapper and we 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. For instance in our world we pass proto to engines to define tables (aka StorageEngine->doCreateTable()). Sometime in the very near future proto will represent the entire table definition, aka... there will be not Table or HA_CREATE_INFO structures passed. You will need to walk the proto for the definition (stable API! What do you know!). 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...). Hell, fairly soon I believe we can just push down multiple index bits on a typical index call (which Innodb can handle). I could go on... but basically this ain't Kansas anymore! Cheers, -Brian > should wait until Drizzle's storage API becomes stable (that is, no > more frequent changes). > > Cheers, > Toru > > >>>> I see, yes. Or...it may be possible to have an ha_pbxt_mysql.cc (or .c) >>>> file and a pbxt_storage_engine.cc file for Drizzle only. The reason I >>>> suggest this is that there are some massive changes to the StorageEngine >>>> API for Drizzle. Using references instead of pointers is just the tip of >>>> the iceberg. But, since PBXT's code is quite clean and modularized, >>>> making a Drizzle wrapper and a MySQL wrapper really shouldn't be too >>>> difficult, and creating the Drizzle wrapper is something we are eager to >>>> help do! :) > > On Thu, Nov 19, 2009 at 3:22 AM, Brian Aker <[email protected]> wrote: >> Hi! >> >> On Nov 18, 2009, at 9:53 AM, Paul McCullagh wrote: >> >>> And, if you guys can help me on it then, even better! :) >>> It will also be nice for me to clean some of the #defines out of ha_pbxt.cc! >> >> Once we know that PBXT if running just fine, I would like to see hudson >> queues added for it, that is assuming you are game for that. I am happy to >> handle merges from the drizzle side when they deal with interface changes. >> >> I'm CC'ing Toru on this as well. Since the same could be done with Blitz if >> he wants to make it an active project in the system. >> >> Cheers, >> -Brian >> >>> >>> On Nov 18, 2009, at 6:40 PM, Brian Aker wrote: >>> >>>> Hi! >>>> >>>> I would break out the StorageEngine class to its own file. I've still got >>>> some major changes that will be coming through that before it is done. The >>>> next big change will be TableIdentifiers and those will touch all of the >>>> do*() methods. >>>> >>>> Also, we are nearing the end of where an engine will need store_lock(), >>>> and I suspect that for some engines this will mean they will no longer >>>> need a share. >>>> >>>> Cheers, >>>> -Brian >>>> >>>> On Nov 18, 2009, at 9:21 AM, Jay Pipes wrote: >>>> >>>>> Paul McCullagh wrote: >>>>>> Thanks, Jay, we missed that one. >>>>>> Just push your changes, and they will find their way into the PBXT trunk. >>>>>> I think we will have to put an #ifdef DRIZZLED around it because the >>>>>> create_info->options version is required by MySQL. >>>>> >>>>> I see, yes. Or...it may be possible to have an ha_pbxt_mysql.cc (or .c) >>>>> file and a pbxt_storage_engine.cc file for Drizzle only. The reason I >>>>> suggest this is that there are some massive changes to the StorageEngine >>>>> API for Drizzle. Using references instead of pointers is just the tip of >>>>> the iceberg. But, since PBXT's code is quite clean and modularized, >>>>> making a Drizzle wrapper and a MySQL wrapper really shouldn't be too >>>>> difficult, and creating the Drizzle wrapper is something we are eager to >>>>> help do! :) >>>>> >>>>> Cheers! >>>>> Jay >>>>> >>>>>> But we can do that when we merge into the PBXT trunk. >>>>>> On Nov 18, 2009, at 5:51 PM, Jay Pipes wrote: >>>>>>> Vladimir Kolesnikov wrote: >>>>>>>> Hi all! >>>>>>>> I have just pushed an important fix for a bug that sometimes caused >>>>>>>> index scans to hang. Rev.1052. >>>>>>> >>>>>>> Hi! >>>>>>> >>>>>>> Just pulled latest and am getting the following compile error: >>>>>>> >>>>>>> btw, I am using: gcc 4.3.2 and configure'ing --with-debug >>>>>>> >>>>>>> It is the --with-debug that will show the failures.... >>>>>>> >>>>>>> plugin/pbxt/src/ha_pbxt.cc: In member function ‘virtual int >>>>>>> PBXTStorageEngine::doCreateTable(Session*, const char*, Table&, >>>>>>> HA_CREATE_INFO&, drizzled::message::Table&)’: >>>>>>> plugin/pbxt/src/ha_pbxt.cc:5412: error: base operand of ‘->’ has >>>>>>> non-pointer type ‘st_ha_create_information’ >>>>>>> >>>>>>> The fix is simple. Line 5412 must change from: >>>>>>> >>>>>>> XT_PRINT2(self, "create (%s) %s\n", table_path, (create_info->options & >>>>>>> HA_LEX_CREATE_TMP_TABLE) ? "temporary" : ""); >>>>>>> >>>>>>> to: >>>>>>> >>>>>>> XT_PRINT2(self, "create (%s) %s\n", table_path, (create_info.options & >>>>>>> HA_LEX_CREATE_TMP_TABLE) ? "temporary" : ""); >>>>>>> >>>>>>> After that, compiles just fine. :) >>>>>>> >>>>>>> Cheers! >>>>>>> >>>>>>> Jay >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Mailing list: https://launchpad.net/~drizzle-discuss >>>>>>> Post to : [email protected] >>>>>>> Unsubscribe : https://launchpad.net/~drizzle-discuss >>>>>>> More help : https://help.launchpad.net/ListHelp >>>>>> -- >>>>>> Paul McCullagh >>>>>> PrimeBase Technologies >>>>>> www.primebase.org >>>>>> www.blobstreaming.org >>>>>> pbxt.blogspot.com >>>>> >>>>> >>>>> _______________________________________________ >>>>> Mailing list: https://launchpad.net/~drizzle-discuss >>>>> Post to : [email protected] >>>>> Unsubscribe : https://launchpad.net/~drizzle-discuss >>>>> More help : https://help.launchpad.net/ListHelp >>>> >>> >>> >>> >>> -- >>> Paul McCullagh >>> PrimeBase Technologies >>> www.primebase.org >>> www.blobstreaming.org >>> pbxt.blogspot.com >>> >>> >>> >> >> _______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

