Re: [PATCH] Extend ALTER OPERATOR to support adding commutator, negator, hashes, and merges
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Cc: Tommy Pavlicek <tommypav122@gmail.com>,
pgsql-hackers@lists.postgresql.org,
Tomas Vondra <tomas.vondra@enterprisedb.com>
Date: 2023-06-22T17:36:14Z
Lists: pgsql-hackers
=?utf-8?Q?Dagfinn_Ilmari_Manns=C3=A5ker?= <ilmari@ilmari.org> writes: > Tom Lane <tgl@sss.pgh.pa.us> writes: >> (Don't we have existing precedents that apply here? I can't offhand >> think of any existing ALTER commands that would reject no-op requests, >> but maybe that's not a direct precedent.) > Since it only supports adding these operations if they don't already > exist, should it not be ALTER OPERATOR ADD <thing>, not SET <thing>? > That makes it natural to add an IF NOT EXISTS clause, like ALTER TABLE > ADD COLUMN has, to make it a no-op instead of an error. Hmm, maybe. But it feels like choosing syntax and semantics based on what might be only a temporary implementation restriction. We certainly don't handle any other property-setting commands that way. Admittedly, "can't change an existing setting" is likely to be pretty permanent in this case, just because I don't see a use-case for it that'd justify the work involved. (My wife recently gave me a coffee cup that says "Nothing is as permanent as a temporary fix.") But still, if someone did show up and do that work, we'd regret this choice of syntax because it'd then be uselessly unlike every other ALTER command. regards, tom lane
Commits
-
Strip Windows newlines from extension script files manually.
- 6cfb3a337469 18.0 landed
-
Read extension script files in text not binary mode.
- 924e03917d6f 18.0 landed
-
Improve reporting of errors in extension script files.
- 774171c4f640 18.0 landed
-
Improve parser's reporting of statement start locations.
- 14e5680eee19 18.0 landed
-
Extend ALTER OPERATOR to allow setting more optimization attributes.
- 2b5154beab79 17.0 landed
-
Core support for "extensions", which are packages of SQL objects.
- d9572c4e3b47 9.1.0 cited