{# ============= Fetch the list of functions based on given schema_names ============= #} {% if func_name %} SELECT n.nspname schema_name, p.proname func_name, pg_catalog.pg_get_function_arguments(p.oid) arg_list, pg_catalog.pg_get_function_result(p.oid) return_type, p.proisagg is_aggregate, p.proiswindow is_window, p.proretset is_set_returning FROM pg_catalog.pg_proc p INNER JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace WHERE n.nspname = '{{schema_name}}' AND p.proname = '{{func_name}}' AND p.proretset ORDER BY 1, 2 {% else %} SELECT n.nspname schema_name, p.proname object_name, pg_catalog.pg_get_function_arguments(p.oid) arg_list, pg_catalog.pg_get_function_result(p.oid) return_type, p.proisagg is_aggregate, p.proiswindow is_window, p.proretset is_set_returning FROM pg_catalog.pg_proc p INNER JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace WHERE n.nspname IN ({{schema_names}}) {% if is_set_returning %} AND p.proretset {% endif %} ORDER BY 1, 2 {% endif %}