@@ -37,6 +37,146 @@ BEGIN
3737END;
3838$$ LANGUAGE plpgsql;
3939
40+ -- hasnt_operator( left_type, schema, name, right_type, return_type, description )
41+ CREATE OR REPLACE FUNCTION hasnt_operator ( NAME, NAME, NAME, NAME, NAME, TEXT )
42+ RETURNS TEXT AS $$
43+ SELECT ok( NOT _op_exists($1 , $2 , $3 , $4 , $5 ), $6 );
44+ $$ LANGUAGE SQL;
45+
46+ -- hasnt_operator( left_type, schema, name, right_type, return_type )
47+ CREATE OR REPLACE FUNCTION hasnt_operator ( NAME, NAME, NAME, NAME, NAME )
48+ RETURNS TEXT AS $$
49+ SELECT ok(
50+ NOT _op_exists($1 , $2 , $3 , $4 , $5 ),
51+ ' Operator ' || quote_ident($2 ) || ' .' || $3 || ' (' || $1 || ' ,' || $4
52+ || ' ) RETURNS ' || $5 || ' should not exist'
53+ );
54+ $$ LANGUAGE SQL;
55+
56+ -- hasnt_operator( left_type, name, right_type, return_type, description )
57+ CREATE OR REPLACE FUNCTION hasnt_operator ( NAME, NAME, NAME, NAME, TEXT )
58+ RETURNS TEXT AS $$
59+ SELECT ok( NOT _op_exists($1 , $2 , $3 , $4 ), $5 );
60+ $$ LANGUAGE SQL;
61+
62+ -- hasnt_operator( left_type, name, right_type, return_type )
63+ CREATE OR REPLACE FUNCTION hasnt_operator ( NAME, NAME, NAME, NAME )
64+ RETURNS TEXT AS $$
65+ SELECT ok(
66+ NOT _op_exists($1 , $2 , $3 , $4 ),
67+ ' Operator ' || $2 || ' (' || $1 || ' ,' || $3
68+ || ' ) RETURNS ' || $4 || ' should not exist'
69+ );
70+ $$ LANGUAGE SQL;
71+
72+ -- hasnt_operator( left_type, name, right_type, description )
73+ CREATE OR REPLACE FUNCTION hasnt_operator ( NAME, NAME, NAME, TEXT )
74+ RETURNS TEXT AS $$
75+ SELECT ok( NOT _op_exists($1 , $2 , $3 ), $4 );
76+ $$ LANGUAGE SQL;
77+
78+ -- hasnt_operator( left_type, name, right_type )
79+ CREATE OR REPLACE FUNCTION hasnt_operator ( NAME, NAME, NAME )
80+ RETURNS TEXT AS $$
81+ SELECT ok(
82+ NOT _op_exists($1 , $2 , $3 ),
83+ ' Operator ' || $2 || ' (' || $1 || ' ,' || $3
84+ || ' ) should not exist'
85+ );
86+ $$ LANGUAGE SQL;
87+
88+ -- hasnt_leftop( schema, name, right_type, return_type, description )
89+ CREATE OR REPLACE FUNCTION hasnt_leftop ( NAME, NAME, NAME, NAME, TEXT )
90+ RETURNS TEXT AS $$
91+ SELECT ok( NOT _op_exists(NULL , $1 , $2 , $3 , $4 ), $5 );
92+ $$ LANGUAGE SQL;
93+
94+ -- hasnt_leftop( schema, name, right_type, return_type )
95+ CREATE OR REPLACE FUNCTION hasnt_leftop ( NAME, NAME, NAME, NAME )
96+ RETURNS TEXT AS $$
97+ SELECT ok(
98+ NOT _op_exists(NULL , $1 , $2 , $3 , $4 ),
99+ ' Left operator ' || quote_ident($1 ) || ' .' || $2 || ' (NONE,'
100+ || $3 || ' ) RETURNS ' || $4 || ' should not exist'
101+ );
102+ $$ LANGUAGE SQL;
103+
104+ -- hasnt_leftop( name, right_type, return_type, description )
105+ CREATE OR REPLACE FUNCTION hasnt_leftop ( NAME, NAME, NAME, TEXT )
106+ RETURNS TEXT AS $$
107+ SELECT ok( NOT _op_exists(NULL , $1 , $2 , $3 ), $4 );
108+ $$ LANGUAGE SQL;
109+
110+ -- hasnt_leftop( name, right_type, return_type )
111+ CREATE OR REPLACE FUNCTION hasnt_leftop ( NAME, NAME, NAME )
112+ RETURNS TEXT AS $$
113+ SELECT ok(
114+ NOT _op_exists(NULL , $1 , $2 , $3 ),
115+ ' Left operator ' || $1 || ' (NONE,' || $2 || ' ) RETURNS ' || $3 || ' should not exist'
116+ );
117+ $$ LANGUAGE SQL;
118+
119+ -- hasnt_leftop( name, right_type, description )
120+ CREATE OR REPLACE FUNCTION hasnt_leftop ( NAME, NAME, TEXT )
121+ RETURNS TEXT AS $$
122+ SELECT ok( NOT _op_exists(NULL , $1 , $2 ), $3 );
123+ $$ LANGUAGE SQL;
124+
125+ -- hasnt_leftop( name, right_type )
126+ CREATE OR REPLACE FUNCTION hasnt_leftop ( NAME, NAME )
127+ RETURNS TEXT AS $$
128+ SELECT ok(
129+ NOT _op_exists(NULL , $1 , $2 ),
130+ ' Left operator ' || $1 || ' (NONE,' || $2 || ' ) should not exist'
131+ );
132+ $$ LANGUAGE SQL;
133+
134+ -- hasnt_rightop( left_type, schema, name, return_type, description )
135+ CREATE OR REPLACE FUNCTION hasnt_rightop ( NAME, NAME, NAME, NAME, TEXT )
136+ RETURNS TEXT AS $$
137+ SELECT ok( NOT _op_exists( $1 , $2 , $3 , NULL , $4 ), $5 );
138+ $$ LANGUAGE SQL;
139+
140+ -- hasnt_rightop( left_type, schema, name, return_type )
141+ CREATE OR REPLACE FUNCTION hasnt_rightop ( NAME, NAME, NAME, NAME )
142+ RETURNS TEXT AS $$
143+ SELECT ok(
144+ NOT _op_exists($1 , $2 , $3 , NULL , $4 ),
145+ ' Right operator ' || quote_ident($2 ) || ' .' || $3 || ' ('
146+ || $1 || ' ,NONE) RETURNS ' || $4 || ' should not exist'
147+ );
148+ $$ LANGUAGE SQL;
149+
150+ -- hasnt_rightop( left_type, name, return_type, description )
151+ CREATE OR REPLACE FUNCTION hasnt_rightop ( NAME, NAME, NAME, TEXT )
152+ RETURNS TEXT AS $$
153+ SELECT ok( NOT _op_exists( $1 , $2 , NULL , $3 ), $4 );
154+ $$ LANGUAGE SQL;
155+
156+ -- hasnt_rightop( left_type, name, return_type )
157+ CREATE OR REPLACE FUNCTION hasnt_rightop ( NAME, NAME, NAME )
158+ RETURNS TEXT AS $$
159+ SELECT ok(
160+ NOT _op_exists($1 , $2 , NULL , $3 ),
161+ ' Right operator ' || $2 || ' ('
162+ || $1 || ' ,NONE) RETURNS ' || $3 || ' should not exist'
163+ );
164+ $$ LANGUAGE SQL;
165+
166+ -- hasnt_rightop( left_type, name, description )
167+ CREATE OR REPLACE FUNCTION hasnt_rightop ( NAME, NAME, TEXT )
168+ RETURNS TEXT AS $$
169+ SELECT ok( NOT _op_exists( $1 , $2 , NULL ), $3 );
170+ $$ LANGUAGE SQL;
171+
172+ -- hasnt_rightop( left_type, name )
173+ CREATE OR REPLACE FUNCTION hasnt_rightop ( NAME, NAME )
174+ RETURNS TEXT AS $$
175+ SELECT ok(
176+ NOT _op_exists($1 , $2 , NULL ),
177+ ' Right operator ' || $2 || ' (' || $1 || ' ,NONE) should not exist'
178+ );
179+ =======
40180-- isnt_member_of( role, members[], description )
41181CREATE OR REPLACE FUNCTION isnt_member_of ( NAME, NAME[], TEXT )
42182RETURNS TEXT AS $$
0 commit comments