|
| 1 | +CREATE ROLE regress_dump_test_role; |
| 2 | +CREATE EXTENSION test_pg_dump; |
| 3 | +ALTER EXTENSION test_pg_dump ADD DATABASE postgres; -- error |
| 4 | +ERROR: cannot add an object of this type to an extension |
| 5 | +CREATE TABLE test_pg_dump_t1 (c1 int, junk text); |
| 6 | +ALTER TABLE test_pg_dump_t1 DROP COLUMN junk; -- to exercise dropped-col cases |
| 7 | +CREATE VIEW test_pg_dump_v1 AS SELECT * FROM test_pg_dump_t1; |
| 8 | +CREATE MATERIALIZED VIEW test_pg_dump_mv1 AS SELECT * FROM test_pg_dump_t1; |
| 9 | +CREATE SCHEMA test_pg_dump_s1; |
| 10 | +CREATE TYPE test_pg_dump_e1 AS ENUM ('abc', 'def'); |
| 11 | +CREATE AGGREGATE newavg ( |
| 12 | + sfunc = int4_avg_accum, basetype = int4, stype = _int8, |
| 13 | + finalfunc = int8_avg, |
| 14 | + initcond1 = '{0,0}' |
| 15 | +); |
| 16 | +CREATE FUNCTION test_pg_dump(int) RETURNS int AS $$ |
| 17 | +BEGIN |
| 18 | +RETURN abs($1); |
| 19 | +END |
| 20 | +$$ LANGUAGE plpgsql IMMUTABLE; |
| 21 | +/ |
| 22 | +CREATE OPERATOR ==== ( |
| 23 | + LEFTARG = int, |
| 24 | + RIGHTARG = int, |
| 25 | + PROCEDURE = int4eq, |
| 26 | + COMMUTATOR = ==== |
| 27 | +); |
| 28 | +CREATE ACCESS METHOD gist2 TYPE INDEX HANDLER gisthandler; |
| 29 | +CREATE TYPE casttesttype; |
| 30 | +CREATE FUNCTION casttesttype_in(cstring) |
| 31 | + RETURNS casttesttype |
| 32 | + AS 'textin' |
| 33 | + LANGUAGE internal STRICT IMMUTABLE; |
| 34 | +/ |
| 35 | +NOTICE: return type casttesttype is only a shell |
| 36 | +CREATE FUNCTION casttesttype_out(casttesttype) |
| 37 | + RETURNS cstring |
| 38 | + AS 'textout' |
| 39 | + LANGUAGE internal STRICT IMMUTABLE; |
| 40 | +/ |
| 41 | +NOTICE: argument type casttesttype is only a shell |
| 42 | +CREATE TYPE casttesttype ( |
| 43 | + internallength = variable, |
| 44 | + input = casttesttype_in, |
| 45 | + output = casttesttype_out, |
| 46 | + alignment = int4 |
| 47 | +); |
| 48 | +CREATE CAST (text AS casttesttype) WITHOUT FUNCTION; |
| 49 | +CREATE FOREIGN DATA WRAPPER dummy; |
| 50 | +CREATE SERVER s0 FOREIGN DATA WRAPPER dummy; |
| 51 | +CREATE FOREIGN TABLE ft1 ( |
| 52 | + c1 integer OPTIONS ("param 1" 'val1') NOT NULL, |
| 53 | + c2 text OPTIONS (param2 'val2', param3 'val3') CHECK (c2 <> ''), |
| 54 | + c3 date, |
| 55 | + CHECK (c3 BETWEEN '1994-01-01'::date AND '1994-01-31'::date) |
| 56 | +) SERVER s0 OPTIONS (delimiter ',', quote '"', "be quoted" 'value'); |
| 57 | +REVOKE EXECUTE ON FUNCTION test_pg_dump(int) FROM PUBLIC; |
| 58 | +GRANT EXECUTE ON FUNCTION test_pg_dump(int) TO regress_dump_test_role; |
| 59 | +GRANT SELECT (c1) ON test_pg_dump_t1 TO regress_dump_test_role; |
| 60 | +GRANT SELECT ON test_pg_dump_v1 TO regress_dump_test_role; |
| 61 | +GRANT USAGE ON FOREIGN DATA WRAPPER dummy TO regress_dump_test_role; |
| 62 | +GRANT USAGE ON FOREIGN SERVER s0 TO regress_dump_test_role; |
| 63 | +GRANT SELECT (c1) ON ft1 TO regress_dump_test_role; |
| 64 | +GRANT SELECT ON ft1 TO regress_dump_test_role; |
| 65 | +GRANT UPDATE ON test_pg_dump_mv1 TO regress_dump_test_role; |
| 66 | +GRANT USAGE ON SCHEMA test_pg_dump_s1 TO regress_dump_test_role; |
| 67 | +GRANT USAGE ON TYPE test_pg_dump_e1 TO regress_dump_test_role; |
| 68 | +ALTER EXTENSION test_pg_dump ADD ACCESS METHOD gist2; |
| 69 | +ALTER EXTENSION test_pg_dump ADD AGGREGATE newavg(int4); |
| 70 | +ALTER EXTENSION test_pg_dump ADD CAST (text AS casttesttype); |
| 71 | +ALTER EXTENSION test_pg_dump ADD FOREIGN DATA WRAPPER dummy; |
| 72 | +ALTER EXTENSION test_pg_dump ADD FOREIGN TABLE ft1; |
| 73 | +ALTER EXTENSION test_pg_dump ADD MATERIALIZED VIEW test_pg_dump_mv1; |
| 74 | +ALTER EXTENSION test_pg_dump ADD OPERATOR ==== (int, int); |
| 75 | +ALTER EXTENSION test_pg_dump ADD SCHEMA test_pg_dump_s1; |
| 76 | +ALTER EXTENSION test_pg_dump ADD SERVER s0; |
| 77 | +ALTER EXTENSION test_pg_dump ADD FUNCTION test_pg_dump(int); |
| 78 | +ALTER EXTENSION test_pg_dump ADD TABLE test_pg_dump_t1; |
| 79 | +ALTER EXTENSION test_pg_dump ADD TYPE test_pg_dump_e1; |
| 80 | +ALTER EXTENSION test_pg_dump ADD VIEW test_pg_dump_v1; |
| 81 | +REVOKE SELECT (c1) ON test_pg_dump_t1 FROM regress_dump_test_role; |
| 82 | +REVOKE SELECT ON test_pg_dump_v1 FROM regress_dump_test_role; |
| 83 | +REVOKE USAGE ON FOREIGN DATA WRAPPER dummy FROM regress_dump_test_role; |
| 84 | +ALTER EXTENSION test_pg_dump DROP ACCESS METHOD gist2; |
| 85 | +ALTER EXTENSION test_pg_dump DROP AGGREGATE newavg(int4); |
| 86 | +ALTER EXTENSION test_pg_dump DROP CAST (text AS casttesttype); |
| 87 | +ALTER EXTENSION test_pg_dump DROP FOREIGN DATA WRAPPER dummy; |
| 88 | +ALTER EXTENSION test_pg_dump DROP FOREIGN TABLE ft1; |
| 89 | +ALTER EXTENSION test_pg_dump DROP FUNCTION test_pg_dump(int); |
| 90 | +ALTER EXTENSION test_pg_dump DROP MATERIALIZED VIEW test_pg_dump_mv1; |
| 91 | +ALTER EXTENSION test_pg_dump DROP OPERATOR ==== (int, int); |
| 92 | +ALTER EXTENSION test_pg_dump DROP SCHEMA test_pg_dump_s1; |
| 93 | +ALTER EXTENSION test_pg_dump DROP SERVER s0; |
| 94 | +ALTER EXTENSION test_pg_dump DROP TABLE test_pg_dump_t1; |
| 95 | +ALTER EXTENSION test_pg_dump DROP TYPE test_pg_dump_e1; |
| 96 | +ALTER EXTENSION test_pg_dump DROP VIEW test_pg_dump_v1; |
| 97 | +DROP OWNED BY regress_dump_test_role RESTRICT; |
| 98 | +DROP ROLE regress_dump_test_role; |
| 99 | +DROP EXTENSION test_pg_dump; |
| 100 | +-- shouldn't be anything left in pg_init_privs |
| 101 | +SELECT * FROM pg_init_privs WHERE privtype = 'e'; |
| 102 | + objoid | classoid | objsubid | privtype | initprivs |
| 103 | +--------+----------+----------+----------+----------------------------------- |
| 104 | + 14890 | 1259 | 0 | e | {highgo=rwU/highgo,=rwU/highgo} |
| 105 | + 14924 | 1259 | 0 | e | {highgo=arwdDxt/highgo,=r/highgo} |
| 106 | + 14929 | 1259 | 0 | e | {highgo=arwdDxt/highgo,=r/highgo} |
| 107 | + 14934 | 1259 | 0 | e | {highgo=arwdDxt/highgo,=r/highgo} |
| 108 | + 14940 | 1259 | 0 | e | {highgo=arwdDxt/highgo,=r/highgo} |
| 109 | + 14945 | 1259 | 0 | e | {highgo=arwdDxt/highgo,=r/highgo} |
| 110 | + 14950 | 1259 | 0 | e | {highgo=arwdDxt/highgo,=r/highgo} |
| 111 | + 14956 | 1259 | 0 | e | {highgo=arwdDxt/highgo,=r/highgo} |
| 112 | + 14961 | 1259 | 0 | e | {highgo=arwdDxt/highgo,=r/highgo} |
| 113 | + 14966 | 1259 | 0 | e | {highgo=arwdDxt/highgo,=r/highgo} |
| 114 | +(10 rows) |
| 115 | + |
0 commit comments