Yes, I thought I had done that, but now that I figured out what was going on, I did it for all cases. So it is no longer occurring for me, but it still seems like a bug in PostgreSQL. I would expect it to throw an error immediately, instead of scanning the table for a value of a different type. In my case, the table is huge, so it really put a hamper on the system.
Gabriel _________________ Gabriel Weinberg [EMAIL PROTECTED] -----Original Message----- From: Bruno Wolff III [mailto:[EMAIL PROTECTED] Sent: Wednesday, April 07, 2004 1:38 AM To: Gabriel Weinberg Cc: [EMAIL PROTECTED] Subject: Re: Sequential Scan Index Bug On Sat, Apr 03, 2004 at 13:51:56 -0500, Gabriel Weinberg <[EMAIL PROTECTED]> wrote: > > I have a table with an integer column with about 10M rows in it. > > This column has an index (btree). > > When I try to select a row using this column with an integer, e.g. > select * from table where id=4, it always uses the index. However, if > I select try to select a row using this column with a decimal, e.g. > select * from table where id=4.343, it skips the index entirely and > does a sequential scan of the table. > > I am using v7.4.2 on Freebsd 4.9. Depending on what you want to do, you probably either want to cast the value to an int explicitly or combine that with a test (using a stable function) to make sure the number is actually an integer. ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings