From: | Alexander Korotkov <aekorotkov(at)gmail(dot)com> |
---|---|
To: | Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com> |
Cc: | PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: multirange constructor strictness |
Date: | 2021-04-22 11:00:38 |
Message-ID: | CAPpHfdvF0=xCdaOvnbWhJuYnWWeA1dbwkNTkfJ2xcswbn9Fckw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Wed, Apr 21, 2021 at 11:57 PM Peter Eisentraut
<peter(dot)eisentraut(at)enterprisedb(dot)com> wrote:
> The multirange constructors created in makeMultirangeConstructors() are:
>
> multirange_constructor0 -> not strict
> multirange_constructor1 -> strict
> multirange_constructor2 -> not strict
>
> And both multirange_constructor1 and multirange_constructor2 contain
> code like
>
> /*
> * These checks should be guaranteed by our signature, but let's do them
> * just in case.
> */
> if (PG_ARGISNULL(0))
> ereport(ERROR,
> (errcode(ERRCODE_NULL_VALUE_NOT_ALLOWED),
> errmsg("multirange values cannot contain NULL members")));
>
> In case of multirange_constructor2 the "should be guaranteed" comment is
> not actually true right now. In case of multirange_constructor1, maybe
> this should be downgraded to an elog or assert or just removed.
>
> Is there a reason why we can't make them all three strict or all not
> strict? (Obviously, it doesn't matter for multirange_constructor0.) Is
> the fact that multirange_constructor2 is variadic the issue? Maybe at
> least some more comments would be helpful.
Thank you for noticing. I'll take care of it today.
------
Regards,
Alexander Korotkov
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2021-04-22 11:12:25 | Re: INT64_FORMAT in translatable strings |
Previous Message | Julien Rouhaud | 2021-04-22 10:56:28 | Re: INT64_FORMAT in translatable strings |