Re: [HACKERS] Indexes bug - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: [HACKERS] Indexes bug
Date
Msg-id 199808111711.NAA16717@candle.pha.pa.us
Whole thread Raw
In response to Re: [HACKERS] Indexes bug  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
> Serj <fenix@am.ring.ru> writes:
> > [ system not using an index when it should ]
>
> Two questions:
>
> 1. Did you do a "vacuum analyze" after making the indexes?
>    Without that, the optimizer may be choosing a sequential scan
>    because it doesn't know how big the tables are.
>
> 2. What postgres version are you using?
>
> There are some bugs in the current cvs sources that affect whether
> indexes get used --- look at the ongoing threads in the hackers list.
> Maybe you've found another manifestation of that problem.  But if
> you're using 6.3.2 then it's something different...

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.


--
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)

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] Fix in oracle_compat.c
Next
From: "Dr. Michael Meskes"
Date:
Subject: Latest ecpg patch?