cufflink_pgcodec/
roles.rs1pub const OWNED_BY_THE_USER: &str = "\
8 SELECT kind, name FROM ( \
9 SELECT CASE c.relkind WHEN 'S' THEN 'SEQUENCE' WHEN 'v' THEN 'VIEW' \
10 WHEN 'm' THEN 'MATERIALIZED VIEW' WHEN 'f' THEN 'FOREIGN TABLE' \
11 ELSE 'TABLE' END AS kind, \
12 quote_ident(n.nspname) || '.' || quote_ident(c.relname) AS name, \
13 CASE WHEN c.relkind IN ('r', 'p', 'f') THEN 1 ELSE 2 END AS turn \
14 FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace \
15 WHERE n.nspname = $1 AND c.relowner = current_user::regrole \
16 AND c.relkind IN ('r', 'p', 'S', 'v', 'm', 'f') \
17 AND NOT (c.relkind = 'S' AND EXISTS ( \
18 SELECT 1 FROM pg_depend d \
19 WHERE d.classid = 'pg_class'::regclass AND d.objid = c.oid \
20 AND d.refclassid = 'pg_class'::regclass AND d.deptype IN ('a', 'i'))) \
21 UNION ALL \
22 SELECT CASE p.prokind WHEN 'p' THEN 'PROCEDURE' ELSE 'FUNCTION' END, \
23 quote_ident(n.nspname) || '.' || quote_ident(p.proname) \
24 || '(' || pg_get_function_identity_arguments(p.oid) || ')', \
25 4 \
26 FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace \
27 WHERE n.nspname = $1 AND p.proowner = current_user::regrole AND p.prokind IN ('f', 'p') \
28 UNION ALL \
29 SELECT CASE t.typtype WHEN 'd' THEN 'DOMAIN' ELSE 'TYPE' END, \
30 quote_ident(n.nspname) || '.' || quote_ident(t.typname), \
31 3 \
32 FROM pg_type t JOIN pg_namespace n ON n.oid = t.typnamespace \
33 WHERE n.nspname = $1 AND t.typowner = current_user::regrole AND t.typtype IN ('e', 'd', 'r') \
34 ) o ORDER BY turn, kind, name";