Re: [PATCH] fix DROP OPERATOR to reset links to itself on commutator and negator - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [PATCH] fix DROP OPERATOR to reset links to itself on commutator and negator
Date
Msg-id 13807.1458923956@sss.pgh.pa.us
Whole thread Raw
In response to Re: [PATCH] fix DROP OPERATOR to reset links to itself on commutator and negator  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [PATCH] fix DROP OPERATOR to reset links to itself on commutator and negator
List pgsql-hackers
I wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> On Wed, Mar 23, 2016 at 12:27 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>> We could resolve both of these issues by changing the semantics of
>>> OprUpdate so that it unconditionally does a CommandCounterIncrement
>>> after each update that it performs.  IMO that would be a lot simpler
>>> and more bulletproof; it'd allow removal of a lot of these
>>> overly-tightly-reasoned cases.

>> I tried this, but it did not seem to work.

> Odd.  If you post the revised patch, I'll try to chase down what's wrong.

After playing with this, I'll bet you forgot that RemoveOperatorById would
need to re-fetch the target tuple if it got updated.  We could
alternatively fix that by skipping updates on the tuple due to be deleted,
but that would convolute the logic in OperatorUpd, which didn't seem
worthwhile to me.

I found some other stuff needing fixing (mostly typos in comments) and
also realized that we don't really need to bother with heap_modify_tuple
at all.  I pushed it with those fixes.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Artur Zakirov
Date:
Subject: Re: unexpected result from to_tsvector
Next
From: Tom Lane
Date:
Subject: Re: [COMMITTERS] pgsql: Move each SLRU's lwlocks to a separate tranche.