MCPcopy Index your code
hub / github.com/dbcli/pgcli / functions

Method functions

pgcli/pgexecute.py:704–792  ·  view source on GitHub ↗

Yields FunctionMetadata named tuples

(self)

Source from the content-addressed store, hash-verified

702 yield ForeignKey(*row)
703
704 def functions(self):
705 """Yields FunctionMetadata named tuples"""
706
707 if self.conn.info.server_version >= 110000:
708 query = """
709 SELECT n.nspname schema_name,
710 p.proname func_name,
711 p.proargnames,
712 COALESCE(proallargtypes::regtype[], proargtypes::regtype[])::text[],
713 p.proargmodes,
714 prorettype::regtype::text return_type,
715 p.prokind = 'a' is_aggregate,
716 p.prokind = 'w' is_window,
717 p.proretset is_set_returning,
718 d.deptype = 'e' is_extension,
719 pg_get_expr(proargdefaults, 0) AS arg_defaults
720 FROM pg_catalog.pg_proc p
721 INNER JOIN pg_catalog.pg_namespace n
722 ON n.oid = p.pronamespace
723 LEFT JOIN pg_depend d ON d.objid = p.oid and d.deptype = 'e'
724 WHERE p.prorettype::regtype != 'trigger'::regtype
725 ORDER BY 1, 2
726 """
727 elif self.conn.info.server_version > 90000:
728 query = """
729 SELECT n.nspname schema_name,
730 p.proname func_name,
731 p.proargnames,
732 COALESCE(proallargtypes::regtype[], proargtypes::regtype[])::text[],
733 p.proargmodes,
734 prorettype::regtype::text return_type,
735 p.proisagg is_aggregate,
736 p.proiswindow is_window,
737 p.proretset is_set_returning,
738 d.deptype = 'e' is_extension,
739 pg_get_expr(proargdefaults, 0) AS arg_defaults
740 FROM pg_catalog.pg_proc p
741 INNER JOIN pg_catalog.pg_namespace n
742 ON n.oid = p.pronamespace
743 LEFT JOIN pg_depend d ON d.objid = p.oid and d.deptype = 'e'
744 WHERE p.prorettype::regtype != 'trigger'::regtype
745 ORDER BY 1, 2
746 """
747 elif self.conn.info.server_version >= 80400:
748 query = """
749 SELECT n.nspname schema_name,
750 p.proname func_name,
751 p.proargnames,
752 COALESCE(proallargtypes::regtype[], proargtypes::regtype[])::text[],
753 p.proargmodes,
754 prorettype::regtype::text,
755 p.proisagg is_aggregate,
756 false is_window,
757 p.proretset is_set_returning,
758 d.deptype = 'e' is_extension,
759 NULL AS arg_defaults
760 FROM pg_catalog.pg_proc p
761 INNER JOIN pg_catalog.pg_namespace n

Callers 1

refresh_functionsFunction · 0.45

Calls 2

FunctionMetadataClass · 0.85
executeMethod · 0.45

Tested by

no test coverage detected