Re: operator dependency of commutator and negator, redux

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Brendan Jurd <direvus(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: operator dependency of commutator and negator, redux
Date: 2012-12-20 15:52:01
Message-ID: 12166.1356018721@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Brendan Jurd <direvus(at)gmail(dot)com> writes:
> On 20 December 2012 11:51, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> While reconsidering the various not-too-satisfactory fixes we thought of
>> back then, I had a sudden thought. Instead of having a COMMUTATOR or
>> NEGATOR forward reference create a "shell" operator and link to it,
>> why not simply *ignore* such references? Then when the second operator
>> is defined, go ahead and fill in both links?

> Ignore with warning sounds pretty good. So it would go something like this?

> # CREATE OPERATOR < (... COMMUTATOR >);
> WARNING: COMMUTATOR > (foo, foo) undefined, ignoring.
> CREATE OPERATOR

> # CREATE OPERATOR > (... COMMUTATOR <);
> CREATE OPERATOR

I was thinking a NOTICE at most. If it's a WARNING then restoring
perfectly valid pg_dump files will result in lots of scary-looking
chatter. You could make an argument for printing nothing at all,
but that would probably mislead people who'd fat-fingered their
COMMUTATOR entries.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2012-12-20 15:53:32 Re: Set visibility map bit after HOT prune
Previous Message Andres Freund 2012-12-20 15:35:56 Re: Parser Cruft in gram.y