select 'vdb'::name as PKTABLE_CAT, n2.nspname as PKTABLE_SCHEM, c2.relname as PKTABLE_NAME, a2.attname as PKCOLUMN_NAME, 'vdb'::name as FKTABLE_CAT, n1.nspname as FKTABLE_SCHEM, c1.relname as FKTABLE_NAME, a1.attname as FKCOLUMN_NAME, i::int2 as KEY_SEQ, case ref.confupdtype when 'c' then 0::int2 when 'n' then 2::int2 when 'd' then 4::int2 when 'r' then 1::int2 else 3::int2 end as UPDATE_RULE, case ref.confdeltype when 'c' then 0::int2 when 'n' then 2::int2 when 'd' then 4::int2 when 'r' then 1::int2 else 3::int2 end as DELETE_RULE, ref.conname as FK_NAME, cn.conname as PK_NAME, case when ref.condeferrable then case when ref.condeferred then 5::int2 else 6::int2 end else 7::int2 end as DEFERRABLITY from ((((((( (select cn.oid, conrelid, conkey, confrelid, confkey, generate_series(array_lower(conkey, 1), array_upper(conkey, 1)) as i, confupdtype, confdeltype, conname, condeferrable, condeferred from pg_catalog.pg_constraint cn, pg_catalog.pg_class c, pg_catalog.pg_namespace n where contype = 'f' and confrelid = c.oid and relname = 'PARTSSUPPLIER.STATUS' and n.oid = c.relnamespace and n.nspname = 'PartsSupplier' ) ref inner join pg_catalog.pg_class c1 on c1.oid = ref.conrelid) inner join pg_catalog.pg_namespace n1 on n1.oid = c1.relnamespace) inner join pg_catalog.pg_attribute a1 on a1.attrelid = c1.oid and a1.attnum = conkey[i]) inner join pg_catalog.pg_class c2 on c2.oid = ref.confrelid) inner join pg_catalog.pg_namespace n2 on n2.oid = c2.relnamespace) inner join pg_catalog.pg_attribute a2 on a2.attrelid = c2.oid and a2.attnum = confkey[i]) left outer join pg_catalog.pg_constraint cn on cn.conrelid = ref.confrelid and cn.contype = 'p') order by ref.oid, ref.i