On Thu, Jan 23, 2014 at 8:31 AM, Andreas Lubensky <lubensky(at)cognitec(dot)com> wrote:
> Hello,
> When implementing a database backend with libpq I realized that it seems
> to be impossible to declare a cursor on a prepared statement. Is this
> correct? What is the reason for this limitation?
I can't think of any but it can be trivially worked around:
create or replace function f() returns void as $$ declare v cursor for
select 0; $$ language sql;
prepare p as select f();
postgres=# begin;
BEGIN
postgres=# execute p;
f
---
(1 row)
postgres=# fetch all from v;
?column?
----------
0
merlin