"Bruce Momjian" <pgman@candle.pha.pa.us>
> I recieved this report of a failing set of queries:
>
> BEGIN;
> CREATE TABLE a (i INT);
> INSERT INTO a VALUES(1);
> DECLARE acur CURSOR FOR SELECT * FROM a;
> FETCH acur;
> \q
>
> It certainly looks like a simple set of queries.
>
> If this is done in 8.0.X the server shows:
>
> FATAL: block 0 of 1663/17230/58190 is still referenced (private 2,
> global 1)
> LOG: server process (PID 14655) exited with exit code 1
> LOG: terminating any other active server processes
> LOG: all server processes terminated; reinitializing
> LOG: database system was interrupted at 2005-03-17 23:20:52 EST
Confirmed.
Seems that's the problem of implicite end transactions. If you have a
COMMIT/ABORT after FETCH, the server is ok.
Regards,
Qingqing