Re: [BUGS] Assertion failure from plan cache invalidation

2010-08-13 Thread Tom Lane
Heikki Linnakangas writes: > On 13/08/10 18:18, Tom Lane wrote: >> Heikki Linnakangas writes: >>> PushOverrideSearchPath() assumes that if the temporary namespace existed >>> when an override search path was memorized with GetOverrideSearchPath(), >>> it must still exist. That's not true in the a

Re: [BUGS] Assertion failure from plan cache invalidation

2010-08-13 Thread Heikki Linnakangas
On 13/08/10 18:18, Tom Lane wrote: Heikki Linnakangas writes: PushOverrideSearchPath() assumes that if the temporary namespace existed when an override search path was memorized with GetOverrideSearchPath(), it must still exist. That's not true in the above example, rolling back the transaction

Re: [BUGS] Assertion failure from plan cache invalidation

2010-08-13 Thread Tom Lane
Heikki Linnakangas writes: > PushOverrideSearchPath() assumes that if the temporary namespace existed > when an override search path was memorized with GetOverrideSearchPath(), > it must still exist. That's not true in the above example, rolling back > the transaction that the temporary namespa

[BUGS] Assertion failure from plan cache invalidation

2010-08-13 Thread Heikki Linnakangas
This leads to assertion failure, on versions 8.3 onwards where plan cache invalidation was introduced: postgres=# CREATE FUNCTION ttfunc() RETURNS VOID AS $$ begin PERFORM * FROM temptable; END; $$ LANGUAGE plpgsql; CREATE FUNCTION postgres=# begin; BEGIN postgres=# CREATE TEMPORARY TABLE temp