TIcebergFileDesc.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 TIcebergFileDesc implements org.apache.thrift.TBase<TIcebergFileDesc, TIcebergFileDesc._Fields>, java.io.Serializable, Cloneable, Comparable<TIcebergFileDesc> {
  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TIcebergFileDesc");

  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)1);
  private static final org.apache.thrift.protocol.TField CONTENT_FIELD_DESC = new org.apache.thrift.protocol.TField("content", org.apache.thrift.protocol.TType.I32, (short)2);
  private static final org.apache.thrift.protocol.TField DELETE_FILES_FIELD_DESC = new org.apache.thrift.protocol.TField("delete_files", org.apache.thrift.protocol.TType.LIST, (short)3);
  private static final org.apache.thrift.protocol.TField DELETE_TABLE_TUPLE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("delete_table_tuple_id", org.apache.thrift.protocol.TType.I32, (short)4);
  private static final org.apache.thrift.protocol.TField FILE_SELECT_CONJUNCT_FIELD_DESC = new org.apache.thrift.protocol.TField("file_select_conjunct", org.apache.thrift.protocol.TType.STRUCT, (short)5);
  private static final org.apache.thrift.protocol.TField ORIGINAL_FILE_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("original_file_path", org.apache.thrift.protocol.TType.STRING, (short)6);
  private static final org.apache.thrift.protocol.TField ROW_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("row_count", org.apache.thrift.protocol.TType.I64, (short)7);
  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)8);
  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)9);
  private static final org.apache.thrift.protocol.TField FIRST_ROW_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("first_row_id", org.apache.thrift.protocol.TType.I64, (short)10);
  private static final org.apache.thrift.protocol.TField LAST_UPDATED_SEQUENCE_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("last_updated_sequence_number", org.apache.thrift.protocol.TType.I64, (short)11);

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

  public int format_version; // optional
  public int content; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<TIcebergDeleteFileDesc> delete_files; // optional
  public int delete_table_tuple_id; // optional
  public @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TExpr file_select_conjunct; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String original_file_path; // optional
  public long row_count; // optional
  public int partition_spec_id; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String partition_data_json; // optional
  public long first_row_id; // optional
  public long last_updated_sequence_number; // 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 {
    FORMAT_VERSION((short)1, "format_version"),
    CONTENT((short)2, "content"),
    DELETE_FILES((short)3, "delete_files"),
    DELETE_TABLE_TUPLE_ID((short)4, "delete_table_tuple_id"),
    FILE_SELECT_CONJUNCT((short)5, "file_select_conjunct"),
    ORIGINAL_FILE_PATH((short)6, "original_file_path"),
    ROW_COUNT((short)7, "row_count"),
    PARTITION_SPEC_ID((short)8, "partition_spec_id"),
    PARTITION_DATA_JSON((short)9, "partition_data_json"),
    FIRST_ROW_ID((short)10, "first_row_id"),
    LAST_UPDATED_SEQUENCE_NUMBER((short)11, "last_updated_sequence_number");

    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: // FORMAT_VERSION
          return FORMAT_VERSION;
        case 2: // CONTENT
          return CONTENT;
        case 3: // DELETE_FILES
          return DELETE_FILES;
        case 4: // DELETE_TABLE_TUPLE_ID
          return DELETE_TABLE_TUPLE_ID;
        case 5: // FILE_SELECT_CONJUNCT
          return FILE_SELECT_CONJUNCT;
        case 6: // ORIGINAL_FILE_PATH
          return ORIGINAL_FILE_PATH;
        case 7: // ROW_COUNT
          return ROW_COUNT;
        case 8: // PARTITION_SPEC_ID
          return PARTITION_SPEC_ID;
        case 9: // PARTITION_DATA_JSON
          return PARTITION_DATA_JSON;
        case 10: // FIRST_ROW_ID
          return FIRST_ROW_ID;
        case 11: // LAST_UPDATED_SEQUENCE_NUMBER
          return LAST_UPDATED_SEQUENCE_NUMBER;
        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 __FORMAT_VERSION_ISSET_ID = 0;
  private static final int __CONTENT_ISSET_ID = 1;
  private static final int __DELETE_TABLE_TUPLE_ID_ISSET_ID = 2;
  private static final int __ROW_COUNT_ISSET_ID = 3;
  private static final int __PARTITION_SPEC_ID_ISSET_ID = 4;
  private static final int __FIRST_ROW_ID_ISSET_ID = 5;
  private static final int __LAST_UPDATED_SEQUENCE_NUMBER_ISSET_ID = 6;
  private byte __isset_bitfield = 0;
  private static final _Fields optionals[] = {_Fields.FORMAT_VERSION,_Fields.CONTENT,_Fields.DELETE_FILES,_Fields.DELETE_TABLE_TUPLE_ID,_Fields.FILE_SELECT_CONJUNCT,_Fields.ORIGINAL_FILE_PATH,_Fields.ROW_COUNT,_Fields.PARTITION_SPEC_ID,_Fields.PARTITION_DATA_JSON,_Fields.FIRST_ROW_ID,_Fields.LAST_UPDATED_SEQUENCE_NUMBER};
  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.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.CONTENT, new org.apache.thrift.meta_data.FieldMetaData("content", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.DELETE_FILES, new org.apache.thrift.meta_data.FieldMetaData("delete_files", 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, TIcebergDeleteFileDesc.class))));
    tmpMap.put(_Fields.DELETE_TABLE_TUPLE_ID, new org.apache.thrift.meta_data.FieldMetaData("delete_table_tuple_id", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32        , "TTupleId")));
    tmpMap.put(_Fields.FILE_SELECT_CONJUNCT, new org.apache.thrift.meta_data.FieldMetaData("file_select_conjunct", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.doris.thrift.TExpr.class)));
    tmpMap.put(_Fields.ORIGINAL_FILE_PATH, new org.apache.thrift.meta_data.FieldMetaData("original_file_path", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.ROW_COUNT, new org.apache.thrift.meta_data.FieldMetaData("row_count", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    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.FIRST_ROW_ID, new org.apache.thrift.meta_data.FieldMetaData("first_row_id", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.LAST_UPDATED_SEQUENCE_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("last_updated_sequence_number", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TIcebergFileDesc.class, metaDataMap);
  }

  public TIcebergFileDesc() {
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public TIcebergFileDesc(TIcebergFileDesc other) {
    __isset_bitfield = other.__isset_bitfield;
    this.format_version = other.format_version;
    this.content = other.content;
    if (other.isSetDeleteFiles()) {
      java.util.List<TIcebergDeleteFileDesc> __this__delete_files = new java.util.ArrayList<TIcebergDeleteFileDesc>(other.delete_files.size());
      for (TIcebergDeleteFileDesc other_element : other.delete_files) {
        __this__delete_files.add(new TIcebergDeleteFileDesc(other_element));
      }
      this.delete_files = __this__delete_files;
    }
    this.delete_table_tuple_id = other.delete_table_tuple_id;
    if (other.isSetFileSelectConjunct()) {
      this.file_select_conjunct = new org.apache.doris.thrift.TExpr(other.file_select_conjunct);
    }
    if (other.isSetOriginalFilePath()) {
      this.original_file_path = other.original_file_path;
    }
    this.row_count = other.row_count;
    this.partition_spec_id = other.partition_spec_id;
    if (other.isSetPartitionDataJson()) {
      this.partition_data_json = other.partition_data_json;
    }
    this.first_row_id = other.first_row_id;
    this.last_updated_sequence_number = other.last_updated_sequence_number;
  }

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

  @Override
  public void clear() {
    setFormatVersionIsSet(false);
    this.format_version = 0;
    setContentIsSet(false);
    this.content = 0;
    this.delete_files = null;
    setDeleteTableTupleIdIsSet(false);
    this.delete_table_tuple_id = 0;
    this.file_select_conjunct = null;
    this.original_file_path = null;
    setRowCountIsSet(false);
    this.row_count = 0;
    setPartitionSpecIdIsSet(false);
    this.partition_spec_id = 0;
    this.partition_data_json = null;
    setFirstRowIdIsSet(false);
    this.first_row_id = 0;
    setLastUpdatedSequenceNumberIsSet(false);
    this.last_updated_sequence_number = 0;
  }

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

  public TIcebergFileDesc 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 getContent() {
    return this.content;
  }

  public TIcebergFileDesc setContent(int content) {
    this.content = content;
    setContentIsSet(true);
    return this;
  }

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

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

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

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

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

  public void addToDeleteFiles(TIcebergDeleteFileDesc elem) {
    if (this.delete_files == null) {
      this.delete_files = new java.util.ArrayList<TIcebergDeleteFileDesc>();
    }
    this.delete_files.add(elem);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.List<TIcebergDeleteFileDesc> getDeleteFiles() {
    return this.delete_files;
  }

  public TIcebergFileDesc setDeleteFiles(@org.apache.thrift.annotation.Nullable java.util.List<TIcebergDeleteFileDesc> delete_files) {
    this.delete_files = delete_files;
    return this;
  }

  public void unsetDeleteFiles() {
    this.delete_files = null;
  }

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

  public void setDeleteFilesIsSet(boolean value) {
    if (!value) {
      this.delete_files = null;
    }
  }

  public int getDeleteTableTupleId() {
    return this.delete_table_tuple_id;
  }

  public TIcebergFileDesc setDeleteTableTupleId(int delete_table_tuple_id) {
    this.delete_table_tuple_id = delete_table_tuple_id;
    setDeleteTableTupleIdIsSet(true);
    return this;
  }

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

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

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

  @org.apache.thrift.annotation.Nullable
  public org.apache.doris.thrift.TExpr getFileSelectConjunct() {
    return this.file_select_conjunct;
  }

  public TIcebergFileDesc setFileSelectConjunct(@org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TExpr file_select_conjunct) {
    this.file_select_conjunct = file_select_conjunct;
    return this;
  }

  public void unsetFileSelectConjunct() {
    this.file_select_conjunct = null;
  }

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

  public void setFileSelectConjunctIsSet(boolean value) {
    if (!value) {
      this.file_select_conjunct = null;
    }
  }

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

  public TIcebergFileDesc setOriginalFilePath(@org.apache.thrift.annotation.Nullable java.lang.String original_file_path) {
    this.original_file_path = original_file_path;
    return this;
  }

  public void unsetOriginalFilePath() {
    this.original_file_path = null;
  }

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

  public void setOriginalFilePathIsSet(boolean value) {
    if (!value) {
      this.original_file_path = null;
    }
  }

  public long getRowCount() {
    return this.row_count;
  }

  public TIcebergFileDesc setRowCount(long row_count) {
    this.row_count = row_count;
    setRowCountIsSet(true);
    return this;
  }

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

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

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

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

  public TIcebergFileDesc 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 TIcebergFileDesc 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 long getFirstRowId() {
    return this.first_row_id;
  }

  public TIcebergFileDesc setFirstRowId(long first_row_id) {
    this.first_row_id = first_row_id;
    setFirstRowIdIsSet(true);
    return this;
  }

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

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

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

  public long getLastUpdatedSequenceNumber() {
    return this.last_updated_sequence_number;
  }

  public TIcebergFileDesc setLastUpdatedSequenceNumber(long last_updated_sequence_number) {
    this.last_updated_sequence_number = last_updated_sequence_number;
    setLastUpdatedSequenceNumberIsSet(true);
    return this;
  }

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

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

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

  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
    switch (field) {
    case FORMAT_VERSION:
      if (value == null) {
        unsetFormatVersion();
      } else {
        setFormatVersion((java.lang.Integer)value);
      }
      break;

    case CONTENT:
      if (value == null) {
        unsetContent();
      } else {
        setContent((java.lang.Integer)value);
      }
      break;

    case DELETE_FILES:
      if (value == null) {
        unsetDeleteFiles();
      } else {
        setDeleteFiles((java.util.List<TIcebergDeleteFileDesc>)value);
      }
      break;

    case DELETE_TABLE_TUPLE_ID:
      if (value == null) {
        unsetDeleteTableTupleId();
      } else {
        setDeleteTableTupleId((java.lang.Integer)value);
      }
      break;

    case FILE_SELECT_CONJUNCT:
      if (value == null) {
        unsetFileSelectConjunct();
      } else {
        setFileSelectConjunct((org.apache.doris.thrift.TExpr)value);
      }
      break;

    case ORIGINAL_FILE_PATH:
      if (value == null) {
        unsetOriginalFilePath();
      } else {
        setOriginalFilePath((java.lang.String)value);
      }
      break;

    case ROW_COUNT:
      if (value == null) {
        unsetRowCount();
      } else {
        setRowCount((java.lang.Long)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 FIRST_ROW_ID:
      if (value == null) {
        unsetFirstRowId();
      } else {
        setFirstRowId((java.lang.Long)value);
      }
      break;

    case LAST_UPDATED_SEQUENCE_NUMBER:
      if (value == null) {
        unsetLastUpdatedSequenceNumber();
      } else {
        setLastUpdatedSequenceNumber((java.lang.Long)value);
      }
      break;

    }
  }

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

    case CONTENT:
      return getContent();

    case DELETE_FILES:
      return getDeleteFiles();

    case DELETE_TABLE_TUPLE_ID:
      return getDeleteTableTupleId();

    case FILE_SELECT_CONJUNCT:
      return getFileSelectConjunct();

    case ORIGINAL_FILE_PATH:
      return getOriginalFilePath();

    case ROW_COUNT:
      return getRowCount();

    case PARTITION_SPEC_ID:
      return getPartitionSpecId();

    case PARTITION_DATA_JSON:
      return getPartitionDataJson();

    case FIRST_ROW_ID:
      return getFirstRowId();

    case LAST_UPDATED_SEQUENCE_NUMBER:
      return getLastUpdatedSequenceNumber();

    }
    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 FORMAT_VERSION:
      return isSetFormatVersion();
    case CONTENT:
      return isSetContent();
    case DELETE_FILES:
      return isSetDeleteFiles();
    case DELETE_TABLE_TUPLE_ID:
      return isSetDeleteTableTupleId();
    case FILE_SELECT_CONJUNCT:
      return isSetFileSelectConjunct();
    case ORIGINAL_FILE_PATH:
      return isSetOriginalFilePath();
    case ROW_COUNT:
      return isSetRowCount();
    case PARTITION_SPEC_ID:
      return isSetPartitionSpecId();
    case PARTITION_DATA_JSON:
      return isSetPartitionDataJson();
    case FIRST_ROW_ID:
      return isSetFirstRowId();
    case LAST_UPDATED_SEQUENCE_NUMBER:
      return isSetLastUpdatedSequenceNumber();
    }
    throw new java.lang.IllegalStateException();
  }

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

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

    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_content = true && this.isSetContent();
    boolean that_present_content = true && that.isSetContent();
    if (this_present_content || that_present_content) {
      if (!(this_present_content && that_present_content))
        return false;
      if (this.content != that.content)
        return false;
    }

    boolean this_present_delete_files = true && this.isSetDeleteFiles();
    boolean that_present_delete_files = true && that.isSetDeleteFiles();
    if (this_present_delete_files || that_present_delete_files) {
      if (!(this_present_delete_files && that_present_delete_files))
        return false;
      if (!this.delete_files.equals(that.delete_files))
        return false;
    }

    boolean this_present_delete_table_tuple_id = true && this.isSetDeleteTableTupleId();
    boolean that_present_delete_table_tuple_id = true && that.isSetDeleteTableTupleId();
    if (this_present_delete_table_tuple_id || that_present_delete_table_tuple_id) {
      if (!(this_present_delete_table_tuple_id && that_present_delete_table_tuple_id))
        return false;
      if (this.delete_table_tuple_id != that.delete_table_tuple_id)
        return false;
    }

    boolean this_present_file_select_conjunct = true && this.isSetFileSelectConjunct();
    boolean that_present_file_select_conjunct = true && that.isSetFileSelectConjunct();
    if (this_present_file_select_conjunct || that_present_file_select_conjunct) {
      if (!(this_present_file_select_conjunct && that_present_file_select_conjunct))
        return false;
      if (!this.file_select_conjunct.equals(that.file_select_conjunct))
        return false;
    }

    boolean this_present_original_file_path = true && this.isSetOriginalFilePath();
    boolean that_present_original_file_path = true && that.isSetOriginalFilePath();
    if (this_present_original_file_path || that_present_original_file_path) {
      if (!(this_present_original_file_path && that_present_original_file_path))
        return false;
      if (!this.original_file_path.equals(that.original_file_path))
        return false;
    }

    boolean this_present_row_count = true && this.isSetRowCount();
    boolean that_present_row_count = true && that.isSetRowCount();
    if (this_present_row_count || that_present_row_count) {
      if (!(this_present_row_count && that_present_row_count))
        return false;
      if (this.row_count != that.row_count)
        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_first_row_id = true && this.isSetFirstRowId();
    boolean that_present_first_row_id = true && that.isSetFirstRowId();
    if (this_present_first_row_id || that_present_first_row_id) {
      if (!(this_present_first_row_id && that_present_first_row_id))
        return false;
      if (this.first_row_id != that.first_row_id)
        return false;
    }

    boolean this_present_last_updated_sequence_number = true && this.isSetLastUpdatedSequenceNumber();
    boolean that_present_last_updated_sequence_number = true && that.isSetLastUpdatedSequenceNumber();
    if (this_present_last_updated_sequence_number || that_present_last_updated_sequence_number) {
      if (!(this_present_last_updated_sequence_number && that_present_last_updated_sequence_number))
        return false;
      if (this.last_updated_sequence_number != that.last_updated_sequence_number)
        return false;
    }

    return true;
  }

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

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

    hashCode = hashCode * 8191 + ((isSetContent()) ? 131071 : 524287);
    if (isSetContent())
      hashCode = hashCode * 8191 + content;

    hashCode = hashCode * 8191 + ((isSetDeleteFiles()) ? 131071 : 524287);
    if (isSetDeleteFiles())
      hashCode = hashCode * 8191 + delete_files.hashCode();

    hashCode = hashCode * 8191 + ((isSetDeleteTableTupleId()) ? 131071 : 524287);
    if (isSetDeleteTableTupleId())
      hashCode = hashCode * 8191 + delete_table_tuple_id;

    hashCode = hashCode * 8191 + ((isSetFileSelectConjunct()) ? 131071 : 524287);
    if (isSetFileSelectConjunct())
      hashCode = hashCode * 8191 + file_select_conjunct.hashCode();

    hashCode = hashCode * 8191 + ((isSetOriginalFilePath()) ? 131071 : 524287);
    if (isSetOriginalFilePath())
      hashCode = hashCode * 8191 + original_file_path.hashCode();

    hashCode = hashCode * 8191 + ((isSetRowCount()) ? 131071 : 524287);
    if (isSetRowCount())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(row_count);

    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 + ((isSetFirstRowId()) ? 131071 : 524287);
    if (isSetFirstRowId())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(first_row_id);

    hashCode = hashCode * 8191 + ((isSetLastUpdatedSequenceNumber()) ? 131071 : 524287);
    if (isSetLastUpdatedSequenceNumber())
      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(last_updated_sequence_number);

    return hashCode;
  }

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

    int lastComparison = 0;

    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(isSetContent(), other.isSetContent());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetContent()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.content, other.content);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetDeleteFiles(), other.isSetDeleteFiles());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDeleteFiles()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.delete_files, other.delete_files);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetDeleteTableTupleId(), other.isSetDeleteTableTupleId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDeleteTableTupleId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.delete_table_tuple_id, other.delete_table_tuple_id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetFileSelectConjunct(), other.isSetFileSelectConjunct());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFileSelectConjunct()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.file_select_conjunct, other.file_select_conjunct);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetOriginalFilePath(), other.isSetOriginalFilePath());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetOriginalFilePath()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.original_file_path, other.original_file_path);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetRowCount(), other.isSetRowCount());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetRowCount()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.row_count, other.row_count);
      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(isSetFirstRowId(), other.isSetFirstRowId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFirstRowId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.first_row_id, other.first_row_id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetLastUpdatedSequenceNumber(), other.isSetLastUpdatedSequenceNumber());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetLastUpdatedSequenceNumber()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.last_updated_sequence_number, other.last_updated_sequence_number);
      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("TIcebergFileDesc(");
    boolean first = true;

    if (isSetFormatVersion()) {
      sb.append("format_version:");
      sb.append(this.format_version);
      first = false;
    }
    if (isSetContent()) {
      if (!first) sb.append(", ");
      sb.append("content:");
      sb.append(this.content);
      first = false;
    }
    if (isSetDeleteFiles()) {
      if (!first) sb.append(", ");
      sb.append("delete_files:");
      if (this.delete_files == null) {
        sb.append("null");
      } else {
        sb.append(this.delete_files);
      }
      first = false;
    }
    if (isSetDeleteTableTupleId()) {
      if (!first) sb.append(", ");
      sb.append("delete_table_tuple_id:");
      sb.append(this.delete_table_tuple_id);
      first = false;
    }
    if (isSetFileSelectConjunct()) {
      if (!first) sb.append(", ");
      sb.append("file_select_conjunct:");
      if (this.file_select_conjunct == null) {
        sb.append("null");
      } else {
        sb.append(this.file_select_conjunct);
      }
      first = false;
    }
    if (isSetOriginalFilePath()) {
      if (!first) sb.append(", ");
      sb.append("original_file_path:");
      if (this.original_file_path == null) {
        sb.append("null");
      } else {
        sb.append(this.original_file_path);
      }
      first = false;
    }
    if (isSetRowCount()) {
      if (!first) sb.append(", ");
      sb.append("row_count:");
      sb.append(this.row_count);
      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 (isSetFirstRowId()) {
      if (!first) sb.append(", ");
      sb.append("first_row_id:");
      sb.append(this.first_row_id);
      first = false;
    }
    if (isSetLastUpdatedSequenceNumber()) {
      if (!first) sb.append(", ");
      sb.append("last_updated_sequence_number:");
      sb.append(this.last_updated_sequence_number);
      first = false;
    }
    sb.append(")");
    return sb.toString();
  }

  public void validate() throws org.apache.thrift.TException {
    // check for required fields
    // check for sub-struct validity
    if (file_select_conjunct != null) {
      file_select_conjunct.validate();
    }
  }

  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 TIcebergFileDescStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
    public TIcebergFileDescStandardScheme getScheme() {
      return new TIcebergFileDescStandardScheme();
    }
  }

  private static class TIcebergFileDescStandardScheme extends org.apache.thrift.scheme.StandardScheme<TIcebergFileDesc> {

    public void read(org.apache.thrift.protocol.TProtocol iprot, TIcebergFileDesc 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: // 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 2: // CONTENT
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.content = iprot.readI32();
              struct.setContentIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // DELETE_FILES
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list110 = iprot.readListBegin();
                struct.delete_files = new java.util.ArrayList<TIcebergDeleteFileDesc>(_list110.size);
                @org.apache.thrift.annotation.Nullable TIcebergDeleteFileDesc _elem111;
                for (int _i112 = 0; _i112 < _list110.size; ++_i112)
                {
                  _elem111 = new TIcebergDeleteFileDesc();
                  _elem111.read(iprot);
                  struct.delete_files.add(_elem111);
                }
                iprot.readListEnd();
              }
              struct.setDeleteFilesIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // DELETE_TABLE_TUPLE_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.delete_table_tuple_id = iprot.readI32();
              struct.setDeleteTableTupleIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // FILE_SELECT_CONJUNCT
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.file_select_conjunct = new org.apache.doris.thrift.TExpr();
              struct.file_select_conjunct.read(iprot);
              struct.setFileSelectConjunctIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // ORIGINAL_FILE_PATH
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.original_file_path = iprot.readString();
              struct.setOriginalFilePathIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // ROW_COUNT
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.row_count = iprot.readI64();
              struct.setRowCountIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // 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 9: // 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 10: // FIRST_ROW_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.first_row_id = iprot.readI64();
              struct.setFirstRowIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 11: // LAST_UPDATED_SEQUENCE_NUMBER
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.last_updated_sequence_number = iprot.readI64();
              struct.setLastUpdatedSequenceNumberIsSet(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, TIcebergFileDesc struct) throws org.apache.thrift.TException {
      struct.validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (struct.isSetFormatVersion()) {
        oprot.writeFieldBegin(FORMAT_VERSION_FIELD_DESC);
        oprot.writeI32(struct.format_version);
        oprot.writeFieldEnd();
      }
      if (struct.isSetContent()) {
        oprot.writeFieldBegin(CONTENT_FIELD_DESC);
        oprot.writeI32(struct.content);
        oprot.writeFieldEnd();
      }
      if (struct.delete_files != null) {
        if (struct.isSetDeleteFiles()) {
          oprot.writeFieldBegin(DELETE_FILES_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.delete_files.size()));
            for (TIcebergDeleteFileDesc _iter113 : struct.delete_files)
            {
              _iter113.write(oprot);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetDeleteTableTupleId()) {
        oprot.writeFieldBegin(DELETE_TABLE_TUPLE_ID_FIELD_DESC);
        oprot.writeI32(struct.delete_table_tuple_id);
        oprot.writeFieldEnd();
      }
      if (struct.file_select_conjunct != null) {
        if (struct.isSetFileSelectConjunct()) {
          oprot.writeFieldBegin(FILE_SELECT_CONJUNCT_FIELD_DESC);
          struct.file_select_conjunct.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.original_file_path != null) {
        if (struct.isSetOriginalFilePath()) {
          oprot.writeFieldBegin(ORIGINAL_FILE_PATH_FIELD_DESC);
          oprot.writeString(struct.original_file_path);
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetRowCount()) {
        oprot.writeFieldBegin(ROW_COUNT_FIELD_DESC);
        oprot.writeI64(struct.row_count);
        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.isSetFirstRowId()) {
        oprot.writeFieldBegin(FIRST_ROW_ID_FIELD_DESC);
        oprot.writeI64(struct.first_row_id);
        oprot.writeFieldEnd();
      }
      if (struct.isSetLastUpdatedSequenceNumber()) {
        oprot.writeFieldBegin(LAST_UPDATED_SEQUENCE_NUMBER_FIELD_DESC);
        oprot.writeI64(struct.last_updated_sequence_number);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

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

  private static class TIcebergFileDescTupleScheme extends org.apache.thrift.scheme.TupleScheme<TIcebergFileDesc> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, TIcebergFileDesc 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.isSetFormatVersion()) {
        optionals.set(0);
      }
      if (struct.isSetContent()) {
        optionals.set(1);
      }
      if (struct.isSetDeleteFiles()) {
        optionals.set(2);
      }
      if (struct.isSetDeleteTableTupleId()) {
        optionals.set(3);
      }
      if (struct.isSetFileSelectConjunct()) {
        optionals.set(4);
      }
      if (struct.isSetOriginalFilePath()) {
        optionals.set(5);
      }
      if (struct.isSetRowCount()) {
        optionals.set(6);
      }
      if (struct.isSetPartitionSpecId()) {
        optionals.set(7);
      }
      if (struct.isSetPartitionDataJson()) {
        optionals.set(8);
      }
      if (struct.isSetFirstRowId()) {
        optionals.set(9);
      }
      if (struct.isSetLastUpdatedSequenceNumber()) {
        optionals.set(10);
      }
      oprot.writeBitSet(optionals, 11);
      if (struct.isSetFormatVersion()) {
        oprot.writeI32(struct.format_version);
      }
      if (struct.isSetContent()) {
        oprot.writeI32(struct.content);
      }
      if (struct.isSetDeleteFiles()) {
        {
          oprot.writeI32(struct.delete_files.size());
          for (TIcebergDeleteFileDesc _iter114 : struct.delete_files)
          {
            _iter114.write(oprot);
          }
        }
      }
      if (struct.isSetDeleteTableTupleId()) {
        oprot.writeI32(struct.delete_table_tuple_id);
      }
      if (struct.isSetFileSelectConjunct()) {
        struct.file_select_conjunct.write(oprot);
      }
      if (struct.isSetOriginalFilePath()) {
        oprot.writeString(struct.original_file_path);
      }
      if (struct.isSetRowCount()) {
        oprot.writeI64(struct.row_count);
      }
      if (struct.isSetPartitionSpecId()) {
        oprot.writeI32(struct.partition_spec_id);
      }
      if (struct.isSetPartitionDataJson()) {
        oprot.writeString(struct.partition_data_json);
      }
      if (struct.isSetFirstRowId()) {
        oprot.writeI64(struct.first_row_id);
      }
      if (struct.isSetLastUpdatedSequenceNumber()) {
        oprot.writeI64(struct.last_updated_sequence_number);
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, TIcebergFileDesc struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet incoming = iprot.readBitSet(11);
      if (incoming.get(0)) {
        struct.format_version = iprot.readI32();
        struct.setFormatVersionIsSet(true);
      }
      if (incoming.get(1)) {
        struct.content = iprot.readI32();
        struct.setContentIsSet(true);
      }
      if (incoming.get(2)) {
        {
          org.apache.thrift.protocol.TList _list115 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
          struct.delete_files = new java.util.ArrayList<TIcebergDeleteFileDesc>(_list115.size);
          @org.apache.thrift.annotation.Nullable TIcebergDeleteFileDesc _elem116;
          for (int _i117 = 0; _i117 < _list115.size; ++_i117)
          {
            _elem116 = new TIcebergDeleteFileDesc();
            _elem116.read(iprot);
            struct.delete_files.add(_elem116);
          }
        }
        struct.setDeleteFilesIsSet(true);
      }
      if (incoming.get(3)) {
        struct.delete_table_tuple_id = iprot.readI32();
        struct.setDeleteTableTupleIdIsSet(true);
      }
      if (incoming.get(4)) {
        struct.file_select_conjunct = new org.apache.doris.thrift.TExpr();
        struct.file_select_conjunct.read(iprot);
        struct.setFileSelectConjunctIsSet(true);
      }
      if (incoming.get(5)) {
        struct.original_file_path = iprot.readString();
        struct.setOriginalFilePathIsSet(true);
      }
      if (incoming.get(6)) {
        struct.row_count = iprot.readI64();
        struct.setRowCountIsSet(true);
      }
      if (incoming.get(7)) {
        struct.partition_spec_id = iprot.readI32();
        struct.setPartitionSpecIdIsSet(true);
      }
      if (incoming.get(8)) {
        struct.partition_data_json = iprot.readString();
        struct.setPartitionDataJsonIsSet(true);
      }
      if (incoming.get(9)) {
        struct.first_row_id = iprot.readI64();
        struct.setFirstRowIdIsSet(true);
      }
      if (incoming.get(10)) {
        struct.last_updated_sequence_number = iprot.readI64();
        struct.setLastUpdatedSequenceNumberIsSet(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();
  }
}