Re: Is temporary functions feature official/supported? Found someissues with it. - Mailing list pgsql-bugs

From Alexey Bashtanov
Subject Re: Is temporary functions feature official/supported? Found someissues with it.
Date
Msg-id be61994e-cb5b-ae80-131b-3ae273a2f737@imap.cc
Whole thread Raw
In response to Re: Is temporary functions feature official/supported? Found some issues with it.  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
> Hm.  I can reproduce this if I start in a virgin database, but not
> otherwise.
for a database with a history of temporary namespaces we just need more 
parallel prepared transactions

>  There's no reason this would be special to functions.
temp functions are allowed in prepared transactions, unlike tables/views 
-- that's the reason I thought about functions

Unfortunately I failed to reproduce a crash or a data corruption.

The most interesting I could see was the following:

--------example 1-------
-- session 1:
begin;
create function pg_temp.foo() returns void as $$begin end;$$ language 
plpgsql;
prepare transaction 'z';
create function pg_temp.foo() returns void as $$begin end;$$ language 
plpgsql;

-- session 2:
commit prepared 'z';

-- session 1 prints:
-- ERROR:  duplicate key value violates unique constraint 
"pg_proc_proname_args_nsp_index"
-- DETAIL:  Key (proname, proargtypes, pronamespace)=(foo, , 16385) 
already exists.

--------example 2-------
-- session 1:
begin;
create function pg_temp.foo() returns void as $$begin end;$$ language 
plpgsql;

-- session 2:
begin;
create function pg_temp.foo() returns void as $$begin end;$$ language 
plpgsql;

-- session 1:
prepare transaction 'z';
\q

-- session 2:
prepare transaction 'y';
\q

-- session 3:
begin;
create temp table t();

-- session 4:
commit prepared 'z';
commit prepared 'y';

-- session 3 prints:
-- ERROR:  duplicate key value violates unique constraint 
"pg_namespace_nspname_index"
-- LINE 1: create temp table t();
--                           ^
-- DETAIL:  Key (nspname)=(pg_temp_3) already exists.


Best,
   Alex


pgsql-bugs by date:

Previous
From: Michael Paquier
Date:
Subject: Re: BUG #15548: Unaccent does not remove combining diacriticalcharacters
Next
From: Michael Paquier
Date:
Subject: Re: Is temporary functions feature official/supported? Found someissues with it.