TIcebergDeleteSink.java

/**
 * Autogenerated by Thrift Compiler (0.16.0)
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated
 */
package org.apache.doris.thrift;

@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.16.0)", date = "2026-05-14")
public class TIcebergDeleteSink implements org.apache.thrift.TBase<TIcebergDeleteSink, TIcebergDeleteSink._Fields>, java.io.Serializable, Cloneable, Comparable<TIcebergDeleteSink> {
  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TIcebergDeleteSink");

  private static final org.apache.thrift.protocol.TField DB_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("db_name", org.apache.thrift.protocol.TType.STRING, (short)1);
  private static final org.apache.thrift.protocol.TField TB_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("tb_name", org.apache.thrift.protocol.TType.STRING, (short)2);
  private static final org.apache.thrift.protocol.TField DELETE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("delete_type", org.apache.thrift.protocol.TType.I32, (short)3);
  private static final org.apache.thrift.protocol.TField EQUALITY_FIELD_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("equality_field_ids", org.apache.thrift.protocol.TType.LIST, (short)4);
  private static final org.apache.thrift.protocol.TField FILE_FORMAT_FIELD_DESC = new org.apache.thrift.protocol.TField("file_format", org.apache.thrift.protocol.TType.I32, (short)5);
  private static final org.apache.thrift.protocol.TField COMPRESS_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("compress_type", org.apache.thrift.protocol.TType.I32, (short)6);
  private static final org.apache.thrift.protocol.TField OUTPUT_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("output_path", org.apache.thrift.protocol.TType.STRING, (short)7);
  private static final org.apache.thrift.protocol.TField TABLE_LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("table_location", org.apache.thrift.protocol.TType.STRING, (short)8);
  private static final org.apache.thrift.protocol.TField HADOOP_CONFIG_FIELD_DESC = new org.apache.thrift.protocol.TField("hadoop_config", org.apache.thrift.protocol.TType.MAP, (short)9);
  private static final org.apache.thrift.protocol.TField FILE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("file_type", org.apache.thrift.protocol.TType.I32, (short)10);
  private static final org.apache.thrift.protocol.TField PARTITION_SPEC_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("partition_spec_id", org.apache.thrift.protocol.TType.I32, (short)11);
  private static final org.apache.thrift.protocol.TField PARTITION_DATA_JSON_FIELD_DESC = new org.apache.thrift.protocol.TField("partition_data_json", org.apache.thrift.protocol.TType.STRING, (short)12);
  private static final org.apache.thrift.protocol.TField BROKER_ADDRESSES_FIELD_DESC = new org.apache.thrift.protocol.TField("broker_addresses", org.apache.thrift.protocol.TType.LIST, (short)13);
  private static final org.apache.thrift.protocol.TField FORMAT_VERSION_FIELD_DESC = new org.apache.thrift.protocol.TField("format_version", org.apache.thrift.protocol.TType.I32, (short)14);
  private static final org.apache.thrift.protocol.TField REWRITABLE_DELETE_FILE_SETS_FIELD_DESC = new org.apache.thrift.protocol.TField("rewritable_delete_file_sets", org.apache.thrift.protocol.TType.LIST, (short)15);

  private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TIcebergDeleteSinkStandardSchemeFactory();
  private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TIcebergDeleteSinkTupleSchemeFactory();

  public @org.apache.thrift.annotation.Nullable java.lang.String db_name; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String tb_name; // optional
  /**
   * 
   * @see TFileContent
   */
  public @org.apache.thrift.annotation.Nullable TFileContent delete_type; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.Integer> equality_field_ids; // optional
  /**
   * 
   * @see org.apache.doris.thrift.TFileFormatType
   */
  public @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TFileFormatType file_format; // optional
  /**
   * 
   * @see org.apache.doris.thrift.TFileCompressType
   */
  public @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TFileCompressType compress_type; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String output_path; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String table_location; // optional
  public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> hadoop_config; // optional
  /**
   * 
   * @see org.apache.doris.thrift.TFileType
   */
  public @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TFileType file_type; // optional
  public int partition_spec_id; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String partition_data_json; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.doris.thrift.TNetworkAddress> broker_addresses; // optional
  public int format_version; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<TIcebergRewritableDeleteFileSet> rewritable_delete_file_sets; // optional

  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
  public enum _Fields implements org.apache.thrift.TFieldIdEnum {
    DB_NAME((short)1, "db_name"),
    TB_NAME((short)2, "tb_name"),
    /**
     * 
     * @see TFileContent
     */
    DELETE_TYPE((short)3, "delete_type"),
    EQUALITY_FIELD_IDS((short)4, "equality_field_ids"),
    /**
     * 
     * @see org.apache.doris.thrift.TFileFormatType
     */
    FILE_FORMAT((short)5, "file_format"),
    /**
     * 
     * @see org.apache.doris.thrift.TFileCompressType
     */
    COMPRESS_TYPE((short)6, "compress_type"),
    OUTPUT_PATH((short)7, "output_path"),
    TABLE_LOCATION((short)8, "table_location"),
    HADOOP_CONFIG((short)9, "hadoop_config"),
    /**
     * 
     * @see org.apache.doris.thrift.TFileType
     */
    FILE_TYPE((short)10, "file_type"),
    PARTITION_SPEC_ID((short)11, "partition_spec_id"),
    PARTITION_DATA_JSON((short)12, "partition_data_json"),
    BROKER_ADDRESSES((short)13, "broker_addresses"),
    FORMAT_VERSION((short)14, "format_version"),
    REWRITABLE_DELETE_FILE_SETS((short)15, "rewritable_delete_file_sets");

    private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();

    static {
      for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
        byName.put(field.getFieldName(), field);
      }
    }

    /**
     * Find the _Fields constant that matches fieldId, or null if its not found.
     */
    @org.apache.thrift.annotation.Nullable
    public static _Fields findByThriftId(int fieldId) {
      switch(fieldId) {
        case 1: // DB_NAME
          return DB_NAME;
        case 2: // TB_NAME
          return TB_NAME;
        case 3: // DELETE_TYPE
          return DELETE_TYPE;
        case 4: // EQUALITY_FIELD_IDS
          return EQUALITY_FIELD_IDS;
        case 5: // FILE_FORMAT
          return FILE_FORMAT;
        case 6: // COMPRESS_TYPE
          return COMPRESS_TYPE;
        case 7: // OUTPUT_PATH
          return OUTPUT_PATH;
        case 8: // TABLE_LOCATION
          return TABLE_LOCATION;
        case 9: // HADOOP_CONFIG
          return HADOOP_CONFIG;
        case 10: // FILE_TYPE
          return FILE_TYPE;
        case 11: // PARTITION_SPEC_ID
          return PARTITION_SPEC_ID;
        case 12: // PARTITION_DATA_JSON
          return PARTITION_DATA_JSON;
        case 13: // BROKER_ADDRESSES
          return BROKER_ADDRESSES;
        case 14: // FORMAT_VERSION
          return FORMAT_VERSION;
        case 15: // REWRITABLE_DELETE_FILE_SETS
          return REWRITABLE_DELETE_FILE_SETS;
        default:
          return null;
      }
    }

    /**
     * Find the _Fields constant that matches fieldId, throwing an exception
     * if it is not found.
     */
    public static _Fields findByThriftIdOrThrow(int fieldId) {
      _Fields fields = findByThriftId(fieldId);
      if (fields == null) throw new java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
      return fields;
    }

    /**
     * Find the _Fields constant that matches name, or null if its not found.
     */
    @org.apache.thrift.annotation.Nullable
    public static _Fields findByName(java.lang.String name) {
      return byName.get(name);
    }

    private final short _thriftId;
    private final java.lang.String _fieldName;

    _Fields(short thriftId, java.lang.String fieldName) {
      _thriftId = thriftId;
      _fieldName = fieldName;
    }

    public short getThriftFieldId() {
      return _thriftId;
    }

    public java.lang.String getFieldName() {
      return _fieldName;
    }
  }

  // isset id assignments
  private static final int __PARTITION_SPEC_ID_ISSET_ID = 0;
  private static final int __FORMAT_VERSION_ISSET_ID = 1;
  private byte __isset_bitfield = 0;
  private static final _Fields optionals[] = {_Fields.DB_NAME,_Fields.TB_NAME,_Fields.DELETE_TYPE,_Fields.EQUALITY_FIELD_IDS,_Fields.FILE_FORMAT,_Fields.COMPRESS_TYPE,_Fields.OUTPUT_PATH,_Fields.TABLE_LOCATION,_Fields.HADOOP_CONFIG,_Fields.FILE_TYPE,_Fields.PARTITION_SPEC_ID,_Fields.PARTITION_DATA_JSON,_Fields.BROKER_ADDRESSES,_Fields.FORMAT_VERSION,_Fields.REWRITABLE_DELETE_FILE_SETS};
  public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
  static {
    java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
    tmpMap.put(_Fields.DB_NAME, new org.apache.thrift.meta_data.FieldMetaData("db_name", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.TB_NAME, new org.apache.thrift.meta_data.FieldMetaData("tb_name", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.DELETE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("delete_type", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TFileContent.class)));
    tmpMap.put(_Fields.EQUALITY_FIELD_IDS, new org.apache.thrift.meta_data.FieldMetaData("equality_field_ids", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32))));
    tmpMap.put(_Fields.FILE_FORMAT, new org.apache.thrift.meta_data.FieldMetaData("file_format", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.doris.thrift.TFileFormatType.class)));
    tmpMap.put(_Fields.COMPRESS_TYPE, new org.apache.thrift.meta_data.FieldMetaData("compress_type", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.doris.thrift.TFileCompressType.class)));
    tmpMap.put(_Fields.OUTPUT_PATH, new org.apache.thrift.meta_data.FieldMetaData("output_path", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.TABLE_LOCATION, new org.apache.thrift.meta_data.FieldMetaData("table_location", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.HADOOP_CONFIG, new org.apache.thrift.meta_data.FieldMetaData("hadoop_config", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
    tmpMap.put(_Fields.FILE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("file_type", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.doris.thrift.TFileType.class)));
    tmpMap.put(_Fields.PARTITION_SPEC_ID, new org.apache.thrift.meta_data.FieldMetaData("partition_spec_id", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.PARTITION_DATA_JSON, new org.apache.thrift.meta_data.FieldMetaData("partition_data_json", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.BROKER_ADDRESSES, new org.apache.thrift.meta_data.FieldMetaData("broker_addresses", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.doris.thrift.TNetworkAddress.class))));
    tmpMap.put(_Fields.FORMAT_VERSION, new org.apache.thrift.meta_data.FieldMetaData("format_version", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.REWRITABLE_DELETE_FILE_SETS, new org.apache.thrift.meta_data.FieldMetaData("rewritable_delete_file_sets", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TIcebergRewritableDeleteFileSet.class))));
    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TIcebergDeleteSink.class, metaDataMap);
  }

  public TIcebergDeleteSink() {
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public TIcebergDeleteSink(TIcebergDeleteSink other) {
    __isset_bitfield = other.__isset_bitfield;
    if (other.isSetDbName()) {
      this.db_name = other.db_name;
    }
    if (other.isSetTbName()) {
      this.tb_name = other.tb_name;
    }
    if (other.isSetDeleteType()) {
      this.delete_type = other.delete_type;
    }
    if (other.isSetEqualityFieldIds()) {
      java.util.List<java.lang.Integer> __this__equality_field_ids = new java.util.ArrayList<java.lang.Integer>(other.equality_field_ids);
      this.equality_field_ids = __this__equality_field_ids;
    }
    if (other.isSetFileFormat()) {
      this.file_format = other.file_format;
    }
    if (other.isSetCompressType()) {
      this.compress_type = other.compress_type;
    }
    if (other.isSetOutputPath()) {
      this.output_path = other.output_path;
    }
    if (other.isSetTableLocation()) {
      this.table_location = other.table_location;
    }
    if (other.isSetHadoopConfig()) {
      java.util.Map<java.lang.String,java.lang.String> __this__hadoop_config = new java.util.HashMap<java.lang.String,java.lang.String>(other.hadoop_config);
      this.hadoop_config = __this__hadoop_config;
    }
    if (other.isSetFileType()) {
      this.file_type = other.file_type;
    }
    this.partition_spec_id = other.partition_spec_id;
    if (other.isSetPartitionDataJson()) {
      this.partition_data_json = other.partition_data_json;
    }
    if (other.isSetBrokerAddresses()) {
      java.util.List<org.apache.doris.thrift.TNetworkAddress> __this__broker_addresses = new java.util.ArrayList<org.apache.doris.thrift.TNetworkAddress>(other.broker_addresses.size());
      for (org.apache.doris.thrift.TNetworkAddress other_element : other.broker_addresses) {
        __this__broker_addresses.add(new org.apache.doris.thrift.TNetworkAddress(other_element));
      }
      this.broker_addresses = __this__broker_addresses;
    }
    this.format_version = other.format_version;
    if (other.isSetRewritableDeleteFileSets()) {
      java.util.List<TIcebergRewritableDeleteFileSet> __this__rewritable_delete_file_sets = new java.util.ArrayList<TIcebergRewritableDeleteFileSet>(other.rewritable_delete_file_sets.size());
      for (TIcebergRewritableDeleteFileSet other_element : other.rewritable_delete_file_sets) {
        __this__rewritable_delete_file_sets.add(new TIcebergRewritableDeleteFileSet(other_element));
      }
      this.rewritable_delete_file_sets = __this__rewritable_delete_file_sets;
    }
  }

  public TIcebergDeleteSink deepCopy() {
    return new TIcebergDeleteSink(this);
  }

  @Override
  public void clear() {
    this.db_name = null;
    this.tb_name = null;
    this.delete_type = null;
    this.equality_field_ids = null;
    this.file_format = null;
    this.compress_type = null;
    this.output_path = null;
    this.table_location = null;
    this.hadoop_config = null;
    this.file_type = null;
    setPartitionSpecIdIsSet(false);
    this.partition_spec_id = 0;
    this.partition_data_json = null;
    this.broker_addresses = null;
    setFormatVersionIsSet(false);
    this.format_version = 0;
    this.rewritable_delete_file_sets = null;
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getDbName() {
    return this.db_name;
  }

  public TIcebergDeleteSink setDbName(@org.apache.thrift.annotation.Nullable java.lang.String db_name) {
    this.db_name = db_name;
    return this;
  }

  public void unsetDbName() {
    this.db_name = null;
  }

  /** Returns true if field db_name is set (has been assigned a value) and false otherwise */
  public boolean isSetDbName() {
    return this.db_name != null;
  }

  public void setDbNameIsSet(boolean value) {
    if (!value) {
      this.db_name = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getTbName() {
    return this.tb_name;
  }

  public TIcebergDeleteSink setTbName(@org.apache.thrift.annotation.Nullable java.lang.String tb_name) {
    this.tb_name = tb_name;
    return this;
  }

  public void unsetTbName() {
    this.tb_name = null;
  }

  /** Returns true if field tb_name is set (has been assigned a value) and false otherwise */
  public boolean isSetTbName() {
    return this.tb_name != null;
  }

  public void setTbNameIsSet(boolean value) {
    if (!value) {
      this.tb_name = null;
    }
  }

  /**
   * 
   * @see TFileContent
   */
  @org.apache.thrift.annotation.Nullable
  public TFileContent getDeleteType() {
    return this.delete_type;
  }

  /**
   * 
   * @see TFileContent
   */
  public TIcebergDeleteSink setDeleteType(@org.apache.thrift.annotation.Nullable TFileContent delete_type) {
    this.delete_type = delete_type;
    return this;
  }

  public void unsetDeleteType() {
    this.delete_type = null;
  }

  /** Returns true if field delete_type is set (has been assigned a value) and false otherwise */
  public boolean isSetDeleteType() {
    return this.delete_type != null;
  }

  public void setDeleteTypeIsSet(boolean value) {
    if (!value) {
      this.delete_type = null;
    }
  }

  public int getEqualityFieldIdsSize() {
    return (this.equality_field_ids == null) ? 0 : this.equality_field_ids.size();
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.Iterator<java.lang.Integer> getEqualityFieldIdsIterator() {
    return (this.equality_field_ids == null) ? null : this.equality_field_ids.iterator();
  }

  public void addToEqualityFieldIds(int elem) {
    if (this.equality_field_ids == null) {
      this.equality_field_ids = new java.util.ArrayList<java.lang.Integer>();
    }
    this.equality_field_ids.add(elem);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.List<java.lang.Integer> getEqualityFieldIds() {
    return this.equality_field_ids;
  }

  public TIcebergDeleteSink setEqualityFieldIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.Integer> equality_field_ids) {
    this.equality_field_ids = equality_field_ids;
    return this;
  }

  public void unsetEqualityFieldIds() {
    this.equality_field_ids = null;
  }

  /** Returns true if field equality_field_ids is set (has been assigned a value) and false otherwise */
  public boolean isSetEqualityFieldIds() {
    return this.equality_field_ids != null;
  }

  public void setEqualityFieldIdsIsSet(boolean value) {
    if (!value) {
      this.equality_field_ids = null;
    }
  }

  /**
   * 
   * @see org.apache.doris.thrift.TFileFormatType
   */
  @org.apache.thrift.annotation.Nullable
  public org.apache.doris.thrift.TFileFormatType getFileFormat() {
    return this.file_format;
  }

  /**
   * 
   * @see org.apache.doris.thrift.TFileFormatType
   */
  public TIcebergDeleteSink setFileFormat(@org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TFileFormatType file_format) {
    this.file_format = file_format;
    return this;
  }

  public void unsetFileFormat() {
    this.file_format = null;
  }

  /** Returns true if field file_format is set (has been assigned a value) and false otherwise */
  public boolean isSetFileFormat() {
    return this.file_format != null;
  }

  public void setFileFormatIsSet(boolean value) {
    if (!value) {
      this.file_format = null;
    }
  }

  /**
   * 
   * @see org.apache.doris.thrift.TFileCompressType
   */
  @org.apache.thrift.annotation.Nullable
  public org.apache.doris.thrift.TFileCompressType getCompressType() {
    return this.compress_type;
  }

  /**
   * 
   * @see org.apache.doris.thrift.TFileCompressType
   */
  public TIcebergDeleteSink setCompressType(@org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TFileCompressType compress_type) {
    this.compress_type = compress_type;
    return this;
  }

  public void unsetCompressType() {
    this.compress_type = null;
  }

  /** Returns true if field compress_type is set (has been assigned a value) and false otherwise */
  public boolean isSetCompressType() {
    return this.compress_type != null;
  }

  public void setCompressTypeIsSet(boolean value) {
    if (!value) {
      this.compress_type = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getOutputPath() {
    return this.output_path;
  }

  public TIcebergDeleteSink setOutputPath(@org.apache.thrift.annotation.Nullable java.lang.String output_path) {
    this.output_path = output_path;
    return this;
  }

  public void unsetOutputPath() {
    this.output_path = null;
  }

  /** Returns true if field output_path is set (has been assigned a value) and false otherwise */
  public boolean isSetOutputPath() {
    return this.output_path != null;
  }

  public void setOutputPathIsSet(boolean value) {
    if (!value) {
      this.output_path = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getTableLocation() {
    return this.table_location;
  }

  public TIcebergDeleteSink setTableLocation(@org.apache.thrift.annotation.Nullable java.lang.String table_location) {
    this.table_location = table_location;
    return this;
  }

  public void unsetTableLocation() {
    this.table_location = null;
  }

  /** Returns true if field table_location is set (has been assigned a value) and false otherwise */
  public boolean isSetTableLocation() {
    return this.table_location != null;
  }

  public void setTableLocationIsSet(boolean value) {
    if (!value) {
      this.table_location = null;
    }
  }

  public int getHadoopConfigSize() {
    return (this.hadoop_config == null) ? 0 : this.hadoop_config.size();
  }

  public void putToHadoopConfig(java.lang.String key, java.lang.String val) {
    if (this.hadoop_config == null) {
      this.hadoop_config = new java.util.HashMap<java.lang.String,java.lang.String>();
    }
    this.hadoop_config.put(key, val);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.Map<java.lang.String,java.lang.String> getHadoopConfig() {
    return this.hadoop_config;
  }

  public TIcebergDeleteSink setHadoopConfig(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> hadoop_config) {
    this.hadoop_config = hadoop_config;
    return this;
  }

  public void unsetHadoopConfig() {
    this.hadoop_config = null;
  }

  /** Returns true if field hadoop_config is set (has been assigned a value) and false otherwise */
  public boolean isSetHadoopConfig() {
    return this.hadoop_config != null;
  }

  public void setHadoopConfigIsSet(boolean value) {
    if (!value) {
      this.hadoop_config = null;
    }
  }

  /**
   * 
   * @see org.apache.doris.thrift.TFileType
   */
  @org.apache.thrift.annotation.Nullable
  public org.apache.doris.thrift.TFileType getFileType() {
    return this.file_type;
  }

  /**
   * 
   * @see org.apache.doris.thrift.TFileType
   */
  public TIcebergDeleteSink setFileType(@org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TFileType file_type) {
    this.file_type = file_type;
    return this;
  }

  public void unsetFileType() {
    this.file_type = null;
  }

  /** Returns true if field file_type is set (has been assigned a value) and false otherwise */
  public boolean isSetFileType() {
    return this.file_type != null;
  }

  public void setFileTypeIsSet(boolean value) {
    if (!value) {
      this.file_type = null;
    }
  }

  public int getPartitionSpecId() {
    return this.partition_spec_id;
  }

  public TIcebergDeleteSink setPartitionSpecId(int partition_spec_id) {
    this.partition_spec_id = partition_spec_id;
    setPartitionSpecIdIsSet(true);
    return this;
  }

  public void unsetPartitionSpecId() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __PARTITION_SPEC_ID_ISSET_ID);
  }

  /** Returns true if field partition_spec_id is set (has been assigned a value) and false otherwise */
  public boolean isSetPartitionSpecId() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __PARTITION_SPEC_ID_ISSET_ID);
  }

  public void setPartitionSpecIdIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PARTITION_SPEC_ID_ISSET_ID, value);
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.String getPartitionDataJson() {
    return this.partition_data_json;
  }

  public TIcebergDeleteSink setPartitionDataJson(@org.apache.thrift.annotation.Nullable java.lang.String partition_data_json) {
    this.partition_data_json = partition_data_json;
    return this;
  }

  public void unsetPartitionDataJson() {
    this.partition_data_json = null;
  }

  /** Returns true if field partition_data_json is set (has been assigned a value) and false otherwise */
  public boolean isSetPartitionDataJson() {
    return this.partition_data_json != null;
  }

  public void setPartitionDataJsonIsSet(boolean value) {
    if (!value) {
      this.partition_data_json = null;
    }
  }

  public int getBrokerAddressesSize() {
    return (this.broker_addresses == null) ? 0 : this.broker_addresses.size();
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.Iterator<org.apache.doris.thrift.TNetworkAddress> getBrokerAddressesIterator() {
    return (this.broker_addresses == null) ? null : this.broker_addresses.iterator();
  }

  public void addToBrokerAddresses(org.apache.doris.thrift.TNetworkAddress elem) {
    if (this.broker_addresses == null) {
      this.broker_addresses = new java.util.ArrayList<org.apache.doris.thrift.TNetworkAddress>();
    }
    this.broker_addresses.add(elem);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.List<org.apache.doris.thrift.TNetworkAddress> getBrokerAddresses() {
    return this.broker_addresses;
  }

  public TIcebergDeleteSink setBrokerAddresses(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.doris.thrift.TNetworkAddress> broker_addresses) {
    this.broker_addresses = broker_addresses;
    return this;
  }

  public void unsetBrokerAddresses() {
    this.broker_addresses = null;
  }

  /** Returns true if field broker_addresses is set (has been assigned a value) and false otherwise */
  public boolean isSetBrokerAddresses() {
    return this.broker_addresses != null;
  }

  public void setBrokerAddressesIsSet(boolean value) {
    if (!value) {
      this.broker_addresses = null;
    }
  }

  public int getFormatVersion() {
    return this.format_version;
  }

  public TIcebergDeleteSink setFormatVersion(int format_version) {
    this.format_version = format_version;
    setFormatVersionIsSet(true);
    return this;
  }

  public void unsetFormatVersion() {
    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __FORMAT_VERSION_ISSET_ID);
  }

  /** Returns true if field format_version is set (has been assigned a value) and false otherwise */
  public boolean isSetFormatVersion() {
    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __FORMAT_VERSION_ISSET_ID);
  }

  public void setFormatVersionIsSet(boolean value) {
    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __FORMAT_VERSION_ISSET_ID, value);
  }

  public int getRewritableDeleteFileSetsSize() {
    return (this.rewritable_delete_file_sets == null) ? 0 : this.rewritable_delete_file_sets.size();
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.Iterator<TIcebergRewritableDeleteFileSet> getRewritableDeleteFileSetsIterator() {
    return (this.rewritable_delete_file_sets == null) ? null : this.rewritable_delete_file_sets.iterator();
  }

  public void addToRewritableDeleteFileSets(TIcebergRewritableDeleteFileSet elem) {
    if (this.rewritable_delete_file_sets == null) {
      this.rewritable_delete_file_sets = new java.util.ArrayList<TIcebergRewritableDeleteFileSet>();
    }
    this.rewritable_delete_file_sets.add(elem);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.List<TIcebergRewritableDeleteFileSet> getRewritableDeleteFileSets() {
    return this.rewritable_delete_file_sets;
  }

  public TIcebergDeleteSink setRewritableDeleteFileSets(@org.apache.thrift.annotation.Nullable java.util.List<TIcebergRewritableDeleteFileSet> rewritable_delete_file_sets) {
    this.rewritable_delete_file_sets = rewritable_delete_file_sets;
    return this;
  }

  public void unsetRewritableDeleteFileSets() {
    this.rewritable_delete_file_sets = null;
  }

  /** Returns true if field rewritable_delete_file_sets is set (has been assigned a value) and false otherwise */
  public boolean isSetRewritableDeleteFileSets() {
    return this.rewritable_delete_file_sets != null;
  }

  public void setRewritableDeleteFileSetsIsSet(boolean value) {
    if (!value) {
      this.rewritable_delete_file_sets = null;
    }
  }

  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
    switch (field) {
    case DB_NAME:
      if (value == null) {
        unsetDbName();
      } else {
        setDbName((java.lang.String)value);
      }
      break;

    case TB_NAME:
      if (value == null) {
        unsetTbName();
      } else {
        setTbName((java.lang.String)value);
      }
      break;

    case DELETE_TYPE:
      if (value == null) {
        unsetDeleteType();
      } else {
        setDeleteType((TFileContent)value);
      }
      break;

    case EQUALITY_FIELD_IDS:
      if (value == null) {
        unsetEqualityFieldIds();
      } else {
        setEqualityFieldIds((java.util.List<java.lang.Integer>)value);
      }
      break;

    case FILE_FORMAT:
      if (value == null) {
        unsetFileFormat();
      } else {
        setFileFormat((org.apache.doris.thrift.TFileFormatType)value);
      }
      break;

    case COMPRESS_TYPE:
      if (value == null) {
        unsetCompressType();
      } else {
        setCompressType((org.apache.doris.thrift.TFileCompressType)value);
      }
      break;

    case OUTPUT_PATH:
      if (value == null) {
        unsetOutputPath();
      } else {
        setOutputPath((java.lang.String)value);
      }
      break;

    case TABLE_LOCATION:
      if (value == null) {
        unsetTableLocation();
      } else {
        setTableLocation((java.lang.String)value);
      }
      break;

    case HADOOP_CONFIG:
      if (value == null) {
        unsetHadoopConfig();
      } else {
        setHadoopConfig((java.util.Map<java.lang.String,java.lang.String>)value);
      }
      break;

    case FILE_TYPE:
      if (value == null) {
        unsetFileType();
      } else {
        setFileType((org.apache.doris.thrift.TFileType)value);
      }
      break;

    case PARTITION_SPEC_ID:
      if (value == null) {
        unsetPartitionSpecId();
      } else {
        setPartitionSpecId((java.lang.Integer)value);
      }
      break;

    case PARTITION_DATA_JSON:
      if (value == null) {
        unsetPartitionDataJson();
      } else {
        setPartitionDataJson((java.lang.String)value);
      }
      break;

    case BROKER_ADDRESSES:
      if (value == null) {
        unsetBrokerAddresses();
      } else {
        setBrokerAddresses((java.util.List<org.apache.doris.thrift.TNetworkAddress>)value);
      }
      break;

    case FORMAT_VERSION:
      if (value == null) {
        unsetFormatVersion();
      } else {
        setFormatVersion((java.lang.Integer)value);
      }
      break;

    case REWRITABLE_DELETE_FILE_SETS:
      if (value == null) {
        unsetRewritableDeleteFileSets();
      } else {
        setRewritableDeleteFileSets((java.util.List<TIcebergRewritableDeleteFileSet>)value);
      }
      break;

    }
  }

  @org.apache.thrift.annotation.Nullable
  public java.lang.Object getFieldValue(_Fields field) {
    switch (field) {
    case DB_NAME:
      return getDbName();

    case TB_NAME:
      return getTbName();

    case DELETE_TYPE:
      return getDeleteType();

    case EQUALITY_FIELD_IDS:
      return getEqualityFieldIds();

    case FILE_FORMAT:
      return getFileFormat();

    case COMPRESS_TYPE:
      return getCompressType();

    case OUTPUT_PATH:
      return getOutputPath();

    case TABLE_LOCATION:
      return getTableLocation();

    case HADOOP_CONFIG:
      return getHadoopConfig();

    case FILE_TYPE:
      return getFileType();

    case PARTITION_SPEC_ID:
      return getPartitionSpecId();

    case PARTITION_DATA_JSON:
      return getPartitionDataJson();

    case BROKER_ADDRESSES:
      return getBrokerAddresses();

    case FORMAT_VERSION:
      return getFormatVersion();

    case REWRITABLE_DELETE_FILE_SETS:
      return getRewritableDeleteFileSets();

    }
    throw new java.lang.IllegalStateException();
  }

  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
  public boolean isSet(_Fields field) {
    if (field == null) {
      throw new java.lang.IllegalArgumentException();
    }

    switch (field) {
    case DB_NAME:
      return isSetDbName();
    case TB_NAME:
      return isSetTbName();
    case DELETE_TYPE:
      return isSetDeleteType();
    case EQUALITY_FIELD_IDS:
      return isSetEqualityFieldIds();
    case FILE_FORMAT:
      return isSetFileFormat();
    case COMPRESS_TYPE:
      return isSetCompressType();
    case OUTPUT_PATH:
      return isSetOutputPath();
    case TABLE_LOCATION:
      return isSetTableLocation();
    case HADOOP_CONFIG:
      return isSetHadoopConfig();
    case FILE_TYPE:
      return isSetFileType();
    case PARTITION_SPEC_ID:
      return isSetPartitionSpecId();
    case PARTITION_DATA_JSON:
      return isSetPartitionDataJson();
    case BROKER_ADDRESSES:
      return isSetBrokerAddresses();
    case FORMAT_VERSION:
      return isSetFormatVersion();
    case REWRITABLE_DELETE_FILE_SETS:
      return isSetRewritableDeleteFileSets();
    }
    throw new java.lang.IllegalStateException();
  }

  @Override
  public boolean equals(java.lang.Object that) {
    if (that instanceof TIcebergDeleteSink)
      return this.equals((TIcebergDeleteSink)that);
    return false;
  }

  public boolean equals(TIcebergDeleteSink that) {
    if (that == null)
      return false;
    if (this == that)
      return true;

    boolean this_present_db_name = true && this.isSetDbName();
    boolean that_present_db_name = true && that.isSetDbName();
    if (this_present_db_name || that_present_db_name) {
      if (!(this_present_db_name && that_present_db_name))
        return false;
      if (!this.db_name.equals(that.db_name))
        return false;
    }

    boolean this_present_tb_name = true && this.isSetTbName();
    boolean that_present_tb_name = true && that.isSetTbName();
    if (this_present_tb_name || that_present_tb_name) {
      if (!(this_present_tb_name && that_present_tb_name))
        return false;
      if (!this.tb_name.equals(that.tb_name))
        return false;
    }

    boolean this_present_delete_type = true && this.isSetDeleteType();
    boolean that_present_delete_type = true && that.isSetDeleteType();
    if (this_present_delete_type || that_present_delete_type) {
      if (!(this_present_delete_type && that_present_delete_type))
        return false;
      if (!this.delete_type.equals(that.delete_type))
        return false;
    }

    boolean this_present_equality_field_ids = true && this.isSetEqualityFieldIds();
    boolean that_present_equality_field_ids = true && that.isSetEqualityFieldIds();
    if (this_present_equality_field_ids || that_present_equality_field_ids) {
      if (!(this_present_equality_field_ids && that_present_equality_field_ids))
        return false;
      if (!this.equality_field_ids.equals(that.equality_field_ids))
        return false;
    }

    boolean this_present_file_format = true && this.isSetFileFormat();
    boolean that_present_file_format = true && that.isSetFileFormat();
    if (this_present_file_format || that_present_file_format) {
      if (!(this_present_file_format && that_present_file_format))
        return false;
      if (!this.file_format.equals(that.file_format))
        return false;
    }

    boolean this_present_compress_type = true && this.isSetCompressType();
    boolean that_present_compress_type = true && that.isSetCompressType();
    if (this_present_compress_type || that_present_compress_type) {
      if (!(this_present_compress_type && that_present_compress_type))
        return false;
      if (!this.compress_type.equals(that.compress_type))
        return false;
    }

    boolean this_present_output_path = true && this.isSetOutputPath();
    boolean that_present_output_path = true && that.isSetOutputPath();
    if (this_present_output_path || that_present_output_path) {
      if (!(this_present_output_path && that_present_output_path))
        return false;
      if (!this.output_path.equals(that.output_path))
        return false;
    }

    boolean this_present_table_location = true && this.isSetTableLocation();
    boolean that_present_table_location = true && that.isSetTableLocation();
    if (this_present_table_location || that_present_table_location) {
      if (!(this_present_table_location && that_present_table_location))
        return false;
      if (!this.table_location.equals(that.table_location))
        return false;
    }

    boolean this_present_hadoop_config = true && this.isSetHadoopConfig();
    boolean that_present_hadoop_config = true && that.isSetHadoopConfig();
    if (this_present_hadoop_config || that_present_hadoop_config) {
      if (!(this_present_hadoop_config && that_present_hadoop_config))
        return false;
      if (!this.hadoop_config.equals(that.hadoop_config))
        return false;
    }

    boolean this_present_file_type = true && this.isSetFileType();
    boolean that_present_file_type = true && that.isSetFileType();
    if (this_present_file_type || that_present_file_type) {
      if (!(this_present_file_type && that_present_file_type))
        return false;
      if (!this.file_type.equals(that.file_type))
        return false;
    }

    boolean this_present_partition_spec_id = true && this.isSetPartitionSpecId();
    boolean that_present_partition_spec_id = true && that.isSetPartitionSpecId();
    if (this_present_partition_spec_id || that_present_partition_spec_id) {
      if (!(this_present_partition_spec_id && that_present_partition_spec_id))
        return false;
      if (this.partition_spec_id != that.partition_spec_id)
        return false;
    }

    boolean this_present_partition_data_json = true && this.isSetPartitionDataJson();
    boolean that_present_partition_data_json = true && that.isSetPartitionDataJson();
    if (this_present_partition_data_json || that_present_partition_data_json) {
      if (!(this_present_partition_data_json && that_present_partition_data_json))
        return false;
      if (!this.partition_data_json.equals(that.partition_data_json))
        return false;
    }

    boolean this_present_broker_addresses = true && this.isSetBrokerAddresses();
    boolean that_present_broker_addresses = true && that.isSetBrokerAddresses();
    if (this_present_broker_addresses || that_present_broker_addresses) {
      if (!(this_present_broker_addresses && that_present_broker_addresses))
        return false;
      if (!this.broker_addresses.equals(that.broker_addresses))
        return false;
    }

    boolean this_present_format_version = true && this.isSetFormatVersion();
    boolean that_present_format_version = true && that.isSetFormatVersion();
    if (this_present_format_version || that_present_format_version) {
      if (!(this_present_format_version && that_present_format_version))
        return false;
      if (this.format_version != that.format_version)
        return false;
    }

    boolean this_present_rewritable_delete_file_sets = true && this.isSetRewritableDeleteFileSets();
    boolean that_present_rewritable_delete_file_sets = true && that.isSetRewritableDeleteFileSets();
    if (this_present_rewritable_delete_file_sets || that_present_rewritable_delete_file_sets) {
      if (!(this_present_rewritable_delete_file_sets && that_present_rewritable_delete_file_sets))
        return false;
      if (!this.rewritable_delete_file_sets.equals(that.rewritable_delete_file_sets))
        return false;
    }

    return true;
  }

  @Override
  public int hashCode() {
    int hashCode = 1;

    hashCode = hashCode * 8191 + ((isSetDbName()) ? 131071 : 524287);
    if (isSetDbName())
      hashCode = hashCode * 8191 + db_name.hashCode();

    hashCode = hashCode * 8191 + ((isSetTbName()) ? 131071 : 524287);
    if (isSetTbName())
      hashCode = hashCode * 8191 + tb_name.hashCode();

    hashCode = hashCode * 8191 + ((isSetDeleteType()) ? 131071 : 524287);
    if (isSetDeleteType())
      hashCode = hashCode * 8191 + delete_type.getValue();

    hashCode = hashCode * 8191 + ((isSetEqualityFieldIds()) ? 131071 : 524287);
    if (isSetEqualityFieldIds())
      hashCode = hashCode * 8191 + equality_field_ids.hashCode();

    hashCode = hashCode * 8191 + ((isSetFileFormat()) ? 131071 : 524287);
    if (isSetFileFormat())
      hashCode = hashCode * 8191 + file_format.getValue();

    hashCode = hashCode * 8191 + ((isSetCompressType()) ? 131071 : 524287);
    if (isSetCompressType())
      hashCode = hashCode * 8191 + compress_type.getValue();

    hashCode = hashCode * 8191 + ((isSetOutputPath()) ? 131071 : 524287);
    if (isSetOutputPath())
      hashCode = hashCode * 8191 + output_path.hashCode();

    hashCode = hashCode * 8191 + ((isSetTableLocation()) ? 131071 : 524287);
    if (isSetTableLocation())
      hashCode = hashCode * 8191 + table_location.hashCode();

    hashCode = hashCode * 8191 + ((isSetHadoopConfig()) ? 131071 : 524287);
    if (isSetHadoopConfig())
      hashCode = hashCode * 8191 + hadoop_config.hashCode();

    hashCode = hashCode * 8191 + ((isSetFileType()) ? 131071 : 524287);
    if (isSetFileType())
      hashCode = hashCode * 8191 + file_type.getValue();

    hashCode = hashCode * 8191 + ((isSetPartitionSpecId()) ? 131071 : 524287);
    if (isSetPartitionSpecId())
      hashCode = hashCode * 8191 + partition_spec_id;

    hashCode = hashCode * 8191 + ((isSetPartitionDataJson()) ? 131071 : 524287);
    if (isSetPartitionDataJson())
      hashCode = hashCode * 8191 + partition_data_json.hashCode();

    hashCode = hashCode * 8191 + ((isSetBrokerAddresses()) ? 131071 : 524287);
    if (isSetBrokerAddresses())
      hashCode = hashCode * 8191 + broker_addresses.hashCode();

    hashCode = hashCode * 8191 + ((isSetFormatVersion()) ? 131071 : 524287);
    if (isSetFormatVersion())
      hashCode = hashCode * 8191 + format_version;

    hashCode = hashCode * 8191 + ((isSetRewritableDeleteFileSets()) ? 131071 : 524287);
    if (isSetRewritableDeleteFileSets())
      hashCode = hashCode * 8191 + rewritable_delete_file_sets.hashCode();

    return hashCode;
  }

  @Override
  public int compareTo(TIcebergDeleteSink other) {
    if (!getClass().equals(other.getClass())) {
      return getClass().getName().compareTo(other.getClass().getName());
    }

    int lastComparison = 0;

    lastComparison = java.lang.Boolean.compare(isSetDbName(), other.isSetDbName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDbName()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.db_name, other.db_name);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTbName(), other.isSetTbName());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTbName()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tb_name, other.tb_name);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetDeleteType(), other.isSetDeleteType());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDeleteType()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.delete_type, other.delete_type);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetEqualityFieldIds(), other.isSetEqualityFieldIds());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetEqualityFieldIds()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.equality_field_ids, other.equality_field_ids);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetFileFormat(), other.isSetFileFormat());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFileFormat()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.file_format, other.file_format);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetCompressType(), other.isSetCompressType());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCompressType()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.compress_type, other.compress_type);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetOutputPath(), other.isSetOutputPath());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetOutputPath()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.output_path, other.output_path);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTableLocation(), other.isSetTableLocation());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTableLocation()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.table_location, other.table_location);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetHadoopConfig(), other.isSetHadoopConfig());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetHadoopConfig()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hadoop_config, other.hadoop_config);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetFileType(), other.isSetFileType());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFileType()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.file_type, other.file_type);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetPartitionSpecId(), other.isSetPartitionSpecId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPartitionSpecId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.partition_spec_id, other.partition_spec_id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetPartitionDataJson(), other.isSetPartitionDataJson());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPartitionDataJson()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.partition_data_json, other.partition_data_json);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetBrokerAddresses(), other.isSetBrokerAddresses());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetBrokerAddresses()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.broker_addresses, other.broker_addresses);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetFormatVersion(), other.isSetFormatVersion());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFormatVersion()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.format_version, other.format_version);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetRewritableDeleteFileSets(), other.isSetRewritableDeleteFileSets());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetRewritableDeleteFileSets()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rewritable_delete_file_sets, other.rewritable_delete_file_sets);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    return 0;
  }

  @org.apache.thrift.annotation.Nullable
  public _Fields fieldForId(int fieldId) {
    return _Fields.findByThriftId(fieldId);
  }

  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
    scheme(iprot).read(iprot, this);
  }

  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
    scheme(oprot).write(oprot, this);
  }

  @Override
  public java.lang.String toString() {
    java.lang.StringBuilder sb = new java.lang.StringBuilder("TIcebergDeleteSink(");
    boolean first = true;

    if (isSetDbName()) {
      sb.append("db_name:");
      if (this.db_name == null) {
        sb.append("null");
      } else {
        sb.append(this.db_name);
      }
      first = false;
    }
    if (isSetTbName()) {
      if (!first) sb.append(", ");
      sb.append("tb_name:");
      if (this.tb_name == null) {
        sb.append("null");
      } else {
        sb.append(this.tb_name);
      }
      first = false;
    }
    if (isSetDeleteType()) {
      if (!first) sb.append(", ");
      sb.append("delete_type:");
      if (this.delete_type == null) {
        sb.append("null");
      } else {
        sb.append(this.delete_type);
      }
      first = false;
    }
    if (isSetEqualityFieldIds()) {
      if (!first) sb.append(", ");
      sb.append("equality_field_ids:");
      if (this.equality_field_ids == null) {
        sb.append("null");
      } else {
        sb.append(this.equality_field_ids);
      }
      first = false;
    }
    if (isSetFileFormat()) {
      if (!first) sb.append(", ");
      sb.append("file_format:");
      if (this.file_format == null) {
        sb.append("null");
      } else {
        sb.append(this.file_format);
      }
      first = false;
    }
    if (isSetCompressType()) {
      if (!first) sb.append(", ");
      sb.append("compress_type:");
      if (this.compress_type == null) {
        sb.append("null");
      } else {
        sb.append(this.compress_type);
      }
      first = false;
    }
    if (isSetOutputPath()) {
      if (!first) sb.append(", ");
      sb.append("output_path:");
      if (this.output_path == null) {
        sb.append("null");
      } else {
        sb.append(this.output_path);
      }
      first = false;
    }
    if (isSetTableLocation()) {
      if (!first) sb.append(", ");
      sb.append("table_location:");
      if (this.table_location == null) {
        sb.append("null");
      } else {
        sb.append(this.table_location);
      }
      first = false;
    }
    if (isSetHadoopConfig()) {
      if (!first) sb.append(", ");
      sb.append("hadoop_config:");
      if (this.hadoop_config == null) {
        sb.append("null");
      } else {
        sb.append(this.hadoop_config);
      }
      first = false;
    }
    if (isSetFileType()) {
      if (!first) sb.append(", ");
      sb.append("file_type:");
      if (this.file_type == null) {
        sb.append("null");
      } else {
        sb.append(this.file_type);
      }
      first = false;
    }
    if (isSetPartitionSpecId()) {
      if (!first) sb.append(", ");
      sb.append("partition_spec_id:");
      sb.append(this.partition_spec_id);
      first = false;
    }
    if (isSetPartitionDataJson()) {
      if (!first) sb.append(", ");
      sb.append("partition_data_json:");
      if (this.partition_data_json == null) {
        sb.append("null");
      } else {
        sb.append(this.partition_data_json);
      }
      first = false;
    }
    if (isSetBrokerAddresses()) {
      if (!first) sb.append(", ");
      sb.append("broker_addresses:");
      if (this.broker_addresses == null) {
        sb.append("null");
      } else {
        sb.append(this.broker_addresses);
      }
      first = false;
    }
    if (isSetFormatVersion()) {
      if (!first) sb.append(", ");
      sb.append("format_version:");
      sb.append(this.format_version);
      first = false;
    }
    if (isSetRewritableDeleteFileSets()) {
      if (!first) sb.append(", ");
      sb.append("rewritable_delete_file_sets:");
      if (this.rewritable_delete_file_sets == null) {
        sb.append("null");
      } else {
        sb.append(this.rewritable_delete_file_sets);
      }
      first = false;
    }
    sb.append(")");
    return sb.toString();
  }

  public void validate() throws org.apache.thrift.TException {
    // check for required fields
    // check for sub-struct validity
  }

  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
    try {
      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
    } catch (org.apache.thrift.TException te) {
      throw new java.io.IOException(te);
    }
  }

  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException {
    try {
      // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
      __isset_bitfield = 0;
      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
    } catch (org.apache.thrift.TException te) {
      throw new java.io.IOException(te);
    }
  }

  private static class TIcebergDeleteSinkStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
    public TIcebergDeleteSinkStandardScheme getScheme() {
      return new TIcebergDeleteSinkStandardScheme();
    }
  }

  private static class TIcebergDeleteSinkStandardScheme extends org.apache.thrift.scheme.StandardScheme<TIcebergDeleteSink> {

    public void read(org.apache.thrift.protocol.TProtocol iprot, TIcebergDeleteSink struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TField schemeField;
      iprot.readStructBegin();
      while (true)
      {
        schemeField = iprot.readFieldBegin();
        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
          break;
        }
        switch (schemeField.id) {
          case 1: // DB_NAME
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.db_name = iprot.readString();
              struct.setDbNameIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // TB_NAME
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.tb_name = iprot.readString();
              struct.setTbNameIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // DELETE_TYPE
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.delete_type = org.apache.doris.thrift.TFileContent.findByValue(iprot.readI32());
              struct.setDeleteTypeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // EQUALITY_FIELD_IDS
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list356 = iprot.readListBegin();
                struct.equality_field_ids = new java.util.ArrayList<java.lang.Integer>(_list356.size);
                int _elem357;
                for (int _i358 = 0; _i358 < _list356.size; ++_i358)
                {
                  _elem357 = iprot.readI32();
                  struct.equality_field_ids.add(_elem357);
                }
                iprot.readListEnd();
              }
              struct.setEqualityFieldIdsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // FILE_FORMAT
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.file_format = org.apache.doris.thrift.TFileFormatType.findByValue(iprot.readI32());
              struct.setFileFormatIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // COMPRESS_TYPE
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.compress_type = org.apache.doris.thrift.TFileCompressType.findByValue(iprot.readI32());
              struct.setCompressTypeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // OUTPUT_PATH
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.output_path = iprot.readString();
              struct.setOutputPathIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // TABLE_LOCATION
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.table_location = iprot.readString();
              struct.setTableLocationIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // HADOOP_CONFIG
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map359 = iprot.readMapBegin();
                struct.hadoop_config = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map359.size);
                @org.apache.thrift.annotation.Nullable java.lang.String _key360;
                @org.apache.thrift.annotation.Nullable java.lang.String _val361;
                for (int _i362 = 0; _i362 < _map359.size; ++_i362)
                {
                  _key360 = iprot.readString();
                  _val361 = iprot.readString();
                  struct.hadoop_config.put(_key360, _val361);
                }
                iprot.readMapEnd();
              }
              struct.setHadoopConfigIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 10: // FILE_TYPE
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.file_type = org.apache.doris.thrift.TFileType.findByValue(iprot.readI32());
              struct.setFileTypeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 11: // PARTITION_SPEC_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.partition_spec_id = iprot.readI32();
              struct.setPartitionSpecIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 12: // PARTITION_DATA_JSON
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.partition_data_json = iprot.readString();
              struct.setPartitionDataJsonIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 13: // BROKER_ADDRESSES
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list363 = iprot.readListBegin();
                struct.broker_addresses = new java.util.ArrayList<org.apache.doris.thrift.TNetworkAddress>(_list363.size);
                @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TNetworkAddress _elem364;
                for (int _i365 = 0; _i365 < _list363.size; ++_i365)
                {
                  _elem364 = new org.apache.doris.thrift.TNetworkAddress();
                  _elem364.read(iprot);
                  struct.broker_addresses.add(_elem364);
                }
                iprot.readListEnd();
              }
              struct.setBrokerAddressesIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 14: // FORMAT_VERSION
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.format_version = iprot.readI32();
              struct.setFormatVersionIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 15: // REWRITABLE_DELETE_FILE_SETS
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list366 = iprot.readListBegin();
                struct.rewritable_delete_file_sets = new java.util.ArrayList<TIcebergRewritableDeleteFileSet>(_list366.size);
                @org.apache.thrift.annotation.Nullable TIcebergRewritableDeleteFileSet _elem367;
                for (int _i368 = 0; _i368 < _list366.size; ++_i368)
                {
                  _elem367 = new TIcebergRewritableDeleteFileSet();
                  _elem367.read(iprot);
                  struct.rewritable_delete_file_sets.add(_elem367);
                }
                iprot.readListEnd();
              }
              struct.setRewritableDeleteFileSetsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          default:
            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
        }
        iprot.readFieldEnd();
      }
      iprot.readStructEnd();

      // check for required fields of primitive type, which can't be checked in the validate method
      struct.validate();
    }

    public void write(org.apache.thrift.protocol.TProtocol oprot, TIcebergDeleteSink struct) throws org.apache.thrift.TException {
      struct.validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (struct.db_name != null) {
        if (struct.isSetDbName()) {
          oprot.writeFieldBegin(DB_NAME_FIELD_DESC);
          oprot.writeString(struct.db_name);
          oprot.writeFieldEnd();
        }
      }
      if (struct.tb_name != null) {
        if (struct.isSetTbName()) {
          oprot.writeFieldBegin(TB_NAME_FIELD_DESC);
          oprot.writeString(struct.tb_name);
          oprot.writeFieldEnd();
        }
      }
      if (struct.delete_type != null) {
        if (struct.isSetDeleteType()) {
          oprot.writeFieldBegin(DELETE_TYPE_FIELD_DESC);
          oprot.writeI32(struct.delete_type.getValue());
          oprot.writeFieldEnd();
        }
      }
      if (struct.equality_field_ids != null) {
        if (struct.isSetEqualityFieldIds()) {
          oprot.writeFieldBegin(EQUALITY_FIELD_IDS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, struct.equality_field_ids.size()));
            for (int _iter369 : struct.equality_field_ids)
            {
              oprot.writeI32(_iter369);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.file_format != null) {
        if (struct.isSetFileFormat()) {
          oprot.writeFieldBegin(FILE_FORMAT_FIELD_DESC);
          oprot.writeI32(struct.file_format.getValue());
          oprot.writeFieldEnd();
        }
      }
      if (struct.compress_type != null) {
        if (struct.isSetCompressType()) {
          oprot.writeFieldBegin(COMPRESS_TYPE_FIELD_DESC);
          oprot.writeI32(struct.compress_type.getValue());
          oprot.writeFieldEnd();
        }
      }
      if (struct.output_path != null) {
        if (struct.isSetOutputPath()) {
          oprot.writeFieldBegin(OUTPUT_PATH_FIELD_DESC);
          oprot.writeString(struct.output_path);
          oprot.writeFieldEnd();
        }
      }
      if (struct.table_location != null) {
        if (struct.isSetTableLocation()) {
          oprot.writeFieldBegin(TABLE_LOCATION_FIELD_DESC);
          oprot.writeString(struct.table_location);
          oprot.writeFieldEnd();
        }
      }
      if (struct.hadoop_config != null) {
        if (struct.isSetHadoopConfig()) {
          oprot.writeFieldBegin(HADOOP_CONFIG_FIELD_DESC);
          {
            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.hadoop_config.size()));
            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter370 : struct.hadoop_config.entrySet())
            {
              oprot.writeString(_iter370.getKey());
              oprot.writeString(_iter370.getValue());
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.file_type != null) {
        if (struct.isSetFileType()) {
          oprot.writeFieldBegin(FILE_TYPE_FIELD_DESC);
          oprot.writeI32(struct.file_type.getValue());
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetPartitionSpecId()) {
        oprot.writeFieldBegin(PARTITION_SPEC_ID_FIELD_DESC);
        oprot.writeI32(struct.partition_spec_id);
        oprot.writeFieldEnd();
      }
      if (struct.partition_data_json != null) {
        if (struct.isSetPartitionDataJson()) {
          oprot.writeFieldBegin(PARTITION_DATA_JSON_FIELD_DESC);
          oprot.writeString(struct.partition_data_json);
          oprot.writeFieldEnd();
        }
      }
      if (struct.broker_addresses != null) {
        if (struct.isSetBrokerAddresses()) {
          oprot.writeFieldBegin(BROKER_ADDRESSES_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.broker_addresses.size()));
            for (org.apache.doris.thrift.TNetworkAddress _iter371 : struct.broker_addresses)
            {
              _iter371.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetFormatVersion()) {
        oprot.writeFieldBegin(FORMAT_VERSION_FIELD_DESC);
        oprot.writeI32(struct.format_version);
        oprot.writeFieldEnd();
      }
      if (struct.rewritable_delete_file_sets != null) {
        if (struct.isSetRewritableDeleteFileSets()) {
          oprot.writeFieldBegin(REWRITABLE_DELETE_FILE_SETS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.rewritable_delete_file_sets.size()));
            for (TIcebergRewritableDeleteFileSet _iter372 : struct.rewritable_delete_file_sets)
            {
              _iter372.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

  private static class TIcebergDeleteSinkTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
    public TIcebergDeleteSinkTupleScheme getScheme() {
      return new TIcebergDeleteSinkTupleScheme();
    }
  }

  private static class TIcebergDeleteSinkTupleScheme extends org.apache.thrift.scheme.TupleScheme<TIcebergDeleteSink> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, TIcebergDeleteSink struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet optionals = new java.util.BitSet();
      if (struct.isSetDbName()) {
        optionals.set(0);
      }
      if (struct.isSetTbName()) {
        optionals.set(1);
      }
      if (struct.isSetDeleteType()) {
        optionals.set(2);
      }
      if (struct.isSetEqualityFieldIds()) {
        optionals.set(3);
      }
      if (struct.isSetFileFormat()) {
        optionals.set(4);
      }
      if (struct.isSetCompressType()) {
        optionals.set(5);
      }
      if (struct.isSetOutputPath()) {
        optionals.set(6);
      }
      if (struct.isSetTableLocation()) {
        optionals.set(7);
      }
      if (struct.isSetHadoopConfig()) {
        optionals.set(8);
      }
      if (struct.isSetFileType()) {
        optionals.set(9);
      }
      if (struct.isSetPartitionSpecId()) {
        optionals.set(10);
      }
      if (struct.isSetPartitionDataJson()) {
        optionals.set(11);
      }
      if (struct.isSetBrokerAddresses()) {
        optionals.set(12);
      }
      if (struct.isSetFormatVersion()) {
        optionals.set(13);
      }
      if (struct.isSetRewritableDeleteFileSets()) {
        optionals.set(14);
      }
      oprot.writeBitSet(optionals, 15);
      if (struct.isSetDbName()) {
        oprot.writeString(struct.db_name);
      }
      if (struct.isSetTbName()) {
        oprot.writeString(struct.tb_name);
      }
      if (struct.isSetDeleteType()) {
        oprot.writeI32(struct.delete_type.getValue());
      }
      if (struct.isSetEqualityFieldIds()) {
        {
          oprot.writeI32(struct.equality_field_ids.size());
          for (int _iter373 : struct.equality_field_ids)
          {
            oprot.writeI32(_iter373);
          }
        }
      }
      if (struct.isSetFileFormat()) {
        oprot.writeI32(struct.file_format.getValue());
      }
      if (struct.isSetCompressType()) {
        oprot.writeI32(struct.compress_type.getValue());
      }
      if (struct.isSetOutputPath()) {
        oprot.writeString(struct.output_path);
      }
      if (struct.isSetTableLocation()) {
        oprot.writeString(struct.table_location);
      }
      if (struct.isSetHadoopConfig()) {
        {
          oprot.writeI32(struct.hadoop_config.size());
          for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter374 : struct.hadoop_config.entrySet())
          {
            oprot.writeString(_iter374.getKey());
            oprot.writeString(_iter374.getValue());
          }
        }
      }
      if (struct.isSetFileType()) {
        oprot.writeI32(struct.file_type.getValue());
      }
      if (struct.isSetPartitionSpecId()) {
        oprot.writeI32(struct.partition_spec_id);
      }
      if (struct.isSetPartitionDataJson()) {
        oprot.writeString(struct.partition_data_json);
      }
      if (struct.isSetBrokerAddresses()) {
        {
          oprot.writeI32(struct.broker_addresses.size());
          for (org.apache.doris.thrift.TNetworkAddress _iter375 : struct.broker_addresses)
          {
            _iter375.write(oprot);
          }
        }
      }
      if (struct.isSetFormatVersion()) {
        oprot.writeI32(struct.format_version);
      }
      if (struct.isSetRewritableDeleteFileSets()) {
        {
          oprot.writeI32(struct.rewritable_delete_file_sets.size());
          for (TIcebergRewritableDeleteFileSet _iter376 : struct.rewritable_delete_file_sets)
          {
            _iter376.write(oprot);
          }
        }
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, TIcebergDeleteSink struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet incoming = iprot.readBitSet(15);
      if (incoming.get(0)) {
        struct.db_name = iprot.readString();
        struct.setDbNameIsSet(true);
      }
      if (incoming.get(1)) {
        struct.tb_name = iprot.readString();
        struct.setTbNameIsSet(true);
      }
      if (incoming.get(2)) {
        struct.delete_type = org.apache.doris.thrift.TFileContent.findByValue(iprot.readI32());
        struct.setDeleteTypeIsSet(true);
      }
      if (incoming.get(3)) {
        {
          org.apache.thrift.protocol.TList _list377 = iprot.readListBegin(org.apache.thrift.protocol.TType.I32);
          struct.equality_field_ids = new java.util.ArrayList<java.lang.Integer>(_list377.size);
          int _elem378;
          for (int _i379 = 0; _i379 < _list377.size; ++_i379)
          {
            _elem378 = iprot.readI32();
            struct.equality_field_ids.add(_elem378);
          }
        }
        struct.setEqualityFieldIdsIsSet(true);
      }
      if (incoming.get(4)) {
        struct.file_format = org.apache.doris.thrift.TFileFormatType.findByValue(iprot.readI32());
        struct.setFileFormatIsSet(true);
      }
      if (incoming.get(5)) {
        struct.compress_type = org.apache.doris.thrift.TFileCompressType.findByValue(iprot.readI32());
        struct.setCompressTypeIsSet(true);
      }
      if (incoming.get(6)) {
        struct.output_path = iprot.readString();
        struct.setOutputPathIsSet(true);
      }
      if (incoming.get(7)) {
        struct.table_location = iprot.readString();
        struct.setTableLocationIsSet(true);
      }
      if (incoming.get(8)) {
        {
          org.apache.thrift.protocol.TMap _map380 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
          struct.hadoop_config = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map380.size);
          @org.apache.thrift.annotation.Nullable java.lang.String _key381;
          @org.apache.thrift.annotation.Nullable java.lang.String _val382;
          for (int _i383 = 0; _i383 < _map380.size; ++_i383)
          {
            _key381 = iprot.readString();
            _val382 = iprot.readString();
            struct.hadoop_config.put(_key381, _val382);
          }
        }
        struct.setHadoopConfigIsSet(true);
      }
      if (incoming.get(9)) {
        struct.file_type = org.apache.doris.thrift.TFileType.findByValue(iprot.readI32());
        struct.setFileTypeIsSet(true);
      }
      if (incoming.get(10)) {
        struct.partition_spec_id = iprot.readI32();
        struct.setPartitionSpecIdIsSet(true);
      }
      if (incoming.get(11)) {
        struct.partition_data_json = iprot.readString();
        struct.setPartitionDataJsonIsSet(true);
      }
      if (incoming.get(12)) {
        {
          org.apache.thrift.protocol.TList _list384 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
          struct.broker_addresses = new java.util.ArrayList<org.apache.doris.thrift.TNetworkAddress>(_list384.size);
          @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TNetworkAddress _elem385;
          for (int _i386 = 0; _i386 < _list384.size; ++_i386)
          {
            _elem385 = new org.apache.doris.thrift.TNetworkAddress();
            _elem385.read(iprot);
            struct.broker_addresses.add(_elem385);
          }
        }
        struct.setBrokerAddressesIsSet(true);
      }
      if (incoming.get(13)) {
        struct.format_version = iprot.readI32();
        struct.setFormatVersionIsSet(true);
      }
      if (incoming.get(14)) {
        {
          org.apache.thrift.protocol.TList _list387 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
          struct.rewritable_delete_file_sets = new java.util.ArrayList<TIcebergRewritableDeleteFileSet>(_list387.size);
          @org.apache.thrift.annotation.Nullable TIcebergRewritableDeleteFileSet _elem388;
          for (int _i389 = 0; _i389 < _list387.size; ++_i389)
          {
            _elem388 = new TIcebergRewritableDeleteFileSet();
            _elem388.read(iprot);
            struct.rewritable_delete_file_sets.add(_elem388);
          }
        }
        struct.setRewritableDeleteFileSetsIsSet(true);
      }
    }
  }

  private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
    return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
  }
}