code: public ResultSet getAttributes(final String catalog,
                                     final String schemaPattern,
                                     final String typeNamePattern,
                                     final String attributeNamePattern)
          throws SQLException {
  
          return RowLists.rowList21(String.class, String.class, String.class,
                                    String.class, Integer.class, String.class,
                                    Integer.class, Integer.class, Integer.class,
                                    Integer.class, String.class, String.class,
                                    Integer.class, Integer.class, Integer.class, 
                                    Integer.class, String.class, String.class, 
                                    String.class, String.class, Short.class).
              withLabel(1, "TYPE_CAT").
              withLabel(2, "TYPE_SCHEM").
              withLabel(3, "TYPE_NAME").
              withLabel(4, "ATTR_NAME").
              withLabel(5, "DATA_TYPE").
              withLabel(6, "ATTR_TYPE_NAME").
              withLabel(7, "ATTR_SIZE").
              withLabel(8, "DECIMAL_DIGITS").
              withLabel(9, "NUM_PREC_RADIX").
              withLabel(10, "NULLABLE").
              withLabel(11, "REMARKS").
              withLabel(12, "ATTR_DEF").
              withLabel(13, "SQL_DATA_TYPE").
              withLabel(14, "SQL_DATETIME_SUB").
              withLabel(15, "CHAR_OCTET_LENGTH").
              withLabel(16, "ORDINAL_POSITION").
              withLabel(17, "IS_NULLABLE").
              withLabel(18, "SCOPE_CATLOG").
              withLabel(19, "SCOPE_SCHEMA").
              withLabel(20, "SCOPE_TABLE").
              withLabel(21, "SOURCE_DATA_TYPE").
              resultSet();
  
      }
docs: {@inheritDoc}