# Ngx\_drizzle v0.1.1: fixed segfaults on 32-bit systems

**URL:** <https://www.ruby-forum.com/t/ngx-drizzle-v0-1-1-fixed-segfaults-on-32-bit-systems/211922>\
**Category:** NGINX\
**Created:** [September 17, 2011, 7:14am UTC](https://www.ruby-forum.com/t/ngx-drizzle-v0-1-1-fixed-segfaults-on-32-bit-systems/211922 "2011-09-17T07:14:31Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![luislavena](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/0ea827/32.png) [@luislavena](https://www.ruby-forum.com/u/luislavena)\
**Post date:** [September 17, 2011, 7:14am UTC](https://www.ruby-forum.com/t/ngx-drizzle-v0-1-1-fixed-segfaults-on-32-bit-systems/211922/1 "2011-09-17T07:14:31Z")

</div>

Hi, folks!

I’m happy to announce that ngx\_drizzle v0.1.1 has been released. You  
can download the latest release tarball from

```
https://github.com/chaoslawful/drizzle-nginx-module/downloads

```

This release fixed a long-standing segmentation fault on 32-bit  
systems, as well as some other issues. Here goes the complete change  
log:

- fixed segmentation faults on 32-bit systems. thanks @魏世江 and  
@stefanli for reporting this issue.
- documented the $drizzle\_thread\_id variable.
- added lots of debug outputs (enabled by the --with-debug option  
while building Nginx or OpenResty), inspired by github issue #10.
- fixed issues regarding defining global variables in C header files:  
we should have defined rds\_rough\_col\_type\_t as a type rather than a  
global variable. thanks @姜大炮.
- documented the python → python3 pitfall while building libdrizzle  
1.0 on at least ArchLinux.
- fixed the automatic libdrizzle searching algorithm in the config  
file: now we should look under libdrizzle-1.0/ instead. thanks 支家乐  
(Calio) for reporting this issue.

ngx\_drizzle is an nginx upstream module integrating libdrizzle into  
Nginx in a 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 or MySQL wired protocol. Also it can serve as a  
direct REST interface to those RDBMS backends.

This module does not generate human-readable outputs, rather, in a  
binary format called Resty-DBD-Stream (RDS) designed by ourselves. You  
usually need other components, like ngx\_rds\_json [1], ngx\_rds\_csv [2],  
or lua-rds-parser [3], to work with this module. See the RDS output  
format spec for more details:

> **[HTTP Drizzle | NGINX](https://www.nginx.com/resources/wiki/modules/drizzle/)**
>
> The HTTP Drizzle module makes NGINX directly talk to MySQL or Drizzle Database servers in a nonblocking way.

You can find the complete documentation for ngx\_drizzle on Nginx Wiki:

```
http://wiki.nginx.org/HttpDrizzleModule

```

and the latest source is on GitHub:

```
https://github.com/chaoslawful/drizzle-nginx-module

```

This module is also bundled (though not enabled by default) by the  
ngx\_openresty bundle:

```
http://openresty.org/

```

You can check out this wiki page to enable this component while  
building ngx\_openresty:

```
http://openresty.org/#DrizzleNginxModule

```

Have fun!  
-agentzh

[1] [GitHub - openresty/rds-json-nginx-module: An nginx output filter that formats Resty DBD Streams generated by ngx\_drizzle and others to JSON](https://github.com/agentzh/rds-json-nginx-module)  
[2] [GitHub - openresty/rds-csv-nginx-module: Nginx output filter module to convert Resty-DBD-Streams (RDS) to Comma-Separated Values (CSV)](https://github.com/agentzh/rds-csv-nginx-module)  
[3] [GitHub - openresty/lua-rds-parser: Resty DBD Stream (RDS) parser for Lua written in C](https://github.com/agentzh/lua-rds-parser)

---

<div class="post-metadata">

**Author:** ![agentzh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@agentzh](https://www.ruby-forum.com/u/agentzh)\
**Post date:** [September 19, 2011, 7:56am UTC](https://www.ruby-forum.com/t/ngx-drizzle-v0-1-1-fixed-segfaults-on-32-bit-systems/211922/2 "2011-09-19T07:56:56Z")

</div>

Great

2011/9/17 agentzh [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![agentzh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@agentzh](https://www.ruby-forum.com/u/agentzh)\
**Post date:** [September 19, 2011, 8:00am UTC](https://www.ruby-forum.com/t/ngx-drizzle-v0-1-1-fixed-segfaults-on-32-bit-systems/211922/3 "2011-09-19T08:00:38Z")

</div>

在 2011-09-19一的 13:56 +0800，Wendal C.写道：

> ```
> https://github.com/chaoslawful/drizzle-nginx-module/downloads
> * documented the $drizzle_thread_id variable.
> libdrizzle
> 
> binary format called Resty-DBD-Stream (RDS) designed by
> 
> http://openresty.org/
> [1] https://github.com/agentzh/rds-json-nginx-module
> 
> ```
> 
> –  
> Wendal C.
> 
> * * *
> 
> nginx mailing list  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [mailman.nginx.org archive](http://mailman.nginx.org/mailman/listinfo/nginx)

Thanks for your great work of mod\_ngx\_drizzle!

太棒了，虽然不知道这个模块是做什么用的～ 还是要感谢一下～囧

–  
Best regards,  
Sharl.Jimh.Tsin (From China **Obviously Taiwan INCLUDED** )

Using Gmail? Please read this important notice:  
[Gmail — Free Software Foundation — Working together for free software](http://www.fsf.org/campaigns/jstrap/gmail?10073).

---

<div class="post-metadata">

**Author:** ![agentzh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/4da419/32.png) [@agentzh](https://www.ruby-forum.com/u/agentzh)\
**Post date:** [September 19, 2011, 8:03am UTC](https://www.ruby-forum.com/t/ngx-drizzle-v0-1-1-fixed-segfaults-on-32-bit-systems/211922/4 "2011-09-19T08:03:06Z")

</div>

这可是非常好用的东西, 我现在的项目正在用,效率很高, cool~~

2011/9/19 Sharl.Jimh.Tsin [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
