Re: Parallel safety tagging of extension functions

From: Andreas Karlsson <andreas(at)proxel(dot)se>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Parallel safety tagging of extension functions
Date: 2016-05-21 22:16:06
Message-ID: 5740DE26.7080606@proxel.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 05/21/2016 11:45 AM, Tom Lane wrote:
> Yes, let's fix it. This will also take care of the questions about
> whether the GIN/GIST opclass tweaks I made a few months ago require
> module version bumps.

Do you have any idea what the best way to add these tweaks to the
upgrade scripts would be?

My immediate thought is first doing an UPDATE of pg_proc and then
updating the catcache with CREATE OR REPLACE with the new arguments.
Does that work? Is there a less ugly way to accomplish this?

Example:

UPDATE pg_proc SET proargtypes = ('internal'::regtype::oid || ' ' ||
'internal'::regtype::oid)::oidvector
WHERE proname = 'gbt_oid_union'
AND proargtypes = ('bytea'::regtype::oid || ' ' ||
'internal'::regtype::oid)::oidvector
AND pronamespace = current_schema()::regnamespace;

CREATE OR REPLACE FUNCTION gbt_oid_union(internal, internal)
RETURNS gbtreekey8
AS 'MODULE_PATHNAME'
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;

Andreas

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2016-05-21 22:21:10 Re: Parallel safety tagging of extension functions
Previous Message Tom Lane 2016-05-21 21:18:14 Re: 9.4 failure on skink in _bt_newroot/XLogCheckBuffer