@@ -5029,6 +5029,62 @@ RETURNS TEXT AS $$
50295029 SELECT functions_are( $1, 'Search path ' || pg_catalog.current_setting('search_path') || ' should have the correct functions' );
50305030$$ LANGUAGE SQL;
50315031
5032+ -- procedures_are( schema, procedures[], description )
5033+ CREATE OR REPLACE FUNCTION procedures_are ( NAME, NAME[], TEXT )
5034+ RETURNS TEXT AS $$
5035+ SELECT _are(
5036+ 'procedures',
5037+ ARRAY(
5038+ SELECT name FROM tap_funky WHERE schema = $1 and prokind = 'p'
5039+ EXCEPT
5040+ SELECT $2[i]
5041+ FROM generate_series(1, array_upper($2, 1)) s(i)
5042+ ),
5043+ ARRAY(
5044+ SELECT $2[i]
5045+ FROM generate_series(1, array_upper($2, 1)) s(i)
5046+ EXCEPT
5047+ SELECT name FROM tap_funky WHERE schema = $1 and prokind = 'p'
5048+ ),
5049+ $3
5050+ );
5051+ $$ LANGUAGE SQL;
5052+
5053+ -- procedures_are( schema, procedures[] )
5054+ CREATE OR REPLACE FUNCTION procedures_are ( NAME, NAME[] )
5055+ RETURNS TEXT AS $$
5056+ SELECT procedures_are( $1, $2, 'Schema ' || quote_ident($1) || ' should have the correct procedures' );
5057+ $$ LANGUAGE SQL;
5058+
5059+ -- procedures_are( procedures[], description )
5060+ CREATE OR REPLACE FUNCTION procedures_are ( NAME[], TEXT )
5061+ RETURNS TEXT AS $$
5062+ SELECT _are(
5063+ 'procedures',
5064+ ARRAY(
5065+ SELECT name FROM tap_funky WHERE is_visible and prokind = 'p'
5066+ AND schema NOT IN ('pg_catalog', 'information_schema')
5067+ EXCEPT
5068+ SELECT $1[i]
5069+ FROM generate_series(1, array_upper($1, 1)) s(i)
5070+ ),
5071+ ARRAY(
5072+ SELECT $1[i]
5073+ FROM generate_series(1, array_upper($1, 1)) s(i)
5074+ EXCEPT
5075+ SELECT name FROM tap_funky WHERE is_visible and prokind = 'p'
5076+ AND schema NOT IN ('pg_catalog', 'information_schema')
5077+ ),
5078+ $2
5079+ );
5080+ $$ LANGUAGE SQL;
5081+
5082+ -- procedures_are( procedures[] )
5083+ CREATE OR REPLACE FUNCTION procedures_are ( NAME[] )
5084+ RETURNS TEXT AS $$
5085+ SELECT procedures_are( $1, 'Search path ' || pg_catalog.current_setting('search_path') || ' should have the correct procedures' );
5086+ $$ LANGUAGE SQL;
5087+
50325088-- indexes_are( schema, table, indexes[], description )
50335089CREATE OR REPLACE FUNCTION indexes_are( NAME, NAME, NAME[], TEXT )
50345090RETURNS TEXT AS $$
0 commit comments