Re: pgsql: doc: add examples of creative use of unique expression indexes

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL-documentation <pgsql-docs(at)postgresql(dot)org>
Subject: Re: pgsql: doc: add examples of creative use of unique expression indexes
Date: 2020-05-21 23:49:41
Message-ID: 20200521234941.GB30409@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-docs

On Mon, Apr 20, 2020 at 08:31:29PM -0400, Bruce Momjian wrote:
> On Mon, Apr 20, 2020 at 04:21:32PM -0400, Tom Lane wrote:
> > [ sorry, I'd lost track of this thread ]
> >
> > Bruce Momjian <bruce(at)momjian(dot)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.
>
> OK, seems like only you and I care about this issue, which I take to
> mean that we should minimize what we are adding here. What the attached
> patch does is to remove the previous commit, and just add a sentence to
> the last example to mention the ability restrict a column to a single
> NULL.

Patch applied.

--
Bruce Momjian <bruce(at)momjian(dot)us> https://momjian.us
EnterpriseDB https://enterprisedb.com

+ As you are, so once was I. As I am, so you will be. +
+ Ancient Roman grave inscription +

In response to

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2020-05-21 23:49:45 pgsql: doc: Simplify mention of unique indexes for NULL control
Previous Message Peter Geoghegan 2020-05-21 20:37:10 pgsql: Doc: Describe CREATE INDEX deduplication strategy.

Browse pgsql-docs by date

  From Date Subject
Next Message Bruce Momjian 2020-05-21 23:50:28 Re: 11.7 Indexes on Expressions: editorial correction
Previous Message Erwin Brandstetter 2020-05-21 22:12:48 Wrong link for FETCH FIRST in pg13 release notes