On Wed, Apr 24, 2024 at 5:47 PM Yugo NAGATA <nagata@sraoss.co.jp> wrote:
>
> On Wed, 24 Apr 2024 15:05:00 +0800
> jian he <jian.universality@gmail.com> wrote:
>
> > hi.
> >
> > in make_pathkey_from_sortinfo
> >
> > equality_op = get_opfamily_member(opfamily,
> > opcintype,
> > opcintype,
> > BTEqualStrategyNumber);
> > if (!OidIsValid(equality_op)) /* shouldn't happen */
> > elog(ERROR, "missing operator %d(%u,%u) in opfamily %u",
> > BTEqualStrategyNumber, opcintype, opcintype, opfamily);
> >
> > the error message seems not right?
>
> This message was introduced by 278cb434110 which was aiming to
> standardize the wording for similar errors. We can find the pattern
>
> "missing {support function | operator} %d(%u,%u) in opfamily %u"
>
> in several places.
>
the error message
` operator %d`
would translate to
` operator 3`
but there is oid as 3 operator in the catalog.
that's my confusion.
the discussion at [1] didn't explain my confusion.
[1] https://postgr.es/m/CAGPqQf2R9Nk8htpv0FFi+FP776EwMyGuORpc9zYkZKC8sFQE3g@mail.gmail.com