postgresql/src/backend/commands
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
..
Makefile Revert 0f5ca02f53 2020-04-08 11:37:27 +03:00
aggregatecmds.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
alter.c Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
amcmds.c Unify drop-by-OID functions 2020-06-09 09:39:46 +02:00
analyze.c snapshot scalability: Don't compute global horizons while building snapshots. 2020-08-12 16:03:49 -07:00
async.c Yet more elimination of dead stores and useless initializations. 2020-09-05 13:17:32 -04:00
cluster.c Set cutoff xmin more aggressively when vacuuming a temporary table. 2020-09-01 18:40:43 -04:00
collationcmds.c Remove utils/acl.h from catalog/objectaddress.h 2020-03-10 10:27:00 +01:00
comment.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
constraint.c Fix bogus CALLED_AS_TRIGGER() defenses. 2020-04-03 11:24:56 -04:00
conversioncmds.c Remove utils/acl.h from catalog/objectaddress.h 2020-03-10 10:27:00 +01:00
copy.c Don't fetch partition check expression during InitResultRelInfo. 2020-09-16 14:28:18 -04:00
createas.c Skip WAL for new relfilenodes, under wal_level=minimal. 2020-04-04 12:25:34 -07:00
dbcommands.c Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
define.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
discard.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
dropcmds.c Remove utils/acl.h from catalog/objectaddress.h 2020-03-10 10:27:00 +01:00
event_trigger.c Fix use-after-free bug with event triggers in an extension script 2020-09-15 21:03:14 -03:00
explain.c Rework EXPLAIN for planner's buffer usage. 2020-08-21 20:48:59 +09:00
extension.c Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
foreigncmds.c Unify drop-by-OID functions 2020-06-09 09:39:46 +02:00
functioncmds.c Switch to multi-inserts when registering dependencies for many code paths 2020-09-05 21:33:53 +09:00
indexcmds.c Add support for partitioned tables and indexes in REINDEX 2020-09-08 10:09:22 +09:00
lockcmds.c Make inherited LOCK TABLE perform access permission checks on parent table only. 2020-02-18 13:13:15 +09:00
matview.c Skip WAL for new relfilenodes, under wal_level=minimal. 2020-04-04 12:25:34 -07:00
opclasscmds.c Message fixes and style improvements 2020-09-14 06:42:30 +02:00
operatorcmds.c Remove support for postfix (right-unary) operators. 2020-09-17 19:38:05 -04:00
policy.c Introduce macros for typalign and typstorage constants. 2020-03-04 10:34:25 -05:00
portalcmds.c Avoid using a cursor in plpgsql's RETURN QUERY statement. 2020-06-12 12:14:32 -04:00
prepare.c Add generic_plans and custom_plans fields into pg_prepared_statements. 2020-07-20 11:55:50 +09:00
proclang.c Switch to multi-inserts when registering dependencies for many code paths 2020-09-05 21:33:53 +09:00
publicationcmds.c Unify drop-by-OID functions 2020-06-09 09:39:46 +02:00
schemacmds.c Unify drop-by-OID functions 2020-06-09 09:39:46 +02:00
seclabel.c Grammar object type refactoring 2020-06-13 09:19:30 +02:00
sequence.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
statscmds.c Replace remaining StrNCpy() by strlcpy() 2020-08-10 23:20:37 +02:00
subscriptioncmds.c Add support for streaming to built-in logical replication. 2020-09-03 07:54:07 +05:30
tablecmds.c Avoid unnecessary recursion to child tables in ALTER TABLE SET NOT NULL. 2020-09-16 13:38:26 -04:00
tablespace.c Fix temporary tablespaces for shared filesets some more. 2020-07-03 17:01:34 -04:00
trigger.c Initial pgindent and pgperltidy run for v13. 2020-05-14 13:06:50 -04:00
tsearchcmds.c Switch to multi-inserts when registering dependencies for many code paths 2020-09-05 21:33:53 +09:00
typecmds.c Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
user.c Change default of password_encryption to scram-sha-256 2020-06-10 16:42:55 +02:00
vacuum.c Set cutoff xmin more aggressively when vacuuming a temporary table. 2020-09-01 18:40:43 -04:00
variable.c Update copyrights for 2020 2020-01-01 12:21:45 -05:00
view.c Restructure ALTER TABLE execution to fix assorted bugs. 2020-01-15 18:49:24 -05:00