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

  private static final org.apache.thrift.protocol.TField STATEMENT_FIELD_DESC = new org.apache.thrift.protocol.TField("statement", org.apache.thrift.protocol.TType.STRING, (short)1);
  private static final org.apache.thrift.protocol.TField JDBC_URL_FIELD_DESC = new org.apache.thrift.protocol.TField("jdbc_url", org.apache.thrift.protocol.TType.STRING, (short)2);
  private static final org.apache.thrift.protocol.TField JDBC_USER_FIELD_DESC = new org.apache.thrift.protocol.TField("jdbc_user", org.apache.thrift.protocol.TType.STRING, (short)3);
  private static final org.apache.thrift.protocol.TField JDBC_PASSWORD_FIELD_DESC = new org.apache.thrift.protocol.TField("jdbc_password", org.apache.thrift.protocol.TType.STRING, (short)4);
  private static final org.apache.thrift.protocol.TField JDBC_DRIVER_CLASS_FIELD_DESC = new org.apache.thrift.protocol.TField("jdbc_driver_class", org.apache.thrift.protocol.TType.STRING, (short)5);
  private static final org.apache.thrift.protocol.TField BATCH_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("batch_size", org.apache.thrift.protocol.TType.I32, (short)6);
  private static final org.apache.thrift.protocol.TField OP_FIELD_DESC = new org.apache.thrift.protocol.TField("op", org.apache.thrift.protocol.TType.I32, (short)7);
  private static final org.apache.thrift.protocol.TField DRIVER_PATH_FIELD_DESC = new org.apache.thrift.protocol.TField("driver_path", org.apache.thrift.protocol.TType.STRING, (short)8);
  private static final org.apache.thrift.protocol.TField TABLE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("table_type", org.apache.thrift.protocol.TType.I32, (short)9);
  private static final org.apache.thrift.protocol.TField CONNECTION_POOL_MIN_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("connection_pool_min_size", org.apache.thrift.protocol.TType.I32, (short)10);
  private static final org.apache.thrift.protocol.TField CONNECTION_POOL_MAX_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("connection_pool_max_size", org.apache.thrift.protocol.TType.I32, (short)11);
  private static final org.apache.thrift.protocol.TField CONNECTION_POOL_MAX_WAIT_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("connection_pool_max_wait_time", org.apache.thrift.protocol.TType.I32, (short)12);
  private static final org.apache.thrift.protocol.TField CONNECTION_POOL_MAX_LIFE_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("connection_pool_max_life_time", org.apache.thrift.protocol.TType.I32, (short)13);
  private static final org.apache.thrift.protocol.TField CONNECTION_POOL_CACHE_CLEAR_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("connection_pool_cache_clear_time", org.apache.thrift.protocol.TType.I32, (short)14);
  private static final org.apache.thrift.protocol.TField CONNECTION_POOL_KEEP_ALIVE_FIELD_DESC = new org.apache.thrift.protocol.TField("connection_pool_keep_alive", org.apache.thrift.protocol.TType.BOOL, (short)15);
  private static final org.apache.thrift.protocol.TField CATALOG_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("catalog_id", org.apache.thrift.protocol.TType.I64, (short)16);
  private static final org.apache.thrift.protocol.TField JDBC_DRIVER_CHECKSUM_FIELD_DESC = new org.apache.thrift.protocol.TField("jdbc_driver_checksum", org.apache.thrift.protocol.TType.STRING, (short)17);
  private static final org.apache.thrift.protocol.TField IS_TVF_FIELD_DESC = new org.apache.thrift.protocol.TField("is_tvf", org.apache.thrift.protocol.TType.BOOL, (short)18);

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

  public @org.apache.thrift.annotation.Nullable java.lang.String statement; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String jdbc_url; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String jdbc_user; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String jdbc_password; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String jdbc_driver_class; // optional
  public int batch_size; // optional
  /**
   * 
   * @see TJdbcOperation
   */
  public @org.apache.thrift.annotation.Nullable TJdbcOperation op; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String driver_path; // optional
  /**
   * 
   * @see TOdbcTableType
   */
  public @org.apache.thrift.annotation.Nullable TOdbcTableType table_type; // optional
  public int connection_pool_min_size; // optional
  public int connection_pool_max_size; // optional
  public int connection_pool_max_wait_time; // optional
  public int connection_pool_max_life_time; // optional
  public int connection_pool_cache_clear_time; // optional
  public boolean connection_pool_keep_alive; // optional
  public long catalog_id; // optional
  public @org.apache.thrift.annotation.Nullable java.lang.String jdbc_driver_checksum; // optional
  public boolean is_tvf; // 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 {
    STATEMENT((short)1, "statement"),
    JDBC_URL((short)2, "jdbc_url"),
    JDBC_USER((short)3, "jdbc_user"),
    JDBC_PASSWORD((short)4, "jdbc_password"),
    JDBC_DRIVER_CLASS((short)5, "jdbc_driver_class"),
    BATCH_SIZE((short)6, "batch_size"),
    /**
     * 
     * @see TJdbcOperation
     */
    OP((short)7, "op"),
    DRIVER_PATH((short)8, "driver_path"),
    /**
     * 
     * @see TOdbcTableType
     */
    TABLE_TYPE((short)9, "table_type"),
    CONNECTION_POOL_MIN_SIZE((short)10, "connection_pool_min_size"),
    CONNECTION_POOL_MAX_SIZE((short)11, "connection_pool_max_size"),
    CONNECTION_POOL_MAX_WAIT_TIME((short)12, "connection_pool_max_wait_time"),
    CONNECTION_POOL_MAX_LIFE_TIME((short)13, "connection_pool_max_life_time"),
    CONNECTION_POOL_CACHE_CLEAR_TIME((short)14, "connection_pool_cache_clear_time"),
    CONNECTION_POOL_KEEP_ALIVE((short)15, "connection_pool_keep_alive"),
    CATALOG_ID((short)16, "catalog_id"),
    JDBC_DRIVER_CHECKSUM((short)17, "jdbc_driver_checksum"),
    IS_TVF((short)18, "is_tvf");

    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: // STATEMENT
          return STATEMENT;
        case 2: // JDBC_URL
          return JDBC_URL;
        case 3: // JDBC_USER
          return JDBC_USER;
        case 4: // JDBC_PASSWORD
          return JDBC_PASSWORD;
        case 5: // JDBC_DRIVER_CLASS
          return JDBC_DRIVER_CLASS;
        case 6: // BATCH_SIZE
          return BATCH_SIZE;
        case 7: // OP
          return OP;
        case 8: // DRIVER_PATH
          return DRIVER_PATH;
        case 9: // TABLE_TYPE
          return TABLE_TYPE;
        case 10: // CONNECTION_POOL_MIN_SIZE
          return CONNECTION_POOL_MIN_SIZE;
        case 11: // CONNECTION_POOL_MAX_SIZE
          return CONNECTION_POOL_MAX_SIZE;
        case 12: // CONNECTION_POOL_MAX_WAIT_TIME
          return CONNECTION_POOL_MAX_WAIT_TIME;
        case 13: // CONNECTION_POOL_MAX_LIFE_TIME
          return CONNECTION_POOL_MAX_LIFE_TIME;
        case 14: // CONNECTION_POOL_CACHE_CLEAR_TIME
          return CONNECTION_POOL_CACHE_CLEAR_TIME;
        case 15: // CONNECTION_POOL_KEEP_ALIVE
          return CONNECTION_POOL_KEEP_ALIVE;
        case 16: // CATALOG_ID
          return CATALOG_ID;
        case 17: // JDBC_DRIVER_CHECKSUM
          return JDBC_DRIVER_CHECKSUM;
        case 18: // IS_TVF
          return IS_TVF;
        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 __BATCH_SIZE_ISSET_ID = 0;
  private static final int __CONNECTION_POOL_MIN_SIZE_ISSET_ID = 1;
  private static final int __CONNECTION_POOL_MAX_SIZE_ISSET_ID = 2;
  private static final int __CONNECTION_POOL_MAX_WAIT_TIME_ISSET_ID = 3;
  private static final int __CONNECTION_POOL_MAX_LIFE_TIME_ISSET_ID = 4;
  private static final int __CONNECTION_POOL_CACHE_CLEAR_TIME_ISSET_ID = 5;
  private static final int __CONNECTION_POOL_KEEP_ALIVE_ISSET_ID = 6;
  private static final int __CATALOG_ID_ISSET_ID = 7;
  private static final int __IS_TVF_ISSET_ID = 8;
  private short __isset_bitfield = 0;
  private static final _Fields optionals[] = {_Fields.STATEMENT,_Fields.JDBC_URL,_Fields.JDBC_USER,_Fields.JDBC_PASSWORD,_Fields.JDBC_DRIVER_CLASS,_Fields.BATCH_SIZE,_Fields.OP,_Fields.DRIVER_PATH,_Fields.TABLE_TYPE,_Fields.CONNECTION_POOL_MIN_SIZE,_Fields.CONNECTION_POOL_MAX_SIZE,_Fields.CONNECTION_POOL_MAX_WAIT_TIME,_Fields.CONNECTION_POOL_MAX_LIFE_TIME,_Fields.CONNECTION_POOL_CACHE_CLEAR_TIME,_Fields.CONNECTION_POOL_KEEP_ALIVE,_Fields.CATALOG_ID,_Fields.JDBC_DRIVER_CHECKSUM,_Fields.IS_TVF};
  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.STATEMENT, new org.apache.thrift.meta_data.FieldMetaData("statement", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.JDBC_URL, new org.apache.thrift.meta_data.FieldMetaData("jdbc_url", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.JDBC_USER, new org.apache.thrift.meta_data.FieldMetaData("jdbc_user", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.JDBC_PASSWORD, new org.apache.thrift.meta_data.FieldMetaData("jdbc_password", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.JDBC_DRIVER_CLASS, new org.apache.thrift.meta_data.FieldMetaData("jdbc_driver_class", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.BATCH_SIZE, new org.apache.thrift.meta_data.FieldMetaData("batch_size", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.OP, new org.apache.thrift.meta_data.FieldMetaData("op", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TJdbcOperation.class)));
    tmpMap.put(_Fields.DRIVER_PATH, new org.apache.thrift.meta_data.FieldMetaData("driver_path", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.TABLE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("table_type", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, TOdbcTableType.class)));
    tmpMap.put(_Fields.CONNECTION_POOL_MIN_SIZE, new org.apache.thrift.meta_data.FieldMetaData("connection_pool_min_size", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.CONNECTION_POOL_MAX_SIZE, new org.apache.thrift.meta_data.FieldMetaData("connection_pool_max_size", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.CONNECTION_POOL_MAX_WAIT_TIME, new org.apache.thrift.meta_data.FieldMetaData("connection_pool_max_wait_time", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.CONNECTION_POOL_MAX_LIFE_TIME, new org.apache.thrift.meta_data.FieldMetaData("connection_pool_max_life_time", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.CONNECTION_POOL_CACHE_CLEAR_TIME, new org.apache.thrift.meta_data.FieldMetaData("connection_pool_cache_clear_time", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
    tmpMap.put(_Fields.CONNECTION_POOL_KEEP_ALIVE, new org.apache.thrift.meta_data.FieldMetaData("connection_pool_keep_alive", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
    tmpMap.put(_Fields.CATALOG_ID, new org.apache.thrift.meta_data.FieldMetaData("catalog_id", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I64)));
    tmpMap.put(_Fields.JDBC_DRIVER_CHECKSUM, new org.apache.thrift.meta_data.FieldMetaData("jdbc_driver_checksum", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
    tmpMap.put(_Fields.IS_TVF, new org.apache.thrift.meta_data.FieldMetaData("is_tvf", 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(TJdbcExecutorCtorParams.class, metaDataMap);
  }

  public TJdbcExecutorCtorParams() {
  }

  /**
   * Performs a deep copy on <i>other</i>.
   */
  public TJdbcExecutorCtorParams(TJdbcExecutorCtorParams other) {
    __isset_bitfield = other.__isset_bitfield;
    if (other.isSetStatement()) {
      this.statement = other.statement;
    }
    if (other.isSetJdbcUrl()) {
      this.jdbc_url = other.jdbc_url;
    }
    if (other.isSetJdbcUser()) {
      this.jdbc_user = other.jdbc_user;
    }
    if (other.isSetJdbcPassword()) {
      this.jdbc_password = other.jdbc_password;
    }
    if (other.isSetJdbcDriverClass()) {
      this.jdbc_driver_class = other.jdbc_driver_class;
    }
    this.batch_size = other.batch_size;
    if (other.isSetOp()) {
      this.op = other.op;
    }
    if (other.isSetDriverPath()) {
      this.driver_path = other.driver_path;
    }
    if (other.isSetTableType()) {
      this.table_type = other.table_type;
    }
    this.connection_pool_min_size = other.connection_pool_min_size;
    this.connection_pool_max_size = other.connection_pool_max_size;
    this.connection_pool_max_wait_time = other.connection_pool_max_wait_time;
    this.connection_pool_max_life_time = other.connection_pool_max_life_time;
    this.connection_pool_cache_clear_time = other.connection_pool_cache_clear_time;
    this.connection_pool_keep_alive = other.connection_pool_keep_alive;
    this.catalog_id = other.catalog_id;
    if (other.isSetJdbcDriverChecksum()) {
      this.jdbc_driver_checksum = other.jdbc_driver_checksum;
    }
    this.is_tvf = other.is_tvf;
  }

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

  @Override
  public void clear() {
    this.statement = null;
    this.jdbc_url = null;
    this.jdbc_user = null;
    this.jdbc_password = null;
    this.jdbc_driver_class = null;
    setBatchSizeIsSet(false);
    this.batch_size = 0;
    this.op = null;
    this.driver_path = null;
    this.table_type = null;
    setConnectionPoolMinSizeIsSet(false);
    this.connection_pool_min_size = 0;
    setConnectionPoolMaxSizeIsSet(false);
    this.connection_pool_max_size = 0;
    setConnectionPoolMaxWaitTimeIsSet(false);
    this.connection_pool_max_wait_time = 0;
    setConnectionPoolMaxLifeTimeIsSet(false);
    this.connection_pool_max_life_time = 0;
    setConnectionPoolCacheClearTimeIsSet(false);
    this.connection_pool_cache_clear_time = 0;
    setConnectionPoolKeepAliveIsSet(false);
    this.connection_pool_keep_alive = false;
    setCatalogIdIsSet(false);
    this.catalog_id = 0;
    this.jdbc_driver_checksum = null;
    setIsTvfIsSet(false);
    this.is_tvf = false;
  }

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

  public TJdbcExecutorCtorParams setStatement(@org.apache.thrift.annotation.Nullable java.lang.String statement) {
    this.statement = statement;
    return this;
  }

  public void unsetStatement() {
    this.statement = null;
  }

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

  public void setStatementIsSet(boolean value) {
    if (!value) {
      this.statement = null;
    }
  }

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

  public TJdbcExecutorCtorParams setJdbcUrl(@org.apache.thrift.annotation.Nullable java.lang.String jdbc_url) {
    this.jdbc_url = jdbc_url;
    return this;
  }

  public void unsetJdbcUrl() {
    this.jdbc_url = null;
  }

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

  public void setJdbcUrlIsSet(boolean value) {
    if (!value) {
      this.jdbc_url = null;
    }
  }

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

  public TJdbcExecutorCtorParams setJdbcUser(@org.apache.thrift.annotation.Nullable java.lang.String jdbc_user) {
    this.jdbc_user = jdbc_user;
    return this;
  }

  public void unsetJdbcUser() {
    this.jdbc_user = null;
  }

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

  public void setJdbcUserIsSet(boolean value) {
    if (!value) {
      this.jdbc_user = null;
    }
  }

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

  public TJdbcExecutorCtorParams setJdbcPassword(@org.apache.thrift.annotation.Nullable java.lang.String jdbc_password) {
    this.jdbc_password = jdbc_password;
    return this;
  }

  public void unsetJdbcPassword() {
    this.jdbc_password = null;
  }

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

  public void setJdbcPasswordIsSet(boolean value) {
    if (!value) {
      this.jdbc_password = null;
    }
  }

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

  public TJdbcExecutorCtorParams setJdbcDriverClass(@org.apache.thrift.annotation.Nullable java.lang.String jdbc_driver_class) {
    this.jdbc_driver_class = jdbc_driver_class;
    return this;
  }

  public void unsetJdbcDriverClass() {
    this.jdbc_driver_class = null;
  }

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

  public void setJdbcDriverClassIsSet(boolean value) {
    if (!value) {
      this.jdbc_driver_class = null;
    }
  }

  public int getBatchSize() {
    return this.batch_size;
  }

  public TJdbcExecutorCtorParams setBatchSize(int batch_size) {
    this.batch_size = batch_size;
    setBatchSizeIsSet(true);
    return this;
  }

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

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

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

  /**
   * 
   * @see TJdbcOperation
   */
  @org.apache.thrift.annotation.Nullable
  public TJdbcOperation getOp() {
    return this.op;
  }

  /**
   * 
   * @see TJdbcOperation
   */
  public TJdbcExecutorCtorParams setOp(@org.apache.thrift.annotation.Nullable TJdbcOperation op) {
    this.op = op;
    return this;
  }

  public void unsetOp() {
    this.op = null;
  }

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

  public void setOpIsSet(boolean value) {
    if (!value) {
      this.op = null;
    }
  }

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

  public TJdbcExecutorCtorParams setDriverPath(@org.apache.thrift.annotation.Nullable java.lang.String driver_path) {
    this.driver_path = driver_path;
    return this;
  }

  public void unsetDriverPath() {
    this.driver_path = null;
  }

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

  public void setDriverPathIsSet(boolean value) {
    if (!value) {
      this.driver_path = null;
    }
  }

  /**
   * 
   * @see TOdbcTableType
   */
  @org.apache.thrift.annotation.Nullable
  public TOdbcTableType getTableType() {
    return this.table_type;
  }

  /**
   * 
   * @see TOdbcTableType
   */
  public TJdbcExecutorCtorParams setTableType(@org.apache.thrift.annotation.Nullable TOdbcTableType table_type) {
    this.table_type = table_type;
    return this;
  }

  public void unsetTableType() {
    this.table_type = null;
  }

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

  public void setTableTypeIsSet(boolean value) {
    if (!value) {
      this.table_type = null;
    }
  }

  public int getConnectionPoolMinSize() {
    return this.connection_pool_min_size;
  }

  public TJdbcExecutorCtorParams setConnectionPoolMinSize(int connection_pool_min_size) {
    this.connection_pool_min_size = connection_pool_min_size;
    setConnectionPoolMinSizeIsSet(true);
    return this;
  }

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

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

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

  public int getConnectionPoolMaxSize() {
    return this.connection_pool_max_size;
  }

  public TJdbcExecutorCtorParams setConnectionPoolMaxSize(int connection_pool_max_size) {
    this.connection_pool_max_size = connection_pool_max_size;
    setConnectionPoolMaxSizeIsSet(true);
    return this;
  }

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

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

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

  public int getConnectionPoolMaxWaitTime() {
    return this.connection_pool_max_wait_time;
  }

  public TJdbcExecutorCtorParams setConnectionPoolMaxWaitTime(int connection_pool_max_wait_time) {
    this.connection_pool_max_wait_time = connection_pool_max_wait_time;
    setConnectionPoolMaxWaitTimeIsSet(true);
    return this;
  }

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

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

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

  public int getConnectionPoolMaxLifeTime() {
    return this.connection_pool_max_life_time;
  }

  public TJdbcExecutorCtorParams setConnectionPoolMaxLifeTime(int connection_pool_max_life_time) {
    this.connection_pool_max_life_time = connection_pool_max_life_time;
    setConnectionPoolMaxLifeTimeIsSet(true);
    return this;
  }

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

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

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

  public int getConnectionPoolCacheClearTime() {
    return this.connection_pool_cache_clear_time;
  }

  public TJdbcExecutorCtorParams setConnectionPoolCacheClearTime(int connection_pool_cache_clear_time) {
    this.connection_pool_cache_clear_time = connection_pool_cache_clear_time;
    setConnectionPoolCacheClearTimeIsSet(true);
    return this;
  }

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

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

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

  public boolean isConnectionPoolKeepAlive() {
    return this.connection_pool_keep_alive;
  }

  public TJdbcExecutorCtorParams setConnectionPoolKeepAlive(boolean connection_pool_keep_alive) {
    this.connection_pool_keep_alive = connection_pool_keep_alive;
    setConnectionPoolKeepAliveIsSet(true);
    return this;
  }

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

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

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

  public long getCatalogId() {
    return this.catalog_id;
  }

  public TJdbcExecutorCtorParams setCatalogId(long catalog_id) {
    this.catalog_id = catalog_id;
    setCatalogIdIsSet(true);
    return this;
  }

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

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

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

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

  public TJdbcExecutorCtorParams setJdbcDriverChecksum(@org.apache.thrift.annotation.Nullable java.lang.String jdbc_driver_checksum) {
    this.jdbc_driver_checksum = jdbc_driver_checksum;
    return this;
  }

  public void unsetJdbcDriverChecksum() {
    this.jdbc_driver_checksum = null;
  }

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

  public void setJdbcDriverChecksumIsSet(boolean value) {
    if (!value) {
      this.jdbc_driver_checksum = null;
    }
  }

  public boolean isIsTvf() {
    return this.is_tvf;
  }

  public TJdbcExecutorCtorParams setIsTvf(boolean is_tvf) {
    this.is_tvf = is_tvf;
    setIsTvfIsSet(true);
    return this;
  }

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

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

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

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

    case JDBC_URL:
      if (value == null) {
        unsetJdbcUrl();
      } else {
        setJdbcUrl((java.lang.String)value);
      }
      break;

    case JDBC_USER:
      if (value == null) {
        unsetJdbcUser();
      } else {
        setJdbcUser((java.lang.String)value);
      }
      break;

    case JDBC_PASSWORD:
      if (value == null) {
        unsetJdbcPassword();
      } else {
        setJdbcPassword((java.lang.String)value);
      }
      break;

    case JDBC_DRIVER_CLASS:
      if (value == null) {
        unsetJdbcDriverClass();
      } else {
        setJdbcDriverClass((java.lang.String)value);
      }
      break;

    case BATCH_SIZE:
      if (value == null) {
        unsetBatchSize();
      } else {
        setBatchSize((java.lang.Integer)value);
      }
      break;

    case OP:
      if (value == null) {
        unsetOp();
      } else {
        setOp((TJdbcOperation)value);
      }
      break;

    case DRIVER_PATH:
      if (value == null) {
        unsetDriverPath();
      } else {
        setDriverPath((java.lang.String)value);
      }
      break;

    case TABLE_TYPE:
      if (value == null) {
        unsetTableType();
      } else {
        setTableType((TOdbcTableType)value);
      }
      break;

    case CONNECTION_POOL_MIN_SIZE:
      if (value == null) {
        unsetConnectionPoolMinSize();
      } else {
        setConnectionPoolMinSize((java.lang.Integer)value);
      }
      break;

    case CONNECTION_POOL_MAX_SIZE:
      if (value == null) {
        unsetConnectionPoolMaxSize();
      } else {
        setConnectionPoolMaxSize((java.lang.Integer)value);
      }
      break;

    case CONNECTION_POOL_MAX_WAIT_TIME:
      if (value == null) {
        unsetConnectionPoolMaxWaitTime();
      } else {
        setConnectionPoolMaxWaitTime((java.lang.Integer)value);
      }
      break;

    case CONNECTION_POOL_MAX_LIFE_TIME:
      if (value == null) {
        unsetConnectionPoolMaxLifeTime();
      } else {
        setConnectionPoolMaxLifeTime((java.lang.Integer)value);
      }
      break;

    case CONNECTION_POOL_CACHE_CLEAR_TIME:
      if (value == null) {
        unsetConnectionPoolCacheClearTime();
      } else {
        setConnectionPoolCacheClearTime((java.lang.Integer)value);
      }
      break;

    case CONNECTION_POOL_KEEP_ALIVE:
      if (value == null) {
        unsetConnectionPoolKeepAlive();
      } else {
        setConnectionPoolKeepAlive((java.lang.Boolean)value);
      }
      break;

    case CATALOG_ID:
      if (value == null) {
        unsetCatalogId();
      } else {
        setCatalogId((java.lang.Long)value);
      }
      break;

    case JDBC_DRIVER_CHECKSUM:
      if (value == null) {
        unsetJdbcDriverChecksum();
      } else {
        setJdbcDriverChecksum((java.lang.String)value);
      }
      break;

    case IS_TVF:
      if (value == null) {
        unsetIsTvf();
      } else {
        setIsTvf((java.lang.Boolean)value);
      }
      break;

    }
  }

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

    case JDBC_URL:
      return getJdbcUrl();

    case JDBC_USER:
      return getJdbcUser();

    case JDBC_PASSWORD:
      return getJdbcPassword();

    case JDBC_DRIVER_CLASS:
      return getJdbcDriverClass();

    case BATCH_SIZE:
      return getBatchSize();

    case OP:
      return getOp();

    case DRIVER_PATH:
      return getDriverPath();

    case TABLE_TYPE:
      return getTableType();

    case CONNECTION_POOL_MIN_SIZE:
      return getConnectionPoolMinSize();

    case CONNECTION_POOL_MAX_SIZE:
      return getConnectionPoolMaxSize();

    case CONNECTION_POOL_MAX_WAIT_TIME:
      return getConnectionPoolMaxWaitTime();

    case CONNECTION_POOL_MAX_LIFE_TIME:
      return getConnectionPoolMaxLifeTime();

    case CONNECTION_POOL_CACHE_CLEAR_TIME:
      return getConnectionPoolCacheClearTime();

    case CONNECTION_POOL_KEEP_ALIVE:
      return isConnectionPoolKeepAlive();

    case CATALOG_ID:
      return getCatalogId();

    case JDBC_DRIVER_CHECKSUM:
      return getJdbcDriverChecksum();

    case IS_TVF:
      return isIsTvf();

    }
    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 STATEMENT:
      return isSetStatement();
    case JDBC_URL:
      return isSetJdbcUrl();
    case JDBC_USER:
      return isSetJdbcUser();
    case JDBC_PASSWORD:
      return isSetJdbcPassword();
    case JDBC_DRIVER_CLASS:
      return isSetJdbcDriverClass();
    case BATCH_SIZE:
      return isSetBatchSize();
    case OP:
      return isSetOp();
    case DRIVER_PATH:
      return isSetDriverPath();
    case TABLE_TYPE:
      return isSetTableType();
    case CONNECTION_POOL_MIN_SIZE:
      return isSetConnectionPoolMinSize();
    case CONNECTION_POOL_MAX_SIZE:
      return isSetConnectionPoolMaxSize();
    case CONNECTION_POOL_MAX_WAIT_TIME:
      return isSetConnectionPoolMaxWaitTime();
    case CONNECTION_POOL_MAX_LIFE_TIME:
      return isSetConnectionPoolMaxLifeTime();
    case CONNECTION_POOL_CACHE_CLEAR_TIME:
      return isSetConnectionPoolCacheClearTime();
    case CONNECTION_POOL_KEEP_ALIVE:
      return isSetConnectionPoolKeepAlive();
    case CATALOG_ID:
      return isSetCatalogId();
    case JDBC_DRIVER_CHECKSUM:
      return isSetJdbcDriverChecksum();
    case IS_TVF:
      return isSetIsTvf();
    }
    throw new java.lang.IllegalStateException();
  }

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

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

    boolean this_present_statement = true && this.isSetStatement();
    boolean that_present_statement = true && that.isSetStatement();
    if (this_present_statement || that_present_statement) {
      if (!(this_present_statement && that_present_statement))
        return false;
      if (!this.statement.equals(that.statement))
        return false;
    }

    boolean this_present_jdbc_url = true && this.isSetJdbcUrl();
    boolean that_present_jdbc_url = true && that.isSetJdbcUrl();
    if (this_present_jdbc_url || that_present_jdbc_url) {
      if (!(this_present_jdbc_url && that_present_jdbc_url))
        return false;
      if (!this.jdbc_url.equals(that.jdbc_url))
        return false;
    }

    boolean this_present_jdbc_user = true && this.isSetJdbcUser();
    boolean that_present_jdbc_user = true && that.isSetJdbcUser();
    if (this_present_jdbc_user || that_present_jdbc_user) {
      if (!(this_present_jdbc_user && that_present_jdbc_user))
        return false;
      if (!this.jdbc_user.equals(that.jdbc_user))
        return false;
    }

    boolean this_present_jdbc_password = true && this.isSetJdbcPassword();
    boolean that_present_jdbc_password = true && that.isSetJdbcPassword();
    if (this_present_jdbc_password || that_present_jdbc_password) {
      if (!(this_present_jdbc_password && that_present_jdbc_password))
        return false;
      if (!this.jdbc_password.equals(that.jdbc_password))
        return false;
    }

    boolean this_present_jdbc_driver_class = true && this.isSetJdbcDriverClass();
    boolean that_present_jdbc_driver_class = true && that.isSetJdbcDriverClass();
    if (this_present_jdbc_driver_class || that_present_jdbc_driver_class) {
      if (!(this_present_jdbc_driver_class && that_present_jdbc_driver_class))
        return false;
      if (!this.jdbc_driver_class.equals(that.jdbc_driver_class))
        return false;
    }

    boolean this_present_batch_size = true && this.isSetBatchSize();
    boolean that_present_batch_size = true && that.isSetBatchSize();
    if (this_present_batch_size || that_present_batch_size) {
      if (!(this_present_batch_size && that_present_batch_size))
        return false;
      if (this.batch_size != that.batch_size)
        return false;
    }

    boolean this_present_op = true && this.isSetOp();
    boolean that_present_op = true && that.isSetOp();
    if (this_present_op || that_present_op) {
      if (!(this_present_op && that_present_op))
        return false;
      if (!this.op.equals(that.op))
        return false;
    }

    boolean this_present_driver_path = true && this.isSetDriverPath();
    boolean that_present_driver_path = true && that.isSetDriverPath();
    if (this_present_driver_path || that_present_driver_path) {
      if (!(this_present_driver_path && that_present_driver_path))
        return false;
      if (!this.driver_path.equals(that.driver_path))
        return false;
    }

    boolean this_present_table_type = true && this.isSetTableType();
    boolean that_present_table_type = true && that.isSetTableType();
    if (this_present_table_type || that_present_table_type) {
      if (!(this_present_table_type && that_present_table_type))
        return false;
      if (!this.table_type.equals(that.table_type))
        return false;
    }

    boolean this_present_connection_pool_min_size = true && this.isSetConnectionPoolMinSize();
    boolean that_present_connection_pool_min_size = true && that.isSetConnectionPoolMinSize();
    if (this_present_connection_pool_min_size || that_present_connection_pool_min_size) {
      if (!(this_present_connection_pool_min_size && that_present_connection_pool_min_size))
        return false;
      if (this.connection_pool_min_size != that.connection_pool_min_size)
        return false;
    }

    boolean this_present_connection_pool_max_size = true && this.isSetConnectionPoolMaxSize();
    boolean that_present_connection_pool_max_size = true && that.isSetConnectionPoolMaxSize();
    if (this_present_connection_pool_max_size || that_present_connection_pool_max_size) {
      if (!(this_present_connection_pool_max_size && that_present_connection_pool_max_size))
        return false;
      if (this.connection_pool_max_size != that.connection_pool_max_size)
        return false;
    }

    boolean this_present_connection_pool_max_wait_time = true && this.isSetConnectionPoolMaxWaitTime();
    boolean that_present_connection_pool_max_wait_time = true && that.isSetConnectionPoolMaxWaitTime();
    if (this_present_connection_pool_max_wait_time || that_present_connection_pool_max_wait_time) {
      if (!(this_present_connection_pool_max_wait_time && that_present_connection_pool_max_wait_time))
        return false;
      if (this.connection_pool_max_wait_time != that.connection_pool_max_wait_time)
        return false;
    }

    boolean this_present_connection_pool_max_life_time = true && this.isSetConnectionPoolMaxLifeTime();
    boolean that_present_connection_pool_max_life_time = true && that.isSetConnectionPoolMaxLifeTime();
    if (this_present_connection_pool_max_life_time || that_present_connection_pool_max_life_time) {
      if (!(this_present_connection_pool_max_life_time && that_present_connection_pool_max_life_time))
        return false;
      if (this.connection_pool_max_life_time != that.connection_pool_max_life_time)
        return false;
    }

    boolean this_present_connection_pool_cache_clear_time = true && this.isSetConnectionPoolCacheClearTime();
    boolean that_present_connection_pool_cache_clear_time = true && that.isSetConnectionPoolCacheClearTime();
    if (this_present_connection_pool_cache_clear_time || that_present_connection_pool_cache_clear_time) {
      if (!(this_present_connection_pool_cache_clear_time && that_present_connection_pool_cache_clear_time))
        return false;
      if (this.connection_pool_cache_clear_time != that.connection_pool_cache_clear_time)
        return false;
    }

    boolean this_present_connection_pool_keep_alive = true && this.isSetConnectionPoolKeepAlive();
    boolean that_present_connection_pool_keep_alive = true && that.isSetConnectionPoolKeepAlive();
    if (this_present_connection_pool_keep_alive || that_present_connection_pool_keep_alive) {
      if (!(this_present_connection_pool_keep_alive && that_present_connection_pool_keep_alive))
        return false;
      if (this.connection_pool_keep_alive != that.connection_pool_keep_alive)
        return false;
    }

    boolean this_present_catalog_id = true && this.isSetCatalogId();
    boolean that_present_catalog_id = true && that.isSetCatalogId();
    if (this_present_catalog_id || that_present_catalog_id) {
      if (!(this_present_catalog_id && that_present_catalog_id))
        return false;
      if (this.catalog_id != that.catalog_id)
        return false;
    }

    boolean this_present_jdbc_driver_checksum = true && this.isSetJdbcDriverChecksum();
    boolean that_present_jdbc_driver_checksum = true && that.isSetJdbcDriverChecksum();
    if (this_present_jdbc_driver_checksum || that_present_jdbc_driver_checksum) {
      if (!(this_present_jdbc_driver_checksum && that_present_jdbc_driver_checksum))
        return false;
      if (!this.jdbc_driver_checksum.equals(that.jdbc_driver_checksum))
        return false;
    }

    boolean this_present_is_tvf = true && this.isSetIsTvf();
    boolean that_present_is_tvf = true && that.isSetIsTvf();
    if (this_present_is_tvf || that_present_is_tvf) {
      if (!(this_present_is_tvf && that_present_is_tvf))
        return false;
      if (this.is_tvf != that.is_tvf)
        return false;
    }

    return true;
  }

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

    hashCode = hashCode * 8191 + ((isSetStatement()) ? 131071 : 524287);
    if (isSetStatement())
      hashCode = hashCode * 8191 + statement.hashCode();

    hashCode = hashCode * 8191 + ((isSetJdbcUrl()) ? 131071 : 524287);
    if (isSetJdbcUrl())
      hashCode = hashCode * 8191 + jdbc_url.hashCode();

    hashCode = hashCode * 8191 + ((isSetJdbcUser()) ? 131071 : 524287);
    if (isSetJdbcUser())
      hashCode = hashCode * 8191 + jdbc_user.hashCode();

    hashCode = hashCode * 8191 + ((isSetJdbcPassword()) ? 131071 : 524287);
    if (isSetJdbcPassword())
      hashCode = hashCode * 8191 + jdbc_password.hashCode();

    hashCode = hashCode * 8191 + ((isSetJdbcDriverClass()) ? 131071 : 524287);
    if (isSetJdbcDriverClass())
      hashCode = hashCode * 8191 + jdbc_driver_class.hashCode();

    hashCode = hashCode * 8191 + ((isSetBatchSize()) ? 131071 : 524287);
    if (isSetBatchSize())
      hashCode = hashCode * 8191 + batch_size;

    hashCode = hashCode * 8191 + ((isSetOp()) ? 131071 : 524287);
    if (isSetOp())
      hashCode = hashCode * 8191 + op.getValue();

    hashCode = hashCode * 8191 + ((isSetDriverPath()) ? 131071 : 524287);
    if (isSetDriverPath())
      hashCode = hashCode * 8191 + driver_path.hashCode();

    hashCode = hashCode * 8191 + ((isSetTableType()) ? 131071 : 524287);
    if (isSetTableType())
      hashCode = hashCode * 8191 + table_type.getValue();

    hashCode = hashCode * 8191 + ((isSetConnectionPoolMinSize()) ? 131071 : 524287);
    if (isSetConnectionPoolMinSize())
      hashCode = hashCode * 8191 + connection_pool_min_size;

    hashCode = hashCode * 8191 + ((isSetConnectionPoolMaxSize()) ? 131071 : 524287);
    if (isSetConnectionPoolMaxSize())
      hashCode = hashCode * 8191 + connection_pool_max_size;

    hashCode = hashCode * 8191 + ((isSetConnectionPoolMaxWaitTime()) ? 131071 : 524287);
    if (isSetConnectionPoolMaxWaitTime())
      hashCode = hashCode * 8191 + connection_pool_max_wait_time;

    hashCode = hashCode * 8191 + ((isSetConnectionPoolMaxLifeTime()) ? 131071 : 524287);
    if (isSetConnectionPoolMaxLifeTime())
      hashCode = hashCode * 8191 + connection_pool_max_life_time;

    hashCode = hashCode * 8191 + ((isSetConnectionPoolCacheClearTime()) ? 131071 : 524287);
    if (isSetConnectionPoolCacheClearTime())
      hashCode = hashCode * 8191 + connection_pool_cache_clear_time;

    hashCode = hashCode * 8191 + ((isSetConnectionPoolKeepAlive()) ? 131071 : 524287);
    if (isSetConnectionPoolKeepAlive())
      hashCode = hashCode * 8191 + ((connection_pool_keep_alive) ? 131071 : 524287);

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

    hashCode = hashCode * 8191 + ((isSetJdbcDriverChecksum()) ? 131071 : 524287);
    if (isSetJdbcDriverChecksum())
      hashCode = hashCode * 8191 + jdbc_driver_checksum.hashCode();

    hashCode = hashCode * 8191 + ((isSetIsTvf()) ? 131071 : 524287);
    if (isSetIsTvf())
      hashCode = hashCode * 8191 + ((is_tvf) ? 131071 : 524287);

    return hashCode;
  }

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

    int lastComparison = 0;

    lastComparison = java.lang.Boolean.compare(isSetStatement(), other.isSetStatement());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetStatement()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.statement, other.statement);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetJdbcUrl(), other.isSetJdbcUrl());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetJdbcUrl()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jdbc_url, other.jdbc_url);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetJdbcUser(), other.isSetJdbcUser());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetJdbcUser()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jdbc_user, other.jdbc_user);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetJdbcPassword(), other.isSetJdbcPassword());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetJdbcPassword()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jdbc_password, other.jdbc_password);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetJdbcDriverClass(), other.isSetJdbcDriverClass());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetJdbcDriverClass()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jdbc_driver_class, other.jdbc_driver_class);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetBatchSize(), other.isSetBatchSize());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetBatchSize()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.batch_size, other.batch_size);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetOp(), other.isSetOp());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetOp()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.op, other.op);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetDriverPath(), other.isSetDriverPath());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetDriverPath()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.driver_path, other.driver_path);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetTableType(), other.isSetTableType());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetTableType()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.table_type, other.table_type);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetConnectionPoolMinSize(), other.isSetConnectionPoolMinSize());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetConnectionPoolMinSize()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.connection_pool_min_size, other.connection_pool_min_size);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetConnectionPoolMaxSize(), other.isSetConnectionPoolMaxSize());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetConnectionPoolMaxSize()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.connection_pool_max_size, other.connection_pool_max_size);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetConnectionPoolMaxWaitTime(), other.isSetConnectionPoolMaxWaitTime());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetConnectionPoolMaxWaitTime()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.connection_pool_max_wait_time, other.connection_pool_max_wait_time);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetConnectionPoolMaxLifeTime(), other.isSetConnectionPoolMaxLifeTime());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetConnectionPoolMaxLifeTime()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.connection_pool_max_life_time, other.connection_pool_max_life_time);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetConnectionPoolCacheClearTime(), other.isSetConnectionPoolCacheClearTime());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetConnectionPoolCacheClearTime()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.connection_pool_cache_clear_time, other.connection_pool_cache_clear_time);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetConnectionPoolKeepAlive(), other.isSetConnectionPoolKeepAlive());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetConnectionPoolKeepAlive()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.connection_pool_keep_alive, other.connection_pool_keep_alive);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetCatalogId(), other.isSetCatalogId());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetCatalogId()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.catalog_id, other.catalog_id);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetJdbcDriverChecksum(), other.isSetJdbcDriverChecksum());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetJdbcDriverChecksum()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jdbc_driver_checksum, other.jdbc_driver_checksum);
      if (lastComparison != 0) {
        return lastComparison;
      }
    }
    lastComparison = java.lang.Boolean.compare(isSetIsTvf(), other.isSetIsTvf());
    if (lastComparison != 0) {
      return lastComparison;
    }
    if (isSetIsTvf()) {
      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.is_tvf, other.is_tvf);
      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("TJdbcExecutorCtorParams(");
    boolean first = true;

    if (isSetStatement()) {
      sb.append("statement:");
      if (this.statement == null) {
        sb.append("null");
      } else {
        sb.append(this.statement);
      }
      first = false;
    }
    if (isSetJdbcUrl()) {
      if (!first) sb.append(", ");
      sb.append("jdbc_url:");
      if (this.jdbc_url == null) {
        sb.append("null");
      } else {
        sb.append(this.jdbc_url);
      }
      first = false;
    }
    if (isSetJdbcUser()) {
      if (!first) sb.append(", ");
      sb.append("jdbc_user:");
      if (this.jdbc_user == null) {
        sb.append("null");
      } else {
        sb.append(this.jdbc_user);
      }
      first = false;
    }
    if (isSetJdbcPassword()) {
      if (!first) sb.append(", ");
      sb.append("jdbc_password:");
      if (this.jdbc_password == null) {
        sb.append("null");
      } else {
        sb.append(this.jdbc_password);
      }
      first = false;
    }
    if (isSetJdbcDriverClass()) {
      if (!first) sb.append(", ");
      sb.append("jdbc_driver_class:");
      if (this.jdbc_driver_class == null) {
        sb.append("null");
      } else {
        sb.append(this.jdbc_driver_class);
      }
      first = false;
    }
    if (isSetBatchSize()) {
      if (!first) sb.append(", ");
      sb.append("batch_size:");
      sb.append(this.batch_size);
      first = false;
    }
    if (isSetOp()) {
      if (!first) sb.append(", ");
      sb.append("op:");
      if (this.op == null) {
        sb.append("null");
      } else {
        sb.append(this.op);
      }
      first = false;
    }
    if (isSetDriverPath()) {
      if (!first) sb.append(", ");
      sb.append("driver_path:");
      if (this.driver_path == null) {
        sb.append("null");
      } else {
        sb.append(this.driver_path);
      }
      first = false;
    }
    if (isSetTableType()) {
      if (!first) sb.append(", ");
      sb.append("table_type:");
      if (this.table_type == null) {
        sb.append("null");
      } else {
        sb.append(this.table_type);
      }
      first = false;
    }
    if (isSetConnectionPoolMinSize()) {
      if (!first) sb.append(", ");
      sb.append("connection_pool_min_size:");
      sb.append(this.connection_pool_min_size);
      first = false;
    }
    if (isSetConnectionPoolMaxSize()) {
      if (!first) sb.append(", ");
      sb.append("connection_pool_max_size:");
      sb.append(this.connection_pool_max_size);
      first = false;
    }
    if (isSetConnectionPoolMaxWaitTime()) {
      if (!first) sb.append(", ");
      sb.append("connection_pool_max_wait_time:");
      sb.append(this.connection_pool_max_wait_time);
      first = false;
    }
    if (isSetConnectionPoolMaxLifeTime()) {
      if (!first) sb.append(", ");
      sb.append("connection_pool_max_life_time:");
      sb.append(this.connection_pool_max_life_time);
      first = false;
    }
    if (isSetConnectionPoolCacheClearTime()) {
      if (!first) sb.append(", ");
      sb.append("connection_pool_cache_clear_time:");
      sb.append(this.connection_pool_cache_clear_time);
      first = false;
    }
    if (isSetConnectionPoolKeepAlive()) {
      if (!first) sb.append(", ");
      sb.append("connection_pool_keep_alive:");
      sb.append(this.connection_pool_keep_alive);
      first = false;
    }
    if (isSetCatalogId()) {
      if (!first) sb.append(", ");
      sb.append("catalog_id:");
      sb.append(this.catalog_id);
      first = false;
    }
    if (isSetJdbcDriverChecksum()) {
      if (!first) sb.append(", ");
      sb.append("jdbc_driver_checksum:");
      if (this.jdbc_driver_checksum == null) {
        sb.append("null");
      } else {
        sb.append(this.jdbc_driver_checksum);
      }
      first = false;
    }
    if (isSetIsTvf()) {
      if (!first) sb.append(", ");
      sb.append("is_tvf:");
      sb.append(this.is_tvf);
      first = false;
    }
    sb.append(")");
    return sb.toString();
  }

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

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

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

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

  private static class TJdbcExecutorCtorParamsStandardScheme extends org.apache.thrift.scheme.StandardScheme<TJdbcExecutorCtorParams> {

    public void read(org.apache.thrift.protocol.TProtocol iprot, TJdbcExecutorCtorParams 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: // STATEMENT
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.statement = iprot.readString();
              struct.setStatementIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 2: // JDBC_URL
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.jdbc_url = iprot.readString();
              struct.setJdbcUrlIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 3: // JDBC_USER
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.jdbc_user = iprot.readString();
              struct.setJdbcUserIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 4: // JDBC_PASSWORD
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.jdbc_password = iprot.readString();
              struct.setJdbcPasswordIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 5: // JDBC_DRIVER_CLASS
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.jdbc_driver_class = iprot.readString();
              struct.setJdbcDriverClassIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 6: // BATCH_SIZE
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.batch_size = iprot.readI32();
              struct.setBatchSizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 7: // OP
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.op = org.apache.doris.thrift.TJdbcOperation.findByValue(iprot.readI32());
              struct.setOpIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 8: // DRIVER_PATH
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.driver_path = iprot.readString();
              struct.setDriverPathIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 9: // TABLE_TYPE
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.table_type = org.apache.doris.thrift.TOdbcTableType.findByValue(iprot.readI32());
              struct.setTableTypeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 10: // CONNECTION_POOL_MIN_SIZE
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.connection_pool_min_size = iprot.readI32();
              struct.setConnectionPoolMinSizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 11: // CONNECTION_POOL_MAX_SIZE
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.connection_pool_max_size = iprot.readI32();
              struct.setConnectionPoolMaxSizeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 12: // CONNECTION_POOL_MAX_WAIT_TIME
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.connection_pool_max_wait_time = iprot.readI32();
              struct.setConnectionPoolMaxWaitTimeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 13: // CONNECTION_POOL_MAX_LIFE_TIME
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.connection_pool_max_life_time = iprot.readI32();
              struct.setConnectionPoolMaxLifeTimeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 14: // CONNECTION_POOL_CACHE_CLEAR_TIME
            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
              struct.connection_pool_cache_clear_time = iprot.readI32();
              struct.setConnectionPoolCacheClearTimeIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 15: // CONNECTION_POOL_KEEP_ALIVE
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.connection_pool_keep_alive = iprot.readBool();
              struct.setConnectionPoolKeepAliveIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 16: // CATALOG_ID
            if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
              struct.catalog_id = iprot.readI64();
              struct.setCatalogIdIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 17: // JDBC_DRIVER_CHECKSUM
            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
              struct.jdbc_driver_checksum = iprot.readString();
              struct.setJdbcDriverChecksumIsSet(true);
            } else { 
              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
            }
            break;
          case 18: // IS_TVF
            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
              struct.is_tvf = iprot.readBool();
              struct.setIsTvfIsSet(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, TJdbcExecutorCtorParams struct) throws org.apache.thrift.TException {
      struct.validate();

      oprot.writeStructBegin(STRUCT_DESC);
      if (struct.statement != null) {
        if (struct.isSetStatement()) {
          oprot.writeFieldBegin(STATEMENT_FIELD_DESC);
          oprot.writeString(struct.statement);
          oprot.writeFieldEnd();
        }
      }
      if (struct.jdbc_url != null) {
        if (struct.isSetJdbcUrl()) {
          oprot.writeFieldBegin(JDBC_URL_FIELD_DESC);
          oprot.writeString(struct.jdbc_url);
          oprot.writeFieldEnd();
        }
      }
      if (struct.jdbc_user != null) {
        if (struct.isSetJdbcUser()) {
          oprot.writeFieldBegin(JDBC_USER_FIELD_DESC);
          oprot.writeString(struct.jdbc_user);
          oprot.writeFieldEnd();
        }
      }
      if (struct.jdbc_password != null) {
        if (struct.isSetJdbcPassword()) {
          oprot.writeFieldBegin(JDBC_PASSWORD_FIELD_DESC);
          oprot.writeString(struct.jdbc_password);
          oprot.writeFieldEnd();
        }
      }
      if (struct.jdbc_driver_class != null) {
        if (struct.isSetJdbcDriverClass()) {
          oprot.writeFieldBegin(JDBC_DRIVER_CLASS_FIELD_DESC);
          oprot.writeString(struct.jdbc_driver_class);
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetBatchSize()) {
        oprot.writeFieldBegin(BATCH_SIZE_FIELD_DESC);
        oprot.writeI32(struct.batch_size);
        oprot.writeFieldEnd();
      }
      if (struct.op != null) {
        if (struct.isSetOp()) {
          oprot.writeFieldBegin(OP_FIELD_DESC);
          oprot.writeI32(struct.op.getValue());
          oprot.writeFieldEnd();
        }
      }
      if (struct.driver_path != null) {
        if (struct.isSetDriverPath()) {
          oprot.writeFieldBegin(DRIVER_PATH_FIELD_DESC);
          oprot.writeString(struct.driver_path);
          oprot.writeFieldEnd();
        }
      }
      if (struct.table_type != null) {
        if (struct.isSetTableType()) {
          oprot.writeFieldBegin(TABLE_TYPE_FIELD_DESC);
          oprot.writeI32(struct.table_type.getValue());
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetConnectionPoolMinSize()) {
        oprot.writeFieldBegin(CONNECTION_POOL_MIN_SIZE_FIELD_DESC);
        oprot.writeI32(struct.connection_pool_min_size);
        oprot.writeFieldEnd();
      }
      if (struct.isSetConnectionPoolMaxSize()) {
        oprot.writeFieldBegin(CONNECTION_POOL_MAX_SIZE_FIELD_DESC);
        oprot.writeI32(struct.connection_pool_max_size);
        oprot.writeFieldEnd();
      }
      if (struct.isSetConnectionPoolMaxWaitTime()) {
        oprot.writeFieldBegin(CONNECTION_POOL_MAX_WAIT_TIME_FIELD_DESC);
        oprot.writeI32(struct.connection_pool_max_wait_time);
        oprot.writeFieldEnd();
      }
      if (struct.isSetConnectionPoolMaxLifeTime()) {
        oprot.writeFieldBegin(CONNECTION_POOL_MAX_LIFE_TIME_FIELD_DESC);
        oprot.writeI32(struct.connection_pool_max_life_time);
        oprot.writeFieldEnd();
      }
      if (struct.isSetConnectionPoolCacheClearTime()) {
        oprot.writeFieldBegin(CONNECTION_POOL_CACHE_CLEAR_TIME_FIELD_DESC);
        oprot.writeI32(struct.connection_pool_cache_clear_time);
        oprot.writeFieldEnd();
      }
      if (struct.isSetConnectionPoolKeepAlive()) {
        oprot.writeFieldBegin(CONNECTION_POOL_KEEP_ALIVE_FIELD_DESC);
        oprot.writeBool(struct.connection_pool_keep_alive);
        oprot.writeFieldEnd();
      }
      if (struct.isSetCatalogId()) {
        oprot.writeFieldBegin(CATALOG_ID_FIELD_DESC);
        oprot.writeI64(struct.catalog_id);
        oprot.writeFieldEnd();
      }
      if (struct.jdbc_driver_checksum != null) {
        if (struct.isSetJdbcDriverChecksum()) {
          oprot.writeFieldBegin(JDBC_DRIVER_CHECKSUM_FIELD_DESC);
          oprot.writeString(struct.jdbc_driver_checksum);
          oprot.writeFieldEnd();
        }
      }
      if (struct.isSetIsTvf()) {
        oprot.writeFieldBegin(IS_TVF_FIELD_DESC);
        oprot.writeBool(struct.is_tvf);
        oprot.writeFieldEnd();
      }
      oprot.writeFieldStop();
      oprot.writeStructEnd();
    }

  }

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

  private static class TJdbcExecutorCtorParamsTupleScheme extends org.apache.thrift.scheme.TupleScheme<TJdbcExecutorCtorParams> {

    @Override
    public void write(org.apache.thrift.protocol.TProtocol prot, TJdbcExecutorCtorParams 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.isSetStatement()) {
        optionals.set(0);
      }
      if (struct.isSetJdbcUrl()) {
        optionals.set(1);
      }
      if (struct.isSetJdbcUser()) {
        optionals.set(2);
      }
      if (struct.isSetJdbcPassword()) {
        optionals.set(3);
      }
      if (struct.isSetJdbcDriverClass()) {
        optionals.set(4);
      }
      if (struct.isSetBatchSize()) {
        optionals.set(5);
      }
      if (struct.isSetOp()) {
        optionals.set(6);
      }
      if (struct.isSetDriverPath()) {
        optionals.set(7);
      }
      if (struct.isSetTableType()) {
        optionals.set(8);
      }
      if (struct.isSetConnectionPoolMinSize()) {
        optionals.set(9);
      }
      if (struct.isSetConnectionPoolMaxSize()) {
        optionals.set(10);
      }
      if (struct.isSetConnectionPoolMaxWaitTime()) {
        optionals.set(11);
      }
      if (struct.isSetConnectionPoolMaxLifeTime()) {
        optionals.set(12);
      }
      if (struct.isSetConnectionPoolCacheClearTime()) {
        optionals.set(13);
      }
      if (struct.isSetConnectionPoolKeepAlive()) {
        optionals.set(14);
      }
      if (struct.isSetCatalogId()) {
        optionals.set(15);
      }
      if (struct.isSetJdbcDriverChecksum()) {
        optionals.set(16);
      }
      if (struct.isSetIsTvf()) {
        optionals.set(17);
      }
      oprot.writeBitSet(optionals, 18);
      if (struct.isSetStatement()) {
        oprot.writeString(struct.statement);
      }
      if (struct.isSetJdbcUrl()) {
        oprot.writeString(struct.jdbc_url);
      }
      if (struct.isSetJdbcUser()) {
        oprot.writeString(struct.jdbc_user);
      }
      if (struct.isSetJdbcPassword()) {
        oprot.writeString(struct.jdbc_password);
      }
      if (struct.isSetJdbcDriverClass()) {
        oprot.writeString(struct.jdbc_driver_class);
      }
      if (struct.isSetBatchSize()) {
        oprot.writeI32(struct.batch_size);
      }
      if (struct.isSetOp()) {
        oprot.writeI32(struct.op.getValue());
      }
      if (struct.isSetDriverPath()) {
        oprot.writeString(struct.driver_path);
      }
      if (struct.isSetTableType()) {
        oprot.writeI32(struct.table_type.getValue());
      }
      if (struct.isSetConnectionPoolMinSize()) {
        oprot.writeI32(struct.connection_pool_min_size);
      }
      if (struct.isSetConnectionPoolMaxSize()) {
        oprot.writeI32(struct.connection_pool_max_size);
      }
      if (struct.isSetConnectionPoolMaxWaitTime()) {
        oprot.writeI32(struct.connection_pool_max_wait_time);
      }
      if (struct.isSetConnectionPoolMaxLifeTime()) {
        oprot.writeI32(struct.connection_pool_max_life_time);
      }
      if (struct.isSetConnectionPoolCacheClearTime()) {
        oprot.writeI32(struct.connection_pool_cache_clear_time);
      }
      if (struct.isSetConnectionPoolKeepAlive()) {
        oprot.writeBool(struct.connection_pool_keep_alive);
      }
      if (struct.isSetCatalogId()) {
        oprot.writeI64(struct.catalog_id);
      }
      if (struct.isSetJdbcDriverChecksum()) {
        oprot.writeString(struct.jdbc_driver_checksum);
      }
      if (struct.isSetIsTvf()) {
        oprot.writeBool(struct.is_tvf);
      }
    }

    @Override
    public void read(org.apache.thrift.protocol.TProtocol prot, TJdbcExecutorCtorParams struct) throws org.apache.thrift.TException {
      org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
      java.util.BitSet incoming = iprot.readBitSet(18);
      if (incoming.get(0)) {
        struct.statement = iprot.readString();
        struct.setStatementIsSet(true);
      }
      if (incoming.get(1)) {
        struct.jdbc_url = iprot.readString();
        struct.setJdbcUrlIsSet(true);
      }
      if (incoming.get(2)) {
        struct.jdbc_user = iprot.readString();
        struct.setJdbcUserIsSet(true);
      }
      if (incoming.get(3)) {
        struct.jdbc_password = iprot.readString();
        struct.setJdbcPasswordIsSet(true);
      }
      if (incoming.get(4)) {
        struct.jdbc_driver_class = iprot.readString();
        struct.setJdbcDriverClassIsSet(true);
      }
      if (incoming.get(5)) {
        struct.batch_size = iprot.readI32();
        struct.setBatchSizeIsSet(true);
      }
      if (incoming.get(6)) {
        struct.op = org.apache.doris.thrift.TJdbcOperation.findByValue(iprot.readI32());
        struct.setOpIsSet(true);
      }
      if (incoming.get(7)) {
        struct.driver_path = iprot.readString();
        struct.setDriverPathIsSet(true);
      }
      if (incoming.get(8)) {
        struct.table_type = org.apache.doris.thrift.TOdbcTableType.findByValue(iprot.readI32());
        struct.setTableTypeIsSet(true);
      }
      if (incoming.get(9)) {
        struct.connection_pool_min_size = iprot.readI32();
        struct.setConnectionPoolMinSizeIsSet(true);
      }
      if (incoming.get(10)) {
        struct.connection_pool_max_size = iprot.readI32();
        struct.setConnectionPoolMaxSizeIsSet(true);
      }
      if (incoming.get(11)) {
        struct.connection_pool_max_wait_time = iprot.readI32();
        struct.setConnectionPoolMaxWaitTimeIsSet(true);
      }
      if (incoming.get(12)) {
        struct.connection_pool_max_life_time = iprot.readI32();
        struct.setConnectionPoolMaxLifeTimeIsSet(true);
      }
      if (incoming.get(13)) {
        struct.connection_pool_cache_clear_time = iprot.readI32();
        struct.setConnectionPoolCacheClearTimeIsSet(true);
      }
      if (incoming.get(14)) {
        struct.connection_pool_keep_alive = iprot.readBool();
        struct.setConnectionPoolKeepAliveIsSet(true);
      }
      if (incoming.get(15)) {
        struct.catalog_id = iprot.readI64();
        struct.setCatalogIdIsSet(true);
      }
      if (incoming.get(16)) {
        struct.jdbc_driver_checksum = iprot.readString();
        struct.setJdbcDriverChecksumIsSet(true);
      }
      if (incoming.get(17)) {
        struct.is_tvf = iprot.readBool();
        struct.setIsTvfIsSet(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();
  }
}