Re: Outstanding patches - Mailing list pgsql-hackers

From Alessio Bragadini
Subject Re: Outstanding patches
Date
Msg-id 3AF8EF34.F810203B@albourne.com
Whole thread Raw
In response to Re: Outstanding patches  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Re: Outstanding patches  (Tom Lane <tgl@sss.pgh.pa.us>)
List 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


pgsql-hackers by date:

Previous
From: Karel Zak
Date:
Subject: Re: NOCREATETABLE patch (was: Re: Please, help!(about Postgres))
Next
From: darcy@druid.net (D'Arcy J.M. Cain)
Date:
Subject: Re: Changes needed to build on NetBSD