Re: CREATE or REPLACE function pg_catalog.*

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "John Hansen" <john(at)geeknet(dot)com(dot)au>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: CREATE or REPLACE function pg_catalog.*
Date: 2004-11-10 20:26:34
Message-ID: 15673.1100118394@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

"John Hansen" <john(at)geeknet(dot)com(dot)au> writes:
>> You can't override a builtin C function that way because
>> there is a built-in map from function OID to builtin function
>> address, and it's consulted before trying to look in pg_proc.

> That doesn't make sense, since if I delete the entry from pg_proc and
> then create the funtion, everything works fine.

Sure, because then the new entry has a new OID that doesn't match any
entry in the fmgr_builtin table.

> Well, as someone pointed out, if it is possible to execute replace
> function on a builtin, then it should work.

[ shrug... ] Nobody promised that you could change any arbitrary thing
without breaking your system. Superusers are allowed to do "delete from
pg_proc", too, but that doesn't mean you'll be pleased with the results.

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Simon Riggs 2004-11-10 21:32:47 Re: Increasing the length of
Previous Message Jan Wieck 2004-11-10 20:25:20 Re: Increasing the length of pg_stat_activity.current_query...