Re: not fully correct error message - Mailing list pgsql-hackers

From Tom Lane
Subject Re: not fully correct error message
Date
Msg-id 409108.1767463422@sss.pgh.pa.us
Whole thread Raw
In response to Re: not fully correct error message  (Andreas Karlsson <andreas@proxel.se>)
Responses Re: not fully correct error message
List pgsql-hackers
Andreas Karlsson <andreas@proxel.se> writes:
> On 1/3/26 1:22 PM, Marcos Pegoraro wrote:
>> Em sáb., 3 de jan. de 2026 às 03:35, Pavel Stehule
>> <pavel.stehule@gmail.com <mailto:pavel.stehule@gmail.com>> escreveu:
>>> here is a patch (with small regress test)

>> An anonymous block doesn't accept vacuum too.
>> Wouldn't it be better to specify what kind of block you are running
>> instead of function, procedure or anonymous block ?

I don't think PreventInTransactionBlock has ready access to that
information.

> A potential third option would be to take your solution but to add a
> HINT about that it needs to run as a top-level statement outside any
> transactions, but I kinda liked how simple the original patch was.

Yeah, I like just adding "or procedure" and calling it good.
I do not think we need a regression test, either ...

Poking around, I also found this:

src/backend/commands/wait.c:                              errdetail("WAIT FOR cannot be executed from a function or a
procedureor within a transaction with an isolation level higher than READ COMMITTED.")); 

which is also not great grammar.  What do you think of "WAIT FOR
cannot be executed from a function or procedure, nor within a
transaction with an isolation level higher than READ COMMITTED." ?

            regards, tom lane



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: more POSIX 2008 cleanup: strnlen(), rindex()
Next
From: Mahendra Singh Thalor
Date:
Subject: Re: Non-text mode for pg_dumpall