# Ngx\_drizzle v0.1.0 released: now runs with mysql 5.5+ w/o patching libdrizzle

**URL:** <https://www.ruby-forum.com/t/ngx-drizzle-v0-1-0-released-now-runs-with-mysql-5-5-w-o-patching-libdrizzle/209082>\
**Category:** NGINX\
**Created:** [July 5, 2011, 12:13pm UTC](https://www.ruby-forum.com/t/ngx-drizzle-v0-1-0-released-now-runs-with-mysql-5-5-w-o-patching-libdrizzle/209082 "2011-07-05T12:13:03Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![dubstep](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/cdc98d/32.png) [@dubstep](https://www.ruby-forum.com/u/dubstep)\
**Post date:** [July 5, 2011, 12:13pm UTC](https://www.ruby-forum.com/t/ngx-drizzle-v0-1-0-released-now-runs-with-mysql-5-5-w-o-patching-libdrizzle/209082/1 "2011-07-05T12:13:03Z")

</div>

Hi, folks!

I’m happy to announce the ngx\_drizzle module’s v0.1.0 release, which  
includes lots of bug fixes and new features accumulated in the last 8  
months:

[https://github.com/chaoslawful/drizzle-nginx-module/downloads](https://github.com/chaoslawful/drizzle-nginx-module/downloads)

The most exciting thing about this release is that we can now work  
with the latest libdrizzle 1.0 without patches on at least Linux and  
Mac OS X. And we can now connect to MySQL 5.5+ and we’re now more  
stable under load.

This is an nginx upstream module integrating libdrizzle  
([Drizzle in Launchpad](https://launchpad.net/drizzle) ) into nginx in an non-blocking and  
streamming way.

Essentially it provides a very efficient and flexible way for nginx  
internals to access mysql, drizzle, as well as other RDBMS’s that  
support the drizzle protocol or mysql protocol. Also it can serve as a  
direct REST interface to those RDBMS backends. Alternatively it can be  
invoked by other modules like ngx\_lua via subrequests.

It also has a builtin per-worker connection pool mechanism.

Check out its project page for the full documentation:

[GitHub - openresty/drizzle-nginx-module: an nginx upstream module that talks to mysql and drizzle by libdrizzle](https://github.com/chaoslawful/drizzle-nginx-module)

This module is included in the ngx\_openresty bundle:  
[http://openresty.org](http://openresty.org)

Here goes the complete change log for this release:

- now we require at least libdrizzle 1.0, which supports official  
mysql 5.5+ and is much more stable under load. thanks Taylor Weibley  
for pushing this. We no longer require patching libdrizzle any more.

- fixed a compilation issue on Mac OS X: we should include drizzle.h  
prior to nginx headers, or we will not get the “bool” type properly  
installed on Mac OS X.

- fixed the spots that trigger -Wunused-but-set-variable by gcc 4.6.

- fixed the duplicate last chunk issue: we should not set the last\_buf  
flag ourselves in drizzle\_output.c because ngx\_http\_upstream already  
sends a last buf for us.

- ported over Maxim D.'s patch for ngx\_http\_upstream\_keepalive  
connection pool fixes: we should have discarded stale read events for  
cached tcp connections in the pool.

- implemented the new drizzle\_status directive to provide connection  
pool status monitoring capability.

- fixed a minor bug in the connection pool: we should resume the  
“name”, “sockaddr”, and “socklen” fields for the connection from the  
pool such that we can get more detailed error log messages with the  
“upstream: drizzle://ip.add.re.ss:port” bit.

- implemented the $drizzle\_thread\_id variable which is automatically  
set when mysql/drizzle times out.

- now we use the 2-clause bsd license.

- report an error message when upstream name not found for drizzle\_pass.

- now we implemented the charset option for the “drizzle\_server”  
diredctive which causes ngx\_drizzle send “set names xxx” automatcially  
for every connection to that drizzle server.

- added a lot of more documentation.

Enjoy!  
-agentzh
