[ sorry, I'd lost track of this thread ]

Bruce Momjian <br...@momjian.us> writes:
> I now remember that I wrote the first IS NULL in:
>   CREATE UNIQUE INDEX tests_target_one_null ON tests ((target IS NULL)) WHERE 
> target IS NULL;
> in hope that if someone is looking for the null value in the column, the
> IS NULL would allow the index to be used to find it, while 1 or true
> would not.

Well, that's not the case:

regression=# create index tenk1_null_index on tenk1((1)) where ten is null;
CREATE INDEX
regression=# explain select * from tenk1 where ten is null;
                                   QUERY PLAN                                   
--------------------------------------------------------------------------------
 Index Scan using tenk1_null_index on tenk1  (cost=0.12..8.14 rows=1 width=244)
(1 row)

(Maybe it was true at some time in the past, but not any more.)

Also, it complicates the example, and since you didn't explain the
reason for the complication, I think it's pretty confusing.

But really I still don't see the need for these additional examples
at all.  It's especially weird that what you want to do is have
some examples on that page have <example> markup and others not.

                        regards, tom lane


Reply via email to