| From: | Zeugswetter Andreas SB <ZeugswetterA(at)wien(dot)spardat(dot)at> | 
|---|---|
| To: | "'Jan Wieck'" <janwieck(at)Yahoo(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | Philip Warner <pjw(at)rhyme(dot)com(dot)au>, pgsql-hackers(at)postgresql(dot)org | 
| Subject: | AW: Coping with 'C' vs 'newC' function language names | 
| Date: | 2000-11-17 16:05:46 | 
| Message-ID: | 11C1E6749A55D411A9670001FA687963368126@sdexcsrv1.f000.d0188.sd.spardat.at | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | 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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Eisentraut | 2000-11-17 16:14:16 | Re: Coping with 'C' vs 'newC' function language names | 
| Previous Message | Peter Eisentraut | 2000-11-17 15:57:09 | Re: Varchar standard compliance |