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

  private static final org.apache.thrift.protocol.TField METADATA_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("metadata_type", org.apache.thrift.protocol.TType.I32, (short)1);
  private static final org.apache.thrift.protocol.TField ICEBERG_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("iceberg_params", org.apache.thrift.protocol.TType.STRUCT, (short)2);
  private static final org.apache.thrift.protocol.TField BACKENDS_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("backends_params", org.apache.thrift.protocol.TType.STRUCT, (short)3);
  private static final org.apache.thrift.protocol.TField FRONTENDS_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("frontends_params", org.apache.thrift.protocol.TType.STRUCT, (short)4);
  private static final org.apache.thrift.protocol.TField QUERIES_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("queries_params", org.apache.thrift.protocol.TType.STRUCT, (short)5);
  private static final org.apache.thrift.protocol.TField MATERIALIZED_VIEWS_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("materialized_views_params", org.apache.thrift.protocol.TType.STRUCT, (short)6);
  private static final org.apache.thrift.protocol.TField JOBS_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("jobs_params", org.apache.thrift.protocol.TType.STRUCT, (short)7);
  private static final org.apache.thrift.protocol.TField TASKS_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("tasks_params", org.apache.thrift.protocol.TType.STRUCT, (short)8);
  private static final org.apache.thrift.protocol.TField PARTITIONS_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("partitions_params", org.apache.thrift.protocol.TType.STRUCT, (short)9);
  private static final org.apache.thrift.protocol.TField META_CACHE_STATS_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("meta_cache_stats_params", org.apache.thrift.protocol.TType.STRUCT, (short)10);
  private static final org.apache.thrift.protocol.TField PARTITION_VALUES_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("partition_values_params", org.apache.thrift.protocol.TType.STRUCT, (short)11);
  private static final org.apache.thrift.protocol.TField HUDI_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("hudi_params", org.apache.thrift.protocol.TType.STRUCT, (short)12);
  private static final org.apache.thrift.protocol.TField PAIMON_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("paimon_params", org.apache.thrift.protocol.TType.STRUCT, (short)13);
  private static final org.apache.thrift.protocol.TField HADOOP_PROPS_FIELD_DESC = new org.apache.thrift.protocol.TField("hadoop_props", org.apache.thrift.protocol.TType.MAP, (short)14);
  private static final org.apache.thrift.protocol.TField SERIALIZED_TABLE_FIELD_DESC = new org.apache.thrift.protocol.TField("serialized_table", org.apache.thrift.protocol.TType.STRING, (short)15);
  private static final org.apache.thrift.protocol.TField SERIALIZED_SPLITS_FIELD_DESC = new org.apache.thrift.protocol.TField("serialized_splits", org.apache.thrift.protocol.TType.LIST, (short)16);
  private static final org.apache.thrift.protocol.TField PARQUET_PARAMS_FIELD_DESC = new org.apache.thrift.protocol.TField("parquet_params", org.apache.thrift.protocol.TType.STRUCT, (short)17);

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

  /**
   * 
   * @see org.apache.doris.thrift.TMetadataType
   */
  public @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TMetadataType metadata_type; // optional
  public @org.apache.thrift.annotation.Nullable TIcebergMetadataParams iceberg_params; // optional
  public @org.apache.thrift.annotation.Nullable TBackendsMetadataParams backends_params; // optional
  public @org.apache.thrift.annotation.Nullable TFrontendsMetadataParams frontends_params; // optional
  public @org.apache.thrift.annotation.Nullable TQueriesMetadataParams queries_params; // optional
  public @org.apache.thrift.annotation.Nullable TMaterializedViewsMetadataParams materialized_views_params; // optional
  public @org.apache.thrift.annotation.Nullable TJobsMetadataParams jobs_params; // optional
  public @org.apache.thrift.annotation.Nullable TTasksMetadataParams tasks_params; // optional
  public @org.apache.thrift.annotation.Nullable TPartitionsMetadataParams partitions_params; // optional
  public @org.apache.thrift.annotation.Nullable TMetaCacheStatsParams meta_cache_stats_params; // optional
  public @org.apache.thrift.annotation.Nullable TPartitionValuesMetadataParams partition_values_params; // optional
  public @org.apache.thrift.annotation.Nullable THudiMetadataParams hudi_params; // optional
  public @org.apache.thrift.annotation.Nullable TPaimonMetadataParams paimon_params; // optional
  public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> hadoop_props; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String serialized_table; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> serialized_splits; // optional
  public @org.apache.thrift.annotation.Nullable TParquetMetadataParams parquet_params; // 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 {
    /**
     * 
     * @see org.apache.doris.thrift.TMetadataType
     */
    METADATA_TYPE((short)1, "metadata_type"),
    ICEBERG_PARAMS((short)2, "iceberg_params"),
    BACKENDS_PARAMS((short)3, "backends_params"),
    FRONTENDS_PARAMS((short)4, "frontends_params"),
    QUERIES_PARAMS((short)5, "queries_params"),
    MATERIALIZED_VIEWS_PARAMS((short)6, "materialized_views_params"),
    JOBS_PARAMS((short)7, "jobs_params"),
    TASKS_PARAMS((short)8, "tasks_params"),
    PARTITIONS_PARAMS((short)9, "partitions_params"),
    META_CACHE_STATS_PARAMS((short)10, "meta_cache_stats_params"),
    PARTITION_VALUES_PARAMS((short)11, "partition_values_params"),
    HUDI_PARAMS((short)12, "hudi_params"),
    PAIMON_PARAMS((short)13, "paimon_params"),
    HADOOP_PROPS((short)14, "hadoop_props"),
    SERIALIZED_TABLE((short)15, "serialized_table"),
    SERIALIZED_SPLITS((short)16, "serialized_splits"),
    PARQUET_PARAMS((short)17, "parquet_params");

    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: // METADATA_TYPE
          return METADATA_TYPE;
        case 2: // ICEBERG_PARAMS
          return ICEBERG_PARAMS;
        case 3: // BACKENDS_PARAMS
          return BACKENDS_PARAMS;
        case 4: // FRONTENDS_PARAMS
          return FRONTENDS_PARAMS;
        case 5: // QUERIES_PARAMS
          return QUERIES_PARAMS;
        case 6: // MATERIALIZED_VIEWS_PARAMS
          return MATERIALIZED_VIEWS_PARAMS;
        case 7: // JOBS_PARAMS
          return JOBS_PARAMS;
        case 8: // TASKS_PARAMS
          return TASKS_PARAMS;
        case 9: // PARTITIONS_PARAMS
          return PARTITIONS_PARAMS;
        case 10: // META_CACHE_STATS_PARAMS
          return META_CACHE_STATS_PARAMS;
        case 11: // PARTITION_VALUES_PARAMS
          return PARTITION_VALUES_PARAMS;
        case 12: // HUDI_PARAMS
          return HUDI_PARAMS;
        case 13: // PAIMON_PARAMS
          return PAIMON_PARAMS;
        case 14: // HADOOP_PROPS
          return HADOOP_PROPS;
        case 15: // SERIALIZED_TABLE
          return SERIALIZED_TABLE;
        case 16: // SERIALIZED_SPLITS
          return SERIALIZED_SPLITS;
        case 17: // PARQUET_PARAMS
          return PARQUET_PARAMS;
        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 _Fields optionals[] = {_Fields.METADATA_TYPE,_Fields.ICEBERG_PARAMS,_Fields.BACKENDS_PARAMS,_Fields.FRONTENDS_PARAMS,_Fields.QUERIES_PARAMS,_Fields.MATERIALIZED_VIEWS_PARAMS,_Fields.JOBS_PARAMS,_Fields.TASKS_PARAMS,_Fields.PARTITIONS_PARAMS,_Fields.META_CACHE_STATS_PARAMS,_Fields.PARTITION_VALUES_PARAMS,_Fields.HUDI_PARAMS,_Fields.PAIMON_PARAMS,_Fields.HADOOP_PROPS,_Fields.SERIALIZED_TABLE,_Fields.SERIALIZED_SPLITS,_Fields.PARQUET_PARAMS};
  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.METADATA_TYPE, new org.apache.thrift.meta_data.FieldMetaData("metadata_type", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.doris.thrift.TMetadataType.class)));
    tmpMap.put(_Fields.ICEBERG_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("iceberg_params", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TIcebergMetadataParams.class)));
    tmpMap.put(_Fields.BACKENDS_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("backends_params", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TBackendsMetadataParams.class)));
    tmpMap.put(_Fields.FRONTENDS_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("frontends_params", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TFrontendsMetadataParams.class)));
    tmpMap.put(_Fields.QUERIES_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("queries_params", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TQueriesMetadataParams.class)));
    tmpMap.put(_Fields.MATERIALIZED_VIEWS_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("materialized_views_params", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TMaterializedViewsMetadataParams.class)));
    tmpMap.put(_Fields.JOBS_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("jobs_params", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TJobsMetadataParams.class)));
    tmpMap.put(_Fields.TASKS_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("tasks_params", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TTasksMetadataParams.class)));
    tmpMap.put(_Fields.PARTITIONS_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("partitions_params", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TPartitionsMetadataParams.class)));
    tmpMap.put(_Fields.META_CACHE_STATS_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("meta_cache_stats_params", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TMetaCacheStatsParams.class)));
    tmpMap.put(_Fields.PARTITION_VALUES_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("partition_values_params", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TPartitionValuesMetadataParams.class)));
    tmpMap.put(_Fields.HUDI_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("hudi_params", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, THudiMetadataParams.class)));
    tmpMap.put(_Fields.PAIMON_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("paimon_params", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TPaimonMetadataParams.class)));
    tmpMap.put(_Fields.HADOOP_PROPS, new org.apache.thrift.meta_data.FieldMetaData("hadoop_props", 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.SERIALIZED_TABLE, new org.apache.thrift.meta_data.FieldMetaData("serialized_table", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.SERIALIZED_SPLITS, new org.apache.thrift.meta_data.FieldMetaData("serialized_splits", 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.STRING))));
    tmpMap.put(_Fields.PARQUET_PARAMS, new org.apache.thrift.meta_data.FieldMetaData("parquet_params", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TParquetMetadataParams.class)));
    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TMetaScanRange.class, metaDataMap);
  }

  public TMetaScanRange() {
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public TMetaScanRange(TMetaScanRange other) {
    if (other.isSetMetadataType()) {
      this.metadata_type = other.metadata_type;
    }
    if (other.isSetIcebergParams()) {
      this.iceberg_params = new TIcebergMetadataParams(other.iceberg_params);
    }
    if (other.isSetBackendsParams()) {
      this.backends_params = new TBackendsMetadataParams(other.backends_params);
    }
    if (other.isSetFrontendsParams()) {
      this.frontends_params = new TFrontendsMetadataParams(other.frontends_params);
    }
    if (other.isSetQueriesParams()) {
      this.queries_params = new TQueriesMetadataParams(other.queries_params);
    }
    if (other.isSetMaterializedViewsParams()) {
      this.materialized_views_params = new TMaterializedViewsMetadataParams(other.materialized_views_params);
    }
    if (other.isSetJobsParams()) {
      this.jobs_params = new TJobsMetadataParams(other.jobs_params);
    }
    if (other.isSetTasksParams()) {
      this.tasks_params = new TTasksMetadataParams(other.tasks_params);
    }
    if (other.isSetPartitionsParams()) {
      this.partitions_params = new TPartitionsMetadataParams(other.partitions_params);
    }
    if (other.isSetMetaCacheStatsParams()) {
      this.meta_cache_stats_params = new TMetaCacheStatsParams(other.meta_cache_stats_params);
    }
    if (other.isSetPartitionValuesParams()) {
      this.partition_values_params = new TPartitionValuesMetadataParams(other.partition_values_params);
    }
    if (other.isSetHudiParams()) {
      this.hudi_params = new THudiMetadataParams(other.hudi_params);
    }
    if (other.isSetPaimonParams()) {
      this.paimon_params = new TPaimonMetadataParams(other.paimon_params);
    }
    if (other.isSetHadoopProps()) {
      java.util.Map<java.lang.String,java.lang.String> __this__hadoop_props = new java.util.HashMap<java.lang.String,java.lang.String>(other.hadoop_props);
      this.hadoop_props = __this__hadoop_props;
    }
    if (other.isSetSerializedTable()) {
      this.serialized_table = other.serialized_table;
    }
    if (other.isSetSerializedSplits()) {
      java.util.List<java.lang.String> __this__serialized_splits = new java.util.ArrayList<java.lang.String>(other.serialized_splits);
      this.serialized_splits = __this__serialized_splits;
    }
    if (other.isSetParquetParams()) {
      this.parquet_params = new TParquetMetadataParams(other.parquet_params);
    }
  }

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

  @Override
  public void clear() {
    this.metadata_type = null;
    this.iceberg_params = null;
    this.backends_params = null;
    this.frontends_params = null;
    this.queries_params = null;
    this.materialized_views_params = null;
    this.jobs_params = null;
    this.tasks_params = null;
    this.partitions_params = null;
    this.meta_cache_stats_params = null;
    this.partition_values_params = null;
    this.hudi_params = null;
    this.paimon_params = null;
    this.hadoop_props = null;
    this.serialized_table = null;
    this.serialized_splits = null;
    this.parquet_params = null;
  }

  /**
   * 
   * @see org.apache.doris.thrift.TMetadataType
   */
  @org.apache.thrift.annotation.Nullable
  public org.apache.doris.thrift.TMetadataType getMetadataType() {
    return this.metadata_type;
  }

  /**
   * 
   * @see org.apache.doris.thrift.TMetadataType
   */
  public TMetaScanRange setMetadataType(@org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TMetadataType metadata_type) {
    this.metadata_type = metadata_type;
    return this;
  }

  public void unsetMetadataType() {
    this.metadata_type = null;
  }

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

  public void setMetadataTypeIsSet(boolean value) {
    if (!value) {
      this.metadata_type = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public TIcebergMetadataParams getIcebergParams() {
    return this.iceberg_params;
  }

  public TMetaScanRange setIcebergParams(@org.apache.thrift.annotation.Nullable TIcebergMetadataParams iceberg_params) {
    this.iceberg_params = iceberg_params;
    return this;
  }

  public void unsetIcebergParams() {
    this.iceberg_params = null;
  }

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

  public void setIcebergParamsIsSet(boolean value) {
    if (!value) {
      this.iceberg_params = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public TBackendsMetadataParams getBackendsParams() {
    return this.backends_params;
  }

  public TMetaScanRange setBackendsParams(@org.apache.thrift.annotation.Nullable TBackendsMetadataParams backends_params) {
    this.backends_params = backends_params;
    return this;
  }

  public void unsetBackendsParams() {
    this.backends_params = null;
  }

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

  public void setBackendsParamsIsSet(boolean value) {
    if (!value) {
      this.backends_params = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public TFrontendsMetadataParams getFrontendsParams() {
    return this.frontends_params;
  }

  public TMetaScanRange setFrontendsParams(@org.apache.thrift.annotation.Nullable TFrontendsMetadataParams frontends_params) {
    this.frontends_params = frontends_params;
    return this;
  }

  public void unsetFrontendsParams() {
    this.frontends_params = null;
  }

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

  public void setFrontendsParamsIsSet(boolean value) {
    if (!value) {
      this.frontends_params = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public TQueriesMetadataParams getQueriesParams() {
    return this.queries_params;
  }

  public TMetaScanRange setQueriesParams(@org.apache.thrift.annotation.Nullable TQueriesMetadataParams queries_params) {
    this.queries_params = queries_params;
    return this;
  }

  public void unsetQueriesParams() {
    this.queries_params = null;
  }

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

  public void setQueriesParamsIsSet(boolean value) {
    if (!value) {
      this.queries_params = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public TMaterializedViewsMetadataParams getMaterializedViewsParams() {
    return this.materialized_views_params;
  }

  public TMetaScanRange setMaterializedViewsParams(@org.apache.thrift.annotation.Nullable TMaterializedViewsMetadataParams materialized_views_params) {
    this.materialized_views_params = materialized_views_params;
    return this;
  }

  public void unsetMaterializedViewsParams() {
    this.materialized_views_params = null;
  }

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

  public void setMaterializedViewsParamsIsSet(boolean value) {
    if (!value) {
      this.materialized_views_params = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public TJobsMetadataParams getJobsParams() {
    return this.jobs_params;
  }

  public TMetaScanRange setJobsParams(@org.apache.thrift.annotation.Nullable TJobsMetadataParams jobs_params) {
    this.jobs_params = jobs_params;
    return this;
  }

  public void unsetJobsParams() {
    this.jobs_params = null;
  }

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

  public void setJobsParamsIsSet(boolean value) {
    if (!value) {
      this.jobs_params = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public TTasksMetadataParams getTasksParams() {
    return this.tasks_params;
  }

  public TMetaScanRange setTasksParams(@org.apache.thrift.annotation.Nullable TTasksMetadataParams tasks_params) {
    this.tasks_params = tasks_params;
    return this;
  }

  public void unsetTasksParams() {
    this.tasks_params = null;
  }

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

  public void setTasksParamsIsSet(boolean value) {
    if (!value) {
      this.tasks_params = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public TPartitionsMetadataParams getPartitionsParams() {
    return this.partitions_params;
  }

  public TMetaScanRange setPartitionsParams(@org.apache.thrift.annotation.Nullable TPartitionsMetadataParams partitions_params) {
    this.partitions_params = partitions_params;
    return this;
  }

  public void unsetPartitionsParams() {
    this.partitions_params = null;
  }

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

  public void setPartitionsParamsIsSet(boolean value) {
    if (!value) {
      this.partitions_params = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public TMetaCacheStatsParams getMetaCacheStatsParams() {
    return this.meta_cache_stats_params;
  }

  public TMetaScanRange setMetaCacheStatsParams(@org.apache.thrift.annotation.Nullable TMetaCacheStatsParams meta_cache_stats_params) {
    this.meta_cache_stats_params = meta_cache_stats_params;
    return this;
  }

  public void unsetMetaCacheStatsParams() {
    this.meta_cache_stats_params = null;
  }

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

  public void setMetaCacheStatsParamsIsSet(boolean value) {
    if (!value) {
      this.meta_cache_stats_params = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public TPartitionValuesMetadataParams getPartitionValuesParams() {
    return this.partition_values_params;
  }

  public TMetaScanRange setPartitionValuesParams(@org.apache.thrift.annotation.Nullable TPartitionValuesMetadataParams partition_values_params) {
    this.partition_values_params = partition_values_params;
    return this;
  }

  public void unsetPartitionValuesParams() {
    this.partition_values_params = null;
  }

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

  public void setPartitionValuesParamsIsSet(boolean value) {
    if (!value) {
      this.partition_values_params = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public THudiMetadataParams getHudiParams() {
    return this.hudi_params;
  }

  public TMetaScanRange setHudiParams(@org.apache.thrift.annotation.Nullable THudiMetadataParams hudi_params) {
    this.hudi_params = hudi_params;
    return this;
  }

  public void unsetHudiParams() {
    this.hudi_params = null;
  }

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

  public void setHudiParamsIsSet(boolean value) {
    if (!value) {
      this.hudi_params = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public TPaimonMetadataParams getPaimonParams() {
    return this.paimon_params;
  }

  public TMetaScanRange setPaimonParams(@org.apache.thrift.annotation.Nullable TPaimonMetadataParams paimon_params) {
    this.paimon_params = paimon_params;
    return this;
  }

  public void unsetPaimonParams() {
    this.paimon_params = null;
  }

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

  public void setPaimonParamsIsSet(boolean value) {
    if (!value) {
      this.paimon_params = null;
    }
  }

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

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

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

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

  public void unsetHadoopProps() {
    this.hadoop_props = null;
  }

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

  public void setHadoopPropsIsSet(boolean value) {
    if (!value) {
      this.hadoop_props = null;
    }
  }

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

  public TMetaScanRange setSerializedTable(@org.apache.thrift.annotation.Nullable java.lang.String serialized_table) {
    this.serialized_table = serialized_table;
    return this;
  }

  public void unsetSerializedTable() {
    this.serialized_table = null;
  }

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

  public void setSerializedTableIsSet(boolean value) {
    if (!value) {
      this.serialized_table = null;
    }
  }

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

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

  public void addToSerializedSplits(java.lang.String elem) {
    if (this.serialized_splits == null) {
      this.serialized_splits = new java.util.ArrayList<java.lang.String>();
    }
    this.serialized_splits.add(elem);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.List<java.lang.String> getSerializedSplits() {
    return this.serialized_splits;
  }

  public TMetaScanRange setSerializedSplits(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> serialized_splits) {
    this.serialized_splits = serialized_splits;
    return this;
  }

  public void unsetSerializedSplits() {
    this.serialized_splits = null;
  }

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

  public void setSerializedSplitsIsSet(boolean value) {
    if (!value) {
      this.serialized_splits = null;
    }
  }

  @org.apache.thrift.annotation.Nullable
  public TParquetMetadataParams getParquetParams() {
    return this.parquet_params;
  }

  public TMetaScanRange setParquetParams(@org.apache.thrift.annotation.Nullable TParquetMetadataParams parquet_params) {
    this.parquet_params = parquet_params;
    return this;
  }

  public void unsetParquetParams() {
    this.parquet_params = null;
  }

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

  public void setParquetParamsIsSet(boolean value) {
    if (!value) {
      this.parquet_params = null;
    }
  }

  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
    switch (field) {
    case METADATA_TYPE:
      if (value == null) {
        unsetMetadataType();
      } else {
        setMetadataType((org.apache.doris.thrift.TMetadataType)value);
      }
      break;

    case ICEBERG_PARAMS:
      if (value == null) {
        unsetIcebergParams();
      } else {
        setIcebergParams((TIcebergMetadataParams)value);
      }
      break;

    case BACKENDS_PARAMS:
      if (value == null) {
        unsetBackendsParams();
      } else {
        setBackendsParams((TBackendsMetadataParams)value);
      }
      break;

    case FRONTENDS_PARAMS:
      if (value == null) {
        unsetFrontendsParams();
      } else {
        setFrontendsParams((TFrontendsMetadataParams)value);
      }
      break;

    case QUERIES_PARAMS:
      if (value == null) {
        unsetQueriesParams();
      } else {
        setQueriesParams((TQueriesMetadataParams)value);
      }
      break;

    case MATERIALIZED_VIEWS_PARAMS:
      if (value == null) {
        unsetMaterializedViewsParams();
      } else {
        setMaterializedViewsParams((TMaterializedViewsMetadataParams)value);
      }
      break;

    case JOBS_PARAMS:
      if (value == null) {
        unsetJobsParams();
      } else {
        setJobsParams((TJobsMetadataParams)value);
      }
      break;

    case TASKS_PARAMS:
      if (value == null) {
        unsetTasksParams();
      } else {
        setTasksParams((TTasksMetadataParams)value);
      }
      break;

    case PARTITIONS_PARAMS:
      if (value == null) {
        unsetPartitionsParams();
      } else {
        setPartitionsParams((TPartitionsMetadataParams)value);
      }
      break;

    case META_CACHE_STATS_PARAMS:
      if (value == null) {
        unsetMetaCacheStatsParams();
      } else {
        setMetaCacheStatsParams((TMetaCacheStatsParams)value);
      }
      break;

    case PARTITION_VALUES_PARAMS:
      if (value == null) {
        unsetPartitionValuesParams();
      } else {
        setPartitionValuesParams((TPartitionValuesMetadataParams)value);
      }
      break;

    case HUDI_PARAMS:
      if (value == null) {
        unsetHudiParams();
      } else {
        setHudiParams((THudiMetadataParams)value);
      }
      break;

    case PAIMON_PARAMS:
      if (value == null) {
        unsetPaimonParams();
      } else {
        setPaimonParams((TPaimonMetadataParams)value);
      }
      break;

    case HADOOP_PROPS:
      if (value == null) {
        unsetHadoopProps();
      } else {
        setHadoopProps((java.util.Map<java.lang.String,java.lang.String>)value);
      }
      break;

    case SERIALIZED_TABLE:
      if (value == null) {
        unsetSerializedTable();
      } else {
        setSerializedTable((java.lang.String)value);
      }
      break;

    case SERIALIZED_SPLITS:
      if (value == null) {
        unsetSerializedSplits();
      } else {
        setSerializedSplits((java.util.List<java.lang.String>)value);
      }
      break;

    case PARQUET_PARAMS:
      if (value == null) {
        unsetParquetParams();
      } else {
        setParquetParams((TParquetMetadataParams)value);
      }
      break;

    }
  }

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

    case ICEBERG_PARAMS:
      return getIcebergParams();

    case BACKENDS_PARAMS:
      return getBackendsParams();

    case FRONTENDS_PARAMS:
      return getFrontendsParams();

    case QUERIES_PARAMS:
      return getQueriesParams();

    case MATERIALIZED_VIEWS_PARAMS:
      return getMaterializedViewsParams();

    case JOBS_PARAMS:
      return getJobsParams();

    case TASKS_PARAMS:
      return getTasksParams();

    case PARTITIONS_PARAMS:
      return getPartitionsParams();

    case META_CACHE_STATS_PARAMS:
      return getMetaCacheStatsParams();

    case PARTITION_VALUES_PARAMS:
      return getPartitionValuesParams();

    case HUDI_PARAMS:
      return getHudiParams();

    case PAIMON_PARAMS:
      return getPaimonParams();

    case HADOOP_PROPS:
      return getHadoopProps();

    case SERIALIZED_TABLE:
      return getSerializedTable();

    case SERIALIZED_SPLITS:
      return getSerializedSplits();

    case PARQUET_PARAMS:
      return getParquetParams();

    }
    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 METADATA_TYPE:
      return isSetMetadataType();
    case ICEBERG_PARAMS:
      return isSetIcebergParams();
    case BACKENDS_PARAMS:
      return isSetBackendsParams();
    case FRONTENDS_PARAMS:
      return isSetFrontendsParams();
    case QUERIES_PARAMS:
      return isSetQueriesParams();
    case MATERIALIZED_VIEWS_PARAMS:
      return isSetMaterializedViewsParams();
    case JOBS_PARAMS:
      return isSetJobsParams();
    case TASKS_PARAMS:
      return isSetTasksParams();
    case PARTITIONS_PARAMS:
      return isSetPartitionsParams();
    case META_CACHE_STATS_PARAMS:
      return isSetMetaCacheStatsParams();
    case PARTITION_VALUES_PARAMS:
      return isSetPartitionValuesParams();
    case HUDI_PARAMS:
      return isSetHudiParams();
    case PAIMON_PARAMS:
      return isSetPaimonParams();
    case HADOOP_PROPS:
      return isSetHadoopProps();
    case SERIALIZED_TABLE:
      return isSetSerializedTable();
    case SERIALIZED_SPLITS:
      return isSetSerializedSplits();
    case PARQUET_PARAMS:
      return isSetParquetParams();
    }
    throw new java.lang.IllegalStateException();
  }

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

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

    boolean this_present_metadata_type = true && this.isSetMetadataType();
    boolean that_present_metadata_type = true && that.isSetMetadataType();
    if (this_present_metadata_type || that_present_metadata_type) {
      if (!(this_present_metadata_type && that_present_metadata_type))
        return false;
      if (!this.metadata_type.equals(that.metadata_type))
        return false;
    }

    boolean this_present_iceberg_params = true && this.isSetIcebergParams();
    boolean that_present_iceberg_params = true && that.isSetIcebergParams();
    if (this_present_iceberg_params || that_present_iceberg_params) {
      if (!(this_present_iceberg_params && that_present_iceberg_params))
        return false;
      if (!this.iceberg_params.equals(that.iceberg_params))
        return false;
    }

    boolean this_present_backends_params = true && this.isSetBackendsParams();
    boolean that_present_backends_params = true && that.isSetBackendsParams();
    if (this_present_backends_params || that_present_backends_params) {
      if (!(this_present_backends_params && that_present_backends_params))
        return false;
      if (!this.backends_params.equals(that.backends_params))
        return false;
    }

    boolean this_present_frontends_params = true && this.isSetFrontendsParams();
    boolean that_present_frontends_params = true && that.isSetFrontendsParams();
    if (this_present_frontends_params || that_present_frontends_params) {
      if (!(this_present_frontends_params && that_present_frontends_params))
        return false;
      if (!this.frontends_params.equals(that.frontends_params))
        return false;
    }

    boolean this_present_queries_params = true && this.isSetQueriesParams();
    boolean that_present_queries_params = true && that.isSetQueriesParams();
    if (this_present_queries_params || that_present_queries_params) {
      if (!(this_present_queries_params && that_present_queries_params))
        return false;
      if (!this.queries_params.equals(that.queries_params))
        return false;
    }

    boolean this_present_materialized_views_params = true && this.isSetMaterializedViewsParams();
    boolean that_present_materialized_views_params = true && that.isSetMaterializedViewsParams();
    if (this_present_materialized_views_params || that_present_materialized_views_params) {
      if (!(this_present_materialized_views_params && that_present_materialized_views_params))
        return false;
      if (!this.materialized_views_params.equals(that.materialized_views_params))
        return false;
    }

    boolean this_present_jobs_params = true && this.isSetJobsParams();
    boolean that_present_jobs_params = true && that.isSetJobsParams();
    if (this_present_jobs_params || that_present_jobs_params) {
      if (!(this_present_jobs_params && that_present_jobs_params))
        return false;
      if (!this.jobs_params.equals(that.jobs_params))
        return false;
    }

    boolean this_present_tasks_params = true && this.isSetTasksParams();
    boolean that_present_tasks_params = true && that.isSetTasksParams();
    if (this_present_tasks_params || that_present_tasks_params) {
      if (!(this_present_tasks_params && that_present_tasks_params))
        return false;
      if (!this.tasks_params.equals(that.tasks_params))
        return false;
    }

    boolean this_present_partitions_params = true && this.isSetPartitionsParams();
    boolean that_present_partitions_params = true && that.isSetPartitionsParams();
    if (this_present_partitions_params || that_present_partitions_params) {
      if (!(this_present_partitions_params && that_present_partitions_params))
        return false;
      if (!this.partitions_params.equals(that.partitions_params))
        return false;
    }

    boolean this_present_meta_cache_stats_params = true && this.isSetMetaCacheStatsParams();
    boolean that_present_meta_cache_stats_params = true && that.isSetMetaCacheStatsParams();
    if (this_present_meta_cache_stats_params || that_present_meta_cache_stats_params) {
      if (!(this_present_meta_cache_stats_params && that_present_meta_cache_stats_params))
        return false;
      if (!this.meta_cache_stats_params.equals(that.meta_cache_stats_params))
        return false;
    }

    boolean this_present_partition_values_params = true && this.isSetPartitionValuesParams();
    boolean that_present_partition_values_params = true && that.isSetPartitionValuesParams();
    if (this_present_partition_values_params || that_present_partition_values_params) {
      if (!(this_present_partition_values_params && that_present_partition_values_params))
        return false;
      if (!this.partition_values_params.equals(that.partition_values_params))
        return false;
    }

    boolean this_present_hudi_params = true && this.isSetHudiParams();
    boolean that_present_hudi_params = true && that.isSetHudiParams();
    if (this_present_hudi_params || that_present_hudi_params) {
      if (!(this_present_hudi_params && that_present_hudi_params))
        return false;
      if (!this.hudi_params.equals(that.hudi_params))
        return false;
    }

    boolean this_present_paimon_params = true && this.isSetPaimonParams();
    boolean that_present_paimon_params = true && that.isSetPaimonParams();
    if (this_present_paimon_params || that_present_paimon_params) {
      if (!(this_present_paimon_params && that_present_paimon_params))
        return false;
      if (!this.paimon_params.equals(that.paimon_params))
        return false;
    }

    boolean this_present_hadoop_props = true && this.isSetHadoopProps();
    boolean that_present_hadoop_props = true && that.isSetHadoopProps();
    if (this_present_hadoop_props || that_present_hadoop_props) {
      if (!(this_present_hadoop_props && that_present_hadoop_props))
        return false;
      if (!this.hadoop_props.equals(that.hadoop_props))
        return false;
    }

    boolean this_present_serialized_table = true && this.isSetSerializedTable();
    boolean that_present_serialized_table = true && that.isSetSerializedTable();
    if (this_present_serialized_table || that_present_serialized_table) {
      if (!(this_present_serialized_table && that_present_serialized_table))
        return false;
      if (!this.serialized_table.equals(that.serialized_table))
        return false;
    }

    boolean this_present_serialized_splits = true && this.isSetSerializedSplits();
    boolean that_present_serialized_splits = true && that.isSetSerializedSplits();
    if (this_present_serialized_splits || that_present_serialized_splits) {
      if (!(this_present_serialized_splits && that_present_serialized_splits))
        return false;
      if (!this.serialized_splits.equals(that.serialized_splits))
        return false;
    }

    boolean this_present_parquet_params = true && this.isSetParquetParams();
    boolean that_present_parquet_params = true && that.isSetParquetParams();
    if (this_present_parquet_params || that_present_parquet_params) {
      if (!(this_present_parquet_params && that_present_parquet_params))
        return false;
      if (!this.parquet_params.equals(that.parquet_params))
        return false;
    }

    return true;
  }

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

    hashCode = hashCode * 8191 + ((isSetMetadataType()) ? 131071 : 524287);
    if (isSetMetadataType())
      hashCode = hashCode * 8191 + metadata_type.getValue();

    hashCode = hashCode * 8191 + ((isSetIcebergParams()) ? 131071 : 524287);
    if (isSetIcebergParams())
      hashCode = hashCode * 8191 + iceberg_params.hashCode();

    hashCode = hashCode * 8191 + ((isSetBackendsParams()) ? 131071 : 524287);
    if (isSetBackendsParams())
      hashCode = hashCode * 8191 + backends_params.hashCode();

    hashCode = hashCode * 8191 + ((isSetFrontendsParams()) ? 131071 : 524287);
    if (isSetFrontendsParams())
      hashCode = hashCode * 8191 + frontends_params.hashCode();

    hashCode = hashCode * 8191 + ((isSetQueriesParams()) ? 131071 : 524287);
    if (isSetQueriesParams())
      hashCode = hashCode * 8191 + queries_params.hashCode();

    hashCode = hashCode * 8191 + ((isSetMaterializedViewsParams()) ? 131071 : 524287);
    if (isSetMaterializedViewsParams())
      hashCode = hashCode * 8191 + materialized_views_params.hashCode();

    hashCode = hashCode * 8191 + ((isSetJobsParams()) ? 131071 : 524287);
    if (isSetJobsParams())
      hashCode = hashCode * 8191 + jobs_params.hashCode();

    hashCode = hashCode * 8191 + ((isSetTasksParams()) ? 131071 : 524287);
    if (isSetTasksParams())
      hashCode = hashCode * 8191 + tasks_params.hashCode();

    hashCode = hashCode * 8191 + ((isSetPartitionsParams()) ? 131071 : 524287);
    if (isSetPartitionsParams())
      hashCode = hashCode * 8191 + partitions_params.hashCode();

    hashCode = hashCode * 8191 + ((isSetMetaCacheStatsParams()) ? 131071 : 524287);
    if (isSetMetaCacheStatsParams())
      hashCode = hashCode * 8191 + meta_cache_stats_params.hashCode();

    hashCode = hashCode * 8191 + ((isSetPartitionValuesParams()) ? 131071 : 524287);
    if (isSetPartitionValuesParams())
      hashCode = hashCode * 8191 + partition_values_params.hashCode();

    hashCode = hashCode * 8191 + ((isSetHudiParams()) ? 131071 : 524287);
    if (isSetHudiParams())
      hashCode = hashCode * 8191 + hudi_params.hashCode();

    hashCode = hashCode * 8191 + ((isSetPaimonParams()) ? 131071 : 524287);
    if (isSetPaimonParams())
      hashCode = hashCode * 8191 + paimon_params.hashCode();

    hashCode = hashCode * 8191 + ((isSetHadoopProps()) ? 131071 : 524287);
    if (isSetHadoopProps())
      hashCode = hashCode * 8191 + hadoop_props.hashCode();

    hashCode = hashCode * 8191 + ((isSetSerializedTable()) ? 131071 : 524287);
    if (isSetSerializedTable())
      hashCode = hashCode * 8191 + serialized_table.hashCode();

    hashCode = hashCode * 8191 + ((isSetSerializedSplits()) ? 131071 : 524287);
    if (isSetSerializedSplits())
      hashCode = hashCode * 8191 + serialized_splits.hashCode();

    hashCode = hashCode * 8191 + ((isSetParquetParams()) ? 131071 : 524287);
    if (isSetParquetParams())
      hashCode = hashCode * 8191 + parquet_params.hashCode();

    return hashCode;
  }

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

    int lastComparison = 0;

    lastComparison = java.lang.Boolean.compare(isSetMetadataType(), other.isSetMetadataType());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMetadataType()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.metadata_type, other.metadata_type);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetIcebergParams(), other.isSetIcebergParams());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetIcebergParams()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.iceberg_params, other.iceberg_params);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetBackendsParams(), other.isSetBackendsParams());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetBackendsParams()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.backends_params, other.backends_params);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetFrontendsParams(), other.isSetFrontendsParams());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFrontendsParams()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.frontends_params, other.frontends_params);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetQueriesParams(), other.isSetQueriesParams());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetQueriesParams()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.queries_params, other.queries_params);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetMaterializedViewsParams(), other.isSetMaterializedViewsParams());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMaterializedViewsParams()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.materialized_views_params, other.materialized_views_params);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetJobsParams(), other.isSetJobsParams());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetJobsParams()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobs_params, other.jobs_params);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTasksParams(), other.isSetTasksParams());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTasksParams()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tasks_params, other.tasks_params);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetPartitionsParams(), other.isSetPartitionsParams());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPartitionsParams()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.partitions_params, other.partitions_params);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetMetaCacheStatsParams(), other.isSetMetaCacheStatsParams());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMetaCacheStatsParams()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.meta_cache_stats_params, other.meta_cache_stats_params);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetPartitionValuesParams(), other.isSetPartitionValuesParams());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPartitionValuesParams()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.partition_values_params, other.partition_values_params);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetHudiParams(), other.isSetHudiParams());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetHudiParams()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hudi_params, other.hudi_params);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetPaimonParams(), other.isSetPaimonParams());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPaimonParams()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.paimon_params, other.paimon_params);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetHadoopProps(), other.isSetHadoopProps());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetHadoopProps()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hadoop_props, other.hadoop_props);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetSerializedTable(), other.isSetSerializedTable());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSerializedTable()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.serialized_table, other.serialized_table);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetSerializedSplits(), other.isSetSerializedSplits());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSerializedSplits()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.serialized_splits, other.serialized_splits);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetParquetParams(), other.isSetParquetParams());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetParquetParams()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.parquet_params, other.parquet_params);
      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("TMetaScanRange(");
    boolean first = true;

    if (isSetMetadataType()) {
      sb.append("metadata_type:");
      if (this.metadata_type == null) {
        sb.append("null");
      } else {
        sb.append(this.metadata_type);
      }
      first = false;
    }
    if (isSetIcebergParams()) {
      if (!first) sb.append(", ");
      sb.append("iceberg_params:");
      if (this.iceberg_params == null) {
        sb.append("null");
      } else {
        sb.append(this.iceberg_params);
      }
      first = false;
    }
    if (isSetBackendsParams()) {
      if (!first) sb.append(", ");
      sb.append("backends_params:");
      if (this.backends_params == null) {
        sb.append("null");
      } else {
        sb.append(this.backends_params);
      }
      first = false;
    }
    if (isSetFrontendsParams()) {
      if (!first) sb.append(", ");
      sb.append("frontends_params:");
      if (this.frontends_params == null) {
        sb.append("null");
      } else {
        sb.append(this.frontends_params);
      }
      first = false;
    }
    if (isSetQueriesParams()) {
      if (!first) sb.append(", ");
      sb.append("queries_params:");
      if (this.queries_params == null) {
        sb.append("null");
      } else {
        sb.append(this.queries_params);
      }
      first = false;
    }
    if (isSetMaterializedViewsParams()) {
      if (!first) sb.append(", ");
      sb.append("materialized_views_params:");
      if (this.materialized_views_params == null) {
        sb.append("null");
      } else {
        sb.append(this.materialized_views_params);
      }
      first = false;
    }
    if (isSetJobsParams()) {
      if (!first) sb.append(", ");
      sb.append("jobs_params:");
      if (this.jobs_params == null) {
        sb.append("null");
      } else {
        sb.append(this.jobs_params);
      }
      first = false;
    }
    if (isSetTasksParams()) {
      if (!first) sb.append(", ");
      sb.append("tasks_params:");
      if (this.tasks_params == null) {
        sb.append("null");
      } else {
        sb.append(this.tasks_params);
      }
      first = false;
    }
    if (isSetPartitionsParams()) {
      if (!first) sb.append(", ");
      sb.append("partitions_params:");
      if (this.partitions_params == null) {
        sb.append("null");
      } else {
        sb.append(this.partitions_params);
      }
      first = false;
    }
    if (isSetMetaCacheStatsParams()) {
      if (!first) sb.append(", ");
      sb.append("meta_cache_stats_params:");
      if (this.meta_cache_stats_params == null) {
        sb.append("null");
      } else {
        sb.append(this.meta_cache_stats_params);
      }
      first = false;
    }
    if (isSetPartitionValuesParams()) {
      if (!first) sb.append(", ");
      sb.append("partition_values_params:");
      if (this.partition_values_params == null) {
        sb.append("null");
      } else {
        sb.append(this.partition_values_params);
      }
      first = false;
    }
    if (isSetHudiParams()) {
      if (!first) sb.append(", ");
      sb.append("hudi_params:");
      if (this.hudi_params == null) {
        sb.append("null");
      } else {
        sb.append(this.hudi_params);
      }
      first = false;
    }
    if (isSetPaimonParams()) {
      if (!first) sb.append(", ");
      sb.append("paimon_params:");
      if (this.paimon_params == null) {
        sb.append("null");
      } else {
        sb.append(this.paimon_params);
      }
      first = false;
    }
    if (isSetHadoopProps()) {
      if (!first) sb.append(", ");
      sb.append("hadoop_props:");
      if (this.hadoop_props == null) {
        sb.append("null");
      } else {
        sb.append(this.hadoop_props);
      }
      first = false;
    }
    if (isSetSerializedTable()) {
      if (!first) sb.append(", ");
      sb.append("serialized_table:");
      if (this.serialized_table == null) {
        sb.append("null");
      } else {
        sb.append(this.serialized_table);
      }
      first = false;
    }
    if (isSetSerializedSplits()) {
      if (!first) sb.append(", ");
      sb.append("serialized_splits:");
      if (this.serialized_splits == null) {
        sb.append("null");
      } else {
        sb.append(this.serialized_splits);
      }
      first = false;
    }
    if (isSetParquetParams()) {
      if (!first) sb.append(", ");
      sb.append("parquet_params:");
      if (this.parquet_params == null) {
        sb.append("null");
      } else {
        sb.append(this.parquet_params);
      }
      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 (iceberg_params != null) {
      iceberg_params.validate();
    }
    if (backends_params != null) {
      backends_params.validate();
    }
    if (frontends_params != null) {
      frontends_params.validate();
    }
    if (queries_params != null) {
      queries_params.validate();
    }
    if (materialized_views_params != null) {
      materialized_views_params.validate();
    }
    if (jobs_params != null) {
      jobs_params.validate();
    }
    if (tasks_params != null) {
      tasks_params.validate();
    }
    if (partitions_params != null) {
      partitions_params.validate();
    }
    if (meta_cache_stats_params != null) {
      meta_cache_stats_params.validate();
    }
    if (partition_values_params != null) {
      partition_values_params.validate();
    }
    if (hudi_params != null) {
      hudi_params.validate();
    }
    if (paimon_params != null) {
      paimon_params.validate();
    }
    if (parquet_params != null) {
      parquet_params.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 {
      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 TMetaScanRangeStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
    public TMetaScanRangeStandardScheme getScheme() {
      return new TMetaScanRangeStandardScheme();
    }
  }

  private static class TMetaScanRangeStandardScheme extends org.apache.thrift.scheme.StandardScheme<TMetaScanRange> {

    public void read(org.apache.thrift.protocol.TProtocol iprot, TMetaScanRange 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: // METADATA_TYPE
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.metadata_type = org.apache.doris.thrift.TMetadataType.findByValue(iprot.readI32());
              struct.setMetadataTypeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // ICEBERG_PARAMS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.iceberg_params = new TIcebergMetadataParams();
              struct.iceberg_params.read(iprot);
              struct.setIcebergParamsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // BACKENDS_PARAMS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.backends_params = new TBackendsMetadataParams();
              struct.backends_params.read(iprot);
              struct.setBackendsParamsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // FRONTENDS_PARAMS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.frontends_params = new TFrontendsMetadataParams();
              struct.frontends_params.read(iprot);
              struct.setFrontendsParamsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // QUERIES_PARAMS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.queries_params = new TQueriesMetadataParams();
              struct.queries_params.read(iprot);
              struct.setQueriesParamsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // MATERIALIZED_VIEWS_PARAMS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.materialized_views_params = new TMaterializedViewsMetadataParams();
              struct.materialized_views_params.read(iprot);
              struct.setMaterializedViewsParamsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // JOBS_PARAMS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.jobs_params = new TJobsMetadataParams();
              struct.jobs_params.read(iprot);
              struct.setJobsParamsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // TASKS_PARAMS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.tasks_params = new TTasksMetadataParams();
              struct.tasks_params.read(iprot);
              struct.setTasksParamsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // PARTITIONS_PARAMS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.partitions_params = new TPartitionsMetadataParams();
              struct.partitions_params.read(iprot);
              struct.setPartitionsParamsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 10: // META_CACHE_STATS_PARAMS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.meta_cache_stats_params = new TMetaCacheStatsParams();
              struct.meta_cache_stats_params.read(iprot);
              struct.setMetaCacheStatsParamsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 11: // PARTITION_VALUES_PARAMS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.partition_values_params = new TPartitionValuesMetadataParams();
              struct.partition_values_params.read(iprot);
              struct.setPartitionValuesParamsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 12: // HUDI_PARAMS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.hudi_params = new THudiMetadataParams();
              struct.hudi_params.read(iprot);
              struct.setHudiParamsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 13: // PAIMON_PARAMS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.paimon_params = new TPaimonMetadataParams();
              struct.paimon_params.read(iprot);
              struct.setPaimonParamsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 14: // HADOOP_PROPS
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map390 = iprot.readMapBegin();
                struct.hadoop_props = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map390.size);
                @org.apache.thrift.annotation.Nullable java.lang.String _key391;
                @org.apache.thrift.annotation.Nullable java.lang.String _val392;
                for (int _i393 = 0; _i393 < _map390.size; ++_i393)
                {
                  _key391 = iprot.readString();
                  _val392 = iprot.readString();
                  struct.hadoop_props.put(_key391, _val392);
                }
                iprot.readMapEnd();
              }
              struct.setHadoopPropsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 15: // SERIALIZED_TABLE
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.serialized_table = iprot.readString();
              struct.setSerializedTableIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 16: // SERIALIZED_SPLITS
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list394 = iprot.readListBegin();
                struct.serialized_splits = new java.util.ArrayList<java.lang.String>(_list394.size);
                @org.apache.thrift.annotation.Nullable java.lang.String _elem395;
                for (int _i396 = 0; _i396 < _list394.size; ++_i396)
                {
                  _elem395 = iprot.readString();
                  struct.serialized_splits.add(_elem395);
                }
                iprot.readListEnd();
              }
              struct.setSerializedSplitsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 17: // PARQUET_PARAMS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.parquet_params = new TParquetMetadataParams();
              struct.parquet_params.read(iprot);
              struct.setParquetParamsIsSet(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, TMetaScanRange struct) throws org.apache.thrift.TException {
      struct.validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (struct.metadata_type != null) {
        if (struct.isSetMetadataType()) {
          oprot.writeFieldBegin(METADATA_TYPE_FIELD_DESC);
          oprot.writeI32(struct.metadata_type.getValue());
          oprot.writeFieldEnd();
        }
      }
      if (struct.iceberg_params != null) {
        if (struct.isSetIcebergParams()) {
          oprot.writeFieldBegin(ICEBERG_PARAMS_FIELD_DESC);
          struct.iceberg_params.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.backends_params != null) {
        if (struct.isSetBackendsParams()) {
          oprot.writeFieldBegin(BACKENDS_PARAMS_FIELD_DESC);
          struct.backends_params.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.frontends_params != null) {
        if (struct.isSetFrontendsParams()) {
          oprot.writeFieldBegin(FRONTENDS_PARAMS_FIELD_DESC);
          struct.frontends_params.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.queries_params != null) {
        if (struct.isSetQueriesParams()) {
          oprot.writeFieldBegin(QUERIES_PARAMS_FIELD_DESC);
          struct.queries_params.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.materialized_views_params != null) {
        if (struct.isSetMaterializedViewsParams()) {
          oprot.writeFieldBegin(MATERIALIZED_VIEWS_PARAMS_FIELD_DESC);
          struct.materialized_views_params.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.jobs_params != null) {
        if (struct.isSetJobsParams()) {
          oprot.writeFieldBegin(JOBS_PARAMS_FIELD_DESC);
          struct.jobs_params.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.tasks_params != null) {
        if (struct.isSetTasksParams()) {
          oprot.writeFieldBegin(TASKS_PARAMS_FIELD_DESC);
          struct.tasks_params.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.partitions_params != null) {
        if (struct.isSetPartitionsParams()) {
          oprot.writeFieldBegin(PARTITIONS_PARAMS_FIELD_DESC);
          struct.partitions_params.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.meta_cache_stats_params != null) {
        if (struct.isSetMetaCacheStatsParams()) {
          oprot.writeFieldBegin(META_CACHE_STATS_PARAMS_FIELD_DESC);
          struct.meta_cache_stats_params.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.partition_values_params != null) {
        if (struct.isSetPartitionValuesParams()) {
          oprot.writeFieldBegin(PARTITION_VALUES_PARAMS_FIELD_DESC);
          struct.partition_values_params.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.hudi_params != null) {
        if (struct.isSetHudiParams()) {
          oprot.writeFieldBegin(HUDI_PARAMS_FIELD_DESC);
          struct.hudi_params.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.paimon_params != null) {
        if (struct.isSetPaimonParams()) {
          oprot.writeFieldBegin(PAIMON_PARAMS_FIELD_DESC);
          struct.paimon_params.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.hadoop_props != null) {
        if (struct.isSetHadoopProps()) {
          oprot.writeFieldBegin(HADOOP_PROPS_FIELD_DESC);
          {
            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.hadoop_props.size()));
            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter397 : struct.hadoop_props.entrySet())
            {
              oprot.writeString(_iter397.getKey());
              oprot.writeString(_iter397.getValue());
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.serialized_table != null) {
        if (struct.isSetSerializedTable()) {
          oprot.writeFieldBegin(SERIALIZED_TABLE_FIELD_DESC);
          oprot.writeString(struct.serialized_table);
          oprot.writeFieldEnd();
        }
      }
      if (struct.serialized_splits != null) {
        if (struct.isSetSerializedSplits()) {
          oprot.writeFieldBegin(SERIALIZED_SPLITS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.serialized_splits.size()));
            for (java.lang.String _iter398 : struct.serialized_splits)
            {
              oprot.writeString(_iter398);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.parquet_params != null) {
        if (struct.isSetParquetParams()) {
          oprot.writeFieldBegin(PARQUET_PARAMS_FIELD_DESC);
          struct.parquet_params.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

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

  private static class TMetaScanRangeTupleScheme extends org.apache.thrift.scheme.TupleScheme<TMetaScanRange> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, TMetaScanRange 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.isSetMetadataType()) {
        optionals.set(0);
      }
      if (struct.isSetIcebergParams()) {
        optionals.set(1);
      }
      if (struct.isSetBackendsParams()) {
        optionals.set(2);
      }
      if (struct.isSetFrontendsParams()) {
        optionals.set(3);
      }
      if (struct.isSetQueriesParams()) {
        optionals.set(4);
      }
      if (struct.isSetMaterializedViewsParams()) {
        optionals.set(5);
      }
      if (struct.isSetJobsParams()) {
        optionals.set(6);
      }
      if (struct.isSetTasksParams()) {
        optionals.set(7);
      }
      if (struct.isSetPartitionsParams()) {
        optionals.set(8);
      }
      if (struct.isSetMetaCacheStatsParams()) {
        optionals.set(9);
      }
      if (struct.isSetPartitionValuesParams()) {
        optionals.set(10);
      }
      if (struct.isSetHudiParams()) {
        optionals.set(11);
      }
      if (struct.isSetPaimonParams()) {
        optionals.set(12);
      }
      if (struct.isSetHadoopProps()) {
        optionals.set(13);
      }
      if (struct.isSetSerializedTable()) {
        optionals.set(14);
      }
      if (struct.isSetSerializedSplits()) {
        optionals.set(15);
      }
      if (struct.isSetParquetParams()) {
        optionals.set(16);
      }
      oprot.writeBitSet(optionals, 17);
      if (struct.isSetMetadataType()) {
        oprot.writeI32(struct.metadata_type.getValue());
      }
      if (struct.isSetIcebergParams()) {
        struct.iceberg_params.write(oprot);
      }
      if (struct.isSetBackendsParams()) {
        struct.backends_params.write(oprot);
      }
      if (struct.isSetFrontendsParams()) {
        struct.frontends_params.write(oprot);
      }
      if (struct.isSetQueriesParams()) {
        struct.queries_params.write(oprot);
      }
      if (struct.isSetMaterializedViewsParams()) {
        struct.materialized_views_params.write(oprot);
      }
      if (struct.isSetJobsParams()) {
        struct.jobs_params.write(oprot);
      }
      if (struct.isSetTasksParams()) {
        struct.tasks_params.write(oprot);
      }
      if (struct.isSetPartitionsParams()) {
        struct.partitions_params.write(oprot);
      }
      if (struct.isSetMetaCacheStatsParams()) {
        struct.meta_cache_stats_params.write(oprot);
      }
      if (struct.isSetPartitionValuesParams()) {
        struct.partition_values_params.write(oprot);
      }
      if (struct.isSetHudiParams()) {
        struct.hudi_params.write(oprot);
      }
      if (struct.isSetPaimonParams()) {
        struct.paimon_params.write(oprot);
      }
      if (struct.isSetHadoopProps()) {
        {
          oprot.writeI32(struct.hadoop_props.size());
          for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter399 : struct.hadoop_props.entrySet())
          {
            oprot.writeString(_iter399.getKey());
            oprot.writeString(_iter399.getValue());
          }
        }
      }
      if (struct.isSetSerializedTable()) {
        oprot.writeString(struct.serialized_table);
      }
      if (struct.isSetSerializedSplits()) {
        {
          oprot.writeI32(struct.serialized_splits.size());
          for (java.lang.String _iter400 : struct.serialized_splits)
          {
            oprot.writeString(_iter400);
          }
        }
      }
      if (struct.isSetParquetParams()) {
        struct.parquet_params.write(oprot);
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, TMetaScanRange struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet incoming = iprot.readBitSet(17);
      if (incoming.get(0)) {
        struct.metadata_type = org.apache.doris.thrift.TMetadataType.findByValue(iprot.readI32());
        struct.setMetadataTypeIsSet(true);
      }
      if (incoming.get(1)) {
        struct.iceberg_params = new TIcebergMetadataParams();
        struct.iceberg_params.read(iprot);
        struct.setIcebergParamsIsSet(true);
      }
      if (incoming.get(2)) {
        struct.backends_params = new TBackendsMetadataParams();
        struct.backends_params.read(iprot);
        struct.setBackendsParamsIsSet(true);
      }
      if (incoming.get(3)) {
        struct.frontends_params = new TFrontendsMetadataParams();
        struct.frontends_params.read(iprot);
        struct.setFrontendsParamsIsSet(true);
      }
      if (incoming.get(4)) {
        struct.queries_params = new TQueriesMetadataParams();
        struct.queries_params.read(iprot);
        struct.setQueriesParamsIsSet(true);
      }
      if (incoming.get(5)) {
        struct.materialized_views_params = new TMaterializedViewsMetadataParams();
        struct.materialized_views_params.read(iprot);
        struct.setMaterializedViewsParamsIsSet(true);
      }
      if (incoming.get(6)) {
        struct.jobs_params = new TJobsMetadataParams();
        struct.jobs_params.read(iprot);
        struct.setJobsParamsIsSet(true);
      }
      if (incoming.get(7)) {
        struct.tasks_params = new TTasksMetadataParams();
        struct.tasks_params.read(iprot);
        struct.setTasksParamsIsSet(true);
      }
      if (incoming.get(8)) {
        struct.partitions_params = new TPartitionsMetadataParams();
        struct.partitions_params.read(iprot);
        struct.setPartitionsParamsIsSet(true);
      }
      if (incoming.get(9)) {
        struct.meta_cache_stats_params = new TMetaCacheStatsParams();
        struct.meta_cache_stats_params.read(iprot);
        struct.setMetaCacheStatsParamsIsSet(true);
      }
      if (incoming.get(10)) {
        struct.partition_values_params = new TPartitionValuesMetadataParams();
        struct.partition_values_params.read(iprot);
        struct.setPartitionValuesParamsIsSet(true);
      }
      if (incoming.get(11)) {
        struct.hudi_params = new THudiMetadataParams();
        struct.hudi_params.read(iprot);
        struct.setHudiParamsIsSet(true);
      }
      if (incoming.get(12)) {
        struct.paimon_params = new TPaimonMetadataParams();
        struct.paimon_params.read(iprot);
        struct.setPaimonParamsIsSet(true);
      }
      if (incoming.get(13)) {
        {
          org.apache.thrift.protocol.TMap _map401 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
          struct.hadoop_props = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map401.size);
          @org.apache.thrift.annotation.Nullable java.lang.String _key402;
          @org.apache.thrift.annotation.Nullable java.lang.String _val403;
          for (int _i404 = 0; _i404 < _map401.size; ++_i404)
          {
            _key402 = iprot.readString();
            _val403 = iprot.readString();
            struct.hadoop_props.put(_key402, _val403);
          }
        }
        struct.setHadoopPropsIsSet(true);
      }
      if (incoming.get(14)) {
        struct.serialized_table = iprot.readString();
        struct.setSerializedTableIsSet(true);
      }
      if (incoming.get(15)) {
        {
          org.apache.thrift.protocol.TList _list405 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
          struct.serialized_splits = new java.util.ArrayList<java.lang.String>(_list405.size);
          @org.apache.thrift.annotation.Nullable java.lang.String _elem406;
          for (int _i407 = 0; _i407 < _list405.size; ++_i407)
          {
            _elem406 = iprot.readString();
            struct.serialized_splits.add(_elem406);
          }
        }
        struct.setSerializedSplitsIsSet(true);
      }
      if (incoming.get(16)) {
        struct.parquet_params = new TParquetMetadataParams();
        struct.parquet_params.read(iprot);
        struct.setParquetParamsIsSet(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();
  }
}