MySQL Proxy: from 0.6.1 to 0.7.0

The MySQL Proxy was split into

  • a chassis which handles cmdline, service, logging, plugin loading
  • a core library for the life-cycle, network handling and protocol decoding
  • a lua layer wrapping around the internals
  • a set of plugins: proxy, admin, debug, replicant

It also contains a few tools that reuse the ...

more ...

GDB: auto-stacktrace

While developing mysql-proxy I sometimes have to step-by-step refactoring that usually result in unstable code for a while until the unit-tests are happy again.

When a unit-test fails I usually use gdb as a wrapper and let it create a stack-trace for me:

$ gdb --command=backtrace.gdb --args /path/to ...
more ...

I'm not the weakest link

Joining to global effort of keeping chain-letters alive I'll do my every best in answering Jay's meme.

What are the rules ?

  • Link your original tagger(s), and list these rules on your blog.
  • Share seven facts about yourself in the post - some random, some weird.
  • Tag seven people ...
more ...


Async MySQL Queries with C-API

I was wondering for quite a while if MySQLs C-API (libmysqlclient) can really do async queries and where it is lacking support.

Scanning through the source (sql/client.c) you see:

int mysql_real_query(MYSQL *mysql, const char *query, ulong length)
{

  if (mysql_send_query(mysql,query,length))
    return 1;

  return((int) (*mysql- ...
more ...


MySQL Proxy: 0.7.0 and the way ahead

MySQL Proxy got a bunch of changes in the svn-repo over the last weeks. Most of the important changes are in and we are working on making it a good 0.7.0 release.

The important changes are:

  • script cache to improve the proxy performance
  • central low-level decoding + lua wrappers ...
more ...

Lua: Using LPEG for SQL Indenting

I have a somewhat strange relation to parser since a while. Like everyone I started with writing little parsers by hand and bounced several times against yacc and flex failing to get around their very own syntax.

Then I discovered lemon and used it in lighttpd for the configuration and ...

more ...