> > I think we now know what is happening in the current cvs tree. The
> > optimizer calls op_class to find if there is an pg_opam entry for the
> > expression (int4eq), the current index access type(btree), and the
> > current index op class(int4_ops).
> >
> > In the case of oideqint4, there is no pg_amop to match it, and we
> > can't
> > add extra rows to pg_amop to make it work. I suppose we could try
> > adding a amopopr_compat column to pg_amop, and somehow do a lookup on
> > that if the first one does not match. Because of the way the system
> > caches are structured, we would need a new cache for that extra
> > column,
> > I think. There must be a better way.
> >
> Maybe I missed it but why can't we add the extra row to pg_amop.
Not sure. Each access method has a predefined number of rows for that
access type. I will check on why it fails. For example, btree has five
rows. hash has fewer.
--
Bruce Momjian | 830 Blythe Avenue
maillist@candle.pha.pa.us | Drexel Hill, Pennsylvania 19026
+ If your life is a hard drive, | (610) 353-9879(w)
+ Christ can be your backup. | (610) 853-3000(h)