Re: NULL-handling in aggregate(DISTINCT ...)

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: NULL-handling in aggregate(DISTINCT ...)
Date: 2009-11-12 02:02:32
Message-ID: 12439.1257991352@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk> writes:
> "Tom" == Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> Tom> I think you could probably just change it: make DISTINCT work as
> Tom> per regular DISTINCT (treat null like a value, keep one copy).
> Tom> All the spec-conforming aggregates are strict and would ignore
> Tom> the null in the next step anyway.

> Change it for single-arg DISTINCT too? And the resulting change to the
> established behaviour of array_agg is acceptable? Just want to be clear
> here.

I doubt that very many people are depending on the behavior of
array_agg(DISTINCT); and anyway it could be argued that the present
behavior is a bug, since it doesn't work like standard DISTINCT.
I don't see a problem with changing it, though it should be
release-noted.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Chernow 2009-11-12 02:21:33 Re: Listen / Notify rewrite
Previous Message Andrew Gierth 2009-11-12 01:45:33 Re: NULL-handling in aggregate(DISTINCT ...)