Re: [HACKERS] Re: [SQL] prob with aggregate and group by - returns multiplesh
От | Bruce Momjian |
---|---|
Тема | Re: [HACKERS] Re: [SQL] prob with aggregate and group by - returns multiplesh |
Дата | |
Msg-id | 200002291721.MAA26276@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: [HACKERS] Re: [SQL] prob with aggregate and group by - returns multiplesh (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
Looks good to me. > Don Baccus <dhogaza@pacifier.com> writes: > > I vote for the SQL92 TEMPORARY. Let's not add a keyword that is non-standard > > just because one or another commercial database makes use of it, > > You're missing the point: we are not talking about *adding* a keyword, > we're talking about *removing* one that we've already supported for > a year or so. That changes matters considerably, IMHO. > > I have in fact been able to make a conflict-free grammar in which TEMP > is accepted but not reserved. It requires a certain amount of > redundancy in the productions (see below), but I think this is a > worthwhile tradeoff for not breaking existing user code. > > Shall I commit this? > > regards, tom lane > > > /* > * Redundancy here is needed to avoid shift/reduce conflicts, > * since TEMP is not a reserved word. See also OptTemp. > * > * The result is a cons cell (not a true list!) containing > * a boolean and a table name. > */ > OptTempTableName: TEMPORARY opt_table relation_name > { $$ = lcons(makeInteger(TRUE), (List *) $3); } > | TEMP opt_table relation_name > { $$ = lcons(makeInteger(TRUE), (List *) $3); } > | LOCAL TEMPORARY opt_table relation_name > { $$ = lcons(makeInteger(TRUE), (List *) $4); } > | LOCAL TEMP opt_table relation_name > { $$ = lcons(makeInteger(TRUE), (List *) $4); } > | GLOBAL TEMPORARY opt_table relation_name > { > elog(ERROR, "GLOBAL TEMPORARY TABLE is not currently supported"); > $$ = lcons(makeInteger(TRUE), (List *) $4); > } > | GLOBAL TEMP opt_table relation_name > { > elog(ERROR, "GLOBAL TEMPORARY TABLE is not currently supported"); > $$ = lcons(makeInteger(TRUE), (List *) $4); > } > | TABLE relation_name > { $$ = lcons(makeInteger(FALSE), (List *) $2); } > | relation_name > { $$ = lcons(makeInteger(FALSE), (List *) $1); } > ; > -- Bruce Momjian | http://www.op.net/~candle pgman@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
В списке pgsql-hackers по дате отправления: