if I expand out the "DROP opt_column" productions to be two separate productions with and without COLUMN, as was done long ago for ADD COLUMN.
These also work without ON, actually, though it does not work to leave out the parens. (I think that has to do with the conflict against multiple ALTER TABLE subcommands, not against ADD COLUMN.)
It doesn't look like we could easily stick a "name" in between STATISTICS and ON, but I'm unconvinced that that's necessary.
Well, it's definitely easier to reference the statistics by name (e.g. in the DROP command).
Can't we just insist that there be only one statistics declaration for a given column list?
I would rather not, because I envision preferring different types of statistics for different types of queries. For example the statistics discussed in this particular thread only supports equality clauses, so this restriction would mean we can't also define histogram, we'll be unable to estimate queries with ranges.
Can we do something like this...
ADD STATISTICS ON (col list) USING (histogram, MFV)
so we have Types/Methods of statistic, rather than specific names for the statistic entry?
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
--
Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services