pub const SELECT_COLLATIONS_PG14: &str = "\
SELECT \
n.nspname::text AS schema, \
c.collname::text AS name, \
c.collprovider::text AS provider, \
c.collcollate::text AS lc_collate, \
c.collctype::text AS lc_ctype, \
c.collisdeterministic AS deterministic, \
c.collversion::text AS version, \
pg_catalog.pg_get_userbyid(c.collowner)::text AS owner, \
pg_catalog.obj_description(c.oid, 'pg_collation')::text AS comment \
FROM pg_catalog.pg_collation c \
JOIN pg_catalog.pg_namespace n ON n.oid = c.collnamespace \
WHERE n.nspname <> 'pg_catalog' \
AND n.nspname <> 'information_schema' \
AND NOT EXISTS ( \
SELECT 1 FROM pg_catalog.pg_depend d \
WHERE d.classid = 'pg_catalog.pg_collation'::regclass \
AND d.objid = c.oid \
AND d.deptype = 'e' \
) \
AND n.nspname = ANY($1::text[]) \
ORDER BY n.nspname, c.collname";
pub const SELECT_COLLATIONS_PG15_16: &str = "\
SELECT \
n.nspname::text AS schema, \
c.collname::text AS name, \
c.collprovider::text AS provider, \
COALESCE(c.colliculocale, c.collcollate)::text AS lc_collate, \
COALESCE(c.collctype, c.colliculocale, c.collcollate)::text AS lc_ctype, \
c.collisdeterministic AS deterministic, \
c.collversion::text AS version, \
pg_catalog.pg_get_userbyid(c.collowner)::text AS owner, \
pg_catalog.obj_description(c.oid, 'pg_collation')::text AS comment \
FROM pg_catalog.pg_collation c \
JOIN pg_catalog.pg_namespace n ON n.oid = c.collnamespace \
WHERE n.nspname <> 'pg_catalog' \
AND n.nspname <> 'information_schema' \
AND NOT EXISTS ( \
SELECT 1 FROM pg_catalog.pg_depend d \
WHERE d.classid = 'pg_catalog.pg_collation'::regclass \
AND d.objid = c.oid \
AND d.deptype = 'e' \
) \
AND n.nspname = ANY($1::text[]) \
ORDER BY n.nspname, c.collname";
pub const SELECT_COLLATIONS_PG17_PLUS: &str = "\
SELECT \
n.nspname::text AS schema, \
c.collname::text AS name, \
c.collprovider::text AS provider, \
COALESCE(c.colllocale, c.collcollate)::text AS lc_collate, \
COALESCE(c.collctype, c.colllocale, c.collcollate)::text AS lc_ctype, \
c.collisdeterministic AS deterministic, \
c.collversion::text AS version, \
pg_catalog.pg_get_userbyid(c.collowner)::text AS owner, \
pg_catalog.obj_description(c.oid, 'pg_collation')::text AS comment \
FROM pg_catalog.pg_collation c \
JOIN pg_catalog.pg_namespace n ON n.oid = c.collnamespace \
WHERE n.nspname <> 'pg_catalog' \
AND n.nspname <> 'information_schema' \
AND NOT EXISTS ( \
SELECT 1 FROM pg_catalog.pg_depend d \
WHERE d.classid = 'pg_catalog.pg_collation'::regclass \
AND d.objid = c.oid \
AND d.deptype = 'e' \
) \
AND n.nspname = ANY($1::text[]) \
ORDER BY n.nspname, c.collname";