Re: Making the subquery alias optional in the FROM clause
От | Zhihong Yu |
---|---|
Тема | Re: Making the subquery alias optional in the FROM clause |
Дата | |
Msg-id | CALNJ-vTtWek+n_K0ii2JxOJEMvo0ttDXrT5E798-uf9Dznv1vQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Making the subquery alias optional in the FROM clause (Dean Rasheed <dean.a.rasheed@gmail.com>) |
Ответы |
Re: Making the subquery alias optional in the FROM clause
|
Список | 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;
+ 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
В списке pgsql-hackers по дате отправления: