docs: public static ColumnInformation create(String name, ColumnType type) {
      byte[] nameBytes = name.getBytes();
  
      byte[] arr = new byte[23 + 2 * nameBytes.length];
      int pos = 0;
  
      //lenenc_str     catalog
      //lenenc_str     schema
      //lenenc_str     table
      //lenenc_str     org_table
      for (int i = 0; i < 4; i++) {
        arr[pos++] = 1;
        arr[pos++] = 0;
      }
  
      //lenenc_str     name
      //lenenc_str     org_name
      for (int i = 0; i < 2; i++) {
        arr[pos++] = (byte) name.length();
        System.arraycopy(nameBytes, 0, arr, pos, nameBytes.length);
        pos += nameBytes.length;
      }
  
      //lenenc_int     length of fixed-length fields [0c]
      arr[pos++] = 0xc;
  
      //2              character set
      arr[pos++] = 33; /* charset  = UTF8 */
      arr[pos++] = 0;
  
      int len;
  
      /* Sensible predefined length - since we're dealing with I_S here, most char fields are 64 char long */
      switch (type.getSqlType()) {
        case Types.VARCHAR:
        case Types.CHAR:
          len = 64 * 3; /* 3 bytes per UTF8 char */
          break;
        case Types.SMALLINT:
          len = 5;
          break;
        case Types.NULL:
          len = 0;
          break;
        default:
          len = 1;
          break;
      }
  
      //
      arr[pos] = (byte) len; /* 4 bytes : column length */
      pos += 4;
  
      arr[pos++] = (byte) ColumnType.toServer(type.getSqlType()).getType(); /* 1 byte : type */
  
      arr[pos++] = (byte) len; /* 2 bytes : flags */
      arr[pos++] = 0;
  
      arr[pos++] = 0; /* decimals */
  
      arr[pos++] = 0; /* 2 bytes filler */
      arr[pos] = 0;
  
      return new ColumnInformation(new Buffer(arr));
    }