Hi,
On Tue, Apr 21, 2026 at 3:07 AM Alexander Korotkov <aekorotkov@gmail.com> wrote:
>
> I've checked the thread. Thanks to all the participants for their
> work. I think there is a general agreement on the design.
>
> I see the patch changes the error wording. Previously the error was
> "cannot access temporary tables of other sessions", but we change it
> to "cannot access temporary relation of other sessions". I see the
> intention here: we trigger an error while accessing some relation (not
> necessarily a table) then we should reflect this directly to the error
> message. However, old message is already here for quite a while and
> translated into many languages. Also, is old message incorrect? We
> trigger an error on buffer access. That is, we trigger an error only
> for relation with a storage: table, index, sequence or matview.
> Matview can't be temporary. Also, if you access an index with a
> query, that means you're querying its table. But sequence can be
> temporary and it can be not directly associated with a table. So,
> yes, new error message is more correct.
Thank you very much for the review!
> But I would prefer to make it
> a separate patch, and replace all the occurrences including contrib.
OK, no problem.
BTW, do I understand correctly that I don't need to touch the .po files?
I have also noticed this code in the localbuf.c :
```
if (IsParallelWorker())
ereport(ERROR,
(errcode(ERRCODE_INVALID_TRANSACTION_STATE),
errmsg("cannot access temporary tables during a
parallel operation")));
```
This code is related to initialization of local buffers which can be performed
not only for tables, obviously. Since this is a small step away from our
original idea, I'll fix it in a separate patch. IMHO it will be an appropriate
fix since we have already taken on this task. Looking forward to your comments.
--
Best regards,
Daniil Davydov