}
//Build result set (manually)
ResultField[] resultFields = new ResultField[21];
resultFields[0] = new ResultField("TYPE_CAT", 0, (short)0, registry.loadType("text"), (short)0, 0, Format.Binary);
resultFields[1] = new ResultField("TYPE_SCHEM", 0, (short)0, registry.loadType("text"), (short)0, 0, Format.Binary);
resultFields[2] = new ResultField("TYPE_NAME", 0, (short)0, registry.loadType("text"), (short)0, 0, Format.Binary);
resultFields[3] = new ResultField("ATTR_NAME", 0, (short)0, registry.loadType("text"), (short)0, 0, Format.Binary);
resultFields[4] = new ResultField("DATA_TYPE", 0, (short)0, registry.loadType("int4"), (short)0, 0, Format.Binary);
resultFields[5] = new ResultField("ATTR_TYPE_NAME", 0, (short)0, registry.loadType("text"), (short)0, 0, Format.Binary);
resultFields[6] = new ResultField("ATTR_SIZE", 0, (short)0, registry.loadType("int4"), (short)0, 0, Format.Binary);
resultFields[7] = new ResultField("DECIMAL_DIGITS", 0, (short)0, registry.loadType("int4"), (short)0, 0, Format.Binary);
resultFields[8] = new ResultField("NUM_PREC_RADIX", 0, (short)0, registry.loadType("int4"), (short)0, 0, Format.Binary);
resultFields[9] = new ResultField("NULLABLE", 0, (short)0, registry.loadType("int4"), (short)0, 0, Format.Binary);
resultFields[10] = new ResultField("REMARKS", 0, (short)0, registry.loadType("text"), (short)0, 0, Format.Binary);
resultFields[11] = new ResultField("ATTR_DEF", 0, (short)0, registry.loadType("text"), (short)0, 0, Format.Binary);
resultFields[12] = new ResultField("SQL_DATA_TYPE", 0, (short)0, registry.loadType("int4"), (short)0, 0, Format.Binary);
resultFields[13] = new ResultField("SQL_DATETIME_SUB", 0, (short)0, registry.loadType("int4"), (short)0, 0, Format.Binary);
resultFields[14] = new ResultField("CHAR_OCTET_LENGTH", 0, (short)0, registry.loadType("int4"), (short)0, 0, Format.Binary);
resultFields[15] = new ResultField("ORDINAL_POSITION", 0, (short)0, registry.loadType("int4"), (short)0, 0, Format.Binary);
resultFields[16] = new ResultField("IS_NULLABLE", 0, (short)0, registry.loadType("text"), (short)0, 0, Format.Binary);
resultFields[17] = new ResultField("SCOPE_CATLOG", 0, (short)0, registry.loadType("text"), (short)0, 0, Format.Binary);
resultFields[18] = new ResultField("SCOPE_SCHEMA", 0, (short)0, registry.loadType("text"), (short)0, 0, Format.Binary);
resultFields[19] = new ResultField("SCOPE_TABLE", 0, (short)0, registry.loadType("text"), (short)0, 0, Format.Binary);
resultFields[20] = new ResultField("SOURCE_DATA_TYPE", 0, (short)0, registry.loadType("int2"), (short)0, 0, Format.Binary);
List<Object[]> results = new ArrayList<>();
for (int c = 0; c < attrsData.size(); ++c) {