On Sat, 2011-06-18 at 13:20 -0700, Jeff Davis wrote:
> Interesting problem... the bug is in get_op_btree_interpretation() which
> has code like this:
>
> /*
> * If we can't find any opfamily containing the op, perhaps it is a
> <>
> * operator. See if it has a negator that is in an
> opfamily.
> */
> op_negated = false;
> if (catlist->n_members == 0)
>
>
> However, that's a bogus test, because btree_gist puts <> into an
> opfamily. Thus, catlist->n_members == 1 even though we really do need to
> look for the negator. Really, we need to unconditionally search for the
> operator as well as unconditionally searching for the negator.
Patch attached.
Regards,
Jeff Davis