-- added
select define_function_args('util__table_exists','name');
--
-- procedure util__table_exists/1
--
CREATE OR REPLACE FUNCTION util__table_exists(
name text
) RETURNS boolean AS $$
DECLARE
BEGIN
return exists (
select 1 from pg_class
where relname = name
and pg_table_is_visible(oid));
END;
$$ LANGUAGE plpgsql;
-- added
select define_function_args('util__table_column_exists','t_name,c_name');
--
-- procedure util__table_column_exists/1
--
CREATE OR REPLACE FUNCTION util__table_column_exists(
t_name text,
c_name text
) RETURNS boolean AS $$
DECLARE
BEGIN
return exists (
select 1 from information_schema.columns c
where c.table_name = t_name
and c.column_name = c_name);
END;
$$ LANGUAGE plpgsql;
-- added
select define_function_args('util__view_exists','name');
--
-- procedure util__view_exists/1
--
CREATE OR REPLACE FUNCTION util__view_exists(
name text
) RETURNS boolean AS $$
DECLARE
BEGIN
return exists (
select 1 from pg_views where viewname = name);
END;
$$ LANGUAGE plpgsql;
-- added
select define_function_args('util__index_exists','name');
--
-- procedure util__index_exists/1
--
CREATE OR REPLACE FUNCTION util__index_exists(
name text
) RETURNS boolean AS $$
DECLARE
BEGIN
return exists (
select 1 from pg_indexes where indexname = name);
END;
$$ LANGUAGE plpgsql;