On Wed, Jul 21, 2021 at 12:54 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Alexander Korotkov <aekorotkov@gmail.com> writes:
> > Do I understand correctly that enforce_generic_type_consistency() is
> > called only after check_generic_type_consistency() returned true?
> > If so, that means some of the checks are redundant. Therefore, we can
> > replace ereport()'s with Assert()'s.
>
> They are not redundant, IIRC. I forget the exact mechanism for
> reaching them, but it likely has something to do with aggregates
> or variadic functions.
>
> In any case, apologies for taking so long to get back to this. Here's
> a proposed patch (based in part on Neil's earlier patch).
This patch looks good to me. Besides fixing the particular bug
report, it seems that the situation of mismatching range and
multirange types in arguments is now handled correctly.
------
Regards,
Alexander Korotkov