postgresql/src/include/parser
Tom Lane 1ed6b89563 Remove support for postfix (right-unary) operators.
This feature has been a thorn in our sides for a long time, causing
many grammatical ambiguity problems.  It doesn't seem worth the
pain to continue to support it, so remove it.

There are some follow-on improvements we can make in the grammar,
but this commit only removes the bare minimum number of productions,
plus assorted backend support code.

Note that pg_dump and psql continue to have full support, since
they may be used against older servers.  However, pg_dump warns
about postfix operators.  There is also a check in pg_upgrade.

Documentation-wise, I (tgl) largely removed the "left unary"
terminology in favor of saying "prefix operator", which is
a more standard and IMO less confusing term.

I included a catversion bump, although no initial catalog data
changes here, to mark the boundary at which oprkind = 'r'
stopped being valid in pg_operator.

Mark Dilger, based on work by myself and Robert Haas;
review by John Naylor

Discussion: https://postgr.es/m/38ca86db-42ab-9b48-2902-337a0d6b8311@2ndquadrant.com
2020-09-17 19:38:05 -04:00
..
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
analyze.h Fill in extraUpdatedCols in logical replication 2020-02-17 15:20:57 +01:00
gramparse.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
kwlist.h Revert 0f5ca02f53 2020-04-08 11:37:27 +03:00
parse_agg.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
parse_clause.h Support FETCH FIRST WITH TIES 2020-04-07 16:22:13 -04:00
parse_coerce.h Go back to returning int from ereport auxiliary functions. 2020-03-25 11:57:36 -04:00
parse_collate.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
parse_cte.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
parse_enr.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
parse_expr.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
parse_func.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
parse_node.h Go back to returning int from ereport auxiliary functions. 2020-03-25 11:57:36 -04:00
parse_oper.h Remove support for postfix (right-unary) operators. 2020-09-17 19:38:05 -04:00
parse_param.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
parse_relation.h Reconsider the representation of join alias Vars. 2020-01-09 11:56:59 -05:00
parse_target.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
parse_type.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
parse_utilcmd.h Fix handling of CREATE TABLE LIKE with inheritance. 2020-08-21 15:00:47 -04:00
parser.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00
parsetree.h Make parser rely more heavily on the ParseNamespaceItem data structure. 2020-01-02 11:29:01 -05:00
scanner.h Go back to returning int from ereport auxiliary functions. 2020-03-25 11:57:36 -04:00
scansup.h Update copyrights for 2020 2020-01-01 12:21:45 -05:00