From: | Dmitriy Igrishin <dmitigr(at)gmail(dot)com> |
---|---|
To: | Giovanni Mascellani <g(dot)mascellani(at)gmail(dot)com> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: About large objects asynchronous and non-blocking support |
Date: | 2013-06-07 20:52:26 |
Message-ID: | CAAfz9KMKdTrA14yhZJj7t07iE7SZdX6kqi-aT_smXohve4jD9w@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
2013/6/8 Giovanni Mascellani <g(dot)mascellani(at)gmail(dot)com>
> Hi.
>
> Il 05/06/2013 22:52, Dmitriy Igrishin ha scritto:
> >> At the moment libpq doesn't seem to support asynchronous and
> >> non-blocking support for large objects, in the style of
> >> PQsendQuery/PQgetResult. This makes large objects hardly suited for
> >> single-threaded programs based on some variant of select().
> >>
> > According to http://www.postgresql.org/docs/9.2/static/lo-funcs.html
> > "There are server-side functions callable from SQL that correspond to
> each
> > of
> > the client-side functions". Hence, you can call these functions by using
> > asynchronous API.
>
> Thanks, I'll try this way (BTW, it may help to specify on the
> documentation that lo_read and lo_write lose the "_"). I wonder whether
> having to escape all the content for lowrite can't have a negative
> impact on performances. It shouldn't be too bad for my case, though.
>
You may avoid escaping bytea data by using PQsendPrepare,
PQsendQueryPrepared specifying binary data format.
--
// Dmitriy.
From | Date | Subject | |
---|---|---|---|
Next Message | Joshua D. Drake | 2013-06-07 23:10:24 | Re: Bad error message on valuntil |
Previous Message | David Johnston | 2013-06-07 20:41:55 | Re: Bad error message on valuntil |