Lists: | pgsql-hackers |
---|
From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
---|---|
To: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | odd alter_generic regression failures |
Date: | 2012-10-08 13:25:41 |
Message-ID: | 5072D455.7010109@dunslane.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
We seem to have an intermittent failure on the alter_generic tests that
look like this:
SET SESSION AUTHORIZATION regtest_alter_user1;
CREATE FUNCTION alt_func1(int) RETURNS int LANGUAGE sql
AS 'SELECT $1 + 1';
+ ERROR: permission denied for language sql
CREATE FUNCTION alt_func2(int) RETURNS int LANGUAGE sql
AS 'SELECT $1 - 1';
+ ERROR: permission denied for language sql
CREATE AGGREGATE alt_agg1 (
sfunc1 = int4pl, basetype = int4, stype1 = int4, initcond = 0
);
This has been seen on at least two buildfarm members: chough (Windows/MSVC) and smilodon (NetBSD/gcc). The fact that it's intermittent is rather worrying and puzzling.
cheers
andrew
From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
Cc: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: odd alter_generic regression failures |
Date: | 2012-10-15 15:29:25 |
Message-ID: | 10108.1350314965@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-hackers |
Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
> We seem to have an intermittent failure on the alter_generic tests that
> look like this:
> SET SESSION AUTHORIZATION regtest_alter_user1;
> CREATE FUNCTION alt_func1(int) RETURNS int LANGUAGE sql
> AS 'SELECT $1 + 1';
> + ERROR: permission denied for language sql
> CREATE FUNCTION alt_func2(int) RETURNS int LANGUAGE sql
> AS 'SELECT $1 - 1';
> + ERROR: permission denied for language sql
> CREATE AGGREGATE alt_agg1 (
> sfunc1 = int4pl, basetype = int4, stype1 = int4, initcond = 0
> );
I poked around and realized that the reason for this is that it's run in
parallel with the "privileges" test, which does:
REVOKE ALL PRIVILEGES ON LANGUAGE sql FROM PUBLIC;
... various stuff ...
GRANT ALL PRIVILEGES ON LANGUAGE sql TO PUBLIC;
So the current placement of that test is no better than the original :-(
I'll put it someplace else.
regards, tom lane