Re: Multi-column distinctness. - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Multi-column distinctness.
Date
Msg-id 20672.1445389572@sss.pgh.pa.us
Whole thread Raw
In response to Re: Multi-column distinctness.  (Tomas Vondra <tomas.vondra@2ndquadrant.com>)
Responses Re: Multi-column distinctness.  (Simon Riggs <simon@2ndQuadrant.com>)
List pgsql-hackers
Tomas Vondra <tomas.vondra@2ndQuadrant.com> writes:
> On 10/20/2015 11:28 PM, Simon Riggs wrote:
>> Since this command doesn't actually ADD the statistics, it just creates
>> a specification used by the next ANALYZE, it would seem better to use a
>> different keyword than ADD, perhaps DECLARE STATISTICS ON... and DROP
>> STATISTICS ON

> Maybe, although we should not use DROP with DECLARE. Not only DROP has 
> the same issue with name as ADD, but I think it's a good practice to 
> commands "paired" ADD-DROP and DECLARE-X?

If we spelled the drop case as "DROP STATISTICS name", I think the
conflict could be avoided.  I agree though that pairing DECLARE and DROP
seems rather unintuitive.

I am getting more attracted to your suggestion of making these things
stand-alone commands "CREATE STATISTICS" and "DROP STATISTICS".  Not only
does that fix the syntactic problems of shoehorning them into ALTER TABLE,
but it would be possible to design the syntax to allow for straightforward
extension to multiple-table cases.  Even if we don't know what we'd do
with that just yet, it seems to me like a possible future extension that
we should keep in mind.  And anything based on ALTER TABLE just cannot do
that reasonably.

So consider

CREATE STATISTICS name ON table(columnlist) [, table(columnlist) ...]
[ WITH options ]
        regards, tom lane



pgsql-hackers by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: Multi-column distinctness.
Next
From: Simon Riggs
Date:
Subject: Re: Multi-column distinctness.