Re: BUG #1215: Call sql function from plpgsql results vary. - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #1215: Call sql function from plpgsql results vary.
Date
Msg-id 23560.1092279969@sss.pgh.pa.us
Whole thread Raw
In response to BUG #1215: Call sql function from plpgsql results vary.  ("PostgreSQL Bugs List" <pgsql-bugs@postgresql.org>)
List pgsql-bugs
"PostgreSQL Bugs List" <pgsql-bugs@postgresql.org> writes:
> I was playing around seeing what new things I could do in stored procedures.
> Here is the statment I'm using to get the issue.
> select * from f_trap_error();
> I expect the above statement to alway return 1 which it does.
> The issue is I expect the trapped_error table to contain a seq id and than a
> 999 899

I think the problem is you declared f_test_sql as IMMUTABLE, which
entitles the planner to execute it once and bind the result as a
constant.  Functions with side-effects should *never* be marked
immutable (nor stable for that matter).

            regards, tom lane

pgsql-bugs by date:

Previous
From: Michael Fuhr
Date:
Subject: 8.0.0beta1: Ownership of implicit sequences after dump/restore
Next
From: Christian
Date:
Subject: postgres 7.1.3 wth perl 5.8.0