Re: clearing opfuncid vs. parallel query - Mailing list pgsql-hackers

From Robert Haas
Subject Re: clearing opfuncid vs. parallel query
Date
Msg-id CA+TgmoayESy6rL27aHmzRojVcTtAH39RLM26DhncjYWtwcvwLg@mail.gmail.com
Whole thread Raw
In response to Re: clearing opfuncid vs. parallel query  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: clearing opfuncid vs. parallel query  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: clearing opfuncid vs. parallel query  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
On Wed, Sep 23, 2015 at 4:31 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> readfuncs.c deliberately ignores any opfuncid read in for an OpExpr,
>> DistinctExpr, NullIfExpr, or ScalarArrayOpExpr, instead resetting the
>> value in the newly-created node to InvalidOid.  This is because it
>> assumes we're reading the node from a pg_node_tree column in some
>> system catalog, and if in the future we wanted to allow an ALTER
>> OPERATOR command to change the pg_proc mapping, then the opfuncid
>> could change.  We'd want to look it up again rather than using the
>> previous value.
>
> Right, but considering that nobody has even thought about implementing
> such a command in the past twenty years, maybe we should just change
> the behavior of those read routines?

Well, I can't vouch for what any human being on earth has thought
about over a twenty-year period.  It's not intrinsically unreasonable
in my mind to want to alter an operator to point at a different
procedure.

But if we're sure we don't want to support that, changing the behavior
of the read routines would be fine with me, too.  It would even save a
few cycles.  Would you also want to rip out the stuff that fixes up
opfuncid as dead code?  I assume yes, but sometimes I assume things
that are false.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: DBT-3 with SF=20 got failed
Next
From: Tom Lane
Date:
Subject: Re: clearing opfuncid vs. parallel query