|
| 1 | +-- procedures_are( schema, procedures[], description ) |
| 2 | +CREATE OR REPLACE FUNCTION procedures_are ( NAME, NAME[], TEXT ) |
| 3 | +RETURNS TEXT AS $$ |
| 4 | + SELECT _are( |
| 5 | + 'procedures', |
| 6 | + ARRAY( |
| 7 | + SELECT name FROM tap_funky WHERE schema = $1 and prokind = 'p' |
| 8 | + EXCEPT |
| 9 | + SELECT $2[i] |
| 10 | + FROM generate_series(1, array_upper($2, 1)) s(i) |
| 11 | + ), |
| 12 | + ARRAY( |
| 13 | + SELECT $2[i] |
| 14 | + FROM generate_series(1, array_upper($2, 1)) s(i) |
| 15 | + EXCEPT |
| 16 | + SELECT name FROM tap_funky WHERE schema = $1 and prokind = 'p' |
| 17 | + ), |
| 18 | + $3 |
| 19 | + ); |
| 20 | +$$ LANGUAGE SQL; |
| 21 | + |
| 22 | +-- procedures_are( schema, procedures[] ) |
| 23 | +CREATE OR REPLACE FUNCTION procedures_are ( NAME, NAME[] ) |
| 24 | +RETURNS TEXT AS $$ |
| 25 | + SELECT procedures_are( $1, $2, 'Schema ' || quote_ident($1) || ' should have the correct procedures' ); |
| 26 | +$$ LANGUAGE SQL; |
| 27 | + |
| 28 | +-- procedures_are( procedures[], description ) |
| 29 | +CREATE OR REPLACE FUNCTION procedures_are ( NAME[], TEXT ) |
| 30 | +RETURNS TEXT AS $$ |
| 31 | + SELECT _are( |
| 32 | + 'procedures', |
| 33 | + ARRAY( |
| 34 | + SELECT name FROM tap_funky WHERE is_visible and prokind = 'p' |
| 35 | + AND schema NOT IN ('pg_catalog', 'information_schema') |
| 36 | + EXCEPT |
| 37 | + SELECT $1[i] |
| 38 | + FROM generate_series(1, array_upper($1, 1)) s(i) |
| 39 | + ), |
| 40 | + ARRAY( |
| 41 | + SELECT $1[i] |
| 42 | + FROM generate_series(1, array_upper($1, 1)) s(i) |
| 43 | + EXCEPT |
| 44 | + SELECT name FROM tap_funky WHERE is_visible and prokind = 'p' |
| 45 | + AND schema NOT IN ('pg_catalog', 'information_schema') |
| 46 | + ), |
| 47 | + $2 |
| 48 | + ); |
| 49 | +$$ LANGUAGE SQL; |
| 50 | + |
| 51 | +-- procedures_are( procedures[] ) |
| 52 | +CREATE OR REPLACE FUNCTION procedures_are ( NAME[] ) |
| 53 | +RETURNS TEXT AS $$ |
| 54 | + SELECT procedures_are( $1, 'Search path ' || pg_catalog.current_setting('search_path') || ' should have the correct procedures' ); |
| 55 | +$$ LANGUAGE SQL; |
0 commit comments