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

  private static final org.apache.thrift.protocol.TField COLUMN_SEPARATOR_FIELD_DESC = new org.apache.thrift.protocol.TField("column_separator", org.apache.thrift.protocol.TType.BYTE, (short)1);
  private static final org.apache.thrift.protocol.TField LINE_DELIMITER_FIELD_DESC = new org.apache.thrift.protocol.TField("line_delimiter", org.apache.thrift.protocol.TType.BYTE, (short)2);
  private static final org.apache.thrift.protocol.TField SRC_TUPLE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("src_tuple_id", org.apache.thrift.protocol.TType.I32, (short)3);
  private static final org.apache.thrift.protocol.TField SRC_SLOT_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("src_slot_ids", org.apache.thrift.protocol.TType.LIST, (short)4);
  private static final org.apache.thrift.protocol.TField DEST_TUPLE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("dest_tuple_id", org.apache.thrift.protocol.TType.I32, (short)5);
  private static final org.apache.thrift.protocol.TField EXPR_OF_DEST_SLOT_FIELD_DESC = new org.apache.thrift.protocol.TField("expr_of_dest_slot", org.apache.thrift.protocol.TType.MAP, (short)6);
  private static final org.apache.thrift.protocol.TField PROPERTIES_FIELD_DESC = new org.apache.thrift.protocol.TField("properties", org.apache.thrift.protocol.TType.MAP, (short)7);
  private static final org.apache.thrift.protocol.TField PARTITION_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("partition_ids", org.apache.thrift.protocol.TType.LIST, (short)8);
  private static final org.apache.thrift.protocol.TField DEST_SID_TO_SRC_SID_WITHOUT_TRANS_FIELD_DESC = new org.apache.thrift.protocol.TField("dest_sid_to_src_sid_without_trans", org.apache.thrift.protocol.TType.MAP, (short)9);
  private static final org.apache.thrift.protocol.TField STRICT_MODE_FIELD_DESC = new org.apache.thrift.protocol.TField("strict_mode", org.apache.thrift.protocol.TType.BOOL, (short)10);
  private static final org.apache.thrift.protocol.TField COLUMN_SEPARATOR_LENGTH_FIELD_DESC = new org.apache.thrift.protocol.TField("column_separator_length", org.apache.thrift.protocol.TType.I32, (short)11);
  private static final org.apache.thrift.protocol.TField LINE_DELIMITER_LENGTH_FIELD_DESC = new org.apache.thrift.protocol.TField("line_delimiter_length", org.apache.thrift.protocol.TType.I32, (short)12);
  private static final org.apache.thrift.protocol.TField COLUMN_SEPARATOR_STR_FIELD_DESC = new org.apache.thrift.protocol.TField("column_separator_str", org.apache.thrift.protocol.TType.STRING, (short)13);
  private static final org.apache.thrift.protocol.TField LINE_DELIMITER_STR_FIELD_DESC = new org.apache.thrift.protocol.TField("line_delimiter_str", org.apache.thrift.protocol.TType.STRING, (short)14);
  private static final org.apache.thrift.protocol.TField TRIM_DOUBLE_QUOTES_FIELD_DESC = new org.apache.thrift.protocol.TField("trim_double_quotes", org.apache.thrift.protocol.TType.BOOL, (short)15);

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

  public byte column_separator; // required
  public byte line_delimiter; // required
  public int src_tuple_id; // required
  public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.Integer> src_slot_ids; // required
  public int dest_tuple_id; // required
  public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.Integer,org.apache.doris.thrift.TExpr> expr_of_dest_slot; // optional
  public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> properties; // optional
  public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.Long> partition_ids; // optional
  public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.Integer,java.lang.Integer> dest_sid_to_src_sid_without_trans; // optional
  public boolean strict_mode; // optional
  public int column_separator_length; // optional
  public int line_delimiter_length; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String column_separator_str; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String line_delimiter_str; // optional
  public boolean trim_double_quotes; // 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 {
    COLUMN_SEPARATOR((short)1, "column_separator"),
    LINE_DELIMITER((short)2, "line_delimiter"),
    SRC_TUPLE_ID((short)3, "src_tuple_id"),
    SRC_SLOT_IDS((short)4, "src_slot_ids"),
    DEST_TUPLE_ID((short)5, "dest_tuple_id"),
    EXPR_OF_DEST_SLOT((short)6, "expr_of_dest_slot"),
    PROPERTIES((short)7, "properties"),
    PARTITION_IDS((short)8, "partition_ids"),
    DEST_SID_TO_SRC_SID_WITHOUT_TRANS((short)9, "dest_sid_to_src_sid_without_trans"),
    STRICT_MODE((short)10, "strict_mode"),
    COLUMN_SEPARATOR_LENGTH((short)11, "column_separator_length"),
    LINE_DELIMITER_LENGTH((short)12, "line_delimiter_length"),
    COLUMN_SEPARATOR_STR((short)13, "column_separator_str"),
    LINE_DELIMITER_STR((short)14, "line_delimiter_str"),
    TRIM_DOUBLE_QUOTES((short)15, "trim_double_quotes");

    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: // COLUMN_SEPARATOR
          return COLUMN_SEPARATOR;
        case 2: // LINE_DELIMITER
          return LINE_DELIMITER;
        case 3: // SRC_TUPLE_ID
          return SRC_TUPLE_ID;
        case 4: // SRC_SLOT_IDS
          return SRC_SLOT_IDS;
        case 5: // DEST_TUPLE_ID
          return DEST_TUPLE_ID;
        case 6: // EXPR_OF_DEST_SLOT
          return EXPR_OF_DEST_SLOT;
        case 7: // PROPERTIES
          return PROPERTIES;
        case 8: // PARTITION_IDS
          return PARTITION_IDS;
        case 9: // DEST_SID_TO_SRC_SID_WITHOUT_TRANS
          return DEST_SID_TO_SRC_SID_WITHOUT_TRANS;
        case 10: // STRICT_MODE
          return STRICT_MODE;
        case 11: // COLUMN_SEPARATOR_LENGTH
          return COLUMN_SEPARATOR_LENGTH;
        case 12: // LINE_DELIMITER_LENGTH
          return LINE_DELIMITER_LENGTH;
        case 13: // COLUMN_SEPARATOR_STR
          return COLUMN_SEPARATOR_STR;
        case 14: // LINE_DELIMITER_STR
          return LINE_DELIMITER_STR;
        case 15: // TRIM_DOUBLE_QUOTES
          return TRIM_DOUBLE_QUOTES;
        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 __COLUMN_SEPARATOR_ISSET_ID = 0;
  private static final int __LINE_DELIMITER_ISSET_ID = 1;
  private static final int __SRC_TUPLE_ID_ISSET_ID = 2;
  private static final int __DEST_TUPLE_ID_ISSET_ID = 3;
  private static final int __STRICT_MODE_ISSET_ID = 4;
  private static final int __COLUMN_SEPARATOR_LENGTH_ISSET_ID = 5;
  private static final int __LINE_DELIMITER_LENGTH_ISSET_ID = 6;
  private static final int __TRIM_DOUBLE_QUOTES_ISSET_ID = 7;
  private byte __isset_bitfield = 0;
  private static final _Fields optionals[] = {_Fields.EXPR_OF_DEST_SLOT,_Fields.PROPERTIES,_Fields.PARTITION_IDS,_Fields.DEST_SID_TO_SRC_SID_WITHOUT_TRANS,_Fields.STRICT_MODE,_Fields.COLUMN_SEPARATOR_LENGTH,_Fields.LINE_DELIMITER_LENGTH,_Fields.COLUMN_SEPARATOR_STR,_Fields.LINE_DELIMITER_STR,_Fields.TRIM_DOUBLE_QUOTES};
  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.COLUMN_SEPARATOR, new org.apache.thrift.meta_data.FieldMetaData("column_separator", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BYTE)));
    tmpMap.put(_Fields.LINE_DELIMITER, new org.apache.thrift.meta_data.FieldMetaData("line_delimiter", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BYTE)));
    tmpMap.put(_Fields.SRC_TUPLE_ID, new org.apache.thrift.meta_data.FieldMetaData("src_tuple_id", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32        , "TTupleId")));
    tmpMap.put(_Fields.SRC_SLOT_IDS, new org.apache.thrift.meta_data.FieldMetaData("src_slot_ids", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32            , "TSlotId"))));
    tmpMap.put(_Fields.DEST_TUPLE_ID, new org.apache.thrift.meta_data.FieldMetaData("dest_tuple_id", org.apache.thrift.TFieldRequirementType.REQUIRED, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32        , "TTupleId")));
    tmpMap.put(_Fields.EXPR_OF_DEST_SLOT, new org.apache.thrift.meta_data.FieldMetaData("expr_of_dest_slot", 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.I32            , "TSlotId"), 
            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.doris.thrift.TExpr.class))));
    tmpMap.put(_Fields.PROPERTIES, new org.apache.thrift.meta_data.FieldMetaData("properties", 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.PARTITION_IDS, new org.apache.thrift.meta_data.FieldMetaData("partition_ids", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64))));
    tmpMap.put(_Fields.DEST_SID_TO_SRC_SID_WITHOUT_TRANS, new org.apache.thrift.meta_data.FieldMetaData("dest_sid_to_src_sid_without_trans", 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.I32            , "TSlotId"), 
            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32            , "TSlotId"))));
    tmpMap.put(_Fields.STRICT_MODE, new org.apache.thrift.meta_data.FieldMetaData("strict_mode", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.COLUMN_SEPARATOR_LENGTH, new org.apache.thrift.meta_data.FieldMetaData("column_separator_length", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.LINE_DELIMITER_LENGTH, new org.apache.thrift.meta_data.FieldMetaData("line_delimiter_length", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.COLUMN_SEPARATOR_STR, new org.apache.thrift.meta_data.FieldMetaData("column_separator_str", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.LINE_DELIMITER_STR, new org.apache.thrift.meta_data.FieldMetaData("line_delimiter_str", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.TRIM_DOUBLE_QUOTES, new org.apache.thrift.meta_data.FieldMetaData("trim_double_quotes", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TBrokerScanRangeParams.class, metaDataMap);
  }

  public TBrokerScanRangeParams() {
    this.column_separator_length = 1;

    this.line_delimiter_length = 1;

  }

  public TBrokerScanRangeParams(
    byte column_separator,
    byte line_delimiter,
    int src_tuple_id,
    java.util.List<java.lang.Integer> src_slot_ids,
    int dest_tuple_id)
  {
    this();
    this.column_separator = column_separator;
    setColumnSeparatorIsSet(true);
    this.line_delimiter = line_delimiter;
    setLineDelimiterIsSet(true);
    this.src_tuple_id = src_tuple_id;
    setSrcTupleIdIsSet(true);
    this.src_slot_ids = src_slot_ids;
    this.dest_tuple_id = dest_tuple_id;
    setDestTupleIdIsSet(true);
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public TBrokerScanRangeParams(TBrokerScanRangeParams other) {
    __isset_bitfield = other.__isset_bitfield;
    this.column_separator = other.column_separator;
    this.line_delimiter = other.line_delimiter;
    this.src_tuple_id = other.src_tuple_id;
    if (other.isSetSrcSlotIds()) {
      java.util.List<java.lang.Integer> __this__src_slot_ids = new java.util.ArrayList<java.lang.Integer>(other.src_slot_ids.size());
      for (java.lang.Integer other_element : other.src_slot_ids) {
        __this__src_slot_ids.add(other_element);
      }
      this.src_slot_ids = __this__src_slot_ids;
    }
    this.dest_tuple_id = other.dest_tuple_id;
    if (other.isSetExprOfDestSlot()) {
      java.util.Map<java.lang.Integer,org.apache.doris.thrift.TExpr> __this__expr_of_dest_slot = new java.util.HashMap<java.lang.Integer,org.apache.doris.thrift.TExpr>(other.expr_of_dest_slot.size());
      for (java.util.Map.Entry<java.lang.Integer, org.apache.doris.thrift.TExpr> other_element : other.expr_of_dest_slot.entrySet()) {

        java.lang.Integer other_element_key = other_element.getKey();
        org.apache.doris.thrift.TExpr other_element_value = other_element.getValue();

        java.lang.Integer __this__expr_of_dest_slot_copy_key = other_element_key;

        org.apache.doris.thrift.TExpr __this__expr_of_dest_slot_copy_value = new org.apache.doris.thrift.TExpr(other_element_value);

        __this__expr_of_dest_slot.put(__this__expr_of_dest_slot_copy_key, __this__expr_of_dest_slot_copy_value);
      }
      this.expr_of_dest_slot = __this__expr_of_dest_slot;
    }
    if (other.isSetProperties()) {
      java.util.Map<java.lang.String,java.lang.String> __this__properties = new java.util.HashMap<java.lang.String,java.lang.String>(other.properties);
      this.properties = __this__properties;
    }
    if (other.isSetPartitionIds()) {
      java.util.List<java.lang.Long> __this__partition_ids = new java.util.ArrayList<java.lang.Long>(other.partition_ids);
      this.partition_ids = __this__partition_ids;
    }
    if (other.isSetDestSidToSrcSidWithoutTrans()) {
      java.util.Map<java.lang.Integer,java.lang.Integer> __this__dest_sid_to_src_sid_without_trans = new java.util.HashMap<java.lang.Integer,java.lang.Integer>(other.dest_sid_to_src_sid_without_trans.size());
      for (java.util.Map.Entry<java.lang.Integer, java.lang.Integer> other_element : other.dest_sid_to_src_sid_without_trans.entrySet()) {

        java.lang.Integer other_element_key = other_element.getKey();
        java.lang.Integer other_element_value = other_element.getValue();

        java.lang.Integer __this__dest_sid_to_src_sid_without_trans_copy_key = other_element_key;

        java.lang.Integer __this__dest_sid_to_src_sid_without_trans_copy_value = other_element_value;

        __this__dest_sid_to_src_sid_without_trans.put(__this__dest_sid_to_src_sid_without_trans_copy_key, __this__dest_sid_to_src_sid_without_trans_copy_value);
      }
      this.dest_sid_to_src_sid_without_trans = __this__dest_sid_to_src_sid_without_trans;
    }
    this.strict_mode = other.strict_mode;
    this.column_separator_length = other.column_separator_length;
    this.line_delimiter_length = other.line_delimiter_length;
    if (other.isSetColumnSeparatorStr()) {
      this.column_separator_str = other.column_separator_str;
    }
    if (other.isSetLineDelimiterStr()) {
      this.line_delimiter_str = other.line_delimiter_str;
    }
    this.trim_double_quotes = other.trim_double_quotes;
  }

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

  @Override
  public void clear() {
    setColumnSeparatorIsSet(false);
    this.column_separator = 0;
    setLineDelimiterIsSet(false);
    this.line_delimiter = 0;
    setSrcTupleIdIsSet(false);
    this.src_tuple_id = 0;
    this.src_slot_ids = null;
    setDestTupleIdIsSet(false);
    this.dest_tuple_id = 0;
    this.expr_of_dest_slot = null;
    this.properties = null;
    this.partition_ids = null;
    this.dest_sid_to_src_sid_without_trans = null;
    setStrictModeIsSet(false);
    this.strict_mode = false;
    this.column_separator_length = 1;

    this.line_delimiter_length = 1;

    this.column_separator_str = null;
    this.line_delimiter_str = null;
    setTrimDoubleQuotesIsSet(false);
    this.trim_double_quotes = false;
  }

  public byte getColumnSeparator() {
    return this.column_separator;
  }

  public TBrokerScanRangeParams setColumnSeparator(byte column_separator) {
    this.column_separator = column_separator;
    setColumnSeparatorIsSet(true);
    return this;
  }

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

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

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

  public byte getLineDelimiter() {
    return this.line_delimiter;
  }

  public TBrokerScanRangeParams setLineDelimiter(byte line_delimiter) {
    this.line_delimiter = line_delimiter;
    setLineDelimiterIsSet(true);
    return this;
  }

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

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

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

  public int getSrcTupleId() {
    return this.src_tuple_id;
  }

  public TBrokerScanRangeParams setSrcTupleId(int src_tuple_id) {
    this.src_tuple_id = src_tuple_id;
    setSrcTupleIdIsSet(true);
    return this;
  }

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

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

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

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

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

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

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

  public TBrokerScanRangeParams setSrcSlotIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.Integer> src_slot_ids) {
    this.src_slot_ids = src_slot_ids;
    return this;
  }

  public void unsetSrcSlotIds() {
    this.src_slot_ids = null;
  }

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

  public void setSrcSlotIdsIsSet(boolean value) {
    if (!value) {
      this.src_slot_ids = null;
    }
  }

  public int getDestTupleId() {
    return this.dest_tuple_id;
  }

  public TBrokerScanRangeParams setDestTupleId(int dest_tuple_id) {
    this.dest_tuple_id = dest_tuple_id;
    setDestTupleIdIsSet(true);
    return this;
  }

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

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

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

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

  public void putToExprOfDestSlot(int key, org.apache.doris.thrift.TExpr val) {
    if (this.expr_of_dest_slot == null) {
      this.expr_of_dest_slot = new java.util.HashMap<java.lang.Integer,org.apache.doris.thrift.TExpr>();
    }
    this.expr_of_dest_slot.put(key, val);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.Map<java.lang.Integer,org.apache.doris.thrift.TExpr> getExprOfDestSlot() {
    return this.expr_of_dest_slot;
  }

  public TBrokerScanRangeParams setExprOfDestSlot(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.Integer,org.apache.doris.thrift.TExpr> expr_of_dest_slot) {
    this.expr_of_dest_slot = expr_of_dest_slot;
    return this;
  }

  public void unsetExprOfDestSlot() {
    this.expr_of_dest_slot = null;
  }

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

  public void setExprOfDestSlotIsSet(boolean value) {
    if (!value) {
      this.expr_of_dest_slot = null;
    }
  }

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

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

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

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

  public void unsetProperties() {
    this.properties = null;
  }

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

  public void setPropertiesIsSet(boolean value) {
    if (!value) {
      this.properties = null;
    }
  }

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

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

  public void addToPartitionIds(long elem) {
    if (this.partition_ids == null) {
      this.partition_ids = new java.util.ArrayList<java.lang.Long>();
    }
    this.partition_ids.add(elem);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.List<java.lang.Long> getPartitionIds() {
    return this.partition_ids;
  }

  public TBrokerScanRangeParams setPartitionIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.Long> partition_ids) {
    this.partition_ids = partition_ids;
    return this;
  }

  public void unsetPartitionIds() {
    this.partition_ids = null;
  }

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

  public void setPartitionIdsIsSet(boolean value) {
    if (!value) {
      this.partition_ids = null;
    }
  }

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

  public void putToDestSidToSrcSidWithoutTrans(int key, int val) {
    if (this.dest_sid_to_src_sid_without_trans == null) {
      this.dest_sid_to_src_sid_without_trans = new java.util.HashMap<java.lang.Integer,java.lang.Integer>();
    }
    this.dest_sid_to_src_sid_without_trans.put(key, val);
  }

  @org.apache.thrift.annotation.Nullable
  public java.util.Map<java.lang.Integer,java.lang.Integer> getDestSidToSrcSidWithoutTrans() {
    return this.dest_sid_to_src_sid_without_trans;
  }

  public TBrokerScanRangeParams setDestSidToSrcSidWithoutTrans(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.Integer,java.lang.Integer> dest_sid_to_src_sid_without_trans) {
    this.dest_sid_to_src_sid_without_trans = dest_sid_to_src_sid_without_trans;
    return this;
  }

  public void unsetDestSidToSrcSidWithoutTrans() {
    this.dest_sid_to_src_sid_without_trans = null;
  }

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

  public void setDestSidToSrcSidWithoutTransIsSet(boolean value) {
    if (!value) {
      this.dest_sid_to_src_sid_without_trans = null;
    }
  }

  public boolean isStrictMode() {
    return this.strict_mode;
  }

  public TBrokerScanRangeParams setStrictMode(boolean strict_mode) {
    this.strict_mode = strict_mode;
    setStrictModeIsSet(true);
    return this;
  }

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

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

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

  public int getColumnSeparatorLength() {
    return this.column_separator_length;
  }

  public TBrokerScanRangeParams setColumnSeparatorLength(int column_separator_length) {
    this.column_separator_length = column_separator_length;
    setColumnSeparatorLengthIsSet(true);
    return this;
  }

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

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

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

  public int getLineDelimiterLength() {
    return this.line_delimiter_length;
  }

  public TBrokerScanRangeParams setLineDelimiterLength(int line_delimiter_length) {
    this.line_delimiter_length = line_delimiter_length;
    setLineDelimiterLengthIsSet(true);
    return this;
  }

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

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

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

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

  public TBrokerScanRangeParams setColumnSeparatorStr(@org.apache.thrift.annotation.Nullable java.lang.String column_separator_str) {
    this.column_separator_str = column_separator_str;
    return this;
  }

  public void unsetColumnSeparatorStr() {
    this.column_separator_str = null;
  }

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

  public void setColumnSeparatorStrIsSet(boolean value) {
    if (!value) {
      this.column_separator_str = null;
    }
  }

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

  public TBrokerScanRangeParams setLineDelimiterStr(@org.apache.thrift.annotation.Nullable java.lang.String line_delimiter_str) {
    this.line_delimiter_str = line_delimiter_str;
    return this;
  }

  public void unsetLineDelimiterStr() {
    this.line_delimiter_str = null;
  }

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

  public void setLineDelimiterStrIsSet(boolean value) {
    if (!value) {
      this.line_delimiter_str = null;
    }
  }

  public boolean isTrimDoubleQuotes() {
    return this.trim_double_quotes;
  }

  public TBrokerScanRangeParams setTrimDoubleQuotes(boolean trim_double_quotes) {
    this.trim_double_quotes = trim_double_quotes;
    setTrimDoubleQuotesIsSet(true);
    return this;
  }

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

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

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

  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
    switch (field) {
    case COLUMN_SEPARATOR:
      if (value == null) {
        unsetColumnSeparator();
      } else {
        setColumnSeparator((java.lang.Byte)value);
      }
      break;

    case LINE_DELIMITER:
      if (value == null) {
        unsetLineDelimiter();
      } else {
        setLineDelimiter((java.lang.Byte)value);
      }
      break;

    case SRC_TUPLE_ID:
      if (value == null) {
        unsetSrcTupleId();
      } else {
        setSrcTupleId((java.lang.Integer)value);
      }
      break;

    case SRC_SLOT_IDS:
      if (value == null) {
        unsetSrcSlotIds();
      } else {
        setSrcSlotIds((java.util.List<java.lang.Integer>)value);
      }
      break;

    case DEST_TUPLE_ID:
      if (value == null) {
        unsetDestTupleId();
      } else {
        setDestTupleId((java.lang.Integer)value);
      }
      break;

    case EXPR_OF_DEST_SLOT:
      if (value == null) {
        unsetExprOfDestSlot();
      } else {
        setExprOfDestSlot((java.util.Map<java.lang.Integer,org.apache.doris.thrift.TExpr>)value);
      }
      break;

    case PROPERTIES:
      if (value == null) {
        unsetProperties();
      } else {
        setProperties((java.util.Map<java.lang.String,java.lang.String>)value);
      }
      break;

    case PARTITION_IDS:
      if (value == null) {
        unsetPartitionIds();
      } else {
        setPartitionIds((java.util.List<java.lang.Long>)value);
      }
      break;

    case DEST_SID_TO_SRC_SID_WITHOUT_TRANS:
      if (value == null) {
        unsetDestSidToSrcSidWithoutTrans();
      } else {
        setDestSidToSrcSidWithoutTrans((java.util.Map<java.lang.Integer,java.lang.Integer>)value);
      }
      break;

    case STRICT_MODE:
      if (value == null) {
        unsetStrictMode();
      } else {
        setStrictMode((java.lang.Boolean)value);
      }
      break;

    case COLUMN_SEPARATOR_LENGTH:
      if (value == null) {
        unsetColumnSeparatorLength();
      } else {
        setColumnSeparatorLength((java.lang.Integer)value);
      }
      break;

    case LINE_DELIMITER_LENGTH:
      if (value == null) {
        unsetLineDelimiterLength();
      } else {
        setLineDelimiterLength((java.lang.Integer)value);
      }
      break;

    case COLUMN_SEPARATOR_STR:
      if (value == null) {
        unsetColumnSeparatorStr();
      } else {
        setColumnSeparatorStr((java.lang.String)value);
      }
      break;

    case LINE_DELIMITER_STR:
      if (value == null) {
        unsetLineDelimiterStr();
      } else {
        setLineDelimiterStr((java.lang.String)value);
      }
      break;

    case TRIM_DOUBLE_QUOTES:
      if (value == null) {
        unsetTrimDoubleQuotes();
      } else {
        setTrimDoubleQuotes((java.lang.Boolean)value);
      }
      break;

    }
  }

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

    case LINE_DELIMITER:
      return getLineDelimiter();

    case SRC_TUPLE_ID:
      return getSrcTupleId();

    case SRC_SLOT_IDS:
      return getSrcSlotIds();

    case DEST_TUPLE_ID:
      return getDestTupleId();

    case EXPR_OF_DEST_SLOT:
      return getExprOfDestSlot();

    case PROPERTIES:
      return getProperties();

    case PARTITION_IDS:
      return getPartitionIds();

    case DEST_SID_TO_SRC_SID_WITHOUT_TRANS:
      return getDestSidToSrcSidWithoutTrans();

    case STRICT_MODE:
      return isStrictMode();

    case COLUMN_SEPARATOR_LENGTH:
      return getColumnSeparatorLength();

    case LINE_DELIMITER_LENGTH:
      return getLineDelimiterLength();

    case COLUMN_SEPARATOR_STR:
      return getColumnSeparatorStr();

    case LINE_DELIMITER_STR:
      return getLineDelimiterStr();

    case TRIM_DOUBLE_QUOTES:
      return isTrimDoubleQuotes();

    }
    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 COLUMN_SEPARATOR:
      return isSetColumnSeparator();
    case LINE_DELIMITER:
      return isSetLineDelimiter();
    case SRC_TUPLE_ID:
      return isSetSrcTupleId();
    case SRC_SLOT_IDS:
      return isSetSrcSlotIds();
    case DEST_TUPLE_ID:
      return isSetDestTupleId();
    case EXPR_OF_DEST_SLOT:
      return isSetExprOfDestSlot();
    case PROPERTIES:
      return isSetProperties();
    case PARTITION_IDS:
      return isSetPartitionIds();
    case DEST_SID_TO_SRC_SID_WITHOUT_TRANS:
      return isSetDestSidToSrcSidWithoutTrans();
    case STRICT_MODE:
      return isSetStrictMode();
    case COLUMN_SEPARATOR_LENGTH:
      return isSetColumnSeparatorLength();
    case LINE_DELIMITER_LENGTH:
      return isSetLineDelimiterLength();
    case COLUMN_SEPARATOR_STR:
      return isSetColumnSeparatorStr();
    case LINE_DELIMITER_STR:
      return isSetLineDelimiterStr();
    case TRIM_DOUBLE_QUOTES:
      return isSetTrimDoubleQuotes();
    }
    throw new java.lang.IllegalStateException();
  }

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

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

    boolean this_present_column_separator = true;
    boolean that_present_column_separator = true;
    if (this_present_column_separator || that_present_column_separator) {
      if (!(this_present_column_separator && that_present_column_separator))
        return false;
      if (this.column_separator != that.column_separator)
        return false;
    }

    boolean this_present_line_delimiter = true;
    boolean that_present_line_delimiter = true;
    if (this_present_line_delimiter || that_present_line_delimiter) {
      if (!(this_present_line_delimiter && that_present_line_delimiter))
        return false;
      if (this.line_delimiter != that.line_delimiter)
        return false;
    }

    boolean this_present_src_tuple_id = true;
    boolean that_present_src_tuple_id = true;
    if (this_present_src_tuple_id || that_present_src_tuple_id) {
      if (!(this_present_src_tuple_id && that_present_src_tuple_id))
        return false;
      if (this.src_tuple_id != that.src_tuple_id)
        return false;
    }

    boolean this_present_src_slot_ids = true && this.isSetSrcSlotIds();
    boolean that_present_src_slot_ids = true && that.isSetSrcSlotIds();
    if (this_present_src_slot_ids || that_present_src_slot_ids) {
      if (!(this_present_src_slot_ids && that_present_src_slot_ids))
        return false;
      if (!this.src_slot_ids.equals(that.src_slot_ids))
        return false;
    }

    boolean this_present_dest_tuple_id = true;
    boolean that_present_dest_tuple_id = true;
    if (this_present_dest_tuple_id || that_present_dest_tuple_id) {
      if (!(this_present_dest_tuple_id && that_present_dest_tuple_id))
        return false;
      if (this.dest_tuple_id != that.dest_tuple_id)
        return false;
    }

    boolean this_present_expr_of_dest_slot = true && this.isSetExprOfDestSlot();
    boolean that_present_expr_of_dest_slot = true && that.isSetExprOfDestSlot();
    if (this_present_expr_of_dest_slot || that_present_expr_of_dest_slot) {
      if (!(this_present_expr_of_dest_slot && that_present_expr_of_dest_slot))
        return false;
      if (!this.expr_of_dest_slot.equals(that.expr_of_dest_slot))
        return false;
    }

    boolean this_present_properties = true && this.isSetProperties();
    boolean that_present_properties = true && that.isSetProperties();
    if (this_present_properties || that_present_properties) {
      if (!(this_present_properties && that_present_properties))
        return false;
      if (!this.properties.equals(that.properties))
        return false;
    }

    boolean this_present_partition_ids = true && this.isSetPartitionIds();
    boolean that_present_partition_ids = true && that.isSetPartitionIds();
    if (this_present_partition_ids || that_present_partition_ids) {
      if (!(this_present_partition_ids && that_present_partition_ids))
        return false;
      if (!this.partition_ids.equals(that.partition_ids))
        return false;
    }

    boolean this_present_dest_sid_to_src_sid_without_trans = true && this.isSetDestSidToSrcSidWithoutTrans();
    boolean that_present_dest_sid_to_src_sid_without_trans = true && that.isSetDestSidToSrcSidWithoutTrans();
    if (this_present_dest_sid_to_src_sid_without_trans || that_present_dest_sid_to_src_sid_without_trans) {
      if (!(this_present_dest_sid_to_src_sid_without_trans && that_present_dest_sid_to_src_sid_without_trans))
        return false;
      if (!this.dest_sid_to_src_sid_without_trans.equals(that.dest_sid_to_src_sid_without_trans))
        return false;
    }

    boolean this_present_strict_mode = true && this.isSetStrictMode();
    boolean that_present_strict_mode = true && that.isSetStrictMode();
    if (this_present_strict_mode || that_present_strict_mode) {
      if (!(this_present_strict_mode && that_present_strict_mode))
        return false;
      if (this.strict_mode != that.strict_mode)
        return false;
    }

    boolean this_present_column_separator_length = true && this.isSetColumnSeparatorLength();
    boolean that_present_column_separator_length = true && that.isSetColumnSeparatorLength();
    if (this_present_column_separator_length || that_present_column_separator_length) {
      if (!(this_present_column_separator_length && that_present_column_separator_length))
        return false;
      if (this.column_separator_length != that.column_separator_length)
        return false;
    }

    boolean this_present_line_delimiter_length = true && this.isSetLineDelimiterLength();
    boolean that_present_line_delimiter_length = true && that.isSetLineDelimiterLength();
    if (this_present_line_delimiter_length || that_present_line_delimiter_length) {
      if (!(this_present_line_delimiter_length && that_present_line_delimiter_length))
        return false;
      if (this.line_delimiter_length != that.line_delimiter_length)
        return false;
    }

    boolean this_present_column_separator_str = true && this.isSetColumnSeparatorStr();
    boolean that_present_column_separator_str = true && that.isSetColumnSeparatorStr();
    if (this_present_column_separator_str || that_present_column_separator_str) {
      if (!(this_present_column_separator_str && that_present_column_separator_str))
        return false;
      if (!this.column_separator_str.equals(that.column_separator_str))
        return false;
    }

    boolean this_present_line_delimiter_str = true && this.isSetLineDelimiterStr();
    boolean that_present_line_delimiter_str = true && that.isSetLineDelimiterStr();
    if (this_present_line_delimiter_str || that_present_line_delimiter_str) {
      if (!(this_present_line_delimiter_str && that_present_line_delimiter_str))
        return false;
      if (!this.line_delimiter_str.equals(that.line_delimiter_str))
        return false;
    }

    boolean this_present_trim_double_quotes = true && this.isSetTrimDoubleQuotes();
    boolean that_present_trim_double_quotes = true && that.isSetTrimDoubleQuotes();
    if (this_present_trim_double_quotes || that_present_trim_double_quotes) {
      if (!(this_present_trim_double_quotes && that_present_trim_double_quotes))
        return false;
      if (this.trim_double_quotes != that.trim_double_quotes)
        return false;
    }

    return true;
  }

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

    hashCode = hashCode * 8191 + (int) (column_separator);

    hashCode = hashCode * 8191 + (int) (line_delimiter);

    hashCode = hashCode * 8191 + src_tuple_id;

    hashCode = hashCode * 8191 + ((isSetSrcSlotIds()) ? 131071 : 524287);
    if (isSetSrcSlotIds())
      hashCode = hashCode * 8191 + src_slot_ids.hashCode();

    hashCode = hashCode * 8191 + dest_tuple_id;

    hashCode = hashCode * 8191 + ((isSetExprOfDestSlot()) ? 131071 : 524287);
    if (isSetExprOfDestSlot())
      hashCode = hashCode * 8191 + expr_of_dest_slot.hashCode();

    hashCode = hashCode * 8191 + ((isSetProperties()) ? 131071 : 524287);
    if (isSetProperties())
      hashCode = hashCode * 8191 + properties.hashCode();

    hashCode = hashCode * 8191 + ((isSetPartitionIds()) ? 131071 : 524287);
    if (isSetPartitionIds())
      hashCode = hashCode * 8191 + partition_ids.hashCode();

    hashCode = hashCode * 8191 + ((isSetDestSidToSrcSidWithoutTrans()) ? 131071 : 524287);
    if (isSetDestSidToSrcSidWithoutTrans())
      hashCode = hashCode * 8191 + dest_sid_to_src_sid_without_trans.hashCode();

    hashCode = hashCode * 8191 + ((isSetStrictMode()) ? 131071 : 524287);
    if (isSetStrictMode())
      hashCode = hashCode * 8191 + ((strict_mode) ? 131071 : 524287);

    hashCode = hashCode * 8191 + ((isSetColumnSeparatorLength()) ? 131071 : 524287);
    if (isSetColumnSeparatorLength())
      hashCode = hashCode * 8191 + column_separator_length;

    hashCode = hashCode * 8191 + ((isSetLineDelimiterLength()) ? 131071 : 524287);
    if (isSetLineDelimiterLength())
      hashCode = hashCode * 8191 + line_delimiter_length;

    hashCode = hashCode * 8191 + ((isSetColumnSeparatorStr()) ? 131071 : 524287);
    if (isSetColumnSeparatorStr())
      hashCode = hashCode * 8191 + column_separator_str.hashCode();

    hashCode = hashCode * 8191 + ((isSetLineDelimiterStr()) ? 131071 : 524287);
    if (isSetLineDelimiterStr())
      hashCode = hashCode * 8191 + line_delimiter_str.hashCode();

    hashCode = hashCode * 8191 + ((isSetTrimDoubleQuotes()) ? 131071 : 524287);
    if (isSetTrimDoubleQuotes())
      hashCode = hashCode * 8191 + ((trim_double_quotes) ? 131071 : 524287);

    return hashCode;
  }

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

    int lastComparison = 0;

    lastComparison = java.lang.Boolean.compare(isSetColumnSeparator(), other.isSetColumnSeparator());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetColumnSeparator()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.column_separator, other.column_separator);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetLineDelimiter(), other.isSetLineDelimiter());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetLineDelimiter()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.line_delimiter, other.line_delimiter);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetSrcTupleId(), other.isSetSrcTupleId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSrcTupleId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.src_tuple_id, other.src_tuple_id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetSrcSlotIds(), other.isSetSrcSlotIds());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetSrcSlotIds()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.src_slot_ids, other.src_slot_ids);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetDestTupleId(), other.isSetDestTupleId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDestTupleId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dest_tuple_id, other.dest_tuple_id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetExprOfDestSlot(), other.isSetExprOfDestSlot());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetExprOfDestSlot()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.expr_of_dest_slot, other.expr_of_dest_slot);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetProperties(), other.isSetProperties());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetProperties()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.properties, other.properties);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetPartitionIds(), other.isSetPartitionIds());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetPartitionIds()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.partition_ids, other.partition_ids);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetDestSidToSrcSidWithoutTrans(), other.isSetDestSidToSrcSidWithoutTrans());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDestSidToSrcSidWithoutTrans()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.dest_sid_to_src_sid_without_trans, other.dest_sid_to_src_sid_without_trans);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetStrictMode(), other.isSetStrictMode());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetStrictMode()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.strict_mode, other.strict_mode);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetColumnSeparatorLength(), other.isSetColumnSeparatorLength());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetColumnSeparatorLength()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.column_separator_length, other.column_separator_length);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetLineDelimiterLength(), other.isSetLineDelimiterLength());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetLineDelimiterLength()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.line_delimiter_length, other.line_delimiter_length);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetColumnSeparatorStr(), other.isSetColumnSeparatorStr());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetColumnSeparatorStr()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.column_separator_str, other.column_separator_str);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetLineDelimiterStr(), other.isSetLineDelimiterStr());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetLineDelimiterStr()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.line_delimiter_str, other.line_delimiter_str);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTrimDoubleQuotes(), other.isSetTrimDoubleQuotes());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTrimDoubleQuotes()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.trim_double_quotes, other.trim_double_quotes);
      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("TBrokerScanRangeParams(");
    boolean first = true;

    sb.append("column_separator:");
    sb.append(this.column_separator);
    first = false;
    if (!first) sb.append(", ");
    sb.append("line_delimiter:");
    sb.append(this.line_delimiter);
    first = false;
    if (!first) sb.append(", ");
    sb.append("src_tuple_id:");
    sb.append(this.src_tuple_id);
    first = false;
    if (!first) sb.append(", ");
    sb.append("src_slot_ids:");
    if (this.src_slot_ids == null) {
      sb.append("null");
    } else {
      sb.append(this.src_slot_ids);
    }
    first = false;
    if (!first) sb.append(", ");
    sb.append("dest_tuple_id:");
    sb.append(this.dest_tuple_id);
    first = false;
    if (isSetExprOfDestSlot()) {
      if (!first) sb.append(", ");
      sb.append("expr_of_dest_slot:");
      if (this.expr_of_dest_slot == null) {
        sb.append("null");
      } else {
        sb.append(this.expr_of_dest_slot);
      }
      first = false;
    }
    if (isSetProperties()) {
      if (!first) sb.append(", ");
      sb.append("properties:");
      if (this.properties == null) {
        sb.append("null");
      } else {
        sb.append(this.properties);
      }
      first = false;
    }
    if (isSetPartitionIds()) {
      if (!first) sb.append(", ");
      sb.append("partition_ids:");
      if (this.partition_ids == null) {
        sb.append("null");
      } else {
        sb.append(this.partition_ids);
      }
      first = false;
    }
    if (isSetDestSidToSrcSidWithoutTrans()) {
      if (!first) sb.append(", ");
      sb.append("dest_sid_to_src_sid_without_trans:");
      if (this.dest_sid_to_src_sid_without_trans == null) {
        sb.append("null");
      } else {
        sb.append(this.dest_sid_to_src_sid_without_trans);
      }
      first = false;
    }
    if (isSetStrictMode()) {
      if (!first) sb.append(", ");
      sb.append("strict_mode:");
      sb.append(this.strict_mode);
      first = false;
    }
    if (isSetColumnSeparatorLength()) {
      if (!first) sb.append(", ");
      sb.append("column_separator_length:");
      sb.append(this.column_separator_length);
      first = false;
    }
    if (isSetLineDelimiterLength()) {
      if (!first) sb.append(", ");
      sb.append("line_delimiter_length:");
      sb.append(this.line_delimiter_length);
      first = false;
    }
    if (isSetColumnSeparatorStr()) {
      if (!first) sb.append(", ");
      sb.append("column_separator_str:");
      if (this.column_separator_str == null) {
        sb.append("null");
      } else {
        sb.append(this.column_separator_str);
      }
      first = false;
    }
    if (isSetLineDelimiterStr()) {
      if (!first) sb.append(", ");
      sb.append("line_delimiter_str:");
      if (this.line_delimiter_str == null) {
        sb.append("null");
      } else {
        sb.append(this.line_delimiter_str);
      }
      first = false;
    }
    if (isSetTrimDoubleQuotes()) {
      if (!first) sb.append(", ");
      sb.append("trim_double_quotes:");
      sb.append(this.trim_double_quotes);
      first = false;
    }
    sb.append(")");
    return sb.toString();
  }

  public void validate() throws org.apache.thrift.TException {
    // check for required fields
    // alas, we cannot check 'column_separator' because it's a primitive and you chose the non-beans generator.
    // alas, we cannot check 'line_delimiter' because it's a primitive and you chose the non-beans generator.
    // alas, we cannot check 'src_tuple_id' because it's a primitive and you chose the non-beans generator.
    if (src_slot_ids == null) {
      throw new org.apache.thrift.protocol.TProtocolException("Required field 'src_slot_ids' was not present! Struct: " + toString());
    }
    // alas, we cannot check 'dest_tuple_id' because it's a primitive and you chose the non-beans generator.
    // check for sub-struct validity
  }

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

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

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

  private static class TBrokerScanRangeParamsStandardScheme extends org.apache.thrift.scheme.StandardScheme<TBrokerScanRangeParams> {

    public void read(org.apache.thrift.protocol.TProtocol iprot, TBrokerScanRangeParams 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: // COLUMN_SEPARATOR
            if (schemeField.type == org.apache.thrift.protocol.TType.BYTE) {
              struct.column_separator = iprot.readByte();
              struct.setColumnSeparatorIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // LINE_DELIMITER
            if (schemeField.type == org.apache.thrift.protocol.TType.BYTE) {
              struct.line_delimiter = iprot.readByte();
              struct.setLineDelimiterIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // SRC_TUPLE_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.src_tuple_id = iprot.readI32();
              struct.setSrcTupleIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // SRC_SLOT_IDS
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list32 = iprot.readListBegin();
                struct.src_slot_ids = new java.util.ArrayList<java.lang.Integer>(_list32.size);
                int _elem33;
                for (int _i34 = 0; _i34 < _list32.size; ++_i34)
                {
                  _elem33 = iprot.readI32();
                  struct.src_slot_ids.add(_elem33);
                }
                iprot.readListEnd();
              }
              struct.setSrcSlotIdsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // DEST_TUPLE_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.dest_tuple_id = iprot.readI32();
              struct.setDestTupleIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // EXPR_OF_DEST_SLOT
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map35 = iprot.readMapBegin();
                struct.expr_of_dest_slot = new java.util.HashMap<java.lang.Integer,org.apache.doris.thrift.TExpr>(2*_map35.size);
                int _key36;
                @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TExpr _val37;
                for (int _i38 = 0; _i38 < _map35.size; ++_i38)
                {
                  _key36 = iprot.readI32();
                  _val37 = new org.apache.doris.thrift.TExpr();
                  _val37.read(iprot);
                  struct.expr_of_dest_slot.put(_key36, _val37);
                }
                iprot.readMapEnd();
              }
              struct.setExprOfDestSlotIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // PROPERTIES
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map39 = iprot.readMapBegin();
                struct.properties = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map39.size);
                @org.apache.thrift.annotation.Nullable java.lang.String _key40;
                @org.apache.thrift.annotation.Nullable java.lang.String _val41;
                for (int _i42 = 0; _i42 < _map39.size; ++_i42)
                {
                  _key40 = iprot.readString();
                  _val41 = iprot.readString();
                  struct.properties.put(_key40, _val41);
                }
                iprot.readMapEnd();
              }
              struct.setPropertiesIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // PARTITION_IDS
            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
              {
                org.apache.thrift.protocol.TList _list43 = iprot.readListBegin();
                struct.partition_ids = new java.util.ArrayList<java.lang.Long>(_list43.size);
                long _elem44;
                for (int _i45 = 0; _i45 < _list43.size; ++_i45)
                {
                  _elem44 = iprot.readI64();
                  struct.partition_ids.add(_elem44);
                }
                iprot.readListEnd();
              }
              struct.setPartitionIdsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // DEST_SID_TO_SRC_SID_WITHOUT_TRANS
            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
              {
                org.apache.thrift.protocol.TMap _map46 = iprot.readMapBegin();
                struct.dest_sid_to_src_sid_without_trans = new java.util.HashMap<java.lang.Integer,java.lang.Integer>(2*_map46.size);
                int _key47;
                int _val48;
                for (int _i49 = 0; _i49 < _map46.size; ++_i49)
                {
                  _key47 = iprot.readI32();
                  _val48 = iprot.readI32();
                  struct.dest_sid_to_src_sid_without_trans.put(_key47, _val48);
                }
                iprot.readMapEnd();
              }
              struct.setDestSidToSrcSidWithoutTransIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 10: // STRICT_MODE
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.strict_mode = iprot.readBool();
              struct.setStrictModeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 11: // COLUMN_SEPARATOR_LENGTH
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.column_separator_length = iprot.readI32();
              struct.setColumnSeparatorLengthIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 12: // LINE_DELIMITER_LENGTH
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.line_delimiter_length = iprot.readI32();
              struct.setLineDelimiterLengthIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 13: // COLUMN_SEPARATOR_STR
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.column_separator_str = iprot.readString();
              struct.setColumnSeparatorStrIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 14: // LINE_DELIMITER_STR
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.line_delimiter_str = iprot.readString();
              struct.setLineDelimiterStrIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 15: // TRIM_DOUBLE_QUOTES
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.trim_double_quotes = iprot.readBool();
              struct.setTrimDoubleQuotesIsSet(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
      if (!struct.isSetColumnSeparator()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'column_separator' was not found in serialized data! Struct: " + toString());
      }
      if (!struct.isSetLineDelimiter()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'line_delimiter' was not found in serialized data! Struct: " + toString());
      }
      if (!struct.isSetSrcTupleId()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'src_tuple_id' was not found in serialized data! Struct: " + toString());
      }
      if (!struct.isSetDestTupleId()) {
        throw new org.apache.thrift.protocol.TProtocolException("Required field 'dest_tuple_id' was not found in serialized data! Struct: " + toString());
      }
      struct.validate();
    }

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

      oprot.writeStructBegin(STRUCT_DESC);
      oprot.writeFieldBegin(COLUMN_SEPARATOR_FIELD_DESC);
      oprot.writeByte(struct.column_separator);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(LINE_DELIMITER_FIELD_DESC);
      oprot.writeByte(struct.line_delimiter);
      oprot.writeFieldEnd();
      oprot.writeFieldBegin(SRC_TUPLE_ID_FIELD_DESC);
      oprot.writeI32(struct.src_tuple_id);
      oprot.writeFieldEnd();
      if (struct.src_slot_ids != null) {
        oprot.writeFieldBegin(SRC_SLOT_IDS_FIELD_DESC);
        {
          oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, struct.src_slot_ids.size()));
          for (int _iter50 : struct.src_slot_ids)
          {
            oprot.writeI32(_iter50);
          }
          oprot.writeListEnd();
        }
        oprot.writeFieldEnd();
      }
      oprot.writeFieldBegin(DEST_TUPLE_ID_FIELD_DESC);
      oprot.writeI32(struct.dest_tuple_id);
      oprot.writeFieldEnd();
      if (struct.expr_of_dest_slot != null) {
        if (struct.isSetExprOfDestSlot()) {
          oprot.writeFieldBegin(EXPR_OF_DEST_SLOT_FIELD_DESC);
          {
            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRUCT, struct.expr_of_dest_slot.size()));
            for (java.util.Map.Entry<java.lang.Integer, org.apache.doris.thrift.TExpr> _iter51 : struct.expr_of_dest_slot.entrySet())
            {
              oprot.writeI32(_iter51.getKey());
              _iter51.getValue().write(oprot);
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.properties != null) {
        if (struct.isSetProperties()) {
          oprot.writeFieldBegin(PROPERTIES_FIELD_DESC);
          {
            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.properties.size()));
            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter52 : struct.properties.entrySet())
            {
              oprot.writeString(_iter52.getKey());
              oprot.writeString(_iter52.getValue());
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.partition_ids != null) {
        if (struct.isSetPartitionIds()) {
          oprot.writeFieldBegin(PARTITION_IDS_FIELD_DESC);
          {
            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I64, struct.partition_ids.size()));
            for (long _iter53 : struct.partition_ids)
            {
              oprot.writeI64(_iter53);
            }
            oprot.writeListEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.dest_sid_to_src_sid_without_trans != null) {
        if (struct.isSetDestSidToSrcSidWithoutTrans()) {
          oprot.writeFieldBegin(DEST_SID_TO_SRC_SID_WITHOUT_TRANS_FIELD_DESC);
          {
            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.I32, struct.dest_sid_to_src_sid_without_trans.size()));
            for (java.util.Map.Entry<java.lang.Integer, java.lang.Integer> _iter54 : struct.dest_sid_to_src_sid_without_trans.entrySet())
            {
              oprot.writeI32(_iter54.getKey());
              oprot.writeI32(_iter54.getValue());
            }
            oprot.writeMapEnd();
          }
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetStrictMode()) {
        oprot.writeFieldBegin(STRICT_MODE_FIELD_DESC);
        oprot.writeBool(struct.strict_mode);
        oprot.writeFieldEnd();
      }
      if (struct.isSetColumnSeparatorLength()) {
        oprot.writeFieldBegin(COLUMN_SEPARATOR_LENGTH_FIELD_DESC);
        oprot.writeI32(struct.column_separator_length);
        oprot.writeFieldEnd();
      }
      if (struct.isSetLineDelimiterLength()) {
        oprot.writeFieldBegin(LINE_DELIMITER_LENGTH_FIELD_DESC);
        oprot.writeI32(struct.line_delimiter_length);
        oprot.writeFieldEnd();
      }
      if (struct.column_separator_str != null) {
        if (struct.isSetColumnSeparatorStr()) {
          oprot.writeFieldBegin(COLUMN_SEPARATOR_STR_FIELD_DESC);
          oprot.writeString(struct.column_separator_str);
          oprot.writeFieldEnd();
        }
      }
      if (struct.line_delimiter_str != null) {
        if (struct.isSetLineDelimiterStr()) {
          oprot.writeFieldBegin(LINE_DELIMITER_STR_FIELD_DESC);
          oprot.writeString(struct.line_delimiter_str);
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetTrimDoubleQuotes()) {
        oprot.writeFieldBegin(TRIM_DOUBLE_QUOTES_FIELD_DESC);
        oprot.writeBool(struct.trim_double_quotes);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

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

  private static class TBrokerScanRangeParamsTupleScheme extends org.apache.thrift.scheme.TupleScheme<TBrokerScanRangeParams> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, TBrokerScanRangeParams struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      oprot.writeByte(struct.column_separator);
      oprot.writeByte(struct.line_delimiter);
      oprot.writeI32(struct.src_tuple_id);
      {
        oprot.writeI32(struct.src_slot_ids.size());
        for (int _iter55 : struct.src_slot_ids)
        {
          oprot.writeI32(_iter55);
        }
      }
      oprot.writeI32(struct.dest_tuple_id);
      java.util.BitSet optionals = new java.util.BitSet();
      if (struct.isSetExprOfDestSlot()) {
        optionals.set(0);
      }
      if (struct.isSetProperties()) {
        optionals.set(1);
      }
      if (struct.isSetPartitionIds()) {
        optionals.set(2);
      }
      if (struct.isSetDestSidToSrcSidWithoutTrans()) {
        optionals.set(3);
      }
      if (struct.isSetStrictMode()) {
        optionals.set(4);
      }
      if (struct.isSetColumnSeparatorLength()) {
        optionals.set(5);
      }
      if (struct.isSetLineDelimiterLength()) {
        optionals.set(6);
      }
      if (struct.isSetColumnSeparatorStr()) {
        optionals.set(7);
      }
      if (struct.isSetLineDelimiterStr()) {
        optionals.set(8);
      }
      if (struct.isSetTrimDoubleQuotes()) {
        optionals.set(9);
      }
      oprot.writeBitSet(optionals, 10);
      if (struct.isSetExprOfDestSlot()) {
        {
          oprot.writeI32(struct.expr_of_dest_slot.size());
          for (java.util.Map.Entry<java.lang.Integer, org.apache.doris.thrift.TExpr> _iter56 : struct.expr_of_dest_slot.entrySet())
          {
            oprot.writeI32(_iter56.getKey());
            _iter56.getValue().write(oprot);
          }
        }
      }
      if (struct.isSetProperties()) {
        {
          oprot.writeI32(struct.properties.size());
          for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter57 : struct.properties.entrySet())
          {
            oprot.writeString(_iter57.getKey());
            oprot.writeString(_iter57.getValue());
          }
        }
      }
      if (struct.isSetPartitionIds()) {
        {
          oprot.writeI32(struct.partition_ids.size());
          for (long _iter58 : struct.partition_ids)
          {
            oprot.writeI64(_iter58);
          }
        }
      }
      if (struct.isSetDestSidToSrcSidWithoutTrans()) {
        {
          oprot.writeI32(struct.dest_sid_to_src_sid_without_trans.size());
          for (java.util.Map.Entry<java.lang.Integer, java.lang.Integer> _iter59 : struct.dest_sid_to_src_sid_without_trans.entrySet())
          {
            oprot.writeI32(_iter59.getKey());
            oprot.writeI32(_iter59.getValue());
          }
        }
      }
      if (struct.isSetStrictMode()) {
        oprot.writeBool(struct.strict_mode);
      }
      if (struct.isSetColumnSeparatorLength()) {
        oprot.writeI32(struct.column_separator_length);
      }
      if (struct.isSetLineDelimiterLength()) {
        oprot.writeI32(struct.line_delimiter_length);
      }
      if (struct.isSetColumnSeparatorStr()) {
        oprot.writeString(struct.column_separator_str);
      }
      if (struct.isSetLineDelimiterStr()) {
        oprot.writeString(struct.line_delimiter_str);
      }
      if (struct.isSetTrimDoubleQuotes()) {
        oprot.writeBool(struct.trim_double_quotes);
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, TBrokerScanRangeParams struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      struct.column_separator = iprot.readByte();
      struct.setColumnSeparatorIsSet(true);
      struct.line_delimiter = iprot.readByte();
      struct.setLineDelimiterIsSet(true);
      struct.src_tuple_id = iprot.readI32();
      struct.setSrcTupleIdIsSet(true);
      {
        org.apache.thrift.protocol.TList _list60 = iprot.readListBegin(org.apache.thrift.protocol.TType.I32);
        struct.src_slot_ids = new java.util.ArrayList<java.lang.Integer>(_list60.size);
        int _elem61;
        for (int _i62 = 0; _i62 < _list60.size; ++_i62)
        {
          _elem61 = iprot.readI32();
          struct.src_slot_ids.add(_elem61);
        }
      }
      struct.setSrcSlotIdsIsSet(true);
      struct.dest_tuple_id = iprot.readI32();
      struct.setDestTupleIdIsSet(true);
      java.util.BitSet incoming = iprot.readBitSet(10);
      if (incoming.get(0)) {
        {
          org.apache.thrift.protocol.TMap _map63 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRUCT); 
          struct.expr_of_dest_slot = new java.util.HashMap<java.lang.Integer,org.apache.doris.thrift.TExpr>(2*_map63.size);
          int _key64;
          @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TExpr _val65;
          for (int _i66 = 0; _i66 < _map63.size; ++_i66)
          {
            _key64 = iprot.readI32();
            _val65 = new org.apache.doris.thrift.TExpr();
            _val65.read(iprot);
            struct.expr_of_dest_slot.put(_key64, _val65);
          }
        }
        struct.setExprOfDestSlotIsSet(true);
      }
      if (incoming.get(1)) {
        {
          org.apache.thrift.protocol.TMap _map67 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
          struct.properties = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map67.size);
          @org.apache.thrift.annotation.Nullable java.lang.String _key68;
          @org.apache.thrift.annotation.Nullable java.lang.String _val69;
          for (int _i70 = 0; _i70 < _map67.size; ++_i70)
          {
            _key68 = iprot.readString();
            _val69 = iprot.readString();
            struct.properties.put(_key68, _val69);
          }
        }
        struct.setPropertiesIsSet(true);
      }
      if (incoming.get(2)) {
        {
          org.apache.thrift.protocol.TList _list71 = iprot.readListBegin(org.apache.thrift.protocol.TType.I64);
          struct.partition_ids = new java.util.ArrayList<java.lang.Long>(_list71.size);
          long _elem72;
          for (int _i73 = 0; _i73 < _list71.size; ++_i73)
          {
            _elem72 = iprot.readI64();
            struct.partition_ids.add(_elem72);
          }
        }
        struct.setPartitionIdsIsSet(true);
      }
      if (incoming.get(3)) {
        {
          org.apache.thrift.protocol.TMap _map74 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.I32); 
          struct.dest_sid_to_src_sid_without_trans = new java.util.HashMap<java.lang.Integer,java.lang.Integer>(2*_map74.size);
          int _key75;
          int _val76;
          for (int _i77 = 0; _i77 < _map74.size; ++_i77)
          {
            _key75 = iprot.readI32();
            _val76 = iprot.readI32();
            struct.dest_sid_to_src_sid_without_trans.put(_key75, _val76);
          }
        }
        struct.setDestSidToSrcSidWithoutTransIsSet(true);
      }
      if (incoming.get(4)) {
        struct.strict_mode = iprot.readBool();
        struct.setStrictModeIsSet(true);
      }
      if (incoming.get(5)) {
        struct.column_separator_length = iprot.readI32();
        struct.setColumnSeparatorLengthIsSet(true);
      }
      if (incoming.get(6)) {
        struct.line_delimiter_length = iprot.readI32();
        struct.setLineDelimiterLengthIsSet(true);
      }
      if (incoming.get(7)) {
        struct.column_separator_str = iprot.readString();
        struct.setColumnSeparatorStrIsSet(true);
      }
      if (incoming.get(8)) {
        struct.line_delimiter_str = iprot.readString();
        struct.setLineDelimiterStrIsSet(true);
      }
      if (incoming.get(9)) {
        struct.trim_double_quotes = iprot.readBool();
        struct.setTrimDoubleQuotesIsSet(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();
  }
}