Thread: 11 beta 3 / ROLLBACK TO SAVEPOINT regression in PLPGSQL
This routine works well on postgres v10:
CREATE FUNCTION test_savepoint() RETURNS VOID AS $body$
BEGIN
SAVEPOINT my_savepoint;
ROLLBACK TO my_savepoint;
END $body$ LANGUAGE plpgsql;
The same code can not be compiled in postgres v11 beta 3, I got error:
[42601] ERROR: syntax error at or near "TO"
Position: 117
Best regards
David Klika
Hello > This routine works well on postgres v10: it works? Or is only accepted as input? I got error on function call. I thought plpgsql cannot directly uses savepoints, only implicitly with begin ... exception ... end block ( https://www.postgresql.org/docs/current/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING) Well, you can still create this function with set check_function_bodies to off regards, Sergei
Hello
> This routine works well on postgres v10:
it works? Or is only accepted as input? I got error on function call.
I thought plpgsql cannot directly uses savepoints, only implicitly with begin ... exception ... end block ( https://www.postgresql.org/docs/current/static/plpgsql- )control-structures.html# PLPGSQL-ERROR-TRAPPING
Well, you can still create this function with set check_function_bodies to off
regards, Sergei
2018-08-23 14:41 GMT+02:00 Sergei Kornilov <sk@zsrv.org>:Hello
> This routine works well on postgres v10:
it works? Or is only accepted as input? I got error on function call.
I thought plpgsql cannot directly uses savepoints, only implicitly with begin ... exception ... end block ( https://www.postgresql.org/docs/current/static/plpgsql-contr )ol-structures.html#PLPGSQL- ERROR-TRAPPING
Well, you can still create this function with set check_function_bodies to offThis doesn't help, because any function is validated before execution
RegardsPavel
regards, Sergei
> This routine works well on postgres v10:
it works? Or is only accepted as input? I got error on function call.
I thought plpgsql cannot directly uses savepoints, only implicitly with begin ... exception ... end block ( https://www.postgresql.org/docs/current/static/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING )
Well, you can still create this function with set check_function_bodies to off
This doesn't help, because any function is validated before execution
but it is hard to believe, so it was working ever.
You are right, calling the method lead to error in both cases. My misunderstanding, sorry. David
> This routine works well on postgres v10:
it works? Or is only accepted as input? I got error on function call.
I thought plpgsql cannot directly uses savepoints, only implicitly with begin ... exception ... end block ( https://www.postgresql.org/docs/current/static/plpgsql- )control-structures.html# PLPGSQL-ERROR-TRAPPING
Well, you can still create this function with set check_function_bodies to off
This doesn't help, because any function is validated before execution
but it is hard to believe, so it was working ever.
You are right, calling the method lead to error in both cases. My misunderstanding, sorry. David