Re: Procedure support improvements

Поиск
Список
Период
Сортировка
От Laurenz Albe
Тема Re: Procedure support improvements
Дата
Msg-id e96ed2592a394d48ea925ccb56583508d7eb9bf4.camel@cybertec.at
обсуждение исходный текст
Ответ на Re: Procedure support improvements  (Dave Cramer <pg@fastcrypt.com>)
Список pgsql-jdbc
[CC to -hackers]
Dave Cramer wrote:
> On Mon, 26 Aug 2019 at 13:43, Laurenz Albe <laurenz.albe@cybertec.at>
> wrote:
> > Dave Cramer wrote:
> > > As I said, I'd entertain a connection parameter that switched the
> > > CALL to call procedures but ideally you'd complain to the server
> > > folks to make Procedures useful.
> > 
> > Apart from the obvious problem that procedures make life hard for 
> > the JDBC driver, because it does not know if it shall render a call
> > as SELECT or CALL:
> > What is missing in PostgreSQL procedures to make them useful?
> 
> being able to use transactions inside a procedure inside a 
> transaction.

test=> CREATE OR REPLACE PROCEDURE testproc() LANGUAGE plpgsql AS
       $$BEGIN PERFORM 42; COMMIT; PERFORM 'x'; END;$$;
CREATE PROCEDURE
test=> CALL testproc();
CALL
test=> BEGIN;
BEGIN
test=> CALL testproc();
ERROR:  invalid transaction termination
CONTEXT:  PL/pgSQL function testproc() line 1 at COMMIT

Oops.
I find that indeed surprising.

What is the rationale for this?

Yours,
Laurenz Albe




В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Dave Cramer
Дата:
Сообщение: Re: Procedure support improvements
Следующее
От: Laurenz Albe
Дата:
Сообщение: Re: Procedure support improvements