Re: [PATCH] Add support for IS NULL to btree indexes - Mailing list pgsql-patches

From Tom Lane
Subject Re: [PATCH] Add support for IS NULL to btree indexes
Date
Msg-id 29458.1127162007@sss.pgh.pa.us
Whole thread Raw
In response to [PATCH] Add support for IS NULL to btree indexes  (Martijn van Oosterhout <kleptog@svana.org>)
Responses Re: [PATCH] Add support for IS NULL to btree indexes
List pgsql-patches
Martijn van Oosterhout <kleptog@svana.org> writes:
> Actually, it's two changes:
> - In the btree index code, if SK_ISNULL is set, do the right thing
> - If the query has col IS NULL, expand that to col =3D NULL in the index
> quals

This is a bad idea, because it translates "x IS NULL" into "x = NULL"
which is under no circumstances the same thing.  It might coincidentally
fail to malfunction for btree indexes, depending on the specifics of the
"=" operator in use; but that doesn't make it right.  (AFAICS, the
proposed patch simply breaks for non-btree indexes.)  Also, it cannot
handle IS NOT NULL.

A proper solution requires explicitly representing IS NULL/IS NOT NULL
as distinct kinds of scankey.

            regards, tom lane

pgsql-patches by date:

Previous
From: Martijn van Oosterhout
Date:
Subject: [PATCH] Add support for IS NULL to btree indexes
Next
From: Bruce Momjian
Date:
Subject: Re: doc/FAQ_DEV: about profile