> > The builtin function is still called, not the userdefined 
> function for 
> > 'C' language functions.
> 
> 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.

Eg: delete from pg_proc whete proname = 'funcname'; create function
pg_catalog.funcname();

> This behavior is not really open to negotiation; not only on 
> grounds of speed, but on grounds of circularity.  (The 
> functions used in the process of looking up entries in 
> pg_proc itself obviously must have such a short circuit...)  
> You'd have to build a modified backend in which the 
> particular functions you want to replace are not listed in 
> the builtin mapping table.
> 
>                       regards, tom lane

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

... John

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to