AW: Coping with 'C' vs 'newC' function language names - Mailing list pgsql-hackers

From Zeugswetter Andreas SB
Subject AW: Coping with 'C' vs 'newC' function language names
Date
Msg-id 11C1E6749A55D411A9670001FA687963368126@sdexcsrv1.f000.d0188.sd.spardat.at
Whole thread Raw
List pgsql-hackers
> > More to the point, I think we have to assume old-style interface if we
> > see ... LANGUAGE 'C' with no other decoration, because any other
> > assumption is guaranteed to break all existing user-defined functions.
> 
>     Just  successfully  loading  an  old-style C function doesn't
>     guarantee that it works anyway. I pointed out before that the
>     changes  due  to  TOAST  require  each  function  that  takes
>     arguments of varlen types to  expect  toasted  values.  Worst
>     case a dump might reload and anything works fine, but a month
>     later the first toasted value appears  and  the  old-style  C
>     function corrupts the data without a single warning.
> 
>     We need to WARN, WARN and explicitly WARN users of selfmade C
>     functions about this in any possible place!

Imho the better solution would be, to always detoast values before we pass
them to old-style C-functions. And toast the return value when the function returns.

Andreas


pgsql-hackers by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: Varchar standard compliance
Next
From: Peter Eisentraut
Date:
Subject: Re: Coping with 'C' vs 'newC' function language names