Hi Monty, You don't need to take all of libdrizzle in order to get the protocol testing suite. This is being developed independently and can be copied into any project. I'm currently keeping it in both libdrizzle and drizzle projects. You can always sync from one of these sources. As far as libdrizzle in general, I talked to Arjen at LCA and we said in order to make libdrizzle more useful for the general MySQL community, a binding layer would need to exist to provide a compatible API, possibly even ABI like you mentioned. This is on my TODO list. :) Of course, some of the real benefits of using libdrizzle, like concurrent query support, will come using the native interface and not a libmysql binding. -Eric On Tue, Feb 23, 2010 at 03:39:37PM +0200, Michael Widenius wrote:
Hi!
"Eric" == Eric Day <eday@oddments.org> writes:
Eric> Hi Sergei! Eric> Like I mentioned, this will be a tool written in Python that tests Eric> all the edge cases for the MySQL and Drizzle protocols. Currently I'm Eric> through the handshake code, and will be looking at command and result Eric> processing next. This is to make sure we guarantee compatibility as Eric> we re-write the protocol code in Drizzle.
Eric> This will be part of the libdrizzle project, so free to use and Eric> contribute to it! I've not pushed anything up yet, but probably will Eric> do so by the end of this week. I'll send you a link once I push it up.
Thanks, we will look into this shortly.
There is two issues I can think of with using libdrizzle with MariaDB:
- The client api is not binary compatible with MySQL. This is a problem as we would like to be binary compatible with MySQL's client library so that anyone can just replace MySQL with MariaDB packages without having to recompile the clients.
- libdrizzle doesn't support, as far as I know, some MySQL features like prepared statements. Do you have a full list of what things are not supported in libdrizzle compared to libmysql?
I would also like to do a full benchmarks to compare libdrizzle with libmysql to know how the libraries compare speedwise; I have already asigned this task to hakan.
Regards, Monty