class PgConstraintTable {

    public static final RelationName IDENT = new RelationName(PgCatalogSchemaInfo.NAME, "pg_constraint");

    private static final String NO_ACTION = "a";
    private static final String MATCH_SIMPLE = "s";

    private PgConstraintTable() {}

    public static SystemTable<ConstraintInfo> create() {<FILL_FUNCTION_BODY>}
}

        return SystemTable.<ConstraintInfo>builder(IDENT)
            .add("oid", INTEGER, c -> constraintOid(c.relationName().fqn(), c.constraintName(), c.constraintType().toString()))
            .add("conname", STRING, ConstraintInfo::constraintName)
            .add("connamespace", INTEGER, c -> schemaOid(c.relationName().schema()))
            .add("contype", STRING, c -> c.constraintType().postgresChar())
            .add("condeferrable", BOOLEAN, c -> false)
            .add("condeferred", BOOLEAN, c -> false)
            .add("convalidated", BOOLEAN, c -> true)
            .add("conrelid", INTEGER, c -> relationOid(c.relationInfo()))
            .add("contypid", INTEGER, c -> 0)
            .add("conindid", INTEGER, c -> 0)
            .add("conparentid", INTEGER, c -> 0)
            .add("confrelid", INTEGER, c -> 0)
            .add("confupdtype", STRING, c -> NO_ACTION)
            .add("confdeltype", STRING, c -> NO_ACTION)
            .add("confmatchtype", STRING, c -> MATCH_SIMPLE)
            .add("conislocal", BOOLEAN, c -> true)
            .add("coninhcount", INTEGER, c -> 0)
            .add("connoinherit", BOOLEAN, c -> true)
            .add("conkey", SHORT_ARRAY, c -> c.conkey())
            .add("confkey", SHORT_ARRAY, c -> null)
            .add("conpfeqop", INTEGER_ARRAY, c -> null)
            .add("conppeqop", INTEGER_ARRAY, c -> null)
            .add("conffeqop", INTEGER_ARRAY, c -> null)
            .add("conexclop", INTEGER_ARRAY, c -> null)
            .add("conbin", STRING, c -> null)
           .build();
    
<no_super_class>