Re: Outstanding patches
Alessio Bragadini <alessio@albourne.com>
From: Alessio Bragadini <alessio@albourne.com>
To: pgsql-hackers@postgresql.org
Date: 2001-05-09T07:18:12Z
Lists: pgsql-hackers
Tom Lane wrote: > But it's not really tracking the variable; with Ian's proposed > implementation, after > > create table foo(bar int4); > > create function fooey(foo.bar%type) ...; > > drop table foo; > > create table foo(bar int8); > > you would still have fooey declared as taking int4 not int8, because > the type meant by %type is resolved and frozen immediately upon being > seen. Ok, this is a more general point: in Oracle (which, as Ian points out, uses this feature extensively) if you recreate table foo, function fooey is tagged as 'dirty' and recompiled on the spot next time is used. This is also true for VIEWs and other objects, so you don't have the problem we have when a view breaks because you've updated the underlining table. -- Alessio F. Bragadini alessio@albourne.com APL Financial Services http://village.albourne.com Nicosia, Cyprus phone: +357-2-755750 "It is more complicated than you think" -- The Eighth Networking Truth from RFC 1925