| From: | Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Cc: | Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: About get_relation_constraints and include_notnull |
| Date: | 2016-01-15 00:56:09 |
| Message-ID: | 569843A9.3080902@lab.ntt.co.jp |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On 2016/01/14 23:36, Tom Lane wrote:
> Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp> writes:
>> Why does the argument include_notnull argument exist if
>> get_relation_constraints() is being called from only one place? Perhaps we
>> could remove it and add the IS NOT NULL test expression unconditionally if
>> there are any NOT NULL columns.
>
> Well, you could argue why have a routine at all instead of inlining it
> into the one caller. IIRC the thought was that other likely uses of
> constraint-fetching might want to see only the actual check constraints.
> Is there some positive benefit from removing the argument?
The function is local to plancat.c and hasn't seen any callers beside
relation_excluded_by_constraints() for a long time (as can be told from
the git history). It's just that initially I thought it's being used
elsewhere which upon inspecting I didn't find any. Not really sure I can
make the analogy but ExecConstraints() performs both NOT NULL and CHECK
constraint checks without any argument.
Though, we could just leave it alone. Sorry for the noise.
Thanks,
Amit
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Michael Paquier | 2016-01-15 01:24:58 | Re: extend pgbench expressions with functions |
| Previous Message | Tom Lane | 2016-01-14 23:11:38 | Re: Doubt in 9.5 release note |