Re: [Maria-developers] protocol testing tool
Hi Sergei! Like I mentioned, this will be a tool written in Python that tests all the edge cases for the MySQL and Drizzle protocols. Currently I'm through the handshake code, and will be looking at command and result processing next. This is to make sure we guarantee compatibility as we re-write the protocol code in Drizzle. This will be part of the libdrizzle project, so free to use and contribute to it! I've not pushed anything up yet, but probably will do so by the end of this week. I'll send you a link once I push it up. -Eric On Tue, Feb 09, 2010 at 01:18:24PM +0100, Sergei Golubchik wrote:
Hi, Eric
> "Eric" == Eric Day <eday@oddments.org> writes:
Hi! I'm working on a MySQL and Drizzle protocol testing tool, and while testing various edge cases, ......
This is interesting. I've just extended MySQL protocol [with lost of new corner cases :)] and would love to see that tested too.
Can you tell more about this work of yours ?
Regards, Sergei
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
Eric, Sorry for being dense...do you have a link so others can look at the code? Thanks. On Tue, Feb 23, 2010 at 8:39 AM, Michael Widenius <monty@askmonty.org>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
_______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Hi! You can find it at https://launchpad.net/libdrizzle, or just bzr branch lp:libdrizzle. -Eric On Tue, Feb 23, 2010 at 08:49:58AM -0500, Adam M. Dutko wrote:
Eric, A A A Sorry for being dense...do you have a link so others can look at the code? Thanks. On Tue, Feb 23, 2010 at 8:39 AM, Michael Widenius <monty@askmonty.org> 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. A This is a problem as we would like to be binary compatible with A MySQL's client library so that anyone can just replace MySQL with A MariaDB packages without having to recompile the clients.
- libdrizzle doesn't support, as far as I know, some MySQL features A like prepared statements. A Do you have a full list of what things are not supported in A 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
_______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to A A : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help A : https://help.launchpad.net/ListHelp
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
participants (3)
-
Adam M. Dutko
-
Eric Day
-
Michael Widenius