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

  private static final org.apache.thrift.protocol.TField NEED_TXN_FIELD_DESC = new org.apache.thrift.protocol.TField("need_txn", org.apache.thrift.protocol.TType.BOOL, (short)1);
  private static final org.apache.thrift.protocol.TField TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("token", org.apache.thrift.protocol.TType.STRING, (short)2);
  private static final org.apache.thrift.protocol.TField THRIFT_RPC_TIMEOUT_MS_FIELD_DESC = new org.apache.thrift.protocol.TField("thrift_rpc_timeout_ms", org.apache.thrift.protocol.TType.I64, (short)3);
  private static final org.apache.thrift.protocol.TField DB_FIELD_DESC = new org.apache.thrift.protocol.TField("db", org.apache.thrift.protocol.TType.STRING, (short)4);
  private static final org.apache.thrift.protocol.TField TBL_FIELD_DESC = new org.apache.thrift.protocol.TField("tbl", org.apache.thrift.protocol.TType.STRING, (short)5);
  private static final org.apache.thrift.protocol.TField USER_IP_FIELD_DESC = new org.apache.thrift.protocol.TField("user_ip", org.apache.thrift.protocol.TType.STRING, (short)6);
  private static final org.apache.thrift.protocol.TField TXN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("txn_id", org.apache.thrift.protocol.TType.I64, (short)7);
  private static final org.apache.thrift.protocol.TField FRAGMENT_INSTANCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("fragment_instance_id", org.apache.thrift.protocol.TType.STRUCT, (short)8);
  private static final org.apache.thrift.protocol.TField DB_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("db_id", org.apache.thrift.protocol.TType.I64, (short)9);
  private static final org.apache.thrift.protocol.TField MAX_FILTER_RATIO_FIELD_DESC = new org.apache.thrift.protocol.TField("max_filter_ratio", org.apache.thrift.protocol.TType.DOUBLE, (short)10);
  private static final org.apache.thrift.protocol.TField ENABLE_PIPELINE_TXN_LOAD_FIELD_DESC = new org.apache.thrift.protocol.TField("enable_pipeline_txn_load", org.apache.thrift.protocol.TType.BOOL, (short)11);

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

  public boolean need_txn; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String token; // optional
  public long thrift_rpc_timeout_ms; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String db; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String tbl; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String user_ip; // optional
  public long txn_id; // optional
  public @org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TUniqueId fragment_instance_id; // optional
  public long db_id; // optional
  public double max_filter_ratio; // optional
  public boolean enable_pipeline_txn_load; // 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 {
    NEED_TXN((short)1, "need_txn"),
    TOKEN((short)2, "token"),
    THRIFT_RPC_TIMEOUT_MS((short)3, "thrift_rpc_timeout_ms"),
    DB((short)4, "db"),
    TBL((short)5, "tbl"),
    USER_IP((short)6, "user_ip"),
    TXN_ID((short)7, "txn_id"),
    FRAGMENT_INSTANCE_ID((short)8, "fragment_instance_id"),
    DB_ID((short)9, "db_id"),
    MAX_FILTER_RATIO((short)10, "max_filter_ratio"),
    ENABLE_PIPELINE_TXN_LOAD((short)11, "enable_pipeline_txn_load");

    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: // NEED_TXN
          return NEED_TXN;
        case 2: // TOKEN
          return TOKEN;
        case 3: // THRIFT_RPC_TIMEOUT_MS
          return THRIFT_RPC_TIMEOUT_MS;
        case 4: // DB
          return DB;
        case 5: // TBL
          return TBL;
        case 6: // USER_IP
          return USER_IP;
        case 7: // TXN_ID
          return TXN_ID;
        case 8: // FRAGMENT_INSTANCE_ID
          return FRAGMENT_INSTANCE_ID;
        case 9: // DB_ID
          return DB_ID;
        case 10: // MAX_FILTER_RATIO
          return MAX_FILTER_RATIO;
        case 11: // ENABLE_PIPELINE_TXN_LOAD
          return ENABLE_PIPELINE_TXN_LOAD;
        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 __NEED_TXN_ISSET_ID = 0;
  private static final int __THRIFT_RPC_TIMEOUT_MS_ISSET_ID = 1;
  private static final int __TXN_ID_ISSET_ID = 2;
  private static final int __DB_ID_ISSET_ID = 3;
  private static final int __MAX_FILTER_RATIO_ISSET_ID = 4;
  private static final int __ENABLE_PIPELINE_TXN_LOAD_ISSET_ID = 5;
  private byte __isset_bitfield = 0;
  private static final _Fields optionals[] = {_Fields.NEED_TXN,_Fields.TOKEN,_Fields.THRIFT_RPC_TIMEOUT_MS,_Fields.DB,_Fields.TBL,_Fields.USER_IP,_Fields.TXN_ID,_Fields.FRAGMENT_INSTANCE_ID,_Fields.DB_ID,_Fields.MAX_FILTER_RATIO,_Fields.ENABLE_PIPELINE_TXN_LOAD};
  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.NEED_TXN, new org.apache.thrift.meta_data.FieldMetaData("need_txn", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.TOKEN, new org.apache.thrift.meta_data.FieldMetaData("token", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.THRIFT_RPC_TIMEOUT_MS, new org.apache.thrift.meta_data.FieldMetaData("thrift_rpc_timeout_ms", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.DB, new org.apache.thrift.meta_data.FieldMetaData("db", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.TBL, new org.apache.thrift.meta_data.FieldMetaData("tbl", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.USER_IP, new org.apache.thrift.meta_data.FieldMetaData("user_ip", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.TXN_ID, new org.apache.thrift.meta_data.FieldMetaData("txn_id", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.FRAGMENT_INSTANCE_ID, new org.apache.thrift.meta_data.FieldMetaData("fragment_instance_id", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.doris.thrift.TUniqueId.class)));
    tmpMap.put(_Fields.DB_ID, new org.apache.thrift.meta_data.FieldMetaData("db_id", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.MAX_FILTER_RATIO, new org.apache.thrift.meta_data.FieldMetaData("max_filter_ratio", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
    tmpMap.put(_Fields.ENABLE_PIPELINE_TXN_LOAD, new org.apache.thrift.meta_data.FieldMetaData("enable_pipeline_txn_load", 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(TTxnParams.class, metaDataMap);
  }

  public TTxnParams() {
    this.enable_pipeline_txn_load = true;

  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public TTxnParams(TTxnParams other) {
    __isset_bitfield = other.__isset_bitfield;
    this.need_txn = other.need_txn;
    if (other.isSetToken()) {
      this.token = other.token;
    }
    this.thrift_rpc_timeout_ms = other.thrift_rpc_timeout_ms;
    if (other.isSetDb()) {
      this.db = other.db;
    }
    if (other.isSetTbl()) {
      this.tbl = other.tbl;
    }
    if (other.isSetUserIp()) {
      this.user_ip = other.user_ip;
    }
    this.txn_id = other.txn_id;
    if (other.isSetFragmentInstanceId()) {
      this.fragment_instance_id = new org.apache.doris.thrift.TUniqueId(other.fragment_instance_id);
    }
    this.db_id = other.db_id;
    this.max_filter_ratio = other.max_filter_ratio;
    this.enable_pipeline_txn_load = other.enable_pipeline_txn_load;
  }

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

  @Override
  public void clear() {
    setNeedTxnIsSet(false);
    this.need_txn = false;
    this.token = null;
    setThriftRpcTimeoutMsIsSet(false);
    this.thrift_rpc_timeout_ms = 0;
    this.db = null;
    this.tbl = null;
    this.user_ip = null;
    setTxnIdIsSet(false);
    this.txn_id = 0;
    this.fragment_instance_id = null;
    setDbIdIsSet(false);
    this.db_id = 0;
    setMaxFilterRatioIsSet(false);
    this.max_filter_ratio = 0.0;
    this.enable_pipeline_txn_load = true;

  }

  public boolean isNeedTxn() {
    return this.need_txn;
  }

  public TTxnParams setNeedTxn(boolean need_txn) {
    this.need_txn = need_txn;
    setNeedTxnIsSet(true);
    return this;
  }

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

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

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

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

  public TTxnParams setToken(@org.apache.thrift.annotation.Nullable java.lang.String token) {
    this.token = token;
    return this;
  }

  public void unsetToken() {
    this.token = null;
  }

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

  public void setTokenIsSet(boolean value) {
    if (!value) {
      this.token = null;
    }
  }

  public long getThriftRpcTimeoutMs() {
    return this.thrift_rpc_timeout_ms;
  }

  public TTxnParams setThriftRpcTimeoutMs(long thrift_rpc_timeout_ms) {
    this.thrift_rpc_timeout_ms = thrift_rpc_timeout_ms;
    setThriftRpcTimeoutMsIsSet(true);
    return this;
  }

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

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

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

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

  public TTxnParams setDb(@org.apache.thrift.annotation.Nullable java.lang.String db) {
    this.db = db;
    return this;
  }

  public void unsetDb() {
    this.db = null;
  }

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

  public void setDbIsSet(boolean value) {
    if (!value) {
      this.db = null;
    }
  }

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

  public TTxnParams setTbl(@org.apache.thrift.annotation.Nullable java.lang.String tbl) {
    this.tbl = tbl;
    return this;
  }

  public void unsetTbl() {
    this.tbl = null;
  }

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

  public void setTblIsSet(boolean value) {
    if (!value) {
      this.tbl = null;
    }
  }

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

  public TTxnParams setUserIp(@org.apache.thrift.annotation.Nullable java.lang.String user_ip) {
    this.user_ip = user_ip;
    return this;
  }

  public void unsetUserIp() {
    this.user_ip = null;
  }

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

  public void setUserIpIsSet(boolean value) {
    if (!value) {
      this.user_ip = null;
    }
  }

  public long getTxnId() {
    return this.txn_id;
  }

  public TTxnParams setTxnId(long txn_id) {
    this.txn_id = txn_id;
    setTxnIdIsSet(true);
    return this;
  }

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

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

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

  @org.apache.thrift.annotation.Nullable
  public org.apache.doris.thrift.TUniqueId getFragmentInstanceId() {
    return this.fragment_instance_id;
  }

  public TTxnParams setFragmentInstanceId(@org.apache.thrift.annotation.Nullable org.apache.doris.thrift.TUniqueId fragment_instance_id) {
    this.fragment_instance_id = fragment_instance_id;
    return this;
  }

  public void unsetFragmentInstanceId() {
    this.fragment_instance_id = null;
  }

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

  public void setFragmentInstanceIdIsSet(boolean value) {
    if (!value) {
      this.fragment_instance_id = null;
    }
  }

  public long getDbId() {
    return this.db_id;
  }

  public TTxnParams setDbId(long db_id) {
    this.db_id = db_id;
    setDbIdIsSet(true);
    return this;
  }

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

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

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

  public double getMaxFilterRatio() {
    return this.max_filter_ratio;
  }

  public TTxnParams setMaxFilterRatio(double max_filter_ratio) {
    this.max_filter_ratio = max_filter_ratio;
    setMaxFilterRatioIsSet(true);
    return this;
  }

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

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

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

  public boolean isEnablePipelineTxnLoad() {
    return this.enable_pipeline_txn_load;
  }

  public TTxnParams setEnablePipelineTxnLoad(boolean enable_pipeline_txn_load) {
    this.enable_pipeline_txn_load = enable_pipeline_txn_load;
    setEnablePipelineTxnLoadIsSet(true);
    return this;
  }

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

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

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

  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
    switch (field) {
    case NEED_TXN:
      if (value == null) {
        unsetNeedTxn();
      } else {
        setNeedTxn((java.lang.Boolean)value);
      }
      break;

    case TOKEN:
      if (value == null) {
        unsetToken();
      } else {
        setToken((java.lang.String)value);
      }
      break;

    case THRIFT_RPC_TIMEOUT_MS:
      if (value == null) {
        unsetThriftRpcTimeoutMs();
      } else {
        setThriftRpcTimeoutMs((java.lang.Long)value);
      }
      break;

    case DB:
      if (value == null) {
        unsetDb();
      } else {
        setDb((java.lang.String)value);
      }
      break;

    case TBL:
      if (value == null) {
        unsetTbl();
      } else {
        setTbl((java.lang.String)value);
      }
      break;

    case USER_IP:
      if (value == null) {
        unsetUserIp();
      } else {
        setUserIp((java.lang.String)value);
      }
      break;

    case TXN_ID:
      if (value == null) {
        unsetTxnId();
      } else {
        setTxnId((java.lang.Long)value);
      }
      break;

    case FRAGMENT_INSTANCE_ID:
      if (value == null) {
        unsetFragmentInstanceId();
      } else {
        setFragmentInstanceId((org.apache.doris.thrift.TUniqueId)value);
      }
      break;

    case DB_ID:
      if (value == null) {
        unsetDbId();
      } else {
        setDbId((java.lang.Long)value);
      }
      break;

    case MAX_FILTER_RATIO:
      if (value == null) {
        unsetMaxFilterRatio();
      } else {
        setMaxFilterRatio((java.lang.Double)value);
      }
      break;

    case ENABLE_PIPELINE_TXN_LOAD:
      if (value == null) {
        unsetEnablePipelineTxnLoad();
      } else {
        setEnablePipelineTxnLoad((java.lang.Boolean)value);
      }
      break;

    }
  }

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

    case TOKEN:
      return getToken();

    case THRIFT_RPC_TIMEOUT_MS:
      return getThriftRpcTimeoutMs();

    case DB:
      return getDb();

    case TBL:
      return getTbl();

    case USER_IP:
      return getUserIp();

    case TXN_ID:
      return getTxnId();

    case FRAGMENT_INSTANCE_ID:
      return getFragmentInstanceId();

    case DB_ID:
      return getDbId();

    case MAX_FILTER_RATIO:
      return getMaxFilterRatio();

    case ENABLE_PIPELINE_TXN_LOAD:
      return isEnablePipelineTxnLoad();

    }
    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 NEED_TXN:
      return isSetNeedTxn();
    case TOKEN:
      return isSetToken();
    case THRIFT_RPC_TIMEOUT_MS:
      return isSetThriftRpcTimeoutMs();
    case DB:
      return isSetDb();
    case TBL:
      return isSetTbl();
    case USER_IP:
      return isSetUserIp();
    case TXN_ID:
      return isSetTxnId();
    case FRAGMENT_INSTANCE_ID:
      return isSetFragmentInstanceId();
    case DB_ID:
      return isSetDbId();
    case MAX_FILTER_RATIO:
      return isSetMaxFilterRatio();
    case ENABLE_PIPELINE_TXN_LOAD:
      return isSetEnablePipelineTxnLoad();
    }
    throw new java.lang.IllegalStateException();
  }

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

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

    boolean this_present_need_txn = true && this.isSetNeedTxn();
    boolean that_present_need_txn = true && that.isSetNeedTxn();
    if (this_present_need_txn || that_present_need_txn) {
      if (!(this_present_need_txn && that_present_need_txn))
        return false;
      if (this.need_txn != that.need_txn)
        return false;
    }

    boolean this_present_token = true && this.isSetToken();
    boolean that_present_token = true && that.isSetToken();
    if (this_present_token || that_present_token) {
      if (!(this_present_token && that_present_token))
        return false;
      if (!this.token.equals(that.token))
        return false;
    }

    boolean this_present_thrift_rpc_timeout_ms = true && this.isSetThriftRpcTimeoutMs();
    boolean that_present_thrift_rpc_timeout_ms = true && that.isSetThriftRpcTimeoutMs();
    if (this_present_thrift_rpc_timeout_ms || that_present_thrift_rpc_timeout_ms) {
      if (!(this_present_thrift_rpc_timeout_ms && that_present_thrift_rpc_timeout_ms))
        return false;
      if (this.thrift_rpc_timeout_ms != that.thrift_rpc_timeout_ms)
        return false;
    }

    boolean this_present_db = true && this.isSetDb();
    boolean that_present_db = true && that.isSetDb();
    if (this_present_db || that_present_db) {
      if (!(this_present_db && that_present_db))
        return false;
      if (!this.db.equals(that.db))
        return false;
    }

    boolean this_present_tbl = true && this.isSetTbl();
    boolean that_present_tbl = true && that.isSetTbl();
    if (this_present_tbl || that_present_tbl) {
      if (!(this_present_tbl && that_present_tbl))
        return false;
      if (!this.tbl.equals(that.tbl))
        return false;
    }

    boolean this_present_user_ip = true && this.isSetUserIp();
    boolean that_present_user_ip = true && that.isSetUserIp();
    if (this_present_user_ip || that_present_user_ip) {
      if (!(this_present_user_ip && that_present_user_ip))
        return false;
      if (!this.user_ip.equals(that.user_ip))
        return false;
    }

    boolean this_present_txn_id = true && this.isSetTxnId();
    boolean that_present_txn_id = true && that.isSetTxnId();
    if (this_present_txn_id || that_present_txn_id) {
      if (!(this_present_txn_id && that_present_txn_id))
        return false;
      if (this.txn_id != that.txn_id)
        return false;
    }

    boolean this_present_fragment_instance_id = true && this.isSetFragmentInstanceId();
    boolean that_present_fragment_instance_id = true && that.isSetFragmentInstanceId();
    if (this_present_fragment_instance_id || that_present_fragment_instance_id) {
      if (!(this_present_fragment_instance_id && that_present_fragment_instance_id))
        return false;
      if (!this.fragment_instance_id.equals(that.fragment_instance_id))
        return false;
    }

    boolean this_present_db_id = true && this.isSetDbId();
    boolean that_present_db_id = true && that.isSetDbId();
    if (this_present_db_id || that_present_db_id) {
      if (!(this_present_db_id && that_present_db_id))
        return false;
      if (this.db_id != that.db_id)
        return false;
    }

    boolean this_present_max_filter_ratio = true && this.isSetMaxFilterRatio();
    boolean that_present_max_filter_ratio = true && that.isSetMaxFilterRatio();
    if (this_present_max_filter_ratio || that_present_max_filter_ratio) {
      if (!(this_present_max_filter_ratio && that_present_max_filter_ratio))
        return false;
      if (this.max_filter_ratio != that.max_filter_ratio)
        return false;
    }

    boolean this_present_enable_pipeline_txn_load = true && this.isSetEnablePipelineTxnLoad();
    boolean that_present_enable_pipeline_txn_load = true && that.isSetEnablePipelineTxnLoad();
    if (this_present_enable_pipeline_txn_load || that_present_enable_pipeline_txn_load) {
      if (!(this_present_enable_pipeline_txn_load && that_present_enable_pipeline_txn_load))
        return false;
      if (this.enable_pipeline_txn_load != that.enable_pipeline_txn_load)
        return false;
    }

    return true;
  }

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

    hashCode = hashCode * 8191 + ((isSetNeedTxn()) ? 131071 : 524287);
    if (isSetNeedTxn())
      hashCode = hashCode * 8191 + ((need_txn) ? 131071 : 524287);

    hashCode = hashCode * 8191 + ((isSetToken()) ? 131071 : 524287);
    if (isSetToken())
      hashCode = hashCode * 8191 + token.hashCode();

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

    hashCode = hashCode * 8191 + ((isSetDb()) ? 131071 : 524287);
    if (isSetDb())
      hashCode = hashCode * 8191 + db.hashCode();

    hashCode = hashCode * 8191 + ((isSetTbl()) ? 131071 : 524287);
    if (isSetTbl())
      hashCode = hashCode * 8191 + tbl.hashCode();

    hashCode = hashCode * 8191 + ((isSetUserIp()) ? 131071 : 524287);
    if (isSetUserIp())
      hashCode = hashCode * 8191 + user_ip.hashCode();

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

    hashCode = hashCode * 8191 + ((isSetFragmentInstanceId()) ? 131071 : 524287);
    if (isSetFragmentInstanceId())
      hashCode = hashCode * 8191 + fragment_instance_id.hashCode();

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

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

    hashCode = hashCode * 8191 + ((isSetEnablePipelineTxnLoad()) ? 131071 : 524287);
    if (isSetEnablePipelineTxnLoad())
      hashCode = hashCode * 8191 + ((enable_pipeline_txn_load) ? 131071 : 524287);

    return hashCode;
  }

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

    int lastComparison = 0;

    lastComparison = java.lang.Boolean.compare(isSetNeedTxn(), other.isSetNeedTxn());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetNeedTxn()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.need_txn, other.need_txn);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetToken(), other.isSetToken());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetToken()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.token, other.token);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetThriftRpcTimeoutMs(), other.isSetThriftRpcTimeoutMs());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetThriftRpcTimeoutMs()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.thrift_rpc_timeout_ms, other.thrift_rpc_timeout_ms);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetDb(), other.isSetDb());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDb()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.db, other.db);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTbl(), other.isSetTbl());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTbl()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.tbl, other.tbl);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetUserIp(), other.isSetUserIp());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetUserIp()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.user_ip, other.user_ip);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTxnId(), other.isSetTxnId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTxnId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.txn_id, other.txn_id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetFragmentInstanceId(), other.isSetFragmentInstanceId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetFragmentInstanceId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.fragment_instance_id, other.fragment_instance_id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetDbId(), other.isSetDbId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDbId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.db_id, other.db_id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetMaxFilterRatio(), other.isSetMaxFilterRatio());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetMaxFilterRatio()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.max_filter_ratio, other.max_filter_ratio);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetEnablePipelineTxnLoad(), other.isSetEnablePipelineTxnLoad());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetEnablePipelineTxnLoad()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.enable_pipeline_txn_load, other.enable_pipeline_txn_load);
      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("TTxnParams(");
    boolean first = true;

    if (isSetNeedTxn()) {
      sb.append("need_txn:");
      sb.append(this.need_txn);
      first = false;
    }
    if (isSetToken()) {
      if (!first) sb.append(", ");
      sb.append("token:");
      if (this.token == null) {
        sb.append("null");
      } else {
        sb.append(this.token);
      }
      first = false;
    }
    if (isSetThriftRpcTimeoutMs()) {
      if (!first) sb.append(", ");
      sb.append("thrift_rpc_timeout_ms:");
      sb.append(this.thrift_rpc_timeout_ms);
      first = false;
    }
    if (isSetDb()) {
      if (!first) sb.append(", ");
      sb.append("db:");
      if (this.db == null) {
        sb.append("null");
      } else {
        sb.append(this.db);
      }
      first = false;
    }
    if (isSetTbl()) {
      if (!first) sb.append(", ");
      sb.append("tbl:");
      if (this.tbl == null) {
        sb.append("null");
      } else {
        sb.append(this.tbl);
      }
      first = false;
    }
    if (isSetUserIp()) {
      if (!first) sb.append(", ");
      sb.append("user_ip:");
      if (this.user_ip == null) {
        sb.append("null");
      } else {
        sb.append(this.user_ip);
      }
      first = false;
    }
    if (isSetTxnId()) {
      if (!first) sb.append(", ");
      sb.append("txn_id:");
      sb.append(this.txn_id);
      first = false;
    }
    if (isSetFragmentInstanceId()) {
      if (!first) sb.append(", ");
      sb.append("fragment_instance_id:");
      if (this.fragment_instance_id == null) {
        sb.append("null");
      } else {
        sb.append(this.fragment_instance_id);
      }
      first = false;
    }
    if (isSetDbId()) {
      if (!first) sb.append(", ");
      sb.append("db_id:");
      sb.append(this.db_id);
      first = false;
    }
    if (isSetMaxFilterRatio()) {
      if (!first) sb.append(", ");
      sb.append("max_filter_ratio:");
      sb.append(this.max_filter_ratio);
      first = false;
    }
    if (isSetEnablePipelineTxnLoad()) {
      if (!first) sb.append(", ");
      sb.append("enable_pipeline_txn_load:");
      sb.append(this.enable_pipeline_txn_load);
      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 (fragment_instance_id != null) {
      fragment_instance_id.validate();
    }
  }

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

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

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

  private static class TTxnParamsStandardScheme extends org.apache.thrift.scheme.StandardScheme<TTxnParams> {

    public void read(org.apache.thrift.protocol.TProtocol iprot, TTxnParams 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: // NEED_TXN
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.need_txn = iprot.readBool();
              struct.setNeedTxnIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // TOKEN
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.token = iprot.readString();
              struct.setTokenIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // THRIFT_RPC_TIMEOUT_MS
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.thrift_rpc_timeout_ms = iprot.readI64();
              struct.setThriftRpcTimeoutMsIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // DB
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.db = iprot.readString();
              struct.setDbIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // TBL
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.tbl = iprot.readString();
              struct.setTblIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // USER_IP
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.user_ip = iprot.readString();
              struct.setUserIpIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // TXN_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.txn_id = iprot.readI64();
              struct.setTxnIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // FRAGMENT_INSTANCE_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
              struct.fragment_instance_id = new org.apache.doris.thrift.TUniqueId();
              struct.fragment_instance_id.read(iprot);
              struct.setFragmentInstanceIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // DB_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.db_id = iprot.readI64();
              struct.setDbIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 10: // MAX_FILTER_RATIO
            if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
              struct.max_filter_ratio = iprot.readDouble();
              struct.setMaxFilterRatioIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 11: // ENABLE_PIPELINE_TXN_LOAD
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.enable_pipeline_txn_load = iprot.readBool();
              struct.setEnablePipelineTxnLoadIsSet(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, TTxnParams struct) throws org.apache.thrift.TException {
      struct.validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (struct.isSetNeedTxn()) {
        oprot.writeFieldBegin(NEED_TXN_FIELD_DESC);
        oprot.writeBool(struct.need_txn);
        oprot.writeFieldEnd();
      }
      if (struct.token != null) {
        if (struct.isSetToken()) {
          oprot.writeFieldBegin(TOKEN_FIELD_DESC);
          oprot.writeString(struct.token);
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetThriftRpcTimeoutMs()) {
        oprot.writeFieldBegin(THRIFT_RPC_TIMEOUT_MS_FIELD_DESC);
        oprot.writeI64(struct.thrift_rpc_timeout_ms);
        oprot.writeFieldEnd();
      }
      if (struct.db != null) {
        if (struct.isSetDb()) {
          oprot.writeFieldBegin(DB_FIELD_DESC);
          oprot.writeString(struct.db);
          oprot.writeFieldEnd();
        }
      }
      if (struct.tbl != null) {
        if (struct.isSetTbl()) {
          oprot.writeFieldBegin(TBL_FIELD_DESC);
          oprot.writeString(struct.tbl);
          oprot.writeFieldEnd();
        }
      }
      if (struct.user_ip != null) {
        if (struct.isSetUserIp()) {
          oprot.writeFieldBegin(USER_IP_FIELD_DESC);
          oprot.writeString(struct.user_ip);
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetTxnId()) {
        oprot.writeFieldBegin(TXN_ID_FIELD_DESC);
        oprot.writeI64(struct.txn_id);
        oprot.writeFieldEnd();
      }
      if (struct.fragment_instance_id != null) {
        if (struct.isSetFragmentInstanceId()) {
          oprot.writeFieldBegin(FRAGMENT_INSTANCE_ID_FIELD_DESC);
          struct.fragment_instance_id.write(oprot);
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetDbId()) {
        oprot.writeFieldBegin(DB_ID_FIELD_DESC);
        oprot.writeI64(struct.db_id);
        oprot.writeFieldEnd();
      }
      if (struct.isSetMaxFilterRatio()) {
        oprot.writeFieldBegin(MAX_FILTER_RATIO_FIELD_DESC);
        oprot.writeDouble(struct.max_filter_ratio);
        oprot.writeFieldEnd();
      }
      if (struct.isSetEnablePipelineTxnLoad()) {
        oprot.writeFieldBegin(ENABLE_PIPELINE_TXN_LOAD_FIELD_DESC);
        oprot.writeBool(struct.enable_pipeline_txn_load);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

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

  private static class TTxnParamsTupleScheme extends org.apache.thrift.scheme.TupleScheme<TTxnParams> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, TTxnParams 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.isSetNeedTxn()) {
        optionals.set(0);
      }
      if (struct.isSetToken()) {
        optionals.set(1);
      }
      if (struct.isSetThriftRpcTimeoutMs()) {
        optionals.set(2);
      }
      if (struct.isSetDb()) {
        optionals.set(3);
      }
      if (struct.isSetTbl()) {
        optionals.set(4);
      }
      if (struct.isSetUserIp()) {
        optionals.set(5);
      }
      if (struct.isSetTxnId()) {
        optionals.set(6);
      }
      if (struct.isSetFragmentInstanceId()) {
        optionals.set(7);
      }
      if (struct.isSetDbId()) {
        optionals.set(8);
      }
      if (struct.isSetMaxFilterRatio()) {
        optionals.set(9);
      }
      if (struct.isSetEnablePipelineTxnLoad()) {
        optionals.set(10);
      }
      oprot.writeBitSet(optionals, 11);
      if (struct.isSetNeedTxn()) {
        oprot.writeBool(struct.need_txn);
      }
      if (struct.isSetToken()) {
        oprot.writeString(struct.token);
      }
      if (struct.isSetThriftRpcTimeoutMs()) {
        oprot.writeI64(struct.thrift_rpc_timeout_ms);
      }
      if (struct.isSetDb()) {
        oprot.writeString(struct.db);
      }
      if (struct.isSetTbl()) {
        oprot.writeString(struct.tbl);
      }
      if (struct.isSetUserIp()) {
        oprot.writeString(struct.user_ip);
      }
      if (struct.isSetTxnId()) {
        oprot.writeI64(struct.txn_id);
      }
      if (struct.isSetFragmentInstanceId()) {
        struct.fragment_instance_id.write(oprot);
      }
      if (struct.isSetDbId()) {
        oprot.writeI64(struct.db_id);
      }
      if (struct.isSetMaxFilterRatio()) {
        oprot.writeDouble(struct.max_filter_ratio);
      }
      if (struct.isSetEnablePipelineTxnLoad()) {
        oprot.writeBool(struct.enable_pipeline_txn_load);
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, TTxnParams struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet incoming = iprot.readBitSet(11);
      if (incoming.get(0)) {
        struct.need_txn = iprot.readBool();
        struct.setNeedTxnIsSet(true);
      }
      if (incoming.get(1)) {
        struct.token = iprot.readString();
        struct.setTokenIsSet(true);
      }
      if (incoming.get(2)) {
        struct.thrift_rpc_timeout_ms = iprot.readI64();
        struct.setThriftRpcTimeoutMsIsSet(true);
      }
      if (incoming.get(3)) {
        struct.db = iprot.readString();
        struct.setDbIsSet(true);
      }
      if (incoming.get(4)) {
        struct.tbl = iprot.readString();
        struct.setTblIsSet(true);
      }
      if (incoming.get(5)) {
        struct.user_ip = iprot.readString();
        struct.setUserIpIsSet(true);
      }
      if (incoming.get(6)) {
        struct.txn_id = iprot.readI64();
        struct.setTxnIdIsSet(true);
      }
      if (incoming.get(7)) {
        struct.fragment_instance_id = new org.apache.doris.thrift.TUniqueId();
        struct.fragment_instance_id.read(iprot);
        struct.setFragmentInstanceIdIsSet(true);
      }
      if (incoming.get(8)) {
        struct.db_id = iprot.readI64();
        struct.setDbIdIsSet(true);
      }
      if (incoming.get(9)) {
        struct.max_filter_ratio = iprot.readDouble();
        struct.setMaxFilterRatioIsSet(true);
      }
      if (incoming.get(10)) {
        struct.enable_pipeline_txn_load = iprot.readBool();
        struct.setEnablePipelineTxnLoadIsSet(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();
  }
}