Re: Remove redundant variable from transformCreateStmt
От | Jeevan Ladhe |
---|---|
Тема | Re: Remove redundant variable from transformCreateStmt |
Дата | |
Msg-id | CAOgcT0O4wOPD5sMtKKt4NDxrz+eAFssefypgrY_fA7G-vkMHaA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Remove redundant variable from transformCreateStmt (Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>) |
Ответы |
Re: Remove redundant variable from transformCreateStmt
|
Список | pgsql-hackers |
rather than refactoring.
On Thu, Apr 15, 2021 at 5:48 PM Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com> wrote:
On Thu, Apr 15, 2021 at 5:04 PM Amul Sul <sulamul@gmail.com> wrote:
>
> Hi,
>
> Attached patch removes "is_foreign_table" from transformCreateStmt()
> since it already has cxt.isforeign that can serve the same purpose.
Yeah having that variable as "is_foreign_table" doesn't make sense
when we have the info in ctx. I'm wondering whether we can do the
following (like transformFKConstraints). It will be more readable and
we could also add more comments on why we don't skip validation for
check constraints i.e. constraint->skip_validation = false in case for
foreign tables.
To address your concern here, I think it can be addressed by adding a comment
just before we make a call to transformCheckConstraints().
In transformAlterTableStmt: we can remove transformCheckConstraints
entirely because calling transformCheckConstraints with skipValidation
= false does nothing and has no value. This way we could save a
function call.
I prefer removing the skipValidation parameter from
transformCheckConstraints. Others might have different opinions.
I think this is intentional, to keep the code consistent with the CREATE
TABLE path i.e. transformCreateStmt(). Here is what the comment atop
transformCheckConstraints() reads:
/*
* transformCheckConstraints
* handle CHECK constraints
*
* Right now, there's nothing to do here when called from ALTER TABLE,
* but the other constraint-transformation functions are called in both
* the CREATE TABLE and ALTER TABLE paths, so do the same here, and just
* don't do anything if we're not authorized to skip validation.
*/
This was originally discussed in thread[1] and commit: f27a6b15e6566fba7748d0d9a3fc5bcfd52c4a1b
Regards,
Jeevan Ladhe
В списке pgsql-hackers по дате отправления: