Re: Making the subquery alias optional in the FROM clause
Zhihong Yu <zyu@yugabyte.com>
From: Zhihong Yu <zyu@yugabyte.com>
To: Dean Rasheed <dean.a.rasheed@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2022-07-09T11:30:32Z
Lists: pgsql-hackers
On Sat, Jul 9, 2022 at 3:28 AM Dean Rasheed <dean.a.rasheed@gmail.com>
wrote:
> On Wed, 6 Jul 2022 at 15:09, Dean Rasheed <dean.a.rasheed@gmail.com>
> wrote:
> >
> > I'll post an update in a little while, but first, I found a bug, which
> > revealed a pre-existing bug in transformLockingClause(). I'll start a
> > new thread for that, since it'd be good to get that resolved
> > independently of this patch.
> >
>
> Attached is an update with the following changes:
>
> * Docs updated as suggested.
> * transformLockingClause() updated to skip subquery and values rtes
> without aliases.
> * eref->aliasname changed to "unnamed_subquery" for subqueries without
> aliases.
>
> Regards,
> Dean
>
Hi,
rtename is assigned at the beginning of the loop:
+ char *rtename = rte->eref->aliasname;
It seems the code would be more readable if you keep the assignment in
else block below:
+ else if (rte->rtekind == RTE_SUBQUERY ||
+ rte->rtekind == RTE_VALUES)
continue;
- rtename = rte->join_using_alias->aliasname;
}
- else
- rtename = rte->eref->aliasname;
because rtename would be assigned in the `rte->rtekind == RTE_JOIN` case.
Cheers
Commits
-
Make subquery aliases optional in the FROM clause.
- bcedd8f5fce0 16.0 landed