Re: factorial function/phase out postfix operators?
Mark Dilger <mark.dilger@enterprisedb.com>
From: Mark Dilger <mark.dilger@enterprisedb.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>,
John Naylor <john.naylor@2ndquadrant.com>,
Vik Fearing <vik@postgresfriends.org>,
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-09-18T15:43:52Z
Lists: pgsql-hackers
> On Sep 18, 2020, at 8:29 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > > So I've finished up applying 0001 and started to look at 0002 > ... and I find the terminology you've chosen to be just really > opaque and confusing. "aliastype" being "implicit" or "explicit" > is not going to make any sense to anyone until they read the > manual, and it probably still won't make sense after that. > > In the first place, the terminology we use for these things > is usually "column label", not "alias"; see e.g. > https://www.postgresql.org/docs/devel/queries-select-lists.html#QUERIES-COLUMN-LABELS > Likewise, gram.y itself refers to the construct as a ColLabel. > Aliases are things that appear in the FROM clause. > > In the second place, "implicit" vs "explicit" just doesn't make > any sense to me. You could maybe say that the AS is implicit > when you omit it, but the column label is surely not implicit; > it's right there where you wrote it. > > I confess to not having paid very close attention to this thread > lately, but the last I'd noticed the terminology proposed for > internal use was "bare column label", which I think is much better. > As for what to expose in pg_get_keywords, I think something like > "label_requires_as bool" would be immediately understandable. > If you really want it to be an enum sort of thing, maybe the output > column title could be "collabel" with values "bare" or "requires_AS". > > So I'm thinking about making these changes in gram.y: > > ImplicitAlias -> BareColLabel > implicit_alias_keyword -> bare_label_keyword > > and corresponding terminology changes elsewhere. That sounds ok to me. — Mark Dilger EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Remove precedence hacks no longer needed without postfix operators.
- 28a61fc6c58f 14.0 landed
-
Allow most keywords to be used as column labels without requiring AS.
- 06a7c3154f5b 14.0 landed
-
Remove support for postfix (right-unary) operators.
- 1ed6b895634c 14.0 landed
-
Remove factorial operators, leaving only the factorial() function.
- 76f412ab3105 14.0 landed
-
Further refine patch for commenting operator implementation functions.
- 908ab8028640 9.1.0 cited