From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | snpe <snpe(at)snpe(dot)co(dot)yu> |
Cc: | pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Re: [GENERAL] DECLARE CURSOR |
Date: | 2002-11-17 19:33:05 |
Message-ID: | 5958.1037561585@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-hackers |
snpe <snpe(at)snpe(dot)co(dot)yu> writes:
> When I call DECLARE CURSOR out of transaction command success,
> but cursor is not created
> Reference manual say that this get error :
> ERROR: DECLARE CURSOR may only be used in begin/end transaction blocks
Oops. I removed that test on 21-Oct as part of this fix:
2002-10-21 18:06 tgl
* src/: backend/access/transam/xact.c, backend/catalog/heap.c,
backend/catalog/index.c, backend/commands/dbcommands.c,
backend/commands/indexcmds.c, backend/commands/tablecmds.c,
backend/commands/vacuum.c, backend/parser/analyze.c,
include/access/xact.h: Fix places that were using
IsTransactionBlock() as an (inadequate) check that they'd get to
commit immediately on finishing. There's now a centralized routine
PreventTransactionChain() that implements the necessary tests.
My reasons for removing it were (a) it was in the wrong place (analyze.c
is not the right place to test execution-time constraints), and (b) it
was the wrong test: the test as written was just IsTransactionBlock(),
which is wrong in the case of autocommit-off, since a DECLARE CURSOR
will start a new transaction perfectly well. Another objection is that
inside a function call, it ought to be legal to do DECLARE CURSOR even
if we're not in a transaction block, since the function might intend to
use the cursor itself before returning.
I think I had intended to put together an alternative test that only
complained about interactive DECLARE CURSOR and understood about
autocommit, but I forgot.
At this point we can either add the fixed-up error check (meaning RC1
won't be the release after all), or change the documentation.
Comments?
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2002-11-17 19:39:19 | Re: pfree() core dump in 7.2.3 |
Previous Message | * Tong * | 2002-11-17 19:06:40 | Authorise root as postgres |
From | Date | Subject | |
---|---|---|---|
Next Message | Josh Berkus | 2002-11-17 19:43:33 | Press Release -- Just Waiting for Tom |
Previous Message | Tom Lane | 2002-11-17 18:25:23 | Re: btree shrinking again |