From: | "Asko Oja" <ascoja(at)gmail(dot)com> |
---|---|
To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "Martin Pihlak" <martin(dot)pihlak(at)gmail(dot)com>, "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com>, "Pg Hackers" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: plan invalidation vs stored procedures |
Date: | 2008-08-05 14:04:56 |
Message-ID: | ecd779860808050704s54964d56k5618cd06d9edfd05@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
> This is simply a bad, wrong, stupid way to do it. Why do you not use
> CREATE OR REPLACE FUNCTION?
I totally agree we should get this fixed first :)
postgres=# create or replace function pavel ( i_param text, status OUT int,
status_text OUT text ) returns record as $$ select 200::int, 'ok'::text; $$
language sql;
ERROR: cannot change return type of existing function
HINT: Use DROP FUNCTION first.
On Tue, Aug 5, 2008 at 4:51 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Martin Pihlak <martin(dot)pihlak(at)gmail(dot)com> writes:
> > create function foo() returns integer as $$ begin return 1; end; $$
> language plpgsql;
> > CREATE FUNCTION
> > prepare c1 as select * from foo();
> > PREPARE
> > execute c1;
> > foo
> > -----
> > 1
> > (1 row)
>
> > drop function foo();
> > DROP FUNCTION
> > create function foo() returns integer as $$ begin return 2; end; $$
> language plpgsql;
> > CREATE FUNCTION
> > execute c1;
> > psql:test.sql:11: ERROR: cache lookup failed for function 36555
>
> This is simply a bad, wrong, stupid way to do it. Why do you not use
> CREATE OR REPLACE FUNCTION?
>
> regards, tom lane
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
>
From | Date | Subject | |
---|---|---|---|
Next Message | Asko Oja | 2008-08-05 14:08:39 | Re: plan invalidation vs stored procedures |
Previous Message | Markus Wanner | 2008-08-05 13:57:32 | Re: Automatic Client Failover |