2010/8/9 Robert Haas <robertmhaas@gmail.com>:
> On Mon, Aug 9, 2010 at 11:06 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>> 2010/8/9 Tom Lane <tgl@sss.pgh.pa.us>:
>>> Greg Stark <gsstark@mit.edu> writes:
>>>> Personally I think cube is uncommonly used and CUBE an important
>>>> enough SQL feature that we should just bite the bullet and kill/rename
>>>> the contrib module.
>>>
>>> Yeah. It looks to me like CUBE will have to be a type_function_name
>>> keyword (but hopefully not fully reserved), which will mean that we
>>> can't have a contrib module defining a type by that name. Ergo, rename.
>>
>> I am afraid, CUBE and ROLLUP have to be a reserved keyword because as
>> type_function_name is in conflict with func_name ( ...
>
> They name to be type_func_keywords, perhaps, but not fully reserved.
> And they'd still need that treatment anyway. Even if cube(whatever)
> can't mean "extract a column called cube from table whatever", it can
> still mean "call a function called cube on a column called whatever".
look to gram.y, please.
we can use a
GROUP BY CUBE(expr, ..)
GROUP BY func_name(expr, ..)
so these rules are in conflict, because func_name can have a
type_func_keywords symbols. So we have to significantly rewrite a
rules about func call or CUBE and ROLLUP have to be a reserved words.
There isn't any other possibility.
regards
Pavel
>
> --
> Robert Haas
> EnterpriseDB: http://www.enterprisedb.com
> The Enterprise Postgres Company
>