Given an index like this:

    CREATE UNIQUE INDEX i1 ON t1 (c1) WHERE c1 IS NOT NULL;

and a query like this:

    SELECT * FROM t1 WHERE c1 = 123;

I'd like the planner to be smart enough to use an index scan using i1.  Yes,
I can change the query to this:

    SELECT * FROM t1 WHERE c1 = 123 AND c1 IS NOT NULL;

In which case the index will be used, but I shouldn't have to.  More
practically, since a lot of my SQL is auto-generated, it's difficult to make
this query change just in the cases where I need it.  And I'm loathe to
change every "column = value" pair in my auto-generated SQL into a double
pair of "(column = value and column is not null)"  It's redundant and looks
pretty silly, IMO.

Thanks for you consideration :)

-John


---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to