Welcome! Log In Create A New Profile

Advanced

Re: Accessing binary blob data in MySQL backend

agentzh
June 01, 2011 12:04AM
On Tue, May 31, 2011 at 11:50 PM, Piotr Sikora <piotr.sikora@frickle.com> wrote:
> There is no formal specification, but you can learn everything from
> ngx_drizzle / ngx_postgres sources.
>

There's a specification for the RDS binary format in ngx_drizzle's README file:

http://github.com/chaoslawful/drizzle-nginx-module

See the Output section there.

> Take a look at those 3 files:
>
> https://github.com/chaoslawful/drizzle-nginx-module/blob/master/t/sanity.t
> https://github.com/chaoslawful/drizzle-nginx-module/blob/master/src/resty_dbd_stream.h
> https://github.com/chaoslawful/drizzle-nginx-module/blob/master/src/ngx_http_drizzle_output.c
>

A generic RDS parser can be built based on these C source and header files.

>> and why the use of the database modules for Nginx for lua-nginx more or
>> less enforces the use of JSON. There might be some valid points for this
>> design decision and I would be interested to hear about them. It is also
>> unclear to me if accessing the RDS data directly from lua-nginx is possible.
>
> Because JSON parsers for Lua were already available ;)
> Anyway, I believe that agentzh was/is working on RDS parser for Lua.
>

Yeah, I'll work on the RDS API for ngx_lua, for example:

local lua_table = ngx.from_rds(some_rds_binary)
local rds_binary = ngx.to_rds(some_lua_table)

>> Any ideas on that more than welcome :-)
>
> Not sure if this is helpful, but you can return binary data from PostgreSQL
> (you should be using PostgreSQL instead of MySQL anyway :P) using
> ngx_postgres with "postgres_output" directive. There is a reason why there
> is no "drizzle_output" directive, but I'll let agentzh comment on that.
>

We surely *can* implement a drizzle_output directive though it's much
more difficult than ngx_postgres because ngx_drizzle is designed to
work in a streaming fashion while libpq in the Pg world always buffer
the whole resultset.

It seems that I still do have a lot of interesting stuffs to work on,
huh? ;) Well, the focus in the future will, however, be on developing
a full-fledged non-blocking streaming mysql C driver from scratch for
nginx because both libmysql and libdrizzle are sad in one way or
another.

Cheers,
-agentzh

_______________________________________________
nginx mailing list
nginx@nginx.org
http://nginx.org/mailman/listinfo/nginx
Subject Author Posted

Accessing binary blob data in MySQL backend

csg May 31, 2011 07:20AM

Re: Accessing binary blob data in MySQL backend

Igor Sysoev May 31, 2011 09:58AM

Re: Accessing binary blob data in MySQL backend

SplitIce May 31, 2011 10:08AM

Re: Accessing binary blob data in MySQL backend

Igor Sysoev May 31, 2011 10:34AM

Re: Accessing binary blob data in MySQL backend

SplitIce May 31, 2011 10:40AM

Re: Accessing binary blob data in MySQL backend

csg May 31, 2011 10:48AM

Re: Accessing binary blob data in MySQL backend

SplitIce May 31, 2011 11:32AM

Re: Accessing binary blob data in MySQL backend

csg May 31, 2011 10:42AM

Re: Accessing binary blob data in MySQL backend

mow May 31, 2011 10:54AM

Re: Accessing binary blob data in MySQL backend

csg May 31, 2011 11:05AM

Re: Accessing binary blob data in MySQL backend

Igor Sysoev May 31, 2011 11:10AM

Re: Accessing binary blob data in MySQL backend

csg May 31, 2011 11:24AM

Re: Accessing binary blob data in MySQL backend

Piotr Sikora May 31, 2011 11:52AM

Re: Accessing binary blob data in MySQL backend

agentzh June 01, 2011 12:04AM

Re: Accessing binary blob data in MySQL backend

csg June 01, 2011 02:12AM

Re: Accessing binary blob data in MySQL backend

mow May 31, 2011 11:44AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 174
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready