Thanks, But I don't think my question was clear enough. I already managed the connection pooling, and what I need is to serialize the result.
If PGresult was a contiguous block, I could have just create buffer and call memcpy for serialization, but structure of result seems much more complicated. So, I was asking if there is an easy way to achieve serialization Thanks! On Thu, Aug 18, 2016 at 1:33 AM, Tatsuo Ishii <is...@sraoss.co.jp> wrote: > > On 18 August 2016 at 10:05, Joshua Bay <joshuaba...@gmail.com> wrote: > > > >> Hi, > >> > >> I was trying to implement a middleware that lies between client and > >> postgres. > >> > >> So, this middleware is supposed to run query with libpq, do its job on > >> them, and then serialize the result of query, and send it to the client > ! > >> (client deserializes to PGresult) > >> > >> I could simply iterate over rows and columns but than that would be > slow. > >> I also found that query results consist of 3 parts (PGresult, tuples, > data > >> blocks). > >> > >> Could I please get some pointers ? :) > >> > >> > > Take a look at the code for PgBouncer and PgPool-II. Both implement > > PostgreSQL protocol proxies you could use as starting points. > > This one is based on Pgpool-II. > > https://github.com/treasure-data/prestogres > > Best regards, > -- > Tatsuo Ishii > SRA OSS, Inc. Japan > English: http://www.sraoss.co.jp/index_en.php > Japanese:http://www.sraoss.co.jp >