docs: public int getColumnType(final int column) throws SQLException {
      ColumnInformation ci = getColumnInformation(column);
      switch (ci.getColumnType()) {
        case BIT:
          if (ci.getLength() == 1) {
            return Types.BIT;
          }
          return Types.VARBINARY;
        case TINYINT:
          if (ci.getLength() == 1 && options.tinyInt1isBit) {
            return Types.BIT;
          }
          return Types.TINYINT;
        case YEAR:
          if (options.yearIsDateType) {
            return Types.DATE;
          }
          return Types.SMALLINT;
        case BLOB:
          if (ci.getLength() < 0 || ci.getLength() > 16777215) {
            return Types.LONGVARBINARY;
          }
          return Types.VARBINARY;
        case VARCHAR:
        case VARSTRING:
          if (ci.isBinary()) {
            return Types.VARBINARY;
          }
          if (ci.getLength() < 0) {
            return Types.LONGVARCHAR;
          }
          return Types.VARCHAR;
        case STRING:
          if (ci.isBinary()) {
            return Types.BINARY;
          }
          return Types.CHAR;
        default:
          return ci.getColumnType().getSqlType();
      }
  
    }