AW: Coping with 'C' vs 'newC' function language names

Поиск
Список
Период
Сортировка
От Zeugswetter Andreas SB
Тема AW: Coping with 'C' vs 'newC' function language names
Дата
Msg-id 11C1E6749A55D411A9670001FA687963368126@sdexcsrv1.f000.d0188.sd.spardat.at
обсуждение исходный текст
Список 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 по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: Varchar standard compliance
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: Coping with 'C' vs 'newC' function language names