On behalf of the ngx_dbd team, I’m happy to announce the new releases
of the ngx_drizzle and ngx_rds_json modules.
Here’s a brief list of (major) changes since their last releases:
Fixed a nasty bug in ngx_drizzle’s connection pool. Now the
drizzle_keepalive directive’s overflow=reject option works for real
now. Thanks Piotr S. for reporting this issue. (agentzh)
Updated the Resty DBD Stream (RDS) format to version 0.0.3 which
specifies that SQL NULL field values are represented by setting field
length == (uint32_t) -1 and empty trailing data section. Thanks Piotr
Sikora for reporting this issue. (agentzh)
ngx_drizzle and ngx_json now both supports RDS v0.0.3 and can
differentiate SQL NULL values and SQL empty strings (""). (agentzh)
Now we postpone the header sending action after we parse the RDS
header. So errors in RDS headers can result in proper 500 response
headers. Thanks Piotr S. for suggesting this. (agentzh)
Fixed a small bug in ngx_rds_json that may cause random hang. (This
bug also appeared in my fork of ngx_eval, fixed there as well.)
ngx_drizzle now returns 500 Internal Server Error instead of 502
Bad Gateway for bad SQL queries, bad tables, DB connection failures.
Fixed a bug that could cause double free in ngx_drizzle. (Piotr
ngx_drizzle now works with libdrizzle 0.7 and 0.8.
Piotr S. does have more fixes and/or improvements in his
ngx_postgres module that is expected to be back-ported to ngx_drizzle
some time in the near future
P.S. The original creator of the ngx_drizzle project, chaoslawful, is
currently working on ngx_lua and he’s got something runnable already.
We’ll make the first public release of ngx_lua in the near future.