Consistently use "superuser" instead of "super user"
[pgsql.git] / src / test / regress / expected / alter_operator.out
blob71bd4842821fc59c8481ba5019a681bfc4943ec9
1 CREATE FUNCTION alter_op_test_fn(boolean, boolean)
2 RETURNS boolean AS $$ SELECT NULL::BOOLEAN; $$ LANGUAGE sql IMMUTABLE;
3 CREATE FUNCTION customcontsel(internal, oid, internal, integer)
4 RETURNS float8 AS 'contsel' LANGUAGE internal STABLE STRICT;
5 CREATE OPERATOR === (
6     LEFTARG = boolean,
7     RIGHTARG = boolean,
8     PROCEDURE = alter_op_test_fn,
9     COMMUTATOR = ===,
10     NEGATOR = !==,
11     RESTRICT = customcontsel,
12     JOIN = contjoinsel,
13     HASHES, MERGES
15 SELECT pg_describe_object(refclassid,refobjid,refobjsubid) as ref, deptype
16 FROM pg_depend
17 WHERE classid = 'pg_operator'::regclass AND
18       objid = '===(bool,bool)'::regoperator
19 ORDER BY 1;
20                           ref                          | deptype 
21 -------------------------------------------------------+---------
22  function alter_op_test_fn(boolean,boolean)            | n
23  function customcontsel(internal,oid,internal,integer) | n
24  schema public                                         | n
25 (3 rows)
28 -- Reset and set params
30 ALTER OPERATOR === (boolean, boolean) SET (RESTRICT = NONE);
31 ALTER OPERATOR === (boolean, boolean) SET (JOIN = NONE);
32 SELECT oprrest, oprjoin FROM pg_operator WHERE oprname = '==='
33   AND oprleft = 'boolean'::regtype AND oprright = 'boolean'::regtype;
34  oprrest | oprjoin 
35 ---------+---------
36  -       | -
37 (1 row)
39 SELECT pg_describe_object(refclassid,refobjid,refobjsubid) as ref, deptype
40 FROM pg_depend
41 WHERE classid = 'pg_operator'::regclass AND
42       objid = '===(bool,bool)'::regoperator
43 ORDER BY 1;
44                     ref                     | deptype 
45 --------------------------------------------+---------
46  function alter_op_test_fn(boolean,boolean) | n
47  schema public                              | n
48 (2 rows)
50 ALTER OPERATOR === (boolean, boolean) SET (RESTRICT = contsel);
51 ALTER OPERATOR === (boolean, boolean) SET (JOIN = contjoinsel);
52 SELECT oprrest, oprjoin FROM pg_operator WHERE oprname = '==='
53   AND oprleft = 'boolean'::regtype AND oprright = 'boolean'::regtype;
54  oprrest |   oprjoin   
55 ---------+-------------
56  contsel | contjoinsel
57 (1 row)
59 SELECT pg_describe_object(refclassid,refobjid,refobjsubid) as ref, deptype
60 FROM pg_depend
61 WHERE classid = 'pg_operator'::regclass AND
62       objid = '===(bool,bool)'::regoperator
63 ORDER BY 1;
64                     ref                     | deptype 
65 --------------------------------------------+---------
66  function alter_op_test_fn(boolean,boolean) | n
67  schema public                              | n
68 (2 rows)
70 ALTER OPERATOR === (boolean, boolean) SET (RESTRICT = NONE, JOIN = NONE);
71 SELECT oprrest, oprjoin FROM pg_operator WHERE oprname = '==='
72   AND oprleft = 'boolean'::regtype AND oprright = 'boolean'::regtype;
73  oprrest | oprjoin 
74 ---------+---------
75  -       | -
76 (1 row)
78 SELECT pg_describe_object(refclassid,refobjid,refobjsubid) as ref, deptype
79 FROM pg_depend
80 WHERE classid = 'pg_operator'::regclass AND
81       objid = '===(bool,bool)'::regoperator
82 ORDER BY 1;
83                     ref                     | deptype 
84 --------------------------------------------+---------
85  function alter_op_test_fn(boolean,boolean) | n
86  schema public                              | n
87 (2 rows)
89 ALTER OPERATOR === (boolean, boolean) SET (RESTRICT = customcontsel, JOIN = contjoinsel);
90 SELECT oprrest, oprjoin FROM pg_operator WHERE oprname = '==='
91   AND oprleft = 'boolean'::regtype AND oprright = 'boolean'::regtype;
92     oprrest    |   oprjoin   
93 ---------------+-------------
94  customcontsel | contjoinsel
95 (1 row)
97 SELECT pg_describe_object(refclassid,refobjid,refobjsubid) as ref, deptype
98 FROM pg_depend
99 WHERE classid = 'pg_operator'::regclass AND
100       objid = '===(bool,bool)'::regoperator
101 ORDER BY 1;
102                           ref                          | deptype 
103 -------------------------------------------------------+---------
104  function alter_op_test_fn(boolean,boolean)            | n
105  function customcontsel(internal,oid,internal,integer) | n
106  schema public                                         | n
107 (3 rows)
110 -- Test invalid options.
112 ALTER OPERATOR === (boolean, boolean) SET (COMMUTATOR = ====);
113 ERROR:  operator attribute "commutator" cannot be changed
114 ALTER OPERATOR === (boolean, boolean) SET (NEGATOR = ====);
115 ERROR:  operator attribute "negator" cannot be changed
116 ALTER OPERATOR === (boolean, boolean) SET (RESTRICT = non_existent_func);
117 ERROR:  function non_existent_func(internal, oid, internal, integer) does not exist
118 ALTER OPERATOR === (boolean, boolean) SET (JOIN = non_existent_func);
119 ERROR:  function non_existent_func(internal, oid, internal, smallint, internal) does not exist
120 ALTER OPERATOR === (boolean, boolean) SET (COMMUTATOR = !==);
121 ERROR:  operator attribute "commutator" cannot be changed
122 ALTER OPERATOR === (boolean, boolean) SET (NEGATOR = !==);
123 ERROR:  operator attribute "negator" cannot be changed
124 -- invalid: non-lowercase quoted identifiers
125 ALTER OPERATOR & (bit, bit) SET ("Restrict" = _int_contsel, "Join" = _int_contjoinsel);
126 ERROR:  operator attribute "Restrict" not recognized
128 -- Test permission check. Must be owner to ALTER OPERATOR.
130 CREATE USER regress_alter_op_user;
131 SET SESSION AUTHORIZATION regress_alter_op_user;
132 ALTER OPERATOR === (boolean, boolean) SET (RESTRICT = NONE);
133 ERROR:  must be owner of operator ===
134 -- Clean up
135 RESET SESSION AUTHORIZATION;
136 DROP USER regress_alter_op_user;
137 DROP OPERATOR === (boolean, boolean);
138 DROP FUNCTION customcontsel(internal, oid, internal, integer);
139 DROP FUNCTION alter_op_test_fn(boolean, boolean);