Re: Procedure support improvements
От | Laurenz Albe |
---|---|
Тема | Re: Procedure support improvements |
Дата | |
Msg-id | 1fc1729ff4c1d342b32d0c0fb69df581f02356b1.camel@cybertec.at обсуждение исходный текст |
Ответ на | Re: Procedure support improvements (Dave Cramer <pg@fastcrypt.com>) |
Ответы |
Re: Procedure support improvements
Re: Procedure support improvements Re: Procedure support improvements Re: Procedure support improvements |
Список | 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 по дате отправления: