postgresql/src/backend
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
..
access Update parallel BTree scan state when the scan keys can't be satisfied. 2020-09-17 16:11:48 +05:30
bootstrap Improve some ancient, crufty code in bootstrap + initdb. 2020-09-05 16:20:04 -04:00
catalog Remove support for postfix (right-unary) operators. 2020-09-17 19:38:05 -04:00
commands Remove support for postfix (right-unary) operators. 2020-09-17 19:38:05 -04:00
executor Don't fetch partition check expression during InitResultRelInfo. 2020-09-16 14:28:18 -04:00
foreign Update copyrights for 2020 2020-01-01 12:21:45 -05:00
jit Fix a few typos in JIT comments and README 2020-08-21 09:33:56 +12:00
lib Use pg_bitutils for HyperLogLog. 2020-07-30 09:14:23 -07:00
libpq Message fixes and style improvements 2020-09-14 06:42:30 +02:00
main Clean up includes of s_lock.h. 2020-06-18 19:41:05 -07:00
nodes Remove support for postfix (right-unary) operators. 2020-09-17 19:38:05 -04:00
optimizer Allow incremental sorts for windowing functions 2020-09-15 23:44:45 +12:00
parser Remove support for postfix (right-unary) operators. 2020-09-17 19:38:05 -04:00
partitioning Clean up some code and comments in partbounds.c. 2020-09-10 18:00:00 +09:00
po Translation updates 2020-05-18 12:49:30 +02:00
port Add huge_page_size setting for use on Linux. 2020-07-17 14:33:00 +12:00
postmaster Centralize setup of SIGQUIT handling for postmaster child processes. 2020-09-16 16:04:36 -04:00
regex Dial back -Wimplicit-fallthrough to level 3 2020-05-13 15:31:14 -04:00
replication Teach walsender to update its process title for replication commands. 2020-09-16 21:06:50 -04:00
rewrite Redefine pg_class.reltuples to be -1 before the first VACUUM or ANALYZE. 2020-08-30 12:21:51 -04:00
snowball code: replace most remaining uses of 'master'. 2020-07-08 13:24:35 -07:00
statistics Remove some more useless assignments. 2020-09-04 14:32:19 -04:00
storage Optimize compactify_tuples function 2020-09-16 13:22:20 +12:00
tcop Fix bogus completion tag usage in walsender 2020-09-16 21:16:25 -03:00
tsearch Yet more elimination of dead stores and useless initializations. 2020-09-05 13:17:32 -04:00
utils Remove support for postfix (right-unary) operators. 2020-09-17 19:38:05 -04:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
Makefile Update copyrights for 2020 2020-01-01 12:21:45 -05:00
common.mk Remove PARTIAL_LINKING build mode. 2018-03-30 17:33:04 -07:00
nls.mk Add missing gettext triggers 2020-04-28 13:35:40 +02:00