Re: transformLockingClause() bug

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: transformLockingClause() bug
Date: 2022-07-06 14:30:38
Message-ID: 2192900.1657117838@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com> writes:
> The problem is that the parser has generated a join rte with
> eref->aliasname = "unnamed_join", and then transformLockingClause()
> finds that before finding the relation rte for t3 whose user-supplied
> alias is also "unnamed_join".

> I think the answer is that transformLockingClause() should ignore join
> rtes that don't have a user-supplied alias, since they are not visible
> as relation names in the query (and then [1] will want to do the same
> for subquery and values rtes without aliases).

Agreed.

> Except, if the rte has a join_using_alias (and no regular alias), I
> think transformLockingClause() should actually be matching on that and
> then throwing the above error. So for the following:

Yeah, that's clearly an oversight in the join_using_alias patch.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Matthias van de Meent 2022-07-06 14:41:44 Re: Custom tuplesorts for extensions
Previous Message Fujii Masao 2022-07-06 14:27:58 Re: Backup command and functions can cause assertion failure and segmentation fault