Requests.java

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: requests.proto

package org.apache.calcite.avatica.proto;

public final class Requests {
  private Requests() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface CatalogsRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CatalogsRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();
  }
  /**
   * <pre>
   * Request for Meta#getCatalogs()
   * </pre>
   *
   * Protobuf type {@code CatalogsRequest}
   */
  public static final class CatalogsRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:CatalogsRequest)
      CatalogsRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CatalogsRequest.newBuilder() to construct.
    private CatalogsRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CatalogsRequest() {
      connectionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new CatalogsRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_CatalogsRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_CatalogsRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.CatalogsRequest.class, org.apache.calcite.avatica.proto.Requests.CatalogsRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.CatalogsRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.CatalogsRequest other = (org.apache.calcite.avatica.proto.Requests.CatalogsRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.CatalogsRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.CatalogsRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CatalogsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.CatalogsRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CatalogsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.CatalogsRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CatalogsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.CatalogsRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CatalogsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.CatalogsRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CatalogsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.CatalogsRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.CatalogsRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request for Meta#getCatalogs()
     * </pre>
     *
     * Protobuf type {@code CatalogsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:CatalogsRequest)
        org.apache.calcite.avatica.proto.Requests.CatalogsRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_CatalogsRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_CatalogsRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.CatalogsRequest.class, org.apache.calcite.avatica.proto.Requests.CatalogsRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.CatalogsRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_CatalogsRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.CatalogsRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.CatalogsRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.CatalogsRequest build() {
        org.apache.calcite.avatica.proto.Requests.CatalogsRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.CatalogsRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.CatalogsRequest result = new org.apache.calcite.avatica.proto.Requests.CatalogsRequest(this);
        result.connectionId_ = connectionId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.CatalogsRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.CatalogsRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.CatalogsRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.CatalogsRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:CatalogsRequest)
    }

    // @@protoc_insertion_point(class_scope:CatalogsRequest)
    private static final org.apache.calcite.avatica.proto.Requests.CatalogsRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.CatalogsRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.CatalogsRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<CatalogsRequest>
        PARSER = new com.google.protobuf.AbstractParser<CatalogsRequest>() {
      @java.lang.Override
      public CatalogsRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<CatalogsRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<CatalogsRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.CatalogsRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface DatabasePropertyRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:DatabasePropertyRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();
  }
  /**
   * <pre>
   * Request for Meta#getDatabaseProperties()
   * </pre>
   *
   * Protobuf type {@code DatabasePropertyRequest}
   */
  public static final class DatabasePropertyRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:DatabasePropertyRequest)
      DatabasePropertyRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use DatabasePropertyRequest.newBuilder() to construct.
    private DatabasePropertyRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private DatabasePropertyRequest() {
      connectionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new DatabasePropertyRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_DatabasePropertyRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_DatabasePropertyRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest.class, org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest other = (org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request for Meta#getDatabaseProperties()
     * </pre>
     *
     * Protobuf type {@code DatabasePropertyRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:DatabasePropertyRequest)
        org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_DatabasePropertyRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_DatabasePropertyRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest.class, org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_DatabasePropertyRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest build() {
        org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest result = new org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest(this);
        result.connectionId_ = connectionId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:DatabasePropertyRequest)
    }

    // @@protoc_insertion_point(class_scope:DatabasePropertyRequest)
    private static final org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<DatabasePropertyRequest>
        PARSER = new com.google.protobuf.AbstractParser<DatabasePropertyRequest>() {
      @java.lang.Override
      public DatabasePropertyRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<DatabasePropertyRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<DatabasePropertyRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SchemasRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:SchemasRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string catalog = 1;</code>
     * @return The catalog.
     */
    java.lang.String getCatalog();
    /**
     * <code>string catalog = 1;</code>
     * @return The bytes for catalog.
     */
    com.google.protobuf.ByteString
        getCatalogBytes();

    /**
     * <code>string schema_pattern = 2;</code>
     * @return The schemaPattern.
     */
    java.lang.String getSchemaPattern();
    /**
     * <code>string schema_pattern = 2;</code>
     * @return The bytes for schemaPattern.
     */
    com.google.protobuf.ByteString
        getSchemaPatternBytes();

    /**
     * <code>string connection_id = 3;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 3;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();

    /**
     * <code>bool has_catalog = 4;</code>
     * @return The hasCatalog.
     */
    boolean getHasCatalog();

    /**
     * <code>bool has_schema_pattern = 5;</code>
     * @return The hasSchemaPattern.
     */
    boolean getHasSchemaPattern();
  }
  /**
   * <pre>
   * Request for Meta#getSchemas(String, org.apache.calcite.avatica.Meta.Pat)}
   * </pre>
   *
   * Protobuf type {@code SchemasRequest}
   */
  public static final class SchemasRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:SchemasRequest)
      SchemasRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SchemasRequest.newBuilder() to construct.
    private SchemasRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SchemasRequest() {
      catalog_ = "";
      schemaPattern_ = "";
      connectionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new SchemasRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_SchemasRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_SchemasRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.SchemasRequest.class, org.apache.calcite.avatica.proto.Requests.SchemasRequest.Builder.class);
    }

    public static final int CATALOG_FIELD_NUMBER = 1;
    private volatile java.lang.Object catalog_;
    /**
     * <code>string catalog = 1;</code>
     * @return The catalog.
     */
    @java.lang.Override
    public java.lang.String getCatalog() {
      java.lang.Object ref = catalog_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        catalog_ = s;
        return s;
      }
    }
    /**
     * <code>string catalog = 1;</code>
     * @return The bytes for catalog.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCatalogBytes() {
      java.lang.Object ref = catalog_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        catalog_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SCHEMA_PATTERN_FIELD_NUMBER = 2;
    private volatile java.lang.Object schemaPattern_;
    /**
     * <code>string schema_pattern = 2;</code>
     * @return The schemaPattern.
     */
    @java.lang.Override
    public java.lang.String getSchemaPattern() {
      java.lang.Object ref = schemaPattern_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        schemaPattern_ = s;
        return s;
      }
    }
    /**
     * <code>string schema_pattern = 2;</code>
     * @return The bytes for schemaPattern.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSchemaPatternBytes() {
      java.lang.Object ref = schemaPattern_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        schemaPattern_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 3;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 3;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 3;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int HAS_CATALOG_FIELD_NUMBER = 4;
    private boolean hasCatalog_;
    /**
     * <code>bool has_catalog = 4;</code>
     * @return The hasCatalog.
     */
    @java.lang.Override
    public boolean getHasCatalog() {
      return hasCatalog_;
    }

    public static final int HAS_SCHEMA_PATTERN_FIELD_NUMBER = 5;
    private boolean hasSchemaPattern_;
    /**
     * <code>bool has_schema_pattern = 5;</code>
     * @return The hasSchemaPattern.
     */
    @java.lang.Override
    public boolean getHasSchemaPattern() {
      return hasSchemaPattern_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(catalog_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, catalog_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(schemaPattern_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, schemaPattern_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, connectionId_);
      }
      if (hasCatalog_ != false) {
        output.writeBool(4, hasCatalog_);
      }
      if (hasSchemaPattern_ != false) {
        output.writeBool(5, hasSchemaPattern_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(catalog_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, catalog_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(schemaPattern_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, schemaPattern_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, connectionId_);
      }
      if (hasCatalog_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, hasCatalog_);
      }
      if (hasSchemaPattern_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(5, hasSchemaPattern_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.SchemasRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.SchemasRequest other = (org.apache.calcite.avatica.proto.Requests.SchemasRequest) obj;

      if (!getCatalog()
          .equals(other.getCatalog())) return false;
      if (!getSchemaPattern()
          .equals(other.getSchemaPattern())) return false;
      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (getHasCatalog()
          != other.getHasCatalog()) return false;
      if (getHasSchemaPattern()
          != other.getHasSchemaPattern()) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CATALOG_FIELD_NUMBER;
      hash = (53 * hash) + getCatalog().hashCode();
      hash = (37 * hash) + SCHEMA_PATTERN_FIELD_NUMBER;
      hash = (53 * hash) + getSchemaPattern().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (37 * hash) + HAS_CATALOG_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getHasCatalog());
      hash = (37 * hash) + HAS_SCHEMA_PATTERN_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getHasSchemaPattern());
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.SchemasRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.SchemasRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.SchemasRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.SchemasRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.SchemasRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.SchemasRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.SchemasRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.SchemasRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.SchemasRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.SchemasRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.SchemasRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.SchemasRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.SchemasRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request for Meta#getSchemas(String, org.apache.calcite.avatica.Meta.Pat)}
     * </pre>
     *
     * Protobuf type {@code SchemasRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:SchemasRequest)
        org.apache.calcite.avatica.proto.Requests.SchemasRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_SchemasRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_SchemasRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.SchemasRequest.class, org.apache.calcite.avatica.proto.Requests.SchemasRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.SchemasRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        catalog_ = "";

        schemaPattern_ = "";

        connectionId_ = "";

        hasCatalog_ = false;

        hasSchemaPattern_ = false;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_SchemasRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.SchemasRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.SchemasRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.SchemasRequest build() {
        org.apache.calcite.avatica.proto.Requests.SchemasRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.SchemasRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.SchemasRequest result = new org.apache.calcite.avatica.proto.Requests.SchemasRequest(this);
        result.catalog_ = catalog_;
        result.schemaPattern_ = schemaPattern_;
        result.connectionId_ = connectionId_;
        result.hasCatalog_ = hasCatalog_;
        result.hasSchemaPattern_ = hasSchemaPattern_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.SchemasRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.SchemasRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.SchemasRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.SchemasRequest.getDefaultInstance()) return this;
        if (!other.getCatalog().isEmpty()) {
          catalog_ = other.catalog_;
          onChanged();
        }
        if (!other.getSchemaPattern().isEmpty()) {
          schemaPattern_ = other.schemaPattern_;
          onChanged();
        }
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        if (other.getHasCatalog() != false) {
          setHasCatalog(other.getHasCatalog());
        }
        if (other.getHasSchemaPattern() != false) {
          setHasSchemaPattern(other.getHasSchemaPattern());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                catalog_ = input.readStringRequireUtf8();

                break;
              } // case 10
              case 18: {
                schemaPattern_ = input.readStringRequireUtf8();

                break;
              } // case 18
              case 26: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 26
              case 32: {
                hasCatalog_ = input.readBool();

                break;
              } // case 32
              case 40: {
                hasSchemaPattern_ = input.readBool();

                break;
              } // case 40
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private java.lang.Object catalog_ = "";
      /**
       * <code>string catalog = 1;</code>
       * @return The catalog.
       */
      public java.lang.String getCatalog() {
        java.lang.Object ref = catalog_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          catalog_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string catalog = 1;</code>
       * @return The bytes for catalog.
       */
      public com.google.protobuf.ByteString
          getCatalogBytes() {
        java.lang.Object ref = catalog_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          catalog_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string catalog = 1;</code>
       * @param value The catalog to set.
       * @return This builder for chaining.
       */
      public Builder setCatalog(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        catalog_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string catalog = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearCatalog() {
        
        catalog_ = getDefaultInstance().getCatalog();
        onChanged();
        return this;
      }
      /**
       * <code>string catalog = 1;</code>
       * @param value The bytes for catalog to set.
       * @return This builder for chaining.
       */
      public Builder setCatalogBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        catalog_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object schemaPattern_ = "";
      /**
       * <code>string schema_pattern = 2;</code>
       * @return The schemaPattern.
       */
      public java.lang.String getSchemaPattern() {
        java.lang.Object ref = schemaPattern_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          schemaPattern_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string schema_pattern = 2;</code>
       * @return The bytes for schemaPattern.
       */
      public com.google.protobuf.ByteString
          getSchemaPatternBytes() {
        java.lang.Object ref = schemaPattern_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          schemaPattern_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string schema_pattern = 2;</code>
       * @param value The schemaPattern to set.
       * @return This builder for chaining.
       */
      public Builder setSchemaPattern(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        schemaPattern_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string schema_pattern = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSchemaPattern() {
        
        schemaPattern_ = getDefaultInstance().getSchemaPattern();
        onChanged();
        return this;
      }
      /**
       * <code>string schema_pattern = 2;</code>
       * @param value The bytes for schemaPattern to set.
       * @return This builder for chaining.
       */
      public Builder setSchemaPatternBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        schemaPattern_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 3;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 3;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 3;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 3;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }

      private boolean hasCatalog_ ;
      /**
       * <code>bool has_catalog = 4;</code>
       * @return The hasCatalog.
       */
      @java.lang.Override
      public boolean getHasCatalog() {
        return hasCatalog_;
      }
      /**
       * <code>bool has_catalog = 4;</code>
       * @param value The hasCatalog to set.
       * @return This builder for chaining.
       */
      public Builder setHasCatalog(boolean value) {
        
        hasCatalog_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool has_catalog = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearHasCatalog() {
        
        hasCatalog_ = false;
        onChanged();
        return this;
      }

      private boolean hasSchemaPattern_ ;
      /**
       * <code>bool has_schema_pattern = 5;</code>
       * @return The hasSchemaPattern.
       */
      @java.lang.Override
      public boolean getHasSchemaPattern() {
        return hasSchemaPattern_;
      }
      /**
       * <code>bool has_schema_pattern = 5;</code>
       * @param value The hasSchemaPattern to set.
       * @return This builder for chaining.
       */
      public Builder setHasSchemaPattern(boolean value) {
        
        hasSchemaPattern_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool has_schema_pattern = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearHasSchemaPattern() {
        
        hasSchemaPattern_ = false;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:SchemasRequest)
    }

    // @@protoc_insertion_point(class_scope:SchemasRequest)
    private static final org.apache.calcite.avatica.proto.Requests.SchemasRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.SchemasRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.SchemasRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<SchemasRequest>
        PARSER = new com.google.protobuf.AbstractParser<SchemasRequest>() {
      @java.lang.Override
      public SchemasRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<SchemasRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<SchemasRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.SchemasRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface TablesRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:TablesRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string catalog = 1;</code>
     * @return The catalog.
     */
    java.lang.String getCatalog();
    /**
     * <code>string catalog = 1;</code>
     * @return The bytes for catalog.
     */
    com.google.protobuf.ByteString
        getCatalogBytes();

    /**
     * <code>string schema_pattern = 2;</code>
     * @return The schemaPattern.
     */
    java.lang.String getSchemaPattern();
    /**
     * <code>string schema_pattern = 2;</code>
     * @return The bytes for schemaPattern.
     */
    com.google.protobuf.ByteString
        getSchemaPatternBytes();

    /**
     * <code>string table_name_pattern = 3;</code>
     * @return The tableNamePattern.
     */
    java.lang.String getTableNamePattern();
    /**
     * <code>string table_name_pattern = 3;</code>
     * @return The bytes for tableNamePattern.
     */
    com.google.protobuf.ByteString
        getTableNamePatternBytes();

    /**
     * <code>repeated string type_list = 4;</code>
     * @return A list containing the typeList.
     */
    java.util.List<java.lang.String>
        getTypeListList();
    /**
     * <code>repeated string type_list = 4;</code>
     * @return The count of typeList.
     */
    int getTypeListCount();
    /**
     * <code>repeated string type_list = 4;</code>
     * @param index The index of the element to return.
     * @return The typeList at the given index.
     */
    java.lang.String getTypeList(int index);
    /**
     * <code>repeated string type_list = 4;</code>
     * @param index The index of the value to return.
     * @return The bytes of the typeList at the given index.
     */
    com.google.protobuf.ByteString
        getTypeListBytes(int index);

    /**
     * <pre>
     * Having an empty type_list is distinct from a null type_list
     * </pre>
     *
     * <code>bool has_type_list = 6;</code>
     * @return The hasTypeList.
     */
    boolean getHasTypeList();

    /**
     * <code>string connection_id = 7;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 7;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();

    /**
     * <code>bool has_catalog = 8;</code>
     * @return The hasCatalog.
     */
    boolean getHasCatalog();

    /**
     * <code>bool has_schema_pattern = 9;</code>
     * @return The hasSchemaPattern.
     */
    boolean getHasSchemaPattern();

    /**
     * <code>bool has_table_name_pattern = 10;</code>
     * @return The hasTableNamePattern.
     */
    boolean getHasTableNamePattern();
  }
  /**
   * <pre>
   * Request for Request for Meta#getTables(String, org.apache.calcite.avatica.Meta.Pat,
   *   org.apache.calcite.avatica.Meta.Pat, java.util.List)
   * </pre>
   *
   * Protobuf type {@code TablesRequest}
   */
  public static final class TablesRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:TablesRequest)
      TablesRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use TablesRequest.newBuilder() to construct.
    private TablesRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private TablesRequest() {
      catalog_ = "";
      schemaPattern_ = "";
      tableNamePattern_ = "";
      typeList_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      connectionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new TablesRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_TablesRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_TablesRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.TablesRequest.class, org.apache.calcite.avatica.proto.Requests.TablesRequest.Builder.class);
    }

    public static final int CATALOG_FIELD_NUMBER = 1;
    private volatile java.lang.Object catalog_;
    /**
     * <code>string catalog = 1;</code>
     * @return The catalog.
     */
    @java.lang.Override
    public java.lang.String getCatalog() {
      java.lang.Object ref = catalog_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        catalog_ = s;
        return s;
      }
    }
    /**
     * <code>string catalog = 1;</code>
     * @return The bytes for catalog.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCatalogBytes() {
      java.lang.Object ref = catalog_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        catalog_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SCHEMA_PATTERN_FIELD_NUMBER = 2;
    private volatile java.lang.Object schemaPattern_;
    /**
     * <code>string schema_pattern = 2;</code>
     * @return The schemaPattern.
     */
    @java.lang.Override
    public java.lang.String getSchemaPattern() {
      java.lang.Object ref = schemaPattern_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        schemaPattern_ = s;
        return s;
      }
    }
    /**
     * <code>string schema_pattern = 2;</code>
     * @return The bytes for schemaPattern.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSchemaPatternBytes() {
      java.lang.Object ref = schemaPattern_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        schemaPattern_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TABLE_NAME_PATTERN_FIELD_NUMBER = 3;
    private volatile java.lang.Object tableNamePattern_;
    /**
     * <code>string table_name_pattern = 3;</code>
     * @return The tableNamePattern.
     */
    @java.lang.Override
    public java.lang.String getTableNamePattern() {
      java.lang.Object ref = tableNamePattern_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        tableNamePattern_ = s;
        return s;
      }
    }
    /**
     * <code>string table_name_pattern = 3;</code>
     * @return The bytes for tableNamePattern.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTableNamePatternBytes() {
      java.lang.Object ref = tableNamePattern_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        tableNamePattern_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TYPE_LIST_FIELD_NUMBER = 4;
    private com.google.protobuf.LazyStringList typeList_;
    /**
     * <code>repeated string type_list = 4;</code>
     * @return A list containing the typeList.
     */
    public com.google.protobuf.ProtocolStringList
        getTypeListList() {
      return typeList_;
    }
    /**
     * <code>repeated string type_list = 4;</code>
     * @return The count of typeList.
     */
    public int getTypeListCount() {
      return typeList_.size();
    }
    /**
     * <code>repeated string type_list = 4;</code>
     * @param index The index of the element to return.
     * @return The typeList at the given index.
     */
    public java.lang.String getTypeList(int index) {
      return typeList_.get(index);
    }
    /**
     * <code>repeated string type_list = 4;</code>
     * @param index The index of the value to return.
     * @return The bytes of the typeList at the given index.
     */
    public com.google.protobuf.ByteString
        getTypeListBytes(int index) {
      return typeList_.getByteString(index);
    }

    public static final int HAS_TYPE_LIST_FIELD_NUMBER = 6;
    private boolean hasTypeList_;
    /**
     * <pre>
     * Having an empty type_list is distinct from a null type_list
     * </pre>
     *
     * <code>bool has_type_list = 6;</code>
     * @return The hasTypeList.
     */
    @java.lang.Override
    public boolean getHasTypeList() {
      return hasTypeList_;
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 7;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 7;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 7;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int HAS_CATALOG_FIELD_NUMBER = 8;
    private boolean hasCatalog_;
    /**
     * <code>bool has_catalog = 8;</code>
     * @return The hasCatalog.
     */
    @java.lang.Override
    public boolean getHasCatalog() {
      return hasCatalog_;
    }

    public static final int HAS_SCHEMA_PATTERN_FIELD_NUMBER = 9;
    private boolean hasSchemaPattern_;
    /**
     * <code>bool has_schema_pattern = 9;</code>
     * @return The hasSchemaPattern.
     */
    @java.lang.Override
    public boolean getHasSchemaPattern() {
      return hasSchemaPattern_;
    }

    public static final int HAS_TABLE_NAME_PATTERN_FIELD_NUMBER = 10;
    private boolean hasTableNamePattern_;
    /**
     * <code>bool has_table_name_pattern = 10;</code>
     * @return The hasTableNamePattern.
     */
    @java.lang.Override
    public boolean getHasTableNamePattern() {
      return hasTableNamePattern_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(catalog_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, catalog_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(schemaPattern_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, schemaPattern_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(tableNamePattern_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, tableNamePattern_);
      }
      for (int i = 0; i < typeList_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, typeList_.getRaw(i));
      }
      if (hasTypeList_ != false) {
        output.writeBool(6, hasTypeList_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, connectionId_);
      }
      if (hasCatalog_ != false) {
        output.writeBool(8, hasCatalog_);
      }
      if (hasSchemaPattern_ != false) {
        output.writeBool(9, hasSchemaPattern_);
      }
      if (hasTableNamePattern_ != false) {
        output.writeBool(10, hasTableNamePattern_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(catalog_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, catalog_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(schemaPattern_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, schemaPattern_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(tableNamePattern_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, tableNamePattern_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < typeList_.size(); i++) {
          dataSize += computeStringSizeNoTag(typeList_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getTypeListList().size();
      }
      if (hasTypeList_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(6, hasTypeList_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, connectionId_);
      }
      if (hasCatalog_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(8, hasCatalog_);
      }
      if (hasSchemaPattern_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(9, hasSchemaPattern_);
      }
      if (hasTableNamePattern_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(10, hasTableNamePattern_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.TablesRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.TablesRequest other = (org.apache.calcite.avatica.proto.Requests.TablesRequest) obj;

      if (!getCatalog()
          .equals(other.getCatalog())) return false;
      if (!getSchemaPattern()
          .equals(other.getSchemaPattern())) return false;
      if (!getTableNamePattern()
          .equals(other.getTableNamePattern())) return false;
      if (!getTypeListList()
          .equals(other.getTypeListList())) return false;
      if (getHasTypeList()
          != other.getHasTypeList()) return false;
      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (getHasCatalog()
          != other.getHasCatalog()) return false;
      if (getHasSchemaPattern()
          != other.getHasSchemaPattern()) return false;
      if (getHasTableNamePattern()
          != other.getHasTableNamePattern()) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CATALOG_FIELD_NUMBER;
      hash = (53 * hash) + getCatalog().hashCode();
      hash = (37 * hash) + SCHEMA_PATTERN_FIELD_NUMBER;
      hash = (53 * hash) + getSchemaPattern().hashCode();
      hash = (37 * hash) + TABLE_NAME_PATTERN_FIELD_NUMBER;
      hash = (53 * hash) + getTableNamePattern().hashCode();
      if (getTypeListCount() > 0) {
        hash = (37 * hash) + TYPE_LIST_FIELD_NUMBER;
        hash = (53 * hash) + getTypeListList().hashCode();
      }
      hash = (37 * hash) + HAS_TYPE_LIST_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getHasTypeList());
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (37 * hash) + HAS_CATALOG_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getHasCatalog());
      hash = (37 * hash) + HAS_SCHEMA_PATTERN_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getHasSchemaPattern());
      hash = (37 * hash) + HAS_TABLE_NAME_PATTERN_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getHasTableNamePattern());
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.TablesRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.TablesRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.TablesRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.TablesRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.TablesRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.TablesRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.TablesRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.TablesRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.TablesRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.TablesRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.TablesRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.TablesRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.TablesRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request for Request for Meta#getTables(String, org.apache.calcite.avatica.Meta.Pat,
     *   org.apache.calcite.avatica.Meta.Pat, java.util.List)
     * </pre>
     *
     * Protobuf type {@code TablesRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:TablesRequest)
        org.apache.calcite.avatica.proto.Requests.TablesRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_TablesRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_TablesRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.TablesRequest.class, org.apache.calcite.avatica.proto.Requests.TablesRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.TablesRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        catalog_ = "";

        schemaPattern_ = "";

        tableNamePattern_ = "";

        typeList_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        hasTypeList_ = false;

        connectionId_ = "";

        hasCatalog_ = false;

        hasSchemaPattern_ = false;

        hasTableNamePattern_ = false;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_TablesRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.TablesRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.TablesRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.TablesRequest build() {
        org.apache.calcite.avatica.proto.Requests.TablesRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.TablesRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.TablesRequest result = new org.apache.calcite.avatica.proto.Requests.TablesRequest(this);
        int from_bitField0_ = bitField0_;
        result.catalog_ = catalog_;
        result.schemaPattern_ = schemaPattern_;
        result.tableNamePattern_ = tableNamePattern_;
        if (((bitField0_ & 0x00000001) != 0)) {
          typeList_ = typeList_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.typeList_ = typeList_;
        result.hasTypeList_ = hasTypeList_;
        result.connectionId_ = connectionId_;
        result.hasCatalog_ = hasCatalog_;
        result.hasSchemaPattern_ = hasSchemaPattern_;
        result.hasTableNamePattern_ = hasTableNamePattern_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.TablesRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.TablesRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.TablesRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.TablesRequest.getDefaultInstance()) return this;
        if (!other.getCatalog().isEmpty()) {
          catalog_ = other.catalog_;
          onChanged();
        }
        if (!other.getSchemaPattern().isEmpty()) {
          schemaPattern_ = other.schemaPattern_;
          onChanged();
        }
        if (!other.getTableNamePattern().isEmpty()) {
          tableNamePattern_ = other.tableNamePattern_;
          onChanged();
        }
        if (!other.typeList_.isEmpty()) {
          if (typeList_.isEmpty()) {
            typeList_ = other.typeList_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureTypeListIsMutable();
            typeList_.addAll(other.typeList_);
          }
          onChanged();
        }
        if (other.getHasTypeList() != false) {
          setHasTypeList(other.getHasTypeList());
        }
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        if (other.getHasCatalog() != false) {
          setHasCatalog(other.getHasCatalog());
        }
        if (other.getHasSchemaPattern() != false) {
          setHasSchemaPattern(other.getHasSchemaPattern());
        }
        if (other.getHasTableNamePattern() != false) {
          setHasTableNamePattern(other.getHasTableNamePattern());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                catalog_ = input.readStringRequireUtf8();

                break;
              } // case 10
              case 18: {
                schemaPattern_ = input.readStringRequireUtf8();

                break;
              } // case 18
              case 26: {
                tableNamePattern_ = input.readStringRequireUtf8();

                break;
              } // case 26
              case 34: {
                java.lang.String s = input.readStringRequireUtf8();
                ensureTypeListIsMutable();
                typeList_.add(s);
                break;
              } // case 34
              case 48: {
                hasTypeList_ = input.readBool();

                break;
              } // case 48
              case 58: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 58
              case 64: {
                hasCatalog_ = input.readBool();

                break;
              } // case 64
              case 72: {
                hasSchemaPattern_ = input.readBool();

                break;
              } // case 72
              case 80: {
                hasTableNamePattern_ = input.readBool();

                break;
              } // case 80
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private java.lang.Object catalog_ = "";
      /**
       * <code>string catalog = 1;</code>
       * @return The catalog.
       */
      public java.lang.String getCatalog() {
        java.lang.Object ref = catalog_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          catalog_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string catalog = 1;</code>
       * @return The bytes for catalog.
       */
      public com.google.protobuf.ByteString
          getCatalogBytes() {
        java.lang.Object ref = catalog_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          catalog_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string catalog = 1;</code>
       * @param value The catalog to set.
       * @return This builder for chaining.
       */
      public Builder setCatalog(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        catalog_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string catalog = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearCatalog() {
        
        catalog_ = getDefaultInstance().getCatalog();
        onChanged();
        return this;
      }
      /**
       * <code>string catalog = 1;</code>
       * @param value The bytes for catalog to set.
       * @return This builder for chaining.
       */
      public Builder setCatalogBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        catalog_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object schemaPattern_ = "";
      /**
       * <code>string schema_pattern = 2;</code>
       * @return The schemaPattern.
       */
      public java.lang.String getSchemaPattern() {
        java.lang.Object ref = schemaPattern_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          schemaPattern_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string schema_pattern = 2;</code>
       * @return The bytes for schemaPattern.
       */
      public com.google.protobuf.ByteString
          getSchemaPatternBytes() {
        java.lang.Object ref = schemaPattern_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          schemaPattern_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string schema_pattern = 2;</code>
       * @param value The schemaPattern to set.
       * @return This builder for chaining.
       */
      public Builder setSchemaPattern(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        schemaPattern_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string schema_pattern = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSchemaPattern() {
        
        schemaPattern_ = getDefaultInstance().getSchemaPattern();
        onChanged();
        return this;
      }
      /**
       * <code>string schema_pattern = 2;</code>
       * @param value The bytes for schemaPattern to set.
       * @return This builder for chaining.
       */
      public Builder setSchemaPatternBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        schemaPattern_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object tableNamePattern_ = "";
      /**
       * <code>string table_name_pattern = 3;</code>
       * @return The tableNamePattern.
       */
      public java.lang.String getTableNamePattern() {
        java.lang.Object ref = tableNamePattern_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          tableNamePattern_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string table_name_pattern = 3;</code>
       * @return The bytes for tableNamePattern.
       */
      public com.google.protobuf.ByteString
          getTableNamePatternBytes() {
        java.lang.Object ref = tableNamePattern_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          tableNamePattern_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string table_name_pattern = 3;</code>
       * @param value The tableNamePattern to set.
       * @return This builder for chaining.
       */
      public Builder setTableNamePattern(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        tableNamePattern_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string table_name_pattern = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearTableNamePattern() {
        
        tableNamePattern_ = getDefaultInstance().getTableNamePattern();
        onChanged();
        return this;
      }
      /**
       * <code>string table_name_pattern = 3;</code>
       * @param value The bytes for tableNamePattern to set.
       * @return This builder for chaining.
       */
      public Builder setTableNamePatternBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        tableNamePattern_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList typeList_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureTypeListIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          typeList_ = new com.google.protobuf.LazyStringArrayList(typeList_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <code>repeated string type_list = 4;</code>
       * @return A list containing the typeList.
       */
      public com.google.protobuf.ProtocolStringList
          getTypeListList() {
        return typeList_.getUnmodifiableView();
      }
      /**
       * <code>repeated string type_list = 4;</code>
       * @return The count of typeList.
       */
      public int getTypeListCount() {
        return typeList_.size();
      }
      /**
       * <code>repeated string type_list = 4;</code>
       * @param index The index of the element to return.
       * @return The typeList at the given index.
       */
      public java.lang.String getTypeList(int index) {
        return typeList_.get(index);
      }
      /**
       * <code>repeated string type_list = 4;</code>
       * @param index The index of the value to return.
       * @return The bytes of the typeList at the given index.
       */
      public com.google.protobuf.ByteString
          getTypeListBytes(int index) {
        return typeList_.getByteString(index);
      }
      /**
       * <code>repeated string type_list = 4;</code>
       * @param index The index to set the value at.
       * @param value The typeList to set.
       * @return This builder for chaining.
       */
      public Builder setTypeList(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureTypeListIsMutable();
        typeList_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string type_list = 4;</code>
       * @param value The typeList to add.
       * @return This builder for chaining.
       */
      public Builder addTypeList(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureTypeListIsMutable();
        typeList_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string type_list = 4;</code>
       * @param values The typeList to add.
       * @return This builder for chaining.
       */
      public Builder addAllTypeList(
          java.lang.Iterable<java.lang.String> values) {
        ensureTypeListIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, typeList_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string type_list = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearTypeList() {
        typeList_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string type_list = 4;</code>
       * @param value The bytes of the typeList to add.
       * @return This builder for chaining.
       */
      public Builder addTypeListBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureTypeListIsMutable();
        typeList_.add(value);
        onChanged();
        return this;
      }

      private boolean hasTypeList_ ;
      /**
       * <pre>
       * Having an empty type_list is distinct from a null type_list
       * </pre>
       *
       * <code>bool has_type_list = 6;</code>
       * @return The hasTypeList.
       */
      @java.lang.Override
      public boolean getHasTypeList() {
        return hasTypeList_;
      }
      /**
       * <pre>
       * Having an empty type_list is distinct from a null type_list
       * </pre>
       *
       * <code>bool has_type_list = 6;</code>
       * @param value The hasTypeList to set.
       * @return This builder for chaining.
       */
      public Builder setHasTypeList(boolean value) {
        
        hasTypeList_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Having an empty type_list is distinct from a null type_list
       * </pre>
       *
       * <code>bool has_type_list = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearHasTypeList() {
        
        hasTypeList_ = false;
        onChanged();
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 7;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 7;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 7;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 7;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }

      private boolean hasCatalog_ ;
      /**
       * <code>bool has_catalog = 8;</code>
       * @return The hasCatalog.
       */
      @java.lang.Override
      public boolean getHasCatalog() {
        return hasCatalog_;
      }
      /**
       * <code>bool has_catalog = 8;</code>
       * @param value The hasCatalog to set.
       * @return This builder for chaining.
       */
      public Builder setHasCatalog(boolean value) {
        
        hasCatalog_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool has_catalog = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearHasCatalog() {
        
        hasCatalog_ = false;
        onChanged();
        return this;
      }

      private boolean hasSchemaPattern_ ;
      /**
       * <code>bool has_schema_pattern = 9;</code>
       * @return The hasSchemaPattern.
       */
      @java.lang.Override
      public boolean getHasSchemaPattern() {
        return hasSchemaPattern_;
      }
      /**
       * <code>bool has_schema_pattern = 9;</code>
       * @param value The hasSchemaPattern to set.
       * @return This builder for chaining.
       */
      public Builder setHasSchemaPattern(boolean value) {
        
        hasSchemaPattern_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool has_schema_pattern = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearHasSchemaPattern() {
        
        hasSchemaPattern_ = false;
        onChanged();
        return this;
      }

      private boolean hasTableNamePattern_ ;
      /**
       * <code>bool has_table_name_pattern = 10;</code>
       * @return The hasTableNamePattern.
       */
      @java.lang.Override
      public boolean getHasTableNamePattern() {
        return hasTableNamePattern_;
      }
      /**
       * <code>bool has_table_name_pattern = 10;</code>
       * @param value The hasTableNamePattern to set.
       * @return This builder for chaining.
       */
      public Builder setHasTableNamePattern(boolean value) {
        
        hasTableNamePattern_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool has_table_name_pattern = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearHasTableNamePattern() {
        
        hasTableNamePattern_ = false;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:TablesRequest)
    }

    // @@protoc_insertion_point(class_scope:TablesRequest)
    private static final org.apache.calcite.avatica.proto.Requests.TablesRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.TablesRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.TablesRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<TablesRequest>
        PARSER = new com.google.protobuf.AbstractParser<TablesRequest>() {
      @java.lang.Override
      public TablesRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<TablesRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<TablesRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.TablesRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface TableTypesRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:TableTypesRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();
  }
  /**
   * <pre>
   * Request for Meta#getTableTypes()
   * </pre>
   *
   * Protobuf type {@code TableTypesRequest}
   */
  public static final class TableTypesRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:TableTypesRequest)
      TableTypesRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use TableTypesRequest.newBuilder() to construct.
    private TableTypesRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private TableTypesRequest() {
      connectionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new TableTypesRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_TableTypesRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_TableTypesRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.TableTypesRequest.class, org.apache.calcite.avatica.proto.Requests.TableTypesRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.TableTypesRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.TableTypesRequest other = (org.apache.calcite.avatica.proto.Requests.TableTypesRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.TableTypesRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.TableTypesRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.TableTypesRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.TableTypesRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.TableTypesRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.TableTypesRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.TableTypesRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.TableTypesRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.TableTypesRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.TableTypesRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.TableTypesRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.TableTypesRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.TableTypesRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request for Meta#getTableTypes()
     * </pre>
     *
     * Protobuf type {@code TableTypesRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:TableTypesRequest)
        org.apache.calcite.avatica.proto.Requests.TableTypesRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_TableTypesRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_TableTypesRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.TableTypesRequest.class, org.apache.calcite.avatica.proto.Requests.TableTypesRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.TableTypesRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_TableTypesRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.TableTypesRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.TableTypesRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.TableTypesRequest build() {
        org.apache.calcite.avatica.proto.Requests.TableTypesRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.TableTypesRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.TableTypesRequest result = new org.apache.calcite.avatica.proto.Requests.TableTypesRequest(this);
        result.connectionId_ = connectionId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.TableTypesRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.TableTypesRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.TableTypesRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.TableTypesRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:TableTypesRequest)
    }

    // @@protoc_insertion_point(class_scope:TableTypesRequest)
    private static final org.apache.calcite.avatica.proto.Requests.TableTypesRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.TableTypesRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.TableTypesRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<TableTypesRequest>
        PARSER = new com.google.protobuf.AbstractParser<TableTypesRequest>() {
      @java.lang.Override
      public TableTypesRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<TableTypesRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<TableTypesRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.TableTypesRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ColumnsRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ColumnsRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string catalog = 1;</code>
     * @return The catalog.
     */
    java.lang.String getCatalog();
    /**
     * <code>string catalog = 1;</code>
     * @return The bytes for catalog.
     */
    com.google.protobuf.ByteString
        getCatalogBytes();

    /**
     * <code>string schema_pattern = 2;</code>
     * @return The schemaPattern.
     */
    java.lang.String getSchemaPattern();
    /**
     * <code>string schema_pattern = 2;</code>
     * @return The bytes for schemaPattern.
     */
    com.google.protobuf.ByteString
        getSchemaPatternBytes();

    /**
     * <code>string table_name_pattern = 3;</code>
     * @return The tableNamePattern.
     */
    java.lang.String getTableNamePattern();
    /**
     * <code>string table_name_pattern = 3;</code>
     * @return The bytes for tableNamePattern.
     */
    com.google.protobuf.ByteString
        getTableNamePatternBytes();

    /**
     * <code>string column_name_pattern = 4;</code>
     * @return The columnNamePattern.
     */
    java.lang.String getColumnNamePattern();
    /**
     * <code>string column_name_pattern = 4;</code>
     * @return The bytes for columnNamePattern.
     */
    com.google.protobuf.ByteString
        getColumnNamePatternBytes();

    /**
     * <code>string connection_id = 5;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 5;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();

    /**
     * <code>bool has_catalog = 6;</code>
     * @return The hasCatalog.
     */
    boolean getHasCatalog();

    /**
     * <code>bool has_schema_pattern = 7;</code>
     * @return The hasSchemaPattern.
     */
    boolean getHasSchemaPattern();

    /**
     * <code>bool has_table_name_pattern = 8;</code>
     * @return The hasTableNamePattern.
     */
    boolean getHasTableNamePattern();

    /**
     * <code>bool has_column_name_pattern = 9;</code>
     * @return The hasColumnNamePattern.
     */
    boolean getHasColumnNamePattern();
  }
  /**
   * <pre>
   * Request for Meta#getColumns(String, org.apache.calcite.avatica.Meta.Pat,
   *   org.apache.calcite.avatica.Meta.Pat, org.apache.calcite.avatica.Meta.Pat).
   * </pre>
   *
   * Protobuf type {@code ColumnsRequest}
   */
  public static final class ColumnsRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:ColumnsRequest)
      ColumnsRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ColumnsRequest.newBuilder() to construct.
    private ColumnsRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ColumnsRequest() {
      catalog_ = "";
      schemaPattern_ = "";
      tableNamePattern_ = "";
      columnNamePattern_ = "";
      connectionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ColumnsRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_ColumnsRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_ColumnsRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.ColumnsRequest.class, org.apache.calcite.avatica.proto.Requests.ColumnsRequest.Builder.class);
    }

    public static final int CATALOG_FIELD_NUMBER = 1;
    private volatile java.lang.Object catalog_;
    /**
     * <code>string catalog = 1;</code>
     * @return The catalog.
     */
    @java.lang.Override
    public java.lang.String getCatalog() {
      java.lang.Object ref = catalog_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        catalog_ = s;
        return s;
      }
    }
    /**
     * <code>string catalog = 1;</code>
     * @return The bytes for catalog.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCatalogBytes() {
      java.lang.Object ref = catalog_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        catalog_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SCHEMA_PATTERN_FIELD_NUMBER = 2;
    private volatile java.lang.Object schemaPattern_;
    /**
     * <code>string schema_pattern = 2;</code>
     * @return The schemaPattern.
     */
    @java.lang.Override
    public java.lang.String getSchemaPattern() {
      java.lang.Object ref = schemaPattern_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        schemaPattern_ = s;
        return s;
      }
    }
    /**
     * <code>string schema_pattern = 2;</code>
     * @return The bytes for schemaPattern.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSchemaPatternBytes() {
      java.lang.Object ref = schemaPattern_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        schemaPattern_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TABLE_NAME_PATTERN_FIELD_NUMBER = 3;
    private volatile java.lang.Object tableNamePattern_;
    /**
     * <code>string table_name_pattern = 3;</code>
     * @return The tableNamePattern.
     */
    @java.lang.Override
    public java.lang.String getTableNamePattern() {
      java.lang.Object ref = tableNamePattern_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        tableNamePattern_ = s;
        return s;
      }
    }
    /**
     * <code>string table_name_pattern = 3;</code>
     * @return The bytes for tableNamePattern.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getTableNamePatternBytes() {
      java.lang.Object ref = tableNamePattern_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        tableNamePattern_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int COLUMN_NAME_PATTERN_FIELD_NUMBER = 4;
    private volatile java.lang.Object columnNamePattern_;
    /**
     * <code>string column_name_pattern = 4;</code>
     * @return The columnNamePattern.
     */
    @java.lang.Override
    public java.lang.String getColumnNamePattern() {
      java.lang.Object ref = columnNamePattern_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        columnNamePattern_ = s;
        return s;
      }
    }
    /**
     * <code>string column_name_pattern = 4;</code>
     * @return The bytes for columnNamePattern.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getColumnNamePatternBytes() {
      java.lang.Object ref = columnNamePattern_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        columnNamePattern_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 5;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 5;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 5;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int HAS_CATALOG_FIELD_NUMBER = 6;
    private boolean hasCatalog_;
    /**
     * <code>bool has_catalog = 6;</code>
     * @return The hasCatalog.
     */
    @java.lang.Override
    public boolean getHasCatalog() {
      return hasCatalog_;
    }

    public static final int HAS_SCHEMA_PATTERN_FIELD_NUMBER = 7;
    private boolean hasSchemaPattern_;
    /**
     * <code>bool has_schema_pattern = 7;</code>
     * @return The hasSchemaPattern.
     */
    @java.lang.Override
    public boolean getHasSchemaPattern() {
      return hasSchemaPattern_;
    }

    public static final int HAS_TABLE_NAME_PATTERN_FIELD_NUMBER = 8;
    private boolean hasTableNamePattern_;
    /**
     * <code>bool has_table_name_pattern = 8;</code>
     * @return The hasTableNamePattern.
     */
    @java.lang.Override
    public boolean getHasTableNamePattern() {
      return hasTableNamePattern_;
    }

    public static final int HAS_COLUMN_NAME_PATTERN_FIELD_NUMBER = 9;
    private boolean hasColumnNamePattern_;
    /**
     * <code>bool has_column_name_pattern = 9;</code>
     * @return The hasColumnNamePattern.
     */
    @java.lang.Override
    public boolean getHasColumnNamePattern() {
      return hasColumnNamePattern_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(catalog_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, catalog_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(schemaPattern_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, schemaPattern_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(tableNamePattern_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, tableNamePattern_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(columnNamePattern_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, columnNamePattern_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, connectionId_);
      }
      if (hasCatalog_ != false) {
        output.writeBool(6, hasCatalog_);
      }
      if (hasSchemaPattern_ != false) {
        output.writeBool(7, hasSchemaPattern_);
      }
      if (hasTableNamePattern_ != false) {
        output.writeBool(8, hasTableNamePattern_);
      }
      if (hasColumnNamePattern_ != false) {
        output.writeBool(9, hasColumnNamePattern_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(catalog_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, catalog_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(schemaPattern_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, schemaPattern_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(tableNamePattern_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, tableNamePattern_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(columnNamePattern_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, columnNamePattern_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, connectionId_);
      }
      if (hasCatalog_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(6, hasCatalog_);
      }
      if (hasSchemaPattern_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(7, hasSchemaPattern_);
      }
      if (hasTableNamePattern_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(8, hasTableNamePattern_);
      }
      if (hasColumnNamePattern_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(9, hasColumnNamePattern_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.ColumnsRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.ColumnsRequest other = (org.apache.calcite.avatica.proto.Requests.ColumnsRequest) obj;

      if (!getCatalog()
          .equals(other.getCatalog())) return false;
      if (!getSchemaPattern()
          .equals(other.getSchemaPattern())) return false;
      if (!getTableNamePattern()
          .equals(other.getTableNamePattern())) return false;
      if (!getColumnNamePattern()
          .equals(other.getColumnNamePattern())) return false;
      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (getHasCatalog()
          != other.getHasCatalog()) return false;
      if (getHasSchemaPattern()
          != other.getHasSchemaPattern()) return false;
      if (getHasTableNamePattern()
          != other.getHasTableNamePattern()) return false;
      if (getHasColumnNamePattern()
          != other.getHasColumnNamePattern()) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CATALOG_FIELD_NUMBER;
      hash = (53 * hash) + getCatalog().hashCode();
      hash = (37 * hash) + SCHEMA_PATTERN_FIELD_NUMBER;
      hash = (53 * hash) + getSchemaPattern().hashCode();
      hash = (37 * hash) + TABLE_NAME_PATTERN_FIELD_NUMBER;
      hash = (53 * hash) + getTableNamePattern().hashCode();
      hash = (37 * hash) + COLUMN_NAME_PATTERN_FIELD_NUMBER;
      hash = (53 * hash) + getColumnNamePattern().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (37 * hash) + HAS_CATALOG_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getHasCatalog());
      hash = (37 * hash) + HAS_SCHEMA_PATTERN_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getHasSchemaPattern());
      hash = (37 * hash) + HAS_TABLE_NAME_PATTERN_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getHasTableNamePattern());
      hash = (37 * hash) + HAS_COLUMN_NAME_PATTERN_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getHasColumnNamePattern());
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.ColumnsRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.ColumnsRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ColumnsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.ColumnsRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ColumnsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.ColumnsRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ColumnsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.ColumnsRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ColumnsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.ColumnsRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ColumnsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.ColumnsRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.ColumnsRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request for Meta#getColumns(String, org.apache.calcite.avatica.Meta.Pat,
     *   org.apache.calcite.avatica.Meta.Pat, org.apache.calcite.avatica.Meta.Pat).
     * </pre>
     *
     * Protobuf type {@code ColumnsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ColumnsRequest)
        org.apache.calcite.avatica.proto.Requests.ColumnsRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_ColumnsRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_ColumnsRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.ColumnsRequest.class, org.apache.calcite.avatica.proto.Requests.ColumnsRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.ColumnsRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        catalog_ = "";

        schemaPattern_ = "";

        tableNamePattern_ = "";

        columnNamePattern_ = "";

        connectionId_ = "";

        hasCatalog_ = false;

        hasSchemaPattern_ = false;

        hasTableNamePattern_ = false;

        hasColumnNamePattern_ = false;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_ColumnsRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.ColumnsRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.ColumnsRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.ColumnsRequest build() {
        org.apache.calcite.avatica.proto.Requests.ColumnsRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.ColumnsRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.ColumnsRequest result = new org.apache.calcite.avatica.proto.Requests.ColumnsRequest(this);
        result.catalog_ = catalog_;
        result.schemaPattern_ = schemaPattern_;
        result.tableNamePattern_ = tableNamePattern_;
        result.columnNamePattern_ = columnNamePattern_;
        result.connectionId_ = connectionId_;
        result.hasCatalog_ = hasCatalog_;
        result.hasSchemaPattern_ = hasSchemaPattern_;
        result.hasTableNamePattern_ = hasTableNamePattern_;
        result.hasColumnNamePattern_ = hasColumnNamePattern_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.ColumnsRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.ColumnsRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.ColumnsRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.ColumnsRequest.getDefaultInstance()) return this;
        if (!other.getCatalog().isEmpty()) {
          catalog_ = other.catalog_;
          onChanged();
        }
        if (!other.getSchemaPattern().isEmpty()) {
          schemaPattern_ = other.schemaPattern_;
          onChanged();
        }
        if (!other.getTableNamePattern().isEmpty()) {
          tableNamePattern_ = other.tableNamePattern_;
          onChanged();
        }
        if (!other.getColumnNamePattern().isEmpty()) {
          columnNamePattern_ = other.columnNamePattern_;
          onChanged();
        }
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        if (other.getHasCatalog() != false) {
          setHasCatalog(other.getHasCatalog());
        }
        if (other.getHasSchemaPattern() != false) {
          setHasSchemaPattern(other.getHasSchemaPattern());
        }
        if (other.getHasTableNamePattern() != false) {
          setHasTableNamePattern(other.getHasTableNamePattern());
        }
        if (other.getHasColumnNamePattern() != false) {
          setHasColumnNamePattern(other.getHasColumnNamePattern());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                catalog_ = input.readStringRequireUtf8();

                break;
              } // case 10
              case 18: {
                schemaPattern_ = input.readStringRequireUtf8();

                break;
              } // case 18
              case 26: {
                tableNamePattern_ = input.readStringRequireUtf8();

                break;
              } // case 26
              case 34: {
                columnNamePattern_ = input.readStringRequireUtf8();

                break;
              } // case 34
              case 42: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 42
              case 48: {
                hasCatalog_ = input.readBool();

                break;
              } // case 48
              case 56: {
                hasSchemaPattern_ = input.readBool();

                break;
              } // case 56
              case 64: {
                hasTableNamePattern_ = input.readBool();

                break;
              } // case 64
              case 72: {
                hasColumnNamePattern_ = input.readBool();

                break;
              } // case 72
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private java.lang.Object catalog_ = "";
      /**
       * <code>string catalog = 1;</code>
       * @return The catalog.
       */
      public java.lang.String getCatalog() {
        java.lang.Object ref = catalog_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          catalog_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string catalog = 1;</code>
       * @return The bytes for catalog.
       */
      public com.google.protobuf.ByteString
          getCatalogBytes() {
        java.lang.Object ref = catalog_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          catalog_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string catalog = 1;</code>
       * @param value The catalog to set.
       * @return This builder for chaining.
       */
      public Builder setCatalog(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        catalog_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string catalog = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearCatalog() {
        
        catalog_ = getDefaultInstance().getCatalog();
        onChanged();
        return this;
      }
      /**
       * <code>string catalog = 1;</code>
       * @param value The bytes for catalog to set.
       * @return This builder for chaining.
       */
      public Builder setCatalogBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        catalog_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object schemaPattern_ = "";
      /**
       * <code>string schema_pattern = 2;</code>
       * @return The schemaPattern.
       */
      public java.lang.String getSchemaPattern() {
        java.lang.Object ref = schemaPattern_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          schemaPattern_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string schema_pattern = 2;</code>
       * @return The bytes for schemaPattern.
       */
      public com.google.protobuf.ByteString
          getSchemaPatternBytes() {
        java.lang.Object ref = schemaPattern_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          schemaPattern_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string schema_pattern = 2;</code>
       * @param value The schemaPattern to set.
       * @return This builder for chaining.
       */
      public Builder setSchemaPattern(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        schemaPattern_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string schema_pattern = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSchemaPattern() {
        
        schemaPattern_ = getDefaultInstance().getSchemaPattern();
        onChanged();
        return this;
      }
      /**
       * <code>string schema_pattern = 2;</code>
       * @param value The bytes for schemaPattern to set.
       * @return This builder for chaining.
       */
      public Builder setSchemaPatternBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        schemaPattern_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object tableNamePattern_ = "";
      /**
       * <code>string table_name_pattern = 3;</code>
       * @return The tableNamePattern.
       */
      public java.lang.String getTableNamePattern() {
        java.lang.Object ref = tableNamePattern_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          tableNamePattern_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string table_name_pattern = 3;</code>
       * @return The bytes for tableNamePattern.
       */
      public com.google.protobuf.ByteString
          getTableNamePatternBytes() {
        java.lang.Object ref = tableNamePattern_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          tableNamePattern_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string table_name_pattern = 3;</code>
       * @param value The tableNamePattern to set.
       * @return This builder for chaining.
       */
      public Builder setTableNamePattern(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        tableNamePattern_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string table_name_pattern = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearTableNamePattern() {
        
        tableNamePattern_ = getDefaultInstance().getTableNamePattern();
        onChanged();
        return this;
      }
      /**
       * <code>string table_name_pattern = 3;</code>
       * @param value The bytes for tableNamePattern to set.
       * @return This builder for chaining.
       */
      public Builder setTableNamePatternBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        tableNamePattern_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object columnNamePattern_ = "";
      /**
       * <code>string column_name_pattern = 4;</code>
       * @return The columnNamePattern.
       */
      public java.lang.String getColumnNamePattern() {
        java.lang.Object ref = columnNamePattern_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          columnNamePattern_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string column_name_pattern = 4;</code>
       * @return The bytes for columnNamePattern.
       */
      public com.google.protobuf.ByteString
          getColumnNamePatternBytes() {
        java.lang.Object ref = columnNamePattern_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          columnNamePattern_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string column_name_pattern = 4;</code>
       * @param value The columnNamePattern to set.
       * @return This builder for chaining.
       */
      public Builder setColumnNamePattern(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        columnNamePattern_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string column_name_pattern = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearColumnNamePattern() {
        
        columnNamePattern_ = getDefaultInstance().getColumnNamePattern();
        onChanged();
        return this;
      }
      /**
       * <code>string column_name_pattern = 4;</code>
       * @param value The bytes for columnNamePattern to set.
       * @return This builder for chaining.
       */
      public Builder setColumnNamePatternBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        columnNamePattern_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 5;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 5;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 5;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 5;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }

      private boolean hasCatalog_ ;
      /**
       * <code>bool has_catalog = 6;</code>
       * @return The hasCatalog.
       */
      @java.lang.Override
      public boolean getHasCatalog() {
        return hasCatalog_;
      }
      /**
       * <code>bool has_catalog = 6;</code>
       * @param value The hasCatalog to set.
       * @return This builder for chaining.
       */
      public Builder setHasCatalog(boolean value) {
        
        hasCatalog_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool has_catalog = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearHasCatalog() {
        
        hasCatalog_ = false;
        onChanged();
        return this;
      }

      private boolean hasSchemaPattern_ ;
      /**
       * <code>bool has_schema_pattern = 7;</code>
       * @return The hasSchemaPattern.
       */
      @java.lang.Override
      public boolean getHasSchemaPattern() {
        return hasSchemaPattern_;
      }
      /**
       * <code>bool has_schema_pattern = 7;</code>
       * @param value The hasSchemaPattern to set.
       * @return This builder for chaining.
       */
      public Builder setHasSchemaPattern(boolean value) {
        
        hasSchemaPattern_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool has_schema_pattern = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearHasSchemaPattern() {
        
        hasSchemaPattern_ = false;
        onChanged();
        return this;
      }

      private boolean hasTableNamePattern_ ;
      /**
       * <code>bool has_table_name_pattern = 8;</code>
       * @return The hasTableNamePattern.
       */
      @java.lang.Override
      public boolean getHasTableNamePattern() {
        return hasTableNamePattern_;
      }
      /**
       * <code>bool has_table_name_pattern = 8;</code>
       * @param value The hasTableNamePattern to set.
       * @return This builder for chaining.
       */
      public Builder setHasTableNamePattern(boolean value) {
        
        hasTableNamePattern_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool has_table_name_pattern = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearHasTableNamePattern() {
        
        hasTableNamePattern_ = false;
        onChanged();
        return this;
      }

      private boolean hasColumnNamePattern_ ;
      /**
       * <code>bool has_column_name_pattern = 9;</code>
       * @return The hasColumnNamePattern.
       */
      @java.lang.Override
      public boolean getHasColumnNamePattern() {
        return hasColumnNamePattern_;
      }
      /**
       * <code>bool has_column_name_pattern = 9;</code>
       * @param value The hasColumnNamePattern to set.
       * @return This builder for chaining.
       */
      public Builder setHasColumnNamePattern(boolean value) {
        
        hasColumnNamePattern_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool has_column_name_pattern = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearHasColumnNamePattern() {
        
        hasColumnNamePattern_ = false;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:ColumnsRequest)
    }

    // @@protoc_insertion_point(class_scope:ColumnsRequest)
    private static final org.apache.calcite.avatica.proto.Requests.ColumnsRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.ColumnsRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.ColumnsRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<ColumnsRequest>
        PARSER = new com.google.protobuf.AbstractParser<ColumnsRequest>() {
      @java.lang.Override
      public ColumnsRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<ColumnsRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<ColumnsRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.ColumnsRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface TypeInfoRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:TypeInfoRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();
  }
  /**
   * <pre>
   * Request for Meta#getTypeInfo()
   * </pre>
   *
   * Protobuf type {@code TypeInfoRequest}
   */
  public static final class TypeInfoRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:TypeInfoRequest)
      TypeInfoRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use TypeInfoRequest.newBuilder() to construct.
    private TypeInfoRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private TypeInfoRequest() {
      connectionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new TypeInfoRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_TypeInfoRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_TypeInfoRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.TypeInfoRequest.class, org.apache.calcite.avatica.proto.Requests.TypeInfoRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.TypeInfoRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.TypeInfoRequest other = (org.apache.calcite.avatica.proto.Requests.TypeInfoRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.TypeInfoRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.TypeInfoRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.TypeInfoRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.TypeInfoRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.TypeInfoRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.TypeInfoRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.TypeInfoRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.TypeInfoRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.TypeInfoRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.TypeInfoRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.TypeInfoRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.TypeInfoRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.TypeInfoRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request for Meta#getTypeInfo()
     * </pre>
     *
     * Protobuf type {@code TypeInfoRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:TypeInfoRequest)
        org.apache.calcite.avatica.proto.Requests.TypeInfoRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_TypeInfoRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_TypeInfoRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.TypeInfoRequest.class, org.apache.calcite.avatica.proto.Requests.TypeInfoRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.TypeInfoRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_TypeInfoRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.TypeInfoRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.TypeInfoRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.TypeInfoRequest build() {
        org.apache.calcite.avatica.proto.Requests.TypeInfoRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.TypeInfoRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.TypeInfoRequest result = new org.apache.calcite.avatica.proto.Requests.TypeInfoRequest(this);
        result.connectionId_ = connectionId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.TypeInfoRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.TypeInfoRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.TypeInfoRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.TypeInfoRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:TypeInfoRequest)
    }

    // @@protoc_insertion_point(class_scope:TypeInfoRequest)
    private static final org.apache.calcite.avatica.proto.Requests.TypeInfoRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.TypeInfoRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.TypeInfoRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<TypeInfoRequest>
        PARSER = new com.google.protobuf.AbstractParser<TypeInfoRequest>() {
      @java.lang.Override
      public TypeInfoRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<TypeInfoRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<TypeInfoRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.TypeInfoRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PrepareAndExecuteRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:PrepareAndExecuteRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();

    /**
     * <code>string sql = 2;</code>
     * @return The sql.
     */
    java.lang.String getSql();
    /**
     * <code>string sql = 2;</code>
     * @return The bytes for sql.
     */
    com.google.protobuf.ByteString
        getSqlBytes();

    /**
     * <pre>
     * Deprecated
     * </pre>
     *
     * <code>uint64 max_row_count = 3;</code>
     * @return The maxRowCount.
     */
    long getMaxRowCount();

    /**
     * <code>uint32 statement_id = 4;</code>
     * @return The statementId.
     */
    int getStatementId();

    /**
     * <pre>
     * The maximum number of rows that will be allowed for this query
     * </pre>
     *
     * <code>int64 max_rows_total = 5;</code>
     * @return The maxRowsTotal.
     */
    long getMaxRowsTotal();

    /**
     * <pre>
     * The maximum number of rows that will be returned in the
     * </pre>
     *
     * <code>int32 first_frame_max_size = 6;</code>
     * @return The firstFrameMaxSize.
     */
    int getFirstFrameMaxSize();
  }
  /**
   * <pre>
   * Request for Meta#prepareAndExecute(Meta.StatementHandle, String, long, Meta.PrepareCallback)
   * </pre>
   *
   * Protobuf type {@code PrepareAndExecuteRequest}
   */
  public static final class PrepareAndExecuteRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:PrepareAndExecuteRequest)
      PrepareAndExecuteRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PrepareAndExecuteRequest.newBuilder() to construct.
    private PrepareAndExecuteRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PrepareAndExecuteRequest() {
      connectionId_ = "";
      sql_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PrepareAndExecuteRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_PrepareAndExecuteRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_PrepareAndExecuteRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest.class, org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SQL_FIELD_NUMBER = 2;
    private volatile java.lang.Object sql_;
    /**
     * <code>string sql = 2;</code>
     * @return The sql.
     */
    @java.lang.Override
    public java.lang.String getSql() {
      java.lang.Object ref = sql_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        sql_ = s;
        return s;
      }
    }
    /**
     * <code>string sql = 2;</code>
     * @return The bytes for sql.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSqlBytes() {
      java.lang.Object ref = sql_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        sql_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MAX_ROW_COUNT_FIELD_NUMBER = 3;
    private long maxRowCount_;
    /**
     * <pre>
     * Deprecated
     * </pre>
     *
     * <code>uint64 max_row_count = 3;</code>
     * @return The maxRowCount.
     */
    @java.lang.Override
    public long getMaxRowCount() {
      return maxRowCount_;
    }

    public static final int STATEMENT_ID_FIELD_NUMBER = 4;
    private int statementId_;
    /**
     * <code>uint32 statement_id = 4;</code>
     * @return The statementId.
     */
    @java.lang.Override
    public int getStatementId() {
      return statementId_;
    }

    public static final int MAX_ROWS_TOTAL_FIELD_NUMBER = 5;
    private long maxRowsTotal_;
    /**
     * <pre>
     * The maximum number of rows that will be allowed for this query
     * </pre>
     *
     * <code>int64 max_rows_total = 5;</code>
     * @return The maxRowsTotal.
     */
    @java.lang.Override
    public long getMaxRowsTotal() {
      return maxRowsTotal_;
    }

    public static final int FIRST_FRAME_MAX_SIZE_FIELD_NUMBER = 6;
    private int firstFrameMaxSize_;
    /**
     * <pre>
     * The maximum number of rows that will be returned in the
     * </pre>
     *
     * <code>int32 first_frame_max_size = 6;</code>
     * @return The firstFrameMaxSize.
     */
    @java.lang.Override
    public int getFirstFrameMaxSize() {
      return firstFrameMaxSize_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(sql_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, sql_);
      }
      if (maxRowCount_ != 0L) {
        output.writeUInt64(3, maxRowCount_);
      }
      if (statementId_ != 0) {
        output.writeUInt32(4, statementId_);
      }
      if (maxRowsTotal_ != 0L) {
        output.writeInt64(5, maxRowsTotal_);
      }
      if (firstFrameMaxSize_ != 0) {
        output.writeInt32(6, firstFrameMaxSize_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(sql_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, sql_);
      }
      if (maxRowCount_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(3, maxRowCount_);
      }
      if (statementId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, statementId_);
      }
      if (maxRowsTotal_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(5, maxRowsTotal_);
      }
      if (firstFrameMaxSize_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, firstFrameMaxSize_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest other = (org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (!getSql()
          .equals(other.getSql())) return false;
      if (getMaxRowCount()
          != other.getMaxRowCount()) return false;
      if (getStatementId()
          != other.getStatementId()) return false;
      if (getMaxRowsTotal()
          != other.getMaxRowsTotal()) return false;
      if (getFirstFrameMaxSize()
          != other.getFirstFrameMaxSize()) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (37 * hash) + SQL_FIELD_NUMBER;
      hash = (53 * hash) + getSql().hashCode();
      hash = (37 * hash) + MAX_ROW_COUNT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getMaxRowCount());
      hash = (37 * hash) + STATEMENT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getStatementId();
      hash = (37 * hash) + MAX_ROWS_TOTAL_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getMaxRowsTotal());
      hash = (37 * hash) + FIRST_FRAME_MAX_SIZE_FIELD_NUMBER;
      hash = (53 * hash) + getFirstFrameMaxSize();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request for Meta#prepareAndExecute(Meta.StatementHandle, String, long, Meta.PrepareCallback)
     * </pre>
     *
     * Protobuf type {@code PrepareAndExecuteRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:PrepareAndExecuteRequest)
        org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_PrepareAndExecuteRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_PrepareAndExecuteRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest.class, org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        sql_ = "";

        maxRowCount_ = 0L;

        statementId_ = 0;

        maxRowsTotal_ = 0L;

        firstFrameMaxSize_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_PrepareAndExecuteRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest build() {
        org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest result = new org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest(this);
        result.connectionId_ = connectionId_;
        result.sql_ = sql_;
        result.maxRowCount_ = maxRowCount_;
        result.statementId_ = statementId_;
        result.maxRowsTotal_ = maxRowsTotal_;
        result.firstFrameMaxSize_ = firstFrameMaxSize_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        if (!other.getSql().isEmpty()) {
          sql_ = other.sql_;
          onChanged();
        }
        if (other.getMaxRowCount() != 0L) {
          setMaxRowCount(other.getMaxRowCount());
        }
        if (other.getStatementId() != 0) {
          setStatementId(other.getStatementId());
        }
        if (other.getMaxRowsTotal() != 0L) {
          setMaxRowsTotal(other.getMaxRowsTotal());
        }
        if (other.getFirstFrameMaxSize() != 0) {
          setFirstFrameMaxSize(other.getFirstFrameMaxSize());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              case 18: {
                sql_ = input.readStringRequireUtf8();

                break;
              } // case 18
              case 24: {
                maxRowCount_ = input.readUInt64();

                break;
              } // case 24
              case 32: {
                statementId_ = input.readUInt32();

                break;
              } // case 32
              case 40: {
                maxRowsTotal_ = input.readInt64();

                break;
              } // case 40
              case 48: {
                firstFrameMaxSize_ = input.readInt32();

                break;
              } // case 48
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object sql_ = "";
      /**
       * <code>string sql = 2;</code>
       * @return The sql.
       */
      public java.lang.String getSql() {
        java.lang.Object ref = sql_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          sql_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string sql = 2;</code>
       * @return The bytes for sql.
       */
      public com.google.protobuf.ByteString
          getSqlBytes() {
        java.lang.Object ref = sql_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          sql_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string sql = 2;</code>
       * @param value The sql to set.
       * @return This builder for chaining.
       */
      public Builder setSql(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        sql_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string sql = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSql() {
        
        sql_ = getDefaultInstance().getSql();
        onChanged();
        return this;
      }
      /**
       * <code>string sql = 2;</code>
       * @param value The bytes for sql to set.
       * @return This builder for chaining.
       */
      public Builder setSqlBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        sql_ = value;
        onChanged();
        return this;
      }

      private long maxRowCount_ ;
      /**
       * <pre>
       * Deprecated
       * </pre>
       *
       * <code>uint64 max_row_count = 3;</code>
       * @return The maxRowCount.
       */
      @java.lang.Override
      public long getMaxRowCount() {
        return maxRowCount_;
      }
      /**
       * <pre>
       * Deprecated
       * </pre>
       *
       * <code>uint64 max_row_count = 3;</code>
       * @param value The maxRowCount to set.
       * @return This builder for chaining.
       */
      public Builder setMaxRowCount(long value) {
        
        maxRowCount_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Deprecated
       * </pre>
       *
       * <code>uint64 max_row_count = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearMaxRowCount() {
        
        maxRowCount_ = 0L;
        onChanged();
        return this;
      }

      private int statementId_ ;
      /**
       * <code>uint32 statement_id = 4;</code>
       * @return The statementId.
       */
      @java.lang.Override
      public int getStatementId() {
        return statementId_;
      }
      /**
       * <code>uint32 statement_id = 4;</code>
       * @param value The statementId to set.
       * @return This builder for chaining.
       */
      public Builder setStatementId(int value) {
        
        statementId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 statement_id = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearStatementId() {
        
        statementId_ = 0;
        onChanged();
        return this;
      }

      private long maxRowsTotal_ ;
      /**
       * <pre>
       * The maximum number of rows that will be allowed for this query
       * </pre>
       *
       * <code>int64 max_rows_total = 5;</code>
       * @return The maxRowsTotal.
       */
      @java.lang.Override
      public long getMaxRowsTotal() {
        return maxRowsTotal_;
      }
      /**
       * <pre>
       * The maximum number of rows that will be allowed for this query
       * </pre>
       *
       * <code>int64 max_rows_total = 5;</code>
       * @param value The maxRowsTotal to set.
       * @return This builder for chaining.
       */
      public Builder setMaxRowsTotal(long value) {
        
        maxRowsTotal_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * The maximum number of rows that will be allowed for this query
       * </pre>
       *
       * <code>int64 max_rows_total = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearMaxRowsTotal() {
        
        maxRowsTotal_ = 0L;
        onChanged();
        return this;
      }

      private int firstFrameMaxSize_ ;
      /**
       * <pre>
       * The maximum number of rows that will be returned in the
       * </pre>
       *
       * <code>int32 first_frame_max_size = 6;</code>
       * @return The firstFrameMaxSize.
       */
      @java.lang.Override
      public int getFirstFrameMaxSize() {
        return firstFrameMaxSize_;
      }
      /**
       * <pre>
       * The maximum number of rows that will be returned in the
       * </pre>
       *
       * <code>int32 first_frame_max_size = 6;</code>
       * @param value The firstFrameMaxSize to set.
       * @return This builder for chaining.
       */
      public Builder setFirstFrameMaxSize(int value) {
        
        firstFrameMaxSize_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * The maximum number of rows that will be returned in the
       * </pre>
       *
       * <code>int32 first_frame_max_size = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearFirstFrameMaxSize() {
        
        firstFrameMaxSize_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:PrepareAndExecuteRequest)
    }

    // @@protoc_insertion_point(class_scope:PrepareAndExecuteRequest)
    private static final org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PrepareAndExecuteRequest>
        PARSER = new com.google.protobuf.AbstractParser<PrepareAndExecuteRequest>() {
      @java.lang.Override
      public PrepareAndExecuteRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<PrepareAndExecuteRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PrepareAndExecuteRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PrepareRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:PrepareRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();

    /**
     * <code>string sql = 2;</code>
     * @return The sql.
     */
    java.lang.String getSql();
    /**
     * <code>string sql = 2;</code>
     * @return The bytes for sql.
     */
    com.google.protobuf.ByteString
        getSqlBytes();

    /**
     * <pre>
     * Deprecated
     * </pre>
     *
     * <code>uint64 max_row_count = 3;</code>
     * @return The maxRowCount.
     */
    long getMaxRowCount();

    /**
     * <pre>
     * The maximum number of rows that will be allowed for this query
     * </pre>
     *
     * <code>int64 max_rows_total = 4;</code>
     * @return The maxRowsTotal.
     */
    long getMaxRowsTotal();
  }
  /**
   * <pre>
   * Request for Meta.prepare(Meta.ConnectionHandle, String, long)
   * </pre>
   *
   * Protobuf type {@code PrepareRequest}
   */
  public static final class PrepareRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:PrepareRequest)
      PrepareRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PrepareRequest.newBuilder() to construct.
    private PrepareRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PrepareRequest() {
      connectionId_ = "";
      sql_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PrepareRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_PrepareRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_PrepareRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.PrepareRequest.class, org.apache.calcite.avatica.proto.Requests.PrepareRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SQL_FIELD_NUMBER = 2;
    private volatile java.lang.Object sql_;
    /**
     * <code>string sql = 2;</code>
     * @return The sql.
     */
    @java.lang.Override
    public java.lang.String getSql() {
      java.lang.Object ref = sql_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        sql_ = s;
        return s;
      }
    }
    /**
     * <code>string sql = 2;</code>
     * @return The bytes for sql.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getSqlBytes() {
      java.lang.Object ref = sql_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        sql_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MAX_ROW_COUNT_FIELD_NUMBER = 3;
    private long maxRowCount_;
    /**
     * <pre>
     * Deprecated
     * </pre>
     *
     * <code>uint64 max_row_count = 3;</code>
     * @return The maxRowCount.
     */
    @java.lang.Override
    public long getMaxRowCount() {
      return maxRowCount_;
    }

    public static final int MAX_ROWS_TOTAL_FIELD_NUMBER = 4;
    private long maxRowsTotal_;
    /**
     * <pre>
     * The maximum number of rows that will be allowed for this query
     * </pre>
     *
     * <code>int64 max_rows_total = 4;</code>
     * @return The maxRowsTotal.
     */
    @java.lang.Override
    public long getMaxRowsTotal() {
      return maxRowsTotal_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(sql_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, sql_);
      }
      if (maxRowCount_ != 0L) {
        output.writeUInt64(3, maxRowCount_);
      }
      if (maxRowsTotal_ != 0L) {
        output.writeInt64(4, maxRowsTotal_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(sql_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, sql_);
      }
      if (maxRowCount_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(3, maxRowCount_);
      }
      if (maxRowsTotal_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(4, maxRowsTotal_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.PrepareRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.PrepareRequest other = (org.apache.calcite.avatica.proto.Requests.PrepareRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (!getSql()
          .equals(other.getSql())) return false;
      if (getMaxRowCount()
          != other.getMaxRowCount()) return false;
      if (getMaxRowsTotal()
          != other.getMaxRowsTotal()) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (37 * hash) + SQL_FIELD_NUMBER;
      hash = (53 * hash) + getSql().hashCode();
      hash = (37 * hash) + MAX_ROW_COUNT_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getMaxRowCount());
      hash = (37 * hash) + MAX_ROWS_TOTAL_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getMaxRowsTotal());
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.PrepareRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.PrepareRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request for Meta.prepare(Meta.ConnectionHandle, String, long)
     * </pre>
     *
     * Protobuf type {@code PrepareRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:PrepareRequest)
        org.apache.calcite.avatica.proto.Requests.PrepareRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_PrepareRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_PrepareRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.PrepareRequest.class, org.apache.calcite.avatica.proto.Requests.PrepareRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.PrepareRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        sql_ = "";

        maxRowCount_ = 0L;

        maxRowsTotal_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_PrepareRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.PrepareRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.PrepareRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.PrepareRequest build() {
        org.apache.calcite.avatica.proto.Requests.PrepareRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.PrepareRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.PrepareRequest result = new org.apache.calcite.avatica.proto.Requests.PrepareRequest(this);
        result.connectionId_ = connectionId_;
        result.sql_ = sql_;
        result.maxRowCount_ = maxRowCount_;
        result.maxRowsTotal_ = maxRowsTotal_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.PrepareRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.PrepareRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.PrepareRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.PrepareRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        if (!other.getSql().isEmpty()) {
          sql_ = other.sql_;
          onChanged();
        }
        if (other.getMaxRowCount() != 0L) {
          setMaxRowCount(other.getMaxRowCount());
        }
        if (other.getMaxRowsTotal() != 0L) {
          setMaxRowsTotal(other.getMaxRowsTotal());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              case 18: {
                sql_ = input.readStringRequireUtf8();

                break;
              } // case 18
              case 24: {
                maxRowCount_ = input.readUInt64();

                break;
              } // case 24
              case 32: {
                maxRowsTotal_ = input.readInt64();

                break;
              } // case 32
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object sql_ = "";
      /**
       * <code>string sql = 2;</code>
       * @return The sql.
       */
      public java.lang.String getSql() {
        java.lang.Object ref = sql_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          sql_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string sql = 2;</code>
       * @return The bytes for sql.
       */
      public com.google.protobuf.ByteString
          getSqlBytes() {
        java.lang.Object ref = sql_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          sql_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string sql = 2;</code>
       * @param value The sql to set.
       * @return This builder for chaining.
       */
      public Builder setSql(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        sql_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string sql = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearSql() {
        
        sql_ = getDefaultInstance().getSql();
        onChanged();
        return this;
      }
      /**
       * <code>string sql = 2;</code>
       * @param value The bytes for sql to set.
       * @return This builder for chaining.
       */
      public Builder setSqlBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        sql_ = value;
        onChanged();
        return this;
      }

      private long maxRowCount_ ;
      /**
       * <pre>
       * Deprecated
       * </pre>
       *
       * <code>uint64 max_row_count = 3;</code>
       * @return The maxRowCount.
       */
      @java.lang.Override
      public long getMaxRowCount() {
        return maxRowCount_;
      }
      /**
       * <pre>
       * Deprecated
       * </pre>
       *
       * <code>uint64 max_row_count = 3;</code>
       * @param value The maxRowCount to set.
       * @return This builder for chaining.
       */
      public Builder setMaxRowCount(long value) {
        
        maxRowCount_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Deprecated
       * </pre>
       *
       * <code>uint64 max_row_count = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearMaxRowCount() {
        
        maxRowCount_ = 0L;
        onChanged();
        return this;
      }

      private long maxRowsTotal_ ;
      /**
       * <pre>
       * The maximum number of rows that will be allowed for this query
       * </pre>
       *
       * <code>int64 max_rows_total = 4;</code>
       * @return The maxRowsTotal.
       */
      @java.lang.Override
      public long getMaxRowsTotal() {
        return maxRowsTotal_;
      }
      /**
       * <pre>
       * The maximum number of rows that will be allowed for this query
       * </pre>
       *
       * <code>int64 max_rows_total = 4;</code>
       * @param value The maxRowsTotal to set.
       * @return This builder for chaining.
       */
      public Builder setMaxRowsTotal(long value) {
        
        maxRowsTotal_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * The maximum number of rows that will be allowed for this query
       * </pre>
       *
       * <code>int64 max_rows_total = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearMaxRowsTotal() {
        
        maxRowsTotal_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:PrepareRequest)
    }

    // @@protoc_insertion_point(class_scope:PrepareRequest)
    private static final org.apache.calcite.avatica.proto.Requests.PrepareRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.PrepareRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.PrepareRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PrepareRequest>
        PARSER = new com.google.protobuf.AbstractParser<PrepareRequest>() {
      @java.lang.Override
      public PrepareRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<PrepareRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PrepareRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.PrepareRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface FetchRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:FetchRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();

    /**
     * <code>uint32 statement_id = 2;</code>
     * @return The statementId.
     */
    int getStatementId();

    /**
     * <code>uint64 offset = 3;</code>
     * @return The offset.
     */
    long getOffset();

    /**
     * <pre>
     * Maximum number of rows to be returned in the frame. Negative means no limit. Deprecated!
     * </pre>
     *
     * <code>uint32 fetch_max_row_count = 4;</code>
     * @return The fetchMaxRowCount.
     */
    int getFetchMaxRowCount();

    /**
     * <code>int32 frame_max_size = 5;</code>
     * @return The frameMaxSize.
     */
    int getFrameMaxSize();
  }
  /**
   * <pre>
   * Request for Meta#fetch(Meta.StatementHandle, List, long, int)
   * </pre>
   *
   * Protobuf type {@code FetchRequest}
   */
  public static final class FetchRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:FetchRequest)
      FetchRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use FetchRequest.newBuilder() to construct.
    private FetchRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private FetchRequest() {
      connectionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new FetchRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_FetchRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_FetchRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.FetchRequest.class, org.apache.calcite.avatica.proto.Requests.FetchRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STATEMENT_ID_FIELD_NUMBER = 2;
    private int statementId_;
    /**
     * <code>uint32 statement_id = 2;</code>
     * @return The statementId.
     */
    @java.lang.Override
    public int getStatementId() {
      return statementId_;
    }

    public static final int OFFSET_FIELD_NUMBER = 3;
    private long offset_;
    /**
     * <code>uint64 offset = 3;</code>
     * @return The offset.
     */
    @java.lang.Override
    public long getOffset() {
      return offset_;
    }

    public static final int FETCH_MAX_ROW_COUNT_FIELD_NUMBER = 4;
    private int fetchMaxRowCount_;
    /**
     * <pre>
     * Maximum number of rows to be returned in the frame. Negative means no limit. Deprecated!
     * </pre>
     *
     * <code>uint32 fetch_max_row_count = 4;</code>
     * @return The fetchMaxRowCount.
     */
    @java.lang.Override
    public int getFetchMaxRowCount() {
      return fetchMaxRowCount_;
    }

    public static final int FRAME_MAX_SIZE_FIELD_NUMBER = 5;
    private int frameMaxSize_;
    /**
     * <code>int32 frame_max_size = 5;</code>
     * @return The frameMaxSize.
     */
    @java.lang.Override
    public int getFrameMaxSize() {
      return frameMaxSize_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      if (statementId_ != 0) {
        output.writeUInt32(2, statementId_);
      }
      if (offset_ != 0L) {
        output.writeUInt64(3, offset_);
      }
      if (fetchMaxRowCount_ != 0) {
        output.writeUInt32(4, fetchMaxRowCount_);
      }
      if (frameMaxSize_ != 0) {
        output.writeInt32(5, frameMaxSize_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      if (statementId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, statementId_);
      }
      if (offset_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(3, offset_);
      }
      if (fetchMaxRowCount_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(4, fetchMaxRowCount_);
      }
      if (frameMaxSize_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, frameMaxSize_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.FetchRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.FetchRequest other = (org.apache.calcite.avatica.proto.Requests.FetchRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (getStatementId()
          != other.getStatementId()) return false;
      if (getOffset()
          != other.getOffset()) return false;
      if (getFetchMaxRowCount()
          != other.getFetchMaxRowCount()) return false;
      if (getFrameMaxSize()
          != other.getFrameMaxSize()) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (37 * hash) + STATEMENT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getStatementId();
      hash = (37 * hash) + OFFSET_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getOffset());
      hash = (37 * hash) + FETCH_MAX_ROW_COUNT_FIELD_NUMBER;
      hash = (53 * hash) + getFetchMaxRowCount();
      hash = (37 * hash) + FRAME_MAX_SIZE_FIELD_NUMBER;
      hash = (53 * hash) + getFrameMaxSize();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.FetchRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.FetchRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.FetchRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.FetchRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.FetchRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.FetchRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.FetchRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.FetchRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.FetchRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.FetchRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.FetchRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.FetchRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.FetchRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request for Meta#fetch(Meta.StatementHandle, List, long, int)
     * </pre>
     *
     * Protobuf type {@code FetchRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:FetchRequest)
        org.apache.calcite.avatica.proto.Requests.FetchRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_FetchRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_FetchRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.FetchRequest.class, org.apache.calcite.avatica.proto.Requests.FetchRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.FetchRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        statementId_ = 0;

        offset_ = 0L;

        fetchMaxRowCount_ = 0;

        frameMaxSize_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_FetchRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.FetchRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.FetchRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.FetchRequest build() {
        org.apache.calcite.avatica.proto.Requests.FetchRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.FetchRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.FetchRequest result = new org.apache.calcite.avatica.proto.Requests.FetchRequest(this);
        result.connectionId_ = connectionId_;
        result.statementId_ = statementId_;
        result.offset_ = offset_;
        result.fetchMaxRowCount_ = fetchMaxRowCount_;
        result.frameMaxSize_ = frameMaxSize_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.FetchRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.FetchRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.FetchRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.FetchRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        if (other.getStatementId() != 0) {
          setStatementId(other.getStatementId());
        }
        if (other.getOffset() != 0L) {
          setOffset(other.getOffset());
        }
        if (other.getFetchMaxRowCount() != 0) {
          setFetchMaxRowCount(other.getFetchMaxRowCount());
        }
        if (other.getFrameMaxSize() != 0) {
          setFrameMaxSize(other.getFrameMaxSize());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              case 16: {
                statementId_ = input.readUInt32();

                break;
              } // case 16
              case 24: {
                offset_ = input.readUInt64();

                break;
              } // case 24
              case 32: {
                fetchMaxRowCount_ = input.readUInt32();

                break;
              } // case 32
              case 40: {
                frameMaxSize_ = input.readInt32();

                break;
              } // case 40
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }

      private int statementId_ ;
      /**
       * <code>uint32 statement_id = 2;</code>
       * @return The statementId.
       */
      @java.lang.Override
      public int getStatementId() {
        return statementId_;
      }
      /**
       * <code>uint32 statement_id = 2;</code>
       * @param value The statementId to set.
       * @return This builder for chaining.
       */
      public Builder setStatementId(int value) {
        
        statementId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 statement_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearStatementId() {
        
        statementId_ = 0;
        onChanged();
        return this;
      }

      private long offset_ ;
      /**
       * <code>uint64 offset = 3;</code>
       * @return The offset.
       */
      @java.lang.Override
      public long getOffset() {
        return offset_;
      }
      /**
       * <code>uint64 offset = 3;</code>
       * @param value The offset to set.
       * @return This builder for chaining.
       */
      public Builder setOffset(long value) {
        
        offset_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 offset = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearOffset() {
        
        offset_ = 0L;
        onChanged();
        return this;
      }

      private int fetchMaxRowCount_ ;
      /**
       * <pre>
       * Maximum number of rows to be returned in the frame. Negative means no limit. Deprecated!
       * </pre>
       *
       * <code>uint32 fetch_max_row_count = 4;</code>
       * @return The fetchMaxRowCount.
       */
      @java.lang.Override
      public int getFetchMaxRowCount() {
        return fetchMaxRowCount_;
      }
      /**
       * <pre>
       * Maximum number of rows to be returned in the frame. Negative means no limit. Deprecated!
       * </pre>
       *
       * <code>uint32 fetch_max_row_count = 4;</code>
       * @param value The fetchMaxRowCount to set.
       * @return This builder for chaining.
       */
      public Builder setFetchMaxRowCount(int value) {
        
        fetchMaxRowCount_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Maximum number of rows to be returned in the frame. Negative means no limit. Deprecated!
       * </pre>
       *
       * <code>uint32 fetch_max_row_count = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearFetchMaxRowCount() {
        
        fetchMaxRowCount_ = 0;
        onChanged();
        return this;
      }

      private int frameMaxSize_ ;
      /**
       * <code>int32 frame_max_size = 5;</code>
       * @return The frameMaxSize.
       */
      @java.lang.Override
      public int getFrameMaxSize() {
        return frameMaxSize_;
      }
      /**
       * <code>int32 frame_max_size = 5;</code>
       * @param value The frameMaxSize to set.
       * @return This builder for chaining.
       */
      public Builder setFrameMaxSize(int value) {
        
        frameMaxSize_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 frame_max_size = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearFrameMaxSize() {
        
        frameMaxSize_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:FetchRequest)
    }

    // @@protoc_insertion_point(class_scope:FetchRequest)
    private static final org.apache.calcite.avatica.proto.Requests.FetchRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.FetchRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.FetchRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<FetchRequest>
        PARSER = new com.google.protobuf.AbstractParser<FetchRequest>() {
      @java.lang.Override
      public FetchRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<FetchRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<FetchRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.FetchRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CreateStatementRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CreateStatementRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();
  }
  /**
   * <pre>
   * Request for Meta#createStatement(Meta.ConnectionHandle)
   * </pre>
   *
   * Protobuf type {@code CreateStatementRequest}
   */
  public static final class CreateStatementRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:CreateStatementRequest)
      CreateStatementRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CreateStatementRequest.newBuilder() to construct.
    private CreateStatementRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CreateStatementRequest() {
      connectionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new CreateStatementRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_CreateStatementRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_CreateStatementRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.CreateStatementRequest.class, org.apache.calcite.avatica.proto.Requests.CreateStatementRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.CreateStatementRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.CreateStatementRequest other = (org.apache.calcite.avatica.proto.Requests.CreateStatementRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.CreateStatementRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.CreateStatementRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CreateStatementRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.CreateStatementRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CreateStatementRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.CreateStatementRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CreateStatementRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.CreateStatementRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CreateStatementRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.CreateStatementRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CreateStatementRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.CreateStatementRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.CreateStatementRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request for Meta#createStatement(Meta.ConnectionHandle)
     * </pre>
     *
     * Protobuf type {@code CreateStatementRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:CreateStatementRequest)
        org.apache.calcite.avatica.proto.Requests.CreateStatementRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_CreateStatementRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_CreateStatementRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.CreateStatementRequest.class, org.apache.calcite.avatica.proto.Requests.CreateStatementRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.CreateStatementRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_CreateStatementRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.CreateStatementRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.CreateStatementRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.CreateStatementRequest build() {
        org.apache.calcite.avatica.proto.Requests.CreateStatementRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.CreateStatementRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.CreateStatementRequest result = new org.apache.calcite.avatica.proto.Requests.CreateStatementRequest(this);
        result.connectionId_ = connectionId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.CreateStatementRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.CreateStatementRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.CreateStatementRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.CreateStatementRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:CreateStatementRequest)
    }

    // @@protoc_insertion_point(class_scope:CreateStatementRequest)
    private static final org.apache.calcite.avatica.proto.Requests.CreateStatementRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.CreateStatementRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.CreateStatementRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<CreateStatementRequest>
        PARSER = new com.google.protobuf.AbstractParser<CreateStatementRequest>() {
      @java.lang.Override
      public CreateStatementRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<CreateStatementRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<CreateStatementRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.CreateStatementRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CloseStatementRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CloseStatementRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();

    /**
     * <code>uint32 statement_id = 2;</code>
     * @return The statementId.
     */
    int getStatementId();
  }
  /**
   * <pre>
   * Request for Meta#closeStatement(Meta.StatementHandle)
   * </pre>
   *
   * Protobuf type {@code CloseStatementRequest}
   */
  public static final class CloseStatementRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:CloseStatementRequest)
      CloseStatementRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CloseStatementRequest.newBuilder() to construct.
    private CloseStatementRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CloseStatementRequest() {
      connectionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new CloseStatementRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_CloseStatementRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_CloseStatementRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.CloseStatementRequest.class, org.apache.calcite.avatica.proto.Requests.CloseStatementRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STATEMENT_ID_FIELD_NUMBER = 2;
    private int statementId_;
    /**
     * <code>uint32 statement_id = 2;</code>
     * @return The statementId.
     */
    @java.lang.Override
    public int getStatementId() {
      return statementId_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      if (statementId_ != 0) {
        output.writeUInt32(2, statementId_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      if (statementId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, statementId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.CloseStatementRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.CloseStatementRequest other = (org.apache.calcite.avatica.proto.Requests.CloseStatementRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (getStatementId()
          != other.getStatementId()) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (37 * hash) + STATEMENT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getStatementId();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.CloseStatementRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseStatementRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseStatementRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseStatementRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseStatementRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseStatementRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseStatementRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseStatementRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseStatementRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseStatementRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseStatementRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseStatementRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.CloseStatementRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request for Meta#closeStatement(Meta.StatementHandle)
     * </pre>
     *
     * Protobuf type {@code CloseStatementRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:CloseStatementRequest)
        org.apache.calcite.avatica.proto.Requests.CloseStatementRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_CloseStatementRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_CloseStatementRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.CloseStatementRequest.class, org.apache.calcite.avatica.proto.Requests.CloseStatementRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.CloseStatementRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        statementId_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_CloseStatementRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.CloseStatementRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.CloseStatementRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.CloseStatementRequest build() {
        org.apache.calcite.avatica.proto.Requests.CloseStatementRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.CloseStatementRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.CloseStatementRequest result = new org.apache.calcite.avatica.proto.Requests.CloseStatementRequest(this);
        result.connectionId_ = connectionId_;
        result.statementId_ = statementId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.CloseStatementRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.CloseStatementRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.CloseStatementRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.CloseStatementRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        if (other.getStatementId() != 0) {
          setStatementId(other.getStatementId());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              case 16: {
                statementId_ = input.readUInt32();

                break;
              } // case 16
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }

      private int statementId_ ;
      /**
       * <code>uint32 statement_id = 2;</code>
       * @return The statementId.
       */
      @java.lang.Override
      public int getStatementId() {
        return statementId_;
      }
      /**
       * <code>uint32 statement_id = 2;</code>
       * @param value The statementId to set.
       * @return This builder for chaining.
       */
      public Builder setStatementId(int value) {
        
        statementId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 statement_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearStatementId() {
        
        statementId_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:CloseStatementRequest)
    }

    // @@protoc_insertion_point(class_scope:CloseStatementRequest)
    private static final org.apache.calcite.avatica.proto.Requests.CloseStatementRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.CloseStatementRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.CloseStatementRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<CloseStatementRequest>
        PARSER = new com.google.protobuf.AbstractParser<CloseStatementRequest>() {
      @java.lang.Override
      public CloseStatementRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<CloseStatementRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<CloseStatementRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.CloseStatementRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface OpenConnectionRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:OpenConnectionRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();

    /**
     * <code>map&lt;string, string&gt; info = 2;</code>
     */
    int getInfoCount();
    /**
     * <code>map&lt;string, string&gt; info = 2;</code>
     */
    boolean containsInfo(
        java.lang.String key);
    /**
     * Use {@link #getInfoMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, java.lang.String>
    getInfo();
    /**
     * <code>map&lt;string, string&gt; info = 2;</code>
     */
    java.util.Map<java.lang.String, java.lang.String>
    getInfoMap();
    /**
     * <code>map&lt;string, string&gt; info = 2;</code>
     */

    /* nullable */
java.lang.String getInfoOrDefault(
        java.lang.String key,
        /* nullable */
java.lang.String defaultValue);
    /**
     * <code>map&lt;string, string&gt; info = 2;</code>
     */

    java.lang.String getInfoOrThrow(
        java.lang.String key);
  }
  /**
   * <pre>
   * Request for Meta#openConnection(Meta.ConnectionHandle, Map&lt;String, String&gt;)
   * </pre>
   *
   * Protobuf type {@code OpenConnectionRequest}
   */
  public static final class OpenConnectionRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:OpenConnectionRequest)
      OpenConnectionRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use OpenConnectionRequest.newBuilder() to construct.
    private OpenConnectionRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private OpenConnectionRequest() {
      connectionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new OpenConnectionRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_OpenConnectionRequest_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 2:
          return internalGetInfo();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_OpenConnectionRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest.class, org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int INFO_FIELD_NUMBER = 2;
    private static final class InfoDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.String, java.lang.String>newDefaultInstance(
                  org.apache.calcite.avatica.proto.Requests.internal_static_OpenConnectionRequest_InfoEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> info_;
    private com.google.protobuf.MapField<java.lang.String, java.lang.String>
    internalGetInfo() {
      if (info_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            InfoDefaultEntryHolder.defaultEntry);
      }
      return info_;
    }

    public int getInfoCount() {
      return internalGetInfo().getMap().size();
    }
    /**
     * <code>map&lt;string, string&gt; info = 2;</code>
     */

    @java.lang.Override
    public boolean containsInfo(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetInfo().getMap().containsKey(key);
    }
    /**
     * Use {@link #getInfoMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, java.lang.String> getInfo() {
      return getInfoMap();
    }
    /**
     * <code>map&lt;string, string&gt; info = 2;</code>
     */
    @java.lang.Override

    public java.util.Map<java.lang.String, java.lang.String> getInfoMap() {
      return internalGetInfo().getMap();
    }
    /**
     * <code>map&lt;string, string&gt; info = 2;</code>
     */
    @java.lang.Override

    public java.lang.String getInfoOrDefault(
        java.lang.String key,
        java.lang.String defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, java.lang.String> map =
          internalGetInfo().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <code>map&lt;string, string&gt; info = 2;</code>
     */
    @java.lang.Override

    public java.lang.String getInfoOrThrow(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, java.lang.String> map =
          internalGetInfo().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetInfo(),
          InfoDefaultEntryHolder.defaultEntry,
          2);
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      for (java.util.Map.Entry<java.lang.String, java.lang.String> entry
           : internalGetInfo().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
        info__ = InfoDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(2, info__);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest other = (org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (!internalGetInfo().equals(
          other.internalGetInfo())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      if (!internalGetInfo().getMap().isEmpty()) {
        hash = (37 * hash) + INFO_FIELD_NUMBER;
        hash = (53 * hash) + internalGetInfo().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request for Meta#openConnection(Meta.ConnectionHandle, Map&lt;String, String&gt;)
     * </pre>
     *
     * Protobuf type {@code OpenConnectionRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:OpenConnectionRequest)
        org.apache.calcite.avatica.proto.Requests.OpenConnectionRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_OpenConnectionRequest_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 2:
            return internalGetInfo();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 2:
            return internalGetMutableInfo();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_OpenConnectionRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest.class, org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        internalGetMutableInfo().clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_OpenConnectionRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest build() {
        org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest result = new org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest(this);
        int from_bitField0_ = bitField0_;
        result.connectionId_ = connectionId_;
        result.info_ = internalGetInfo();
        result.info_.makeImmutable();
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        internalGetMutableInfo().mergeFrom(
            other.internalGetInfo());
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              case 18: {
                com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
                info__ = input.readMessage(
                    InfoDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
                internalGetMutableInfo().getMutableMap().put(
                    info__.getKey(), info__.getValue());
                break;
              } // case 18
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> info_;
      private com.google.protobuf.MapField<java.lang.String, java.lang.String>
      internalGetInfo() {
        if (info_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              InfoDefaultEntryHolder.defaultEntry);
        }
        return info_;
      }
      private com.google.protobuf.MapField<java.lang.String, java.lang.String>
      internalGetMutableInfo() {
        onChanged();;
        if (info_ == null) {
          info_ = com.google.protobuf.MapField.newMapField(
              InfoDefaultEntryHolder.defaultEntry);
        }
        if (!info_.isMutable()) {
          info_ = info_.copy();
        }
        return info_;
      }

      public int getInfoCount() {
        return internalGetInfo().getMap().size();
      }
      /**
       * <code>map&lt;string, string&gt; info = 2;</code>
       */

      @java.lang.Override
      public boolean containsInfo(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetInfo().getMap().containsKey(key);
      }
      /**
       * Use {@link #getInfoMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String> getInfo() {
        return getInfoMap();
      }
      /**
       * <code>map&lt;string, string&gt; info = 2;</code>
       */
      @java.lang.Override

      public java.util.Map<java.lang.String, java.lang.String> getInfoMap() {
        return internalGetInfo().getMap();
      }
      /**
       * <code>map&lt;string, string&gt; info = 2;</code>
       */
      @java.lang.Override

      public java.lang.String getInfoOrDefault(
          java.lang.String key,
          java.lang.String defaultValue) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, java.lang.String> map =
            internalGetInfo().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <code>map&lt;string, string&gt; info = 2;</code>
       */
      @java.lang.Override

      public java.lang.String getInfoOrThrow(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, java.lang.String> map =
            internalGetInfo().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearInfo() {
        internalGetMutableInfo().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <code>map&lt;string, string&gt; info = 2;</code>
       */

      public Builder removeInfo(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        internalGetMutableInfo().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String>
      getMutableInfo() {
        return internalGetMutableInfo().getMutableMap();
      }
      /**
       * <code>map&lt;string, string&gt; info = 2;</code>
       */
      public Builder putInfo(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new NullPointerException("map key"); }
        if (value == null) {
  throw new NullPointerException("map value");
}

        internalGetMutableInfo().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * <code>map&lt;string, string&gt; info = 2;</code>
       */

      public Builder putAllInfo(
          java.util.Map<java.lang.String, java.lang.String> values) {
        internalGetMutableInfo().getMutableMap()
            .putAll(values);
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:OpenConnectionRequest)
    }

    // @@protoc_insertion_point(class_scope:OpenConnectionRequest)
    private static final org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<OpenConnectionRequest>
        PARSER = new com.google.protobuf.AbstractParser<OpenConnectionRequest>() {
      @java.lang.Override
      public OpenConnectionRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<OpenConnectionRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<OpenConnectionRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.OpenConnectionRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CloseConnectionRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CloseConnectionRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();
  }
  /**
   * <pre>
   * Request for Meta#closeConnection(Meta.ConnectionHandle)
   * </pre>
   *
   * Protobuf type {@code CloseConnectionRequest}
   */
  public static final class CloseConnectionRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:CloseConnectionRequest)
      CloseConnectionRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CloseConnectionRequest.newBuilder() to construct.
    private CloseConnectionRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CloseConnectionRequest() {
      connectionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new CloseConnectionRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_CloseConnectionRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_CloseConnectionRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest.class, org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest other = (org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request for Meta#closeConnection(Meta.ConnectionHandle)
     * </pre>
     *
     * Protobuf type {@code CloseConnectionRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:CloseConnectionRequest)
        org.apache.calcite.avatica.proto.Requests.CloseConnectionRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_CloseConnectionRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_CloseConnectionRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest.class, org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_CloseConnectionRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest build() {
        org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest result = new org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest(this);
        result.connectionId_ = connectionId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:CloseConnectionRequest)
    }

    // @@protoc_insertion_point(class_scope:CloseConnectionRequest)
    private static final org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<CloseConnectionRequest>
        PARSER = new com.google.protobuf.AbstractParser<CloseConnectionRequest>() {
      @java.lang.Override
      public CloseConnectionRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<CloseConnectionRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<CloseConnectionRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.CloseConnectionRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ConnectionSyncRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ConnectionSyncRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();

    /**
     * <code>.ConnectionProperties conn_props = 2;</code>
     * @return Whether the connProps field is set.
     */
    boolean hasConnProps();
    /**
     * <code>.ConnectionProperties conn_props = 2;</code>
     * @return The connProps.
     */
    org.apache.calcite.avatica.proto.Common.ConnectionProperties getConnProps();
    /**
     * <code>.ConnectionProperties conn_props = 2;</code>
     */
    org.apache.calcite.avatica.proto.Common.ConnectionPropertiesOrBuilder getConnPropsOrBuilder();
  }
  /**
   * Protobuf type {@code ConnectionSyncRequest}
   */
  public static final class ConnectionSyncRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:ConnectionSyncRequest)
      ConnectionSyncRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ConnectionSyncRequest.newBuilder() to construct.
    private ConnectionSyncRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ConnectionSyncRequest() {
      connectionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ConnectionSyncRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_ConnectionSyncRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_ConnectionSyncRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest.class, org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CONN_PROPS_FIELD_NUMBER = 2;
    private org.apache.calcite.avatica.proto.Common.ConnectionProperties connProps_;
    /**
     * <code>.ConnectionProperties conn_props = 2;</code>
     * @return Whether the connProps field is set.
     */
    @java.lang.Override
    public boolean hasConnProps() {
      return connProps_ != null;
    }
    /**
     * <code>.ConnectionProperties conn_props = 2;</code>
     * @return The connProps.
     */
    @java.lang.Override
    public org.apache.calcite.avatica.proto.Common.ConnectionProperties getConnProps() {
      return connProps_ == null ? org.apache.calcite.avatica.proto.Common.ConnectionProperties.getDefaultInstance() : connProps_;
    }
    /**
     * <code>.ConnectionProperties conn_props = 2;</code>
     */
    @java.lang.Override
    public org.apache.calcite.avatica.proto.Common.ConnectionPropertiesOrBuilder getConnPropsOrBuilder() {
      return getConnProps();
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      if (connProps_ != null) {
        output.writeMessage(2, getConnProps());
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      if (connProps_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getConnProps());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest other = (org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (hasConnProps() != other.hasConnProps()) return false;
      if (hasConnProps()) {
        if (!getConnProps()
            .equals(other.getConnProps())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      if (hasConnProps()) {
        hash = (37 * hash) + CONN_PROPS_FIELD_NUMBER;
        hash = (53 * hash) + getConnProps().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code ConnectionSyncRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ConnectionSyncRequest)
        org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_ConnectionSyncRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_ConnectionSyncRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest.class, org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        if (connPropsBuilder_ == null) {
          connProps_ = null;
        } else {
          connProps_ = null;
          connPropsBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_ConnectionSyncRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest build() {
        org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest result = new org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest(this);
        result.connectionId_ = connectionId_;
        if (connPropsBuilder_ == null) {
          result.connProps_ = connProps_;
        } else {
          result.connProps_ = connPropsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        if (other.hasConnProps()) {
          mergeConnProps(other.getConnProps());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              case 18: {
                input.readMessage(
                    getConnPropsFieldBuilder().getBuilder(),
                    extensionRegistry);

                break;
              } // case 18
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }

      private org.apache.calcite.avatica.proto.Common.ConnectionProperties connProps_;
      private com.google.protobuf.SingleFieldBuilderV3<
          org.apache.calcite.avatica.proto.Common.ConnectionProperties, org.apache.calcite.avatica.proto.Common.ConnectionProperties.Builder, org.apache.calcite.avatica.proto.Common.ConnectionPropertiesOrBuilder> connPropsBuilder_;
      /**
       * <code>.ConnectionProperties conn_props = 2;</code>
       * @return Whether the connProps field is set.
       */
      public boolean hasConnProps() {
        return connPropsBuilder_ != null || connProps_ != null;
      }
      /**
       * <code>.ConnectionProperties conn_props = 2;</code>
       * @return The connProps.
       */
      public org.apache.calcite.avatica.proto.Common.ConnectionProperties getConnProps() {
        if (connPropsBuilder_ == null) {
          return connProps_ == null ? org.apache.calcite.avatica.proto.Common.ConnectionProperties.getDefaultInstance() : connProps_;
        } else {
          return connPropsBuilder_.getMessage();
        }
      }
      /**
       * <code>.ConnectionProperties conn_props = 2;</code>
       */
      public Builder setConnProps(org.apache.calcite.avatica.proto.Common.ConnectionProperties value) {
        if (connPropsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          connProps_ = value;
          onChanged();
        } else {
          connPropsBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.ConnectionProperties conn_props = 2;</code>
       */
      public Builder setConnProps(
          org.apache.calcite.avatica.proto.Common.ConnectionProperties.Builder builderForValue) {
        if (connPropsBuilder_ == null) {
          connProps_ = builderForValue.build();
          onChanged();
        } else {
          connPropsBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.ConnectionProperties conn_props = 2;</code>
       */
      public Builder mergeConnProps(org.apache.calcite.avatica.proto.Common.ConnectionProperties value) {
        if (connPropsBuilder_ == null) {
          if (connProps_ != null) {
            connProps_ =
              org.apache.calcite.avatica.proto.Common.ConnectionProperties.newBuilder(connProps_).mergeFrom(value).buildPartial();
          } else {
            connProps_ = value;
          }
          onChanged();
        } else {
          connPropsBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.ConnectionProperties conn_props = 2;</code>
       */
      public Builder clearConnProps() {
        if (connPropsBuilder_ == null) {
          connProps_ = null;
          onChanged();
        } else {
          connProps_ = null;
          connPropsBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.ConnectionProperties conn_props = 2;</code>
       */
      public org.apache.calcite.avatica.proto.Common.ConnectionProperties.Builder getConnPropsBuilder() {
        
        onChanged();
        return getConnPropsFieldBuilder().getBuilder();
      }
      /**
       * <code>.ConnectionProperties conn_props = 2;</code>
       */
      public org.apache.calcite.avatica.proto.Common.ConnectionPropertiesOrBuilder getConnPropsOrBuilder() {
        if (connPropsBuilder_ != null) {
          return connPropsBuilder_.getMessageOrBuilder();
        } else {
          return connProps_ == null ?
              org.apache.calcite.avatica.proto.Common.ConnectionProperties.getDefaultInstance() : connProps_;
        }
      }
      /**
       * <code>.ConnectionProperties conn_props = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          org.apache.calcite.avatica.proto.Common.ConnectionProperties, org.apache.calcite.avatica.proto.Common.ConnectionProperties.Builder, org.apache.calcite.avatica.proto.Common.ConnectionPropertiesOrBuilder> 
          getConnPropsFieldBuilder() {
        if (connPropsBuilder_ == null) {
          connPropsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              org.apache.calcite.avatica.proto.Common.ConnectionProperties, org.apache.calcite.avatica.proto.Common.ConnectionProperties.Builder, org.apache.calcite.avatica.proto.Common.ConnectionPropertiesOrBuilder>(
                  getConnProps(),
                  getParentForChildren(),
                  isClean());
          connProps_ = null;
        }
        return connPropsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:ConnectionSyncRequest)
    }

    // @@protoc_insertion_point(class_scope:ConnectionSyncRequest)
    private static final org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<ConnectionSyncRequest>
        PARSER = new com.google.protobuf.AbstractParser<ConnectionSyncRequest>() {
      @java.lang.Override
      public ConnectionSyncRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<ConnectionSyncRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<ConnectionSyncRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.ConnectionSyncRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ExecuteRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ExecuteRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.StatementHandle statementHandle = 1;</code>
     * @return Whether the statementHandle field is set.
     */
    boolean hasStatementHandle();
    /**
     * <code>.StatementHandle statementHandle = 1;</code>
     * @return The statementHandle.
     */
    org.apache.calcite.avatica.proto.Common.StatementHandle getStatementHandle();
    /**
     * <code>.StatementHandle statementHandle = 1;</code>
     */
    org.apache.calcite.avatica.proto.Common.StatementHandleOrBuilder getStatementHandleOrBuilder();

    /**
     * <code>repeated .TypedValue parameter_values = 2;</code>
     */
    java.util.List<org.apache.calcite.avatica.proto.Common.TypedValue> 
        getParameterValuesList();
    /**
     * <code>repeated .TypedValue parameter_values = 2;</code>
     */
    org.apache.calcite.avatica.proto.Common.TypedValue getParameterValues(int index);
    /**
     * <code>repeated .TypedValue parameter_values = 2;</code>
     */
    int getParameterValuesCount();
    /**
     * <code>repeated .TypedValue parameter_values = 2;</code>
     */
    java.util.List<? extends org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder> 
        getParameterValuesOrBuilderList();
    /**
     * <code>repeated .TypedValue parameter_values = 2;</code>
     */
    org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder getParameterValuesOrBuilder(
        int index);

    /**
     * <pre>
     * Deprecated, use the signed int instead.
     * </pre>
     *
     * <code>uint64 deprecated_first_frame_max_size = 3;</code>
     * @return The deprecatedFirstFrameMaxSize.
     */
    long getDeprecatedFirstFrameMaxSize();

    /**
     * <code>bool has_parameter_values = 4;</code>
     * @return The hasParameterValues.
     */
    boolean getHasParameterValues();

    /**
     * <pre>
     * The maximum number of rows to return in the first Frame
     * </pre>
     *
     * <code>int32 first_frame_max_size = 5;</code>
     * @return The firstFrameMaxSize.
     */
    int getFirstFrameMaxSize();
  }
  /**
   * <pre>
   * Request for Meta#execute(Meta.ConnectionHandle, list, long)
   * </pre>
   *
   * Protobuf type {@code ExecuteRequest}
   */
  public static final class ExecuteRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:ExecuteRequest)
      ExecuteRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ExecuteRequest.newBuilder() to construct.
    private ExecuteRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ExecuteRequest() {
      parameterValues_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ExecuteRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_ExecuteRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_ExecuteRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.ExecuteRequest.class, org.apache.calcite.avatica.proto.Requests.ExecuteRequest.Builder.class);
    }

    public static final int STATEMENTHANDLE_FIELD_NUMBER = 1;
    private org.apache.calcite.avatica.proto.Common.StatementHandle statementHandle_;
    /**
     * <code>.StatementHandle statementHandle = 1;</code>
     * @return Whether the statementHandle field is set.
     */
    @java.lang.Override
    public boolean hasStatementHandle() {
      return statementHandle_ != null;
    }
    /**
     * <code>.StatementHandle statementHandle = 1;</code>
     * @return The statementHandle.
     */
    @java.lang.Override
    public org.apache.calcite.avatica.proto.Common.StatementHandle getStatementHandle() {
      return statementHandle_ == null ? org.apache.calcite.avatica.proto.Common.StatementHandle.getDefaultInstance() : statementHandle_;
    }
    /**
     * <code>.StatementHandle statementHandle = 1;</code>
     */
    @java.lang.Override
    public org.apache.calcite.avatica.proto.Common.StatementHandleOrBuilder getStatementHandleOrBuilder() {
      return getStatementHandle();
    }

    public static final int PARAMETER_VALUES_FIELD_NUMBER = 2;
    private java.util.List<org.apache.calcite.avatica.proto.Common.TypedValue> parameterValues_;
    /**
     * <code>repeated .TypedValue parameter_values = 2;</code>
     */
    @java.lang.Override
    public java.util.List<org.apache.calcite.avatica.proto.Common.TypedValue> getParameterValuesList() {
      return parameterValues_;
    }
    /**
     * <code>repeated .TypedValue parameter_values = 2;</code>
     */
    @java.lang.Override
    public java.util.List<? extends org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder> 
        getParameterValuesOrBuilderList() {
      return parameterValues_;
    }
    /**
     * <code>repeated .TypedValue parameter_values = 2;</code>
     */
    @java.lang.Override
    public int getParameterValuesCount() {
      return parameterValues_.size();
    }
    /**
     * <code>repeated .TypedValue parameter_values = 2;</code>
     */
    @java.lang.Override
    public org.apache.calcite.avatica.proto.Common.TypedValue getParameterValues(int index) {
      return parameterValues_.get(index);
    }
    /**
     * <code>repeated .TypedValue parameter_values = 2;</code>
     */
    @java.lang.Override
    public org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder getParameterValuesOrBuilder(
        int index) {
      return parameterValues_.get(index);
    }

    public static final int DEPRECATED_FIRST_FRAME_MAX_SIZE_FIELD_NUMBER = 3;
    private long deprecatedFirstFrameMaxSize_;
    /**
     * <pre>
     * Deprecated, use the signed int instead.
     * </pre>
     *
     * <code>uint64 deprecated_first_frame_max_size = 3;</code>
     * @return The deprecatedFirstFrameMaxSize.
     */
    @java.lang.Override
    public long getDeprecatedFirstFrameMaxSize() {
      return deprecatedFirstFrameMaxSize_;
    }

    public static final int HAS_PARAMETER_VALUES_FIELD_NUMBER = 4;
    private boolean hasParameterValues_;
    /**
     * <code>bool has_parameter_values = 4;</code>
     * @return The hasParameterValues.
     */
    @java.lang.Override
    public boolean getHasParameterValues() {
      return hasParameterValues_;
    }

    public static final int FIRST_FRAME_MAX_SIZE_FIELD_NUMBER = 5;
    private int firstFrameMaxSize_;
    /**
     * <pre>
     * The maximum number of rows to return in the first Frame
     * </pre>
     *
     * <code>int32 first_frame_max_size = 5;</code>
     * @return The firstFrameMaxSize.
     */
    @java.lang.Override
    public int getFirstFrameMaxSize() {
      return firstFrameMaxSize_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (statementHandle_ != null) {
        output.writeMessage(1, getStatementHandle());
      }
      for (int i = 0; i < parameterValues_.size(); i++) {
        output.writeMessage(2, parameterValues_.get(i));
      }
      if (deprecatedFirstFrameMaxSize_ != 0L) {
        output.writeUInt64(3, deprecatedFirstFrameMaxSize_);
      }
      if (hasParameterValues_ != false) {
        output.writeBool(4, hasParameterValues_);
      }
      if (firstFrameMaxSize_ != 0) {
        output.writeInt32(5, firstFrameMaxSize_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (statementHandle_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getStatementHandle());
      }
      for (int i = 0; i < parameterValues_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, parameterValues_.get(i));
      }
      if (deprecatedFirstFrameMaxSize_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(3, deprecatedFirstFrameMaxSize_);
      }
      if (hasParameterValues_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, hasParameterValues_);
      }
      if (firstFrameMaxSize_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, firstFrameMaxSize_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.ExecuteRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.ExecuteRequest other = (org.apache.calcite.avatica.proto.Requests.ExecuteRequest) obj;

      if (hasStatementHandle() != other.hasStatementHandle()) return false;
      if (hasStatementHandle()) {
        if (!getStatementHandle()
            .equals(other.getStatementHandle())) return false;
      }
      if (!getParameterValuesList()
          .equals(other.getParameterValuesList())) return false;
      if (getDeprecatedFirstFrameMaxSize()
          != other.getDeprecatedFirstFrameMaxSize()) return false;
      if (getHasParameterValues()
          != other.getHasParameterValues()) return false;
      if (getFirstFrameMaxSize()
          != other.getFirstFrameMaxSize()) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasStatementHandle()) {
        hash = (37 * hash) + STATEMENTHANDLE_FIELD_NUMBER;
        hash = (53 * hash) + getStatementHandle().hashCode();
      }
      if (getParameterValuesCount() > 0) {
        hash = (37 * hash) + PARAMETER_VALUES_FIELD_NUMBER;
        hash = (53 * hash) + getParameterValuesList().hashCode();
      }
      hash = (37 * hash) + DEPRECATED_FIRST_FRAME_MAX_SIZE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getDeprecatedFirstFrameMaxSize());
      hash = (37 * hash) + HAS_PARAMETER_VALUES_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getHasParameterValues());
      hash = (37 * hash) + FIRST_FRAME_MAX_SIZE_FIELD_NUMBER;
      hash = (53 * hash) + getFirstFrameMaxSize();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.ExecuteRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.ExecuteRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request for Meta#execute(Meta.ConnectionHandle, list, long)
     * </pre>
     *
     * Protobuf type {@code ExecuteRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ExecuteRequest)
        org.apache.calcite.avatica.proto.Requests.ExecuteRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_ExecuteRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_ExecuteRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.ExecuteRequest.class, org.apache.calcite.avatica.proto.Requests.ExecuteRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.ExecuteRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (statementHandleBuilder_ == null) {
          statementHandle_ = null;
        } else {
          statementHandle_ = null;
          statementHandleBuilder_ = null;
        }
        if (parameterValuesBuilder_ == null) {
          parameterValues_ = java.util.Collections.emptyList();
        } else {
          parameterValues_ = null;
          parameterValuesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        deprecatedFirstFrameMaxSize_ = 0L;

        hasParameterValues_ = false;

        firstFrameMaxSize_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_ExecuteRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.ExecuteRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.ExecuteRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.ExecuteRequest build() {
        org.apache.calcite.avatica.proto.Requests.ExecuteRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.ExecuteRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.ExecuteRequest result = new org.apache.calcite.avatica.proto.Requests.ExecuteRequest(this);
        int from_bitField0_ = bitField0_;
        if (statementHandleBuilder_ == null) {
          result.statementHandle_ = statementHandle_;
        } else {
          result.statementHandle_ = statementHandleBuilder_.build();
        }
        if (parameterValuesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            parameterValues_ = java.util.Collections.unmodifiableList(parameterValues_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.parameterValues_ = parameterValues_;
        } else {
          result.parameterValues_ = parameterValuesBuilder_.build();
        }
        result.deprecatedFirstFrameMaxSize_ = deprecatedFirstFrameMaxSize_;
        result.hasParameterValues_ = hasParameterValues_;
        result.firstFrameMaxSize_ = firstFrameMaxSize_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.ExecuteRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.ExecuteRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.ExecuteRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.ExecuteRequest.getDefaultInstance()) return this;
        if (other.hasStatementHandle()) {
          mergeStatementHandle(other.getStatementHandle());
        }
        if (parameterValuesBuilder_ == null) {
          if (!other.parameterValues_.isEmpty()) {
            if (parameterValues_.isEmpty()) {
              parameterValues_ = other.parameterValues_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureParameterValuesIsMutable();
              parameterValues_.addAll(other.parameterValues_);
            }
            onChanged();
          }
        } else {
          if (!other.parameterValues_.isEmpty()) {
            if (parameterValuesBuilder_.isEmpty()) {
              parameterValuesBuilder_.dispose();
              parameterValuesBuilder_ = null;
              parameterValues_ = other.parameterValues_;
              bitField0_ = (bitField0_ & ~0x00000001);
              parameterValuesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getParameterValuesFieldBuilder() : null;
            } else {
              parameterValuesBuilder_.addAllMessages(other.parameterValues_);
            }
          }
        }
        if (other.getDeprecatedFirstFrameMaxSize() != 0L) {
          setDeprecatedFirstFrameMaxSize(other.getDeprecatedFirstFrameMaxSize());
        }
        if (other.getHasParameterValues() != false) {
          setHasParameterValues(other.getHasParameterValues());
        }
        if (other.getFirstFrameMaxSize() != 0) {
          setFirstFrameMaxSize(other.getFirstFrameMaxSize());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                input.readMessage(
                    getStatementHandleFieldBuilder().getBuilder(),
                    extensionRegistry);

                break;
              } // case 10
              case 18: {
                org.apache.calcite.avatica.proto.Common.TypedValue m =
                    input.readMessage(
                        org.apache.calcite.avatica.proto.Common.TypedValue.parser(),
                        extensionRegistry);
                if (parameterValuesBuilder_ == null) {
                  ensureParameterValuesIsMutable();
                  parameterValues_.add(m);
                } else {
                  parameterValuesBuilder_.addMessage(m);
                }
                break;
              } // case 18
              case 24: {
                deprecatedFirstFrameMaxSize_ = input.readUInt64();

                break;
              } // case 24
              case 32: {
                hasParameterValues_ = input.readBool();

                break;
              } // case 32
              case 40: {
                firstFrameMaxSize_ = input.readInt32();

                break;
              } // case 40
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private org.apache.calcite.avatica.proto.Common.StatementHandle statementHandle_;
      private com.google.protobuf.SingleFieldBuilderV3<
          org.apache.calcite.avatica.proto.Common.StatementHandle, org.apache.calcite.avatica.proto.Common.StatementHandle.Builder, org.apache.calcite.avatica.proto.Common.StatementHandleOrBuilder> statementHandleBuilder_;
      /**
       * <code>.StatementHandle statementHandle = 1;</code>
       * @return Whether the statementHandle field is set.
       */
      public boolean hasStatementHandle() {
        return statementHandleBuilder_ != null || statementHandle_ != null;
      }
      /**
       * <code>.StatementHandle statementHandle = 1;</code>
       * @return The statementHandle.
       */
      public org.apache.calcite.avatica.proto.Common.StatementHandle getStatementHandle() {
        if (statementHandleBuilder_ == null) {
          return statementHandle_ == null ? org.apache.calcite.avatica.proto.Common.StatementHandle.getDefaultInstance() : statementHandle_;
        } else {
          return statementHandleBuilder_.getMessage();
        }
      }
      /**
       * <code>.StatementHandle statementHandle = 1;</code>
       */
      public Builder setStatementHandle(org.apache.calcite.avatica.proto.Common.StatementHandle value) {
        if (statementHandleBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          statementHandle_ = value;
          onChanged();
        } else {
          statementHandleBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.StatementHandle statementHandle = 1;</code>
       */
      public Builder setStatementHandle(
          org.apache.calcite.avatica.proto.Common.StatementHandle.Builder builderForValue) {
        if (statementHandleBuilder_ == null) {
          statementHandle_ = builderForValue.build();
          onChanged();
        } else {
          statementHandleBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.StatementHandle statementHandle = 1;</code>
       */
      public Builder mergeStatementHandle(org.apache.calcite.avatica.proto.Common.StatementHandle value) {
        if (statementHandleBuilder_ == null) {
          if (statementHandle_ != null) {
            statementHandle_ =
              org.apache.calcite.avatica.proto.Common.StatementHandle.newBuilder(statementHandle_).mergeFrom(value).buildPartial();
          } else {
            statementHandle_ = value;
          }
          onChanged();
        } else {
          statementHandleBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.StatementHandle statementHandle = 1;</code>
       */
      public Builder clearStatementHandle() {
        if (statementHandleBuilder_ == null) {
          statementHandle_ = null;
          onChanged();
        } else {
          statementHandle_ = null;
          statementHandleBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.StatementHandle statementHandle = 1;</code>
       */
      public org.apache.calcite.avatica.proto.Common.StatementHandle.Builder getStatementHandleBuilder() {
        
        onChanged();
        return getStatementHandleFieldBuilder().getBuilder();
      }
      /**
       * <code>.StatementHandle statementHandle = 1;</code>
       */
      public org.apache.calcite.avatica.proto.Common.StatementHandleOrBuilder getStatementHandleOrBuilder() {
        if (statementHandleBuilder_ != null) {
          return statementHandleBuilder_.getMessageOrBuilder();
        } else {
          return statementHandle_ == null ?
              org.apache.calcite.avatica.proto.Common.StatementHandle.getDefaultInstance() : statementHandle_;
        }
      }
      /**
       * <code>.StatementHandle statementHandle = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          org.apache.calcite.avatica.proto.Common.StatementHandle, org.apache.calcite.avatica.proto.Common.StatementHandle.Builder, org.apache.calcite.avatica.proto.Common.StatementHandleOrBuilder> 
          getStatementHandleFieldBuilder() {
        if (statementHandleBuilder_ == null) {
          statementHandleBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              org.apache.calcite.avatica.proto.Common.StatementHandle, org.apache.calcite.avatica.proto.Common.StatementHandle.Builder, org.apache.calcite.avatica.proto.Common.StatementHandleOrBuilder>(
                  getStatementHandle(),
                  getParentForChildren(),
                  isClean());
          statementHandle_ = null;
        }
        return statementHandleBuilder_;
      }

      private java.util.List<org.apache.calcite.avatica.proto.Common.TypedValue> parameterValues_ =
        java.util.Collections.emptyList();
      private void ensureParameterValuesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          parameterValues_ = new java.util.ArrayList<org.apache.calcite.avatica.proto.Common.TypedValue>(parameterValues_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          org.apache.calcite.avatica.proto.Common.TypedValue, org.apache.calcite.avatica.proto.Common.TypedValue.Builder, org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder> parameterValuesBuilder_;

      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public java.util.List<org.apache.calcite.avatica.proto.Common.TypedValue> getParameterValuesList() {
        if (parameterValuesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(parameterValues_);
        } else {
          return parameterValuesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public int getParameterValuesCount() {
        if (parameterValuesBuilder_ == null) {
          return parameterValues_.size();
        } else {
          return parameterValuesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public org.apache.calcite.avatica.proto.Common.TypedValue getParameterValues(int index) {
        if (parameterValuesBuilder_ == null) {
          return parameterValues_.get(index);
        } else {
          return parameterValuesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public Builder setParameterValues(
          int index, org.apache.calcite.avatica.proto.Common.TypedValue value) {
        if (parameterValuesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureParameterValuesIsMutable();
          parameterValues_.set(index, value);
          onChanged();
        } else {
          parameterValuesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public Builder setParameterValues(
          int index, org.apache.calcite.avatica.proto.Common.TypedValue.Builder builderForValue) {
        if (parameterValuesBuilder_ == null) {
          ensureParameterValuesIsMutable();
          parameterValues_.set(index, builderForValue.build());
          onChanged();
        } else {
          parameterValuesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public Builder addParameterValues(org.apache.calcite.avatica.proto.Common.TypedValue value) {
        if (parameterValuesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureParameterValuesIsMutable();
          parameterValues_.add(value);
          onChanged();
        } else {
          parameterValuesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public Builder addParameterValues(
          int index, org.apache.calcite.avatica.proto.Common.TypedValue value) {
        if (parameterValuesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureParameterValuesIsMutable();
          parameterValues_.add(index, value);
          onChanged();
        } else {
          parameterValuesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public Builder addParameterValues(
          org.apache.calcite.avatica.proto.Common.TypedValue.Builder builderForValue) {
        if (parameterValuesBuilder_ == null) {
          ensureParameterValuesIsMutable();
          parameterValues_.add(builderForValue.build());
          onChanged();
        } else {
          parameterValuesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public Builder addParameterValues(
          int index, org.apache.calcite.avatica.proto.Common.TypedValue.Builder builderForValue) {
        if (parameterValuesBuilder_ == null) {
          ensureParameterValuesIsMutable();
          parameterValues_.add(index, builderForValue.build());
          onChanged();
        } else {
          parameterValuesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public Builder addAllParameterValues(
          java.lang.Iterable<? extends org.apache.calcite.avatica.proto.Common.TypedValue> values) {
        if (parameterValuesBuilder_ == null) {
          ensureParameterValuesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, parameterValues_);
          onChanged();
        } else {
          parameterValuesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public Builder clearParameterValues() {
        if (parameterValuesBuilder_ == null) {
          parameterValues_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          parameterValuesBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public Builder removeParameterValues(int index) {
        if (parameterValuesBuilder_ == null) {
          ensureParameterValuesIsMutable();
          parameterValues_.remove(index);
          onChanged();
        } else {
          parameterValuesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public org.apache.calcite.avatica.proto.Common.TypedValue.Builder getParameterValuesBuilder(
          int index) {
        return getParameterValuesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder getParameterValuesOrBuilder(
          int index) {
        if (parameterValuesBuilder_ == null) {
          return parameterValues_.get(index);  } else {
          return parameterValuesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public java.util.List<? extends org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder> 
           getParameterValuesOrBuilderList() {
        if (parameterValuesBuilder_ != null) {
          return parameterValuesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(parameterValues_);
        }
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public org.apache.calcite.avatica.proto.Common.TypedValue.Builder addParameterValuesBuilder() {
        return getParameterValuesFieldBuilder().addBuilder(
            org.apache.calcite.avatica.proto.Common.TypedValue.getDefaultInstance());
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public org.apache.calcite.avatica.proto.Common.TypedValue.Builder addParameterValuesBuilder(
          int index) {
        return getParameterValuesFieldBuilder().addBuilder(
            index, org.apache.calcite.avatica.proto.Common.TypedValue.getDefaultInstance());
      }
      /**
       * <code>repeated .TypedValue parameter_values = 2;</code>
       */
      public java.util.List<org.apache.calcite.avatica.proto.Common.TypedValue.Builder> 
           getParameterValuesBuilderList() {
        return getParameterValuesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          org.apache.calcite.avatica.proto.Common.TypedValue, org.apache.calcite.avatica.proto.Common.TypedValue.Builder, org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder> 
          getParameterValuesFieldBuilder() {
        if (parameterValuesBuilder_ == null) {
          parameterValuesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              org.apache.calcite.avatica.proto.Common.TypedValue, org.apache.calcite.avatica.proto.Common.TypedValue.Builder, org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder>(
                  parameterValues_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          parameterValues_ = null;
        }
        return parameterValuesBuilder_;
      }

      private long deprecatedFirstFrameMaxSize_ ;
      /**
       * <pre>
       * Deprecated, use the signed int instead.
       * </pre>
       *
       * <code>uint64 deprecated_first_frame_max_size = 3;</code>
       * @return The deprecatedFirstFrameMaxSize.
       */
      @java.lang.Override
      public long getDeprecatedFirstFrameMaxSize() {
        return deprecatedFirstFrameMaxSize_;
      }
      /**
       * <pre>
       * Deprecated, use the signed int instead.
       * </pre>
       *
       * <code>uint64 deprecated_first_frame_max_size = 3;</code>
       * @param value The deprecatedFirstFrameMaxSize to set.
       * @return This builder for chaining.
       */
      public Builder setDeprecatedFirstFrameMaxSize(long value) {
        
        deprecatedFirstFrameMaxSize_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * Deprecated, use the signed int instead.
       * </pre>
       *
       * <code>uint64 deprecated_first_frame_max_size = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearDeprecatedFirstFrameMaxSize() {
        
        deprecatedFirstFrameMaxSize_ = 0L;
        onChanged();
        return this;
      }

      private boolean hasParameterValues_ ;
      /**
       * <code>bool has_parameter_values = 4;</code>
       * @return The hasParameterValues.
       */
      @java.lang.Override
      public boolean getHasParameterValues() {
        return hasParameterValues_;
      }
      /**
       * <code>bool has_parameter_values = 4;</code>
       * @param value The hasParameterValues to set.
       * @return This builder for chaining.
       */
      public Builder setHasParameterValues(boolean value) {
        
        hasParameterValues_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool has_parameter_values = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearHasParameterValues() {
        
        hasParameterValues_ = false;
        onChanged();
        return this;
      }

      private int firstFrameMaxSize_ ;
      /**
       * <pre>
       * The maximum number of rows to return in the first Frame
       * </pre>
       *
       * <code>int32 first_frame_max_size = 5;</code>
       * @return The firstFrameMaxSize.
       */
      @java.lang.Override
      public int getFirstFrameMaxSize() {
        return firstFrameMaxSize_;
      }
      /**
       * <pre>
       * The maximum number of rows to return in the first Frame
       * </pre>
       *
       * <code>int32 first_frame_max_size = 5;</code>
       * @param value The firstFrameMaxSize to set.
       * @return This builder for chaining.
       */
      public Builder setFirstFrameMaxSize(int value) {
        
        firstFrameMaxSize_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       * The maximum number of rows to return in the first Frame
       * </pre>
       *
       * <code>int32 first_frame_max_size = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearFirstFrameMaxSize() {
        
        firstFrameMaxSize_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:ExecuteRequest)
    }

    // @@protoc_insertion_point(class_scope:ExecuteRequest)
    private static final org.apache.calcite.avatica.proto.Requests.ExecuteRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.ExecuteRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.ExecuteRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<ExecuteRequest>
        PARSER = new com.google.protobuf.AbstractParser<ExecuteRequest>() {
      @java.lang.Override
      public ExecuteRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<ExecuteRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<ExecuteRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.ExecuteRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface SyncResultsRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:SyncResultsRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();

    /**
     * <code>uint32 statement_id = 2;</code>
     * @return The statementId.
     */
    int getStatementId();

    /**
     * <code>.QueryState state = 3;</code>
     * @return Whether the state field is set.
     */
    boolean hasState();
    /**
     * <code>.QueryState state = 3;</code>
     * @return The state.
     */
    org.apache.calcite.avatica.proto.Common.QueryState getState();
    /**
     * <code>.QueryState state = 3;</code>
     */
    org.apache.calcite.avatica.proto.Common.QueryStateOrBuilder getStateOrBuilder();

    /**
     * <code>uint64 offset = 4;</code>
     * @return The offset.
     */
    long getOffset();
  }
  /**
   * Protobuf type {@code SyncResultsRequest}
   */
  public static final class SyncResultsRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:SyncResultsRequest)
      SyncResultsRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use SyncResultsRequest.newBuilder() to construct.
    private SyncResultsRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private SyncResultsRequest() {
      connectionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new SyncResultsRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_SyncResultsRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_SyncResultsRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.SyncResultsRequest.class, org.apache.calcite.avatica.proto.Requests.SyncResultsRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STATEMENT_ID_FIELD_NUMBER = 2;
    private int statementId_;
    /**
     * <code>uint32 statement_id = 2;</code>
     * @return The statementId.
     */
    @java.lang.Override
    public int getStatementId() {
      return statementId_;
    }

    public static final int STATE_FIELD_NUMBER = 3;
    private org.apache.calcite.avatica.proto.Common.QueryState state_;
    /**
     * <code>.QueryState state = 3;</code>
     * @return Whether the state field is set.
     */
    @java.lang.Override
    public boolean hasState() {
      return state_ != null;
    }
    /**
     * <code>.QueryState state = 3;</code>
     * @return The state.
     */
    @java.lang.Override
    public org.apache.calcite.avatica.proto.Common.QueryState getState() {
      return state_ == null ? org.apache.calcite.avatica.proto.Common.QueryState.getDefaultInstance() : state_;
    }
    /**
     * <code>.QueryState state = 3;</code>
     */
    @java.lang.Override
    public org.apache.calcite.avatica.proto.Common.QueryStateOrBuilder getStateOrBuilder() {
      return getState();
    }

    public static final int OFFSET_FIELD_NUMBER = 4;
    private long offset_;
    /**
     * <code>uint64 offset = 4;</code>
     * @return The offset.
     */
    @java.lang.Override
    public long getOffset() {
      return offset_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      if (statementId_ != 0) {
        output.writeUInt32(2, statementId_);
      }
      if (state_ != null) {
        output.writeMessage(3, getState());
      }
      if (offset_ != 0L) {
        output.writeUInt64(4, offset_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      if (statementId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, statementId_);
      }
      if (state_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getState());
      }
      if (offset_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(4, offset_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.SyncResultsRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.SyncResultsRequest other = (org.apache.calcite.avatica.proto.Requests.SyncResultsRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (getStatementId()
          != other.getStatementId()) return false;
      if (hasState() != other.hasState()) return false;
      if (hasState()) {
        if (!getState()
            .equals(other.getState())) return false;
      }
      if (getOffset()
          != other.getOffset()) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (37 * hash) + STATEMENT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getStatementId();
      if (hasState()) {
        hash = (37 * hash) + STATE_FIELD_NUMBER;
        hash = (53 * hash) + getState().hashCode();
      }
      hash = (37 * hash) + OFFSET_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getOffset());
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.SyncResultsRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.SyncResultsRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.SyncResultsRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.SyncResultsRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.SyncResultsRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.SyncResultsRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.SyncResultsRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.SyncResultsRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.SyncResultsRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.SyncResultsRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.SyncResultsRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.SyncResultsRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.SyncResultsRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code SyncResultsRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:SyncResultsRequest)
        org.apache.calcite.avatica.proto.Requests.SyncResultsRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_SyncResultsRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_SyncResultsRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.SyncResultsRequest.class, org.apache.calcite.avatica.proto.Requests.SyncResultsRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.SyncResultsRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        statementId_ = 0;

        if (stateBuilder_ == null) {
          state_ = null;
        } else {
          state_ = null;
          stateBuilder_ = null;
        }
        offset_ = 0L;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_SyncResultsRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.SyncResultsRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.SyncResultsRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.SyncResultsRequest build() {
        org.apache.calcite.avatica.proto.Requests.SyncResultsRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.SyncResultsRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.SyncResultsRequest result = new org.apache.calcite.avatica.proto.Requests.SyncResultsRequest(this);
        result.connectionId_ = connectionId_;
        result.statementId_ = statementId_;
        if (stateBuilder_ == null) {
          result.state_ = state_;
        } else {
          result.state_ = stateBuilder_.build();
        }
        result.offset_ = offset_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.SyncResultsRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.SyncResultsRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.SyncResultsRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.SyncResultsRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        if (other.getStatementId() != 0) {
          setStatementId(other.getStatementId());
        }
        if (other.hasState()) {
          mergeState(other.getState());
        }
        if (other.getOffset() != 0L) {
          setOffset(other.getOffset());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              case 16: {
                statementId_ = input.readUInt32();

                break;
              } // case 16
              case 26: {
                input.readMessage(
                    getStateFieldBuilder().getBuilder(),
                    extensionRegistry);

                break;
              } // case 26
              case 32: {
                offset_ = input.readUInt64();

                break;
              } // case 32
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }

      private int statementId_ ;
      /**
       * <code>uint32 statement_id = 2;</code>
       * @return The statementId.
       */
      @java.lang.Override
      public int getStatementId() {
        return statementId_;
      }
      /**
       * <code>uint32 statement_id = 2;</code>
       * @param value The statementId to set.
       * @return This builder for chaining.
       */
      public Builder setStatementId(int value) {
        
        statementId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 statement_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearStatementId() {
        
        statementId_ = 0;
        onChanged();
        return this;
      }

      private org.apache.calcite.avatica.proto.Common.QueryState state_;
      private com.google.protobuf.SingleFieldBuilderV3<
          org.apache.calcite.avatica.proto.Common.QueryState, org.apache.calcite.avatica.proto.Common.QueryState.Builder, org.apache.calcite.avatica.proto.Common.QueryStateOrBuilder> stateBuilder_;
      /**
       * <code>.QueryState state = 3;</code>
       * @return Whether the state field is set.
       */
      public boolean hasState() {
        return stateBuilder_ != null || state_ != null;
      }
      /**
       * <code>.QueryState state = 3;</code>
       * @return The state.
       */
      public org.apache.calcite.avatica.proto.Common.QueryState getState() {
        if (stateBuilder_ == null) {
          return state_ == null ? org.apache.calcite.avatica.proto.Common.QueryState.getDefaultInstance() : state_;
        } else {
          return stateBuilder_.getMessage();
        }
      }
      /**
       * <code>.QueryState state = 3;</code>
       */
      public Builder setState(org.apache.calcite.avatica.proto.Common.QueryState value) {
        if (stateBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          state_ = value;
          onChanged();
        } else {
          stateBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.QueryState state = 3;</code>
       */
      public Builder setState(
          org.apache.calcite.avatica.proto.Common.QueryState.Builder builderForValue) {
        if (stateBuilder_ == null) {
          state_ = builderForValue.build();
          onChanged();
        } else {
          stateBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.QueryState state = 3;</code>
       */
      public Builder mergeState(org.apache.calcite.avatica.proto.Common.QueryState value) {
        if (stateBuilder_ == null) {
          if (state_ != null) {
            state_ =
              org.apache.calcite.avatica.proto.Common.QueryState.newBuilder(state_).mergeFrom(value).buildPartial();
          } else {
            state_ = value;
          }
          onChanged();
        } else {
          stateBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.QueryState state = 3;</code>
       */
      public Builder clearState() {
        if (stateBuilder_ == null) {
          state_ = null;
          onChanged();
        } else {
          state_ = null;
          stateBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.QueryState state = 3;</code>
       */
      public org.apache.calcite.avatica.proto.Common.QueryState.Builder getStateBuilder() {
        
        onChanged();
        return getStateFieldBuilder().getBuilder();
      }
      /**
       * <code>.QueryState state = 3;</code>
       */
      public org.apache.calcite.avatica.proto.Common.QueryStateOrBuilder getStateOrBuilder() {
        if (stateBuilder_ != null) {
          return stateBuilder_.getMessageOrBuilder();
        } else {
          return state_ == null ?
              org.apache.calcite.avatica.proto.Common.QueryState.getDefaultInstance() : state_;
        }
      }
      /**
       * <code>.QueryState state = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          org.apache.calcite.avatica.proto.Common.QueryState, org.apache.calcite.avatica.proto.Common.QueryState.Builder, org.apache.calcite.avatica.proto.Common.QueryStateOrBuilder> 
          getStateFieldBuilder() {
        if (stateBuilder_ == null) {
          stateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              org.apache.calcite.avatica.proto.Common.QueryState, org.apache.calcite.avatica.proto.Common.QueryState.Builder, org.apache.calcite.avatica.proto.Common.QueryStateOrBuilder>(
                  getState(),
                  getParentForChildren(),
                  isClean());
          state_ = null;
        }
        return stateBuilder_;
      }

      private long offset_ ;
      /**
       * <code>uint64 offset = 4;</code>
       * @return The offset.
       */
      @java.lang.Override
      public long getOffset() {
        return offset_;
      }
      /**
       * <code>uint64 offset = 4;</code>
       * @param value The offset to set.
       * @return This builder for chaining.
       */
      public Builder setOffset(long value) {
        
        offset_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 offset = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearOffset() {
        
        offset_ = 0L;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:SyncResultsRequest)
    }

    // @@protoc_insertion_point(class_scope:SyncResultsRequest)
    private static final org.apache.calcite.avatica.proto.Requests.SyncResultsRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.SyncResultsRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.SyncResultsRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<SyncResultsRequest>
        PARSER = new com.google.protobuf.AbstractParser<SyncResultsRequest>() {
      @java.lang.Override
      public SyncResultsRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<SyncResultsRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<SyncResultsRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.SyncResultsRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CommitRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:CommitRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();
  }
  /**
   * <pre>
   * Request to invoke a commit on a Connection
   * </pre>
   *
   * Protobuf type {@code CommitRequest}
   */
  public static final class CommitRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:CommitRequest)
      CommitRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CommitRequest.newBuilder() to construct.
    private CommitRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CommitRequest() {
      connectionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new CommitRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_CommitRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_CommitRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.CommitRequest.class, org.apache.calcite.avatica.proto.Requests.CommitRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.CommitRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.CommitRequest other = (org.apache.calcite.avatica.proto.Requests.CommitRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.CommitRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.CommitRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CommitRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.CommitRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CommitRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.CommitRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CommitRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.CommitRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CommitRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.CommitRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.CommitRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.CommitRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.CommitRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request to invoke a commit on a Connection
     * </pre>
     *
     * Protobuf type {@code CommitRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:CommitRequest)
        org.apache.calcite.avatica.proto.Requests.CommitRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_CommitRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_CommitRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.CommitRequest.class, org.apache.calcite.avatica.proto.Requests.CommitRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.CommitRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_CommitRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.CommitRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.CommitRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.CommitRequest build() {
        org.apache.calcite.avatica.proto.Requests.CommitRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.CommitRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.CommitRequest result = new org.apache.calcite.avatica.proto.Requests.CommitRequest(this);
        result.connectionId_ = connectionId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.CommitRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.CommitRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.CommitRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.CommitRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:CommitRequest)
    }

    // @@protoc_insertion_point(class_scope:CommitRequest)
    private static final org.apache.calcite.avatica.proto.Requests.CommitRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.CommitRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.CommitRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<CommitRequest>
        PARSER = new com.google.protobuf.AbstractParser<CommitRequest>() {
      @java.lang.Override
      public CommitRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<CommitRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<CommitRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.CommitRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RollbackRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:RollbackRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();
  }
  /**
   * <pre>
   * Request to invoke rollback on a Connection
   * </pre>
   *
   * Protobuf type {@code RollbackRequest}
   */
  public static final class RollbackRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:RollbackRequest)
      RollbackRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RollbackRequest.newBuilder() to construct.
    private RollbackRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RollbackRequest() {
      connectionId_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RollbackRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_RollbackRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_RollbackRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.RollbackRequest.class, org.apache.calcite.avatica.proto.Requests.RollbackRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.RollbackRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.RollbackRequest other = (org.apache.calcite.avatica.proto.Requests.RollbackRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.RollbackRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.RollbackRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.RollbackRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.RollbackRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.RollbackRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.RollbackRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.RollbackRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.RollbackRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.RollbackRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.RollbackRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.RollbackRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.RollbackRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.RollbackRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request to invoke rollback on a Connection
     * </pre>
     *
     * Protobuf type {@code RollbackRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:RollbackRequest)
        org.apache.calcite.avatica.proto.Requests.RollbackRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_RollbackRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_RollbackRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.RollbackRequest.class, org.apache.calcite.avatica.proto.Requests.RollbackRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.RollbackRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_RollbackRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.RollbackRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.RollbackRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.RollbackRequest build() {
        org.apache.calcite.avatica.proto.Requests.RollbackRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.RollbackRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.RollbackRequest result = new org.apache.calcite.avatica.proto.Requests.RollbackRequest(this);
        result.connectionId_ = connectionId_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.RollbackRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.RollbackRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.RollbackRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.RollbackRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:RollbackRequest)
    }

    // @@protoc_insertion_point(class_scope:RollbackRequest)
    private static final org.apache.calcite.avatica.proto.Requests.RollbackRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.RollbackRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.RollbackRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<RollbackRequest>
        PARSER = new com.google.protobuf.AbstractParser<RollbackRequest>() {
      @java.lang.Override
      public RollbackRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<RollbackRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<RollbackRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.RollbackRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PrepareAndExecuteBatchRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:PrepareAndExecuteBatchRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();

    /**
     * <code>uint32 statement_id = 2;</code>
     * @return The statementId.
     */
    int getStatementId();

    /**
     * <code>repeated string sql_commands = 3;</code>
     * @return A list containing the sqlCommands.
     */
    java.util.List<java.lang.String>
        getSqlCommandsList();
    /**
     * <code>repeated string sql_commands = 3;</code>
     * @return The count of sqlCommands.
     */
    int getSqlCommandsCount();
    /**
     * <code>repeated string sql_commands = 3;</code>
     * @param index The index of the element to return.
     * @return The sqlCommands at the given index.
     */
    java.lang.String getSqlCommands(int index);
    /**
     * <code>repeated string sql_commands = 3;</code>
     * @param index The index of the value to return.
     * @return The bytes of the sqlCommands at the given index.
     */
    com.google.protobuf.ByteString
        getSqlCommandsBytes(int index);
  }
  /**
   * <pre>
   * Request to prepare and execute a collection of sql statements.
   * </pre>
   *
   * Protobuf type {@code PrepareAndExecuteBatchRequest}
   */
  public static final class PrepareAndExecuteBatchRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:PrepareAndExecuteBatchRequest)
      PrepareAndExecuteBatchRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PrepareAndExecuteBatchRequest.newBuilder() to construct.
    private PrepareAndExecuteBatchRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PrepareAndExecuteBatchRequest() {
      connectionId_ = "";
      sqlCommands_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PrepareAndExecuteBatchRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_PrepareAndExecuteBatchRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_PrepareAndExecuteBatchRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest.class, org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STATEMENT_ID_FIELD_NUMBER = 2;
    private int statementId_;
    /**
     * <code>uint32 statement_id = 2;</code>
     * @return The statementId.
     */
    @java.lang.Override
    public int getStatementId() {
      return statementId_;
    }

    public static final int SQL_COMMANDS_FIELD_NUMBER = 3;
    private com.google.protobuf.LazyStringList sqlCommands_;
    /**
     * <code>repeated string sql_commands = 3;</code>
     * @return A list containing the sqlCommands.
     */
    public com.google.protobuf.ProtocolStringList
        getSqlCommandsList() {
      return sqlCommands_;
    }
    /**
     * <code>repeated string sql_commands = 3;</code>
     * @return The count of sqlCommands.
     */
    public int getSqlCommandsCount() {
      return sqlCommands_.size();
    }
    /**
     * <code>repeated string sql_commands = 3;</code>
     * @param index The index of the element to return.
     * @return The sqlCommands at the given index.
     */
    public java.lang.String getSqlCommands(int index) {
      return sqlCommands_.get(index);
    }
    /**
     * <code>repeated string sql_commands = 3;</code>
     * @param index The index of the value to return.
     * @return The bytes of the sqlCommands at the given index.
     */
    public com.google.protobuf.ByteString
        getSqlCommandsBytes(int index) {
      return sqlCommands_.getByteString(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      if (statementId_ != 0) {
        output.writeUInt32(2, statementId_);
      }
      for (int i = 0; i < sqlCommands_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, sqlCommands_.getRaw(i));
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      if (statementId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, statementId_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < sqlCommands_.size(); i++) {
          dataSize += computeStringSizeNoTag(sqlCommands_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getSqlCommandsList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest other = (org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (getStatementId()
          != other.getStatementId()) return false;
      if (!getSqlCommandsList()
          .equals(other.getSqlCommandsList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (37 * hash) + STATEMENT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getStatementId();
      if (getSqlCommandsCount() > 0) {
        hash = (37 * hash) + SQL_COMMANDS_FIELD_NUMBER;
        hash = (53 * hash) + getSqlCommandsList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Request to prepare and execute a collection of sql statements.
     * </pre>
     *
     * Protobuf type {@code PrepareAndExecuteBatchRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:PrepareAndExecuteBatchRequest)
        org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_PrepareAndExecuteBatchRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_PrepareAndExecuteBatchRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest.class, org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        statementId_ = 0;

        sqlCommands_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_PrepareAndExecuteBatchRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest build() {
        org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest result = new org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest(this);
        int from_bitField0_ = bitField0_;
        result.connectionId_ = connectionId_;
        result.statementId_ = statementId_;
        if (((bitField0_ & 0x00000001) != 0)) {
          sqlCommands_ = sqlCommands_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.sqlCommands_ = sqlCommands_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        if (other.getStatementId() != 0) {
          setStatementId(other.getStatementId());
        }
        if (!other.sqlCommands_.isEmpty()) {
          if (sqlCommands_.isEmpty()) {
            sqlCommands_ = other.sqlCommands_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureSqlCommandsIsMutable();
            sqlCommands_.addAll(other.sqlCommands_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              case 16: {
                statementId_ = input.readUInt32();

                break;
              } // case 16
              case 26: {
                java.lang.String s = input.readStringRequireUtf8();
                ensureSqlCommandsIsMutable();
                sqlCommands_.add(s);
                break;
              } // case 26
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }

      private int statementId_ ;
      /**
       * <code>uint32 statement_id = 2;</code>
       * @return The statementId.
       */
      @java.lang.Override
      public int getStatementId() {
        return statementId_;
      }
      /**
       * <code>uint32 statement_id = 2;</code>
       * @param value The statementId to set.
       * @return This builder for chaining.
       */
      public Builder setStatementId(int value) {
        
        statementId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 statement_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearStatementId() {
        
        statementId_ = 0;
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList sqlCommands_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureSqlCommandsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          sqlCommands_ = new com.google.protobuf.LazyStringArrayList(sqlCommands_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <code>repeated string sql_commands = 3;</code>
       * @return A list containing the sqlCommands.
       */
      public com.google.protobuf.ProtocolStringList
          getSqlCommandsList() {
        return sqlCommands_.getUnmodifiableView();
      }
      /**
       * <code>repeated string sql_commands = 3;</code>
       * @return The count of sqlCommands.
       */
      public int getSqlCommandsCount() {
        return sqlCommands_.size();
      }
      /**
       * <code>repeated string sql_commands = 3;</code>
       * @param index The index of the element to return.
       * @return The sqlCommands at the given index.
       */
      public java.lang.String getSqlCommands(int index) {
        return sqlCommands_.get(index);
      }
      /**
       * <code>repeated string sql_commands = 3;</code>
       * @param index The index of the value to return.
       * @return The bytes of the sqlCommands at the given index.
       */
      public com.google.protobuf.ByteString
          getSqlCommandsBytes(int index) {
        return sqlCommands_.getByteString(index);
      }
      /**
       * <code>repeated string sql_commands = 3;</code>
       * @param index The index to set the value at.
       * @param value The sqlCommands to set.
       * @return This builder for chaining.
       */
      public Builder setSqlCommands(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSqlCommandsIsMutable();
        sqlCommands_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string sql_commands = 3;</code>
       * @param value The sqlCommands to add.
       * @return This builder for chaining.
       */
      public Builder addSqlCommands(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureSqlCommandsIsMutable();
        sqlCommands_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string sql_commands = 3;</code>
       * @param values The sqlCommands to add.
       * @return This builder for chaining.
       */
      public Builder addAllSqlCommands(
          java.lang.Iterable<java.lang.String> values) {
        ensureSqlCommandsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, sqlCommands_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string sql_commands = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearSqlCommands() {
        sqlCommands_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string sql_commands = 3;</code>
       * @param value The bytes of the sqlCommands to add.
       * @return This builder for chaining.
       */
      public Builder addSqlCommandsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureSqlCommandsIsMutable();
        sqlCommands_.add(value);
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:PrepareAndExecuteBatchRequest)
    }

    // @@protoc_insertion_point(class_scope:PrepareAndExecuteBatchRequest)
    private static final org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PrepareAndExecuteBatchRequest>
        PARSER = new com.google.protobuf.AbstractParser<PrepareAndExecuteBatchRequest>() {
      @java.lang.Override
      public PrepareAndExecuteBatchRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<PrepareAndExecuteBatchRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PrepareAndExecuteBatchRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.PrepareAndExecuteBatchRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface UpdateBatchOrBuilder extends
      // @@protoc_insertion_point(interface_extends:UpdateBatch)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated .TypedValue parameter_values = 1;</code>
     */
    java.util.List<org.apache.calcite.avatica.proto.Common.TypedValue> 
        getParameterValuesList();
    /**
     * <code>repeated .TypedValue parameter_values = 1;</code>
     */
    org.apache.calcite.avatica.proto.Common.TypedValue getParameterValues(int index);
    /**
     * <code>repeated .TypedValue parameter_values = 1;</code>
     */
    int getParameterValuesCount();
    /**
     * <code>repeated .TypedValue parameter_values = 1;</code>
     */
    java.util.List<? extends org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder> 
        getParameterValuesOrBuilderList();
    /**
     * <code>repeated .TypedValue parameter_values = 1;</code>
     */
    org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder getParameterValuesOrBuilder(
        int index);
  }
  /**
   * <pre>
   * Each command is a list of TypedValues
   * </pre>
   *
   * Protobuf type {@code UpdateBatch}
   */
  public static final class UpdateBatch extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:UpdateBatch)
      UpdateBatchOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use UpdateBatch.newBuilder() to construct.
    private UpdateBatch(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private UpdateBatch() {
      parameterValues_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new UpdateBatch();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_UpdateBatch_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_UpdateBatch_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.UpdateBatch.class, org.apache.calcite.avatica.proto.Requests.UpdateBatch.Builder.class);
    }

    public static final int PARAMETER_VALUES_FIELD_NUMBER = 1;
    private java.util.List<org.apache.calcite.avatica.proto.Common.TypedValue> parameterValues_;
    /**
     * <code>repeated .TypedValue parameter_values = 1;</code>
     */
    @java.lang.Override
    public java.util.List<org.apache.calcite.avatica.proto.Common.TypedValue> getParameterValuesList() {
      return parameterValues_;
    }
    /**
     * <code>repeated .TypedValue parameter_values = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder> 
        getParameterValuesOrBuilderList() {
      return parameterValues_;
    }
    /**
     * <code>repeated .TypedValue parameter_values = 1;</code>
     */
    @java.lang.Override
    public int getParameterValuesCount() {
      return parameterValues_.size();
    }
    /**
     * <code>repeated .TypedValue parameter_values = 1;</code>
     */
    @java.lang.Override
    public org.apache.calcite.avatica.proto.Common.TypedValue getParameterValues(int index) {
      return parameterValues_.get(index);
    }
    /**
     * <code>repeated .TypedValue parameter_values = 1;</code>
     */
    @java.lang.Override
    public org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder getParameterValuesOrBuilder(
        int index) {
      return parameterValues_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < parameterValues_.size(); i++) {
        output.writeMessage(1, parameterValues_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < parameterValues_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, parameterValues_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.UpdateBatch)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.UpdateBatch other = (org.apache.calcite.avatica.proto.Requests.UpdateBatch) obj;

      if (!getParameterValuesList()
          .equals(other.getParameterValuesList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getParameterValuesCount() > 0) {
        hash = (37 * hash) + PARAMETER_VALUES_FIELD_NUMBER;
        hash = (53 * hash) + getParameterValuesList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.UpdateBatch parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.UpdateBatch parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.UpdateBatch parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.UpdateBatch parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.UpdateBatch parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.UpdateBatch parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.UpdateBatch parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.UpdateBatch parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.UpdateBatch parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.UpdateBatch parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.UpdateBatch parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.UpdateBatch parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.UpdateBatch prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Each command is a list of TypedValues
     * </pre>
     *
     * Protobuf type {@code UpdateBatch}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:UpdateBatch)
        org.apache.calcite.avatica.proto.Requests.UpdateBatchOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_UpdateBatch_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_UpdateBatch_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.UpdateBatch.class, org.apache.calcite.avatica.proto.Requests.UpdateBatch.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.UpdateBatch.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (parameterValuesBuilder_ == null) {
          parameterValues_ = java.util.Collections.emptyList();
        } else {
          parameterValues_ = null;
          parameterValuesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_UpdateBatch_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.UpdateBatch getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.UpdateBatch.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.UpdateBatch build() {
        org.apache.calcite.avatica.proto.Requests.UpdateBatch result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.UpdateBatch buildPartial() {
        org.apache.calcite.avatica.proto.Requests.UpdateBatch result = new org.apache.calcite.avatica.proto.Requests.UpdateBatch(this);
        int from_bitField0_ = bitField0_;
        if (parameterValuesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            parameterValues_ = java.util.Collections.unmodifiableList(parameterValues_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.parameterValues_ = parameterValues_;
        } else {
          result.parameterValues_ = parameterValuesBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.UpdateBatch) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.UpdateBatch)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.UpdateBatch other) {
        if (other == org.apache.calcite.avatica.proto.Requests.UpdateBatch.getDefaultInstance()) return this;
        if (parameterValuesBuilder_ == null) {
          if (!other.parameterValues_.isEmpty()) {
            if (parameterValues_.isEmpty()) {
              parameterValues_ = other.parameterValues_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureParameterValuesIsMutable();
              parameterValues_.addAll(other.parameterValues_);
            }
            onChanged();
          }
        } else {
          if (!other.parameterValues_.isEmpty()) {
            if (parameterValuesBuilder_.isEmpty()) {
              parameterValuesBuilder_.dispose();
              parameterValuesBuilder_ = null;
              parameterValues_ = other.parameterValues_;
              bitField0_ = (bitField0_ & ~0x00000001);
              parameterValuesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getParameterValuesFieldBuilder() : null;
            } else {
              parameterValuesBuilder_.addAllMessages(other.parameterValues_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                org.apache.calcite.avatica.proto.Common.TypedValue m =
                    input.readMessage(
                        org.apache.calcite.avatica.proto.Common.TypedValue.parser(),
                        extensionRegistry);
                if (parameterValuesBuilder_ == null) {
                  ensureParameterValuesIsMutable();
                  parameterValues_.add(m);
                } else {
                  parameterValuesBuilder_.addMessage(m);
                }
                break;
              } // case 10
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private java.util.List<org.apache.calcite.avatica.proto.Common.TypedValue> parameterValues_ =
        java.util.Collections.emptyList();
      private void ensureParameterValuesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          parameterValues_ = new java.util.ArrayList<org.apache.calcite.avatica.proto.Common.TypedValue>(parameterValues_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          org.apache.calcite.avatica.proto.Common.TypedValue, org.apache.calcite.avatica.proto.Common.TypedValue.Builder, org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder> parameterValuesBuilder_;

      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public java.util.List<org.apache.calcite.avatica.proto.Common.TypedValue> getParameterValuesList() {
        if (parameterValuesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(parameterValues_);
        } else {
          return parameterValuesBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public int getParameterValuesCount() {
        if (parameterValuesBuilder_ == null) {
          return parameterValues_.size();
        } else {
          return parameterValuesBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public org.apache.calcite.avatica.proto.Common.TypedValue getParameterValues(int index) {
        if (parameterValuesBuilder_ == null) {
          return parameterValues_.get(index);
        } else {
          return parameterValuesBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public Builder setParameterValues(
          int index, org.apache.calcite.avatica.proto.Common.TypedValue value) {
        if (parameterValuesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureParameterValuesIsMutable();
          parameterValues_.set(index, value);
          onChanged();
        } else {
          parameterValuesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public Builder setParameterValues(
          int index, org.apache.calcite.avatica.proto.Common.TypedValue.Builder builderForValue) {
        if (parameterValuesBuilder_ == null) {
          ensureParameterValuesIsMutable();
          parameterValues_.set(index, builderForValue.build());
          onChanged();
        } else {
          parameterValuesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public Builder addParameterValues(org.apache.calcite.avatica.proto.Common.TypedValue value) {
        if (parameterValuesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureParameterValuesIsMutable();
          parameterValues_.add(value);
          onChanged();
        } else {
          parameterValuesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public Builder addParameterValues(
          int index, org.apache.calcite.avatica.proto.Common.TypedValue value) {
        if (parameterValuesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureParameterValuesIsMutable();
          parameterValues_.add(index, value);
          onChanged();
        } else {
          parameterValuesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public Builder addParameterValues(
          org.apache.calcite.avatica.proto.Common.TypedValue.Builder builderForValue) {
        if (parameterValuesBuilder_ == null) {
          ensureParameterValuesIsMutable();
          parameterValues_.add(builderForValue.build());
          onChanged();
        } else {
          parameterValuesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public Builder addParameterValues(
          int index, org.apache.calcite.avatica.proto.Common.TypedValue.Builder builderForValue) {
        if (parameterValuesBuilder_ == null) {
          ensureParameterValuesIsMutable();
          parameterValues_.add(index, builderForValue.build());
          onChanged();
        } else {
          parameterValuesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public Builder addAllParameterValues(
          java.lang.Iterable<? extends org.apache.calcite.avatica.proto.Common.TypedValue> values) {
        if (parameterValuesBuilder_ == null) {
          ensureParameterValuesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, parameterValues_);
          onChanged();
        } else {
          parameterValuesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public Builder clearParameterValues() {
        if (parameterValuesBuilder_ == null) {
          parameterValues_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          parameterValuesBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public Builder removeParameterValues(int index) {
        if (parameterValuesBuilder_ == null) {
          ensureParameterValuesIsMutable();
          parameterValues_.remove(index);
          onChanged();
        } else {
          parameterValuesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public org.apache.calcite.avatica.proto.Common.TypedValue.Builder getParameterValuesBuilder(
          int index) {
        return getParameterValuesFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder getParameterValuesOrBuilder(
          int index) {
        if (parameterValuesBuilder_ == null) {
          return parameterValues_.get(index);  } else {
          return parameterValuesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public java.util.List<? extends org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder> 
           getParameterValuesOrBuilderList() {
        if (parameterValuesBuilder_ != null) {
          return parameterValuesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(parameterValues_);
        }
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public org.apache.calcite.avatica.proto.Common.TypedValue.Builder addParameterValuesBuilder() {
        return getParameterValuesFieldBuilder().addBuilder(
            org.apache.calcite.avatica.proto.Common.TypedValue.getDefaultInstance());
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public org.apache.calcite.avatica.proto.Common.TypedValue.Builder addParameterValuesBuilder(
          int index) {
        return getParameterValuesFieldBuilder().addBuilder(
            index, org.apache.calcite.avatica.proto.Common.TypedValue.getDefaultInstance());
      }
      /**
       * <code>repeated .TypedValue parameter_values = 1;</code>
       */
      public java.util.List<org.apache.calcite.avatica.proto.Common.TypedValue.Builder> 
           getParameterValuesBuilderList() {
        return getParameterValuesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          org.apache.calcite.avatica.proto.Common.TypedValue, org.apache.calcite.avatica.proto.Common.TypedValue.Builder, org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder> 
          getParameterValuesFieldBuilder() {
        if (parameterValuesBuilder_ == null) {
          parameterValuesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              org.apache.calcite.avatica.proto.Common.TypedValue, org.apache.calcite.avatica.proto.Common.TypedValue.Builder, org.apache.calcite.avatica.proto.Common.TypedValueOrBuilder>(
                  parameterValues_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          parameterValues_ = null;
        }
        return parameterValuesBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:UpdateBatch)
    }

    // @@protoc_insertion_point(class_scope:UpdateBatch)
    private static final org.apache.calcite.avatica.proto.Requests.UpdateBatch DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.UpdateBatch();
    }

    public static org.apache.calcite.avatica.proto.Requests.UpdateBatch getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<UpdateBatch>
        PARSER = new com.google.protobuf.AbstractParser<UpdateBatch>() {
      @java.lang.Override
      public UpdateBatch parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<UpdateBatch> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<UpdateBatch> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.UpdateBatch getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface ExecuteBatchRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:ExecuteBatchRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    java.lang.String getConnectionId();
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    com.google.protobuf.ByteString
        getConnectionIdBytes();

    /**
     * <code>uint32 statement_id = 2;</code>
     * @return The statementId.
     */
    int getStatementId();

    /**
     * <pre>
     * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
     * </pre>
     *
     * <code>repeated .UpdateBatch updates = 3;</code>
     */
    java.util.List<org.apache.calcite.avatica.proto.Requests.UpdateBatch> 
        getUpdatesList();
    /**
     * <pre>
     * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
     * </pre>
     *
     * <code>repeated .UpdateBatch updates = 3;</code>
     */
    org.apache.calcite.avatica.proto.Requests.UpdateBatch getUpdates(int index);
    /**
     * <pre>
     * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
     * </pre>
     *
     * <code>repeated .UpdateBatch updates = 3;</code>
     */
    int getUpdatesCount();
    /**
     * <pre>
     * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
     * </pre>
     *
     * <code>repeated .UpdateBatch updates = 3;</code>
     */
    java.util.List<? extends org.apache.calcite.avatica.proto.Requests.UpdateBatchOrBuilder> 
        getUpdatesOrBuilderList();
    /**
     * <pre>
     * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
     * </pre>
     *
     * <code>repeated .UpdateBatch updates = 3;</code>
     */
    org.apache.calcite.avatica.proto.Requests.UpdateBatchOrBuilder getUpdatesOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code ExecuteBatchRequest}
   */
  public static final class ExecuteBatchRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:ExecuteBatchRequest)
      ExecuteBatchRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use ExecuteBatchRequest.newBuilder() to construct.
    private ExecuteBatchRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private ExecuteBatchRequest() {
      connectionId_ = "";
      updates_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new ExecuteBatchRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_ExecuteBatchRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.calcite.avatica.proto.Requests.internal_static_ExecuteBatchRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest.class, org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest.Builder.class);
    }

    public static final int CONNECTION_ID_FIELD_NUMBER = 1;
    private volatile java.lang.Object connectionId_;
    /**
     * <code>string connection_id = 1;</code>
     * @return The connectionId.
     */
    @java.lang.Override
    public java.lang.String getConnectionId() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        connectionId_ = s;
        return s;
      }
    }
    /**
     * <code>string connection_id = 1;</code>
     * @return The bytes for connectionId.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getConnectionIdBytes() {
      java.lang.Object ref = connectionId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        connectionId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STATEMENT_ID_FIELD_NUMBER = 2;
    private int statementId_;
    /**
     * <code>uint32 statement_id = 2;</code>
     * @return The statementId.
     */
    @java.lang.Override
    public int getStatementId() {
      return statementId_;
    }

    public static final int UPDATES_FIELD_NUMBER = 3;
    private java.util.List<org.apache.calcite.avatica.proto.Requests.UpdateBatch> updates_;
    /**
     * <pre>
     * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
     * </pre>
     *
     * <code>repeated .UpdateBatch updates = 3;</code>
     */
    @java.lang.Override
    public java.util.List<org.apache.calcite.avatica.proto.Requests.UpdateBatch> getUpdatesList() {
      return updates_;
    }
    /**
     * <pre>
     * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
     * </pre>
     *
     * <code>repeated .UpdateBatch updates = 3;</code>
     */
    @java.lang.Override
    public java.util.List<? extends org.apache.calcite.avatica.proto.Requests.UpdateBatchOrBuilder> 
        getUpdatesOrBuilderList() {
      return updates_;
    }
    /**
     * <pre>
     * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
     * </pre>
     *
     * <code>repeated .UpdateBatch updates = 3;</code>
     */
    @java.lang.Override
    public int getUpdatesCount() {
      return updates_.size();
    }
    /**
     * <pre>
     * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
     * </pre>
     *
     * <code>repeated .UpdateBatch updates = 3;</code>
     */
    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.UpdateBatch getUpdates(int index) {
      return updates_.get(index);
    }
    /**
     * <pre>
     * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
     * </pre>
     *
     * <code>repeated .UpdateBatch updates = 3;</code>
     */
    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.UpdateBatchOrBuilder getUpdatesOrBuilder(
        int index) {
      return updates_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
      }
      if (statementId_ != 0) {
        output.writeUInt32(2, statementId_);
      }
      for (int i = 0; i < updates_.size(); i++) {
        output.writeMessage(3, updates_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(connectionId_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
      }
      if (statementId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, statementId_);
      }
      for (int i = 0; i < updates_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, updates_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest)) {
        return super.equals(obj);
      }
      org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest other = (org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest) obj;

      if (!getConnectionId()
          .equals(other.getConnectionId())) return false;
      if (getStatementId()
          != other.getStatementId()) return false;
      if (!getUpdatesList()
          .equals(other.getUpdatesList())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
      hash = (53 * hash) + getConnectionId().hashCode();
      hash = (37 * hash) + STATEMENT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getStatementId();
      if (getUpdatesCount() > 0) {
        hash = (37 * hash) + UPDATES_FIELD_NUMBER;
        hash = (53 * hash) + getUpdatesList().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code ExecuteBatchRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:ExecuteBatchRequest)
        org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_ExecuteBatchRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_ExecuteBatchRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest.class, org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest.Builder.class);
      }

      // Construct using org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest.newBuilder()
      private Builder() {

      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);

      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        connectionId_ = "";

        statementId_ = 0;

        if (updatesBuilder_ == null) {
          updates_ = java.util.Collections.emptyList();
        } else {
          updates_ = null;
          updatesBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.calcite.avatica.proto.Requests.internal_static_ExecuteBatchRequest_descriptor;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest getDefaultInstanceForType() {
        return org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest.getDefaultInstance();
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest build() {
        org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest buildPartial() {
        org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest result = new org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest(this);
        int from_bitField0_ = bitField0_;
        result.connectionId_ = connectionId_;
        result.statementId_ = statementId_;
        if (updatesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            updates_ = java.util.Collections.unmodifiableList(updates_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.updates_ = updates_;
        } else {
          result.updates_ = updatesBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest) {
          return mergeFrom((org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest other) {
        if (other == org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest.getDefaultInstance()) return this;
        if (!other.getConnectionId().isEmpty()) {
          connectionId_ = other.connectionId_;
          onChanged();
        }
        if (other.getStatementId() != 0) {
          setStatementId(other.getStatementId());
        }
        if (updatesBuilder_ == null) {
          if (!other.updates_.isEmpty()) {
            if (updates_.isEmpty()) {
              updates_ = other.updates_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureUpdatesIsMutable();
              updates_.addAll(other.updates_);
            }
            onChanged();
          }
        } else {
          if (!other.updates_.isEmpty()) {
            if (updatesBuilder_.isEmpty()) {
              updatesBuilder_.dispose();
              updatesBuilder_ = null;
              updates_ = other.updates_;
              bitField0_ = (bitField0_ & ~0x00000001);
              updatesBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getUpdatesFieldBuilder() : null;
            } else {
              updatesBuilder_.addAllMessages(other.updates_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                connectionId_ = input.readStringRequireUtf8();

                break;
              } // case 10
              case 16: {
                statementId_ = input.readUInt32();

                break;
              } // case 16
              case 26: {
                org.apache.calcite.avatica.proto.Requests.UpdateBatch m =
                    input.readMessage(
                        org.apache.calcite.avatica.proto.Requests.UpdateBatch.parser(),
                        extensionRegistry);
                if (updatesBuilder_ == null) {
                  ensureUpdatesIsMutable();
                  updates_.add(m);
                } else {
                  updatesBuilder_.addMessage(m);
                }
                break;
              } // case 26
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private java.lang.Object connectionId_ = "";
      /**
       * <code>string connection_id = 1;</code>
       * @return The connectionId.
       */
      public java.lang.String getConnectionId() {
        java.lang.Object ref = connectionId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          connectionId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return The bytes for connectionId.
       */
      public com.google.protobuf.ByteString
          getConnectionIdBytes() {
        java.lang.Object ref = connectionId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          connectionId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        connectionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearConnectionId() {
        
        connectionId_ = getDefaultInstance().getConnectionId();
        onChanged();
        return this;
      }
      /**
       * <code>string connection_id = 1;</code>
       * @param value The bytes for connectionId to set.
       * @return This builder for chaining.
       */
      public Builder setConnectionIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        connectionId_ = value;
        onChanged();
        return this;
      }

      private int statementId_ ;
      /**
       * <code>uint32 statement_id = 2;</code>
       * @return The statementId.
       */
      @java.lang.Override
      public int getStatementId() {
        return statementId_;
      }
      /**
       * <code>uint32 statement_id = 2;</code>
       * @param value The statementId to set.
       * @return This builder for chaining.
       */
      public Builder setStatementId(int value) {
        
        statementId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 statement_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearStatementId() {
        
        statementId_ = 0;
        onChanged();
        return this;
      }

      private java.util.List<org.apache.calcite.avatica.proto.Requests.UpdateBatch> updates_ =
        java.util.Collections.emptyList();
      private void ensureUpdatesIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          updates_ = new java.util.ArrayList<org.apache.calcite.avatica.proto.Requests.UpdateBatch>(updates_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          org.apache.calcite.avatica.proto.Requests.UpdateBatch, org.apache.calcite.avatica.proto.Requests.UpdateBatch.Builder, org.apache.calcite.avatica.proto.Requests.UpdateBatchOrBuilder> updatesBuilder_;

      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public java.util.List<org.apache.calcite.avatica.proto.Requests.UpdateBatch> getUpdatesList() {
        if (updatesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(updates_);
        } else {
          return updatesBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public int getUpdatesCount() {
        if (updatesBuilder_ == null) {
          return updates_.size();
        } else {
          return updatesBuilder_.getCount();
        }
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public org.apache.calcite.avatica.proto.Requests.UpdateBatch getUpdates(int index) {
        if (updatesBuilder_ == null) {
          return updates_.get(index);
        } else {
          return updatesBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public Builder setUpdates(
          int index, org.apache.calcite.avatica.proto.Requests.UpdateBatch value) {
        if (updatesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUpdatesIsMutable();
          updates_.set(index, value);
          onChanged();
        } else {
          updatesBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public Builder setUpdates(
          int index, org.apache.calcite.avatica.proto.Requests.UpdateBatch.Builder builderForValue) {
        if (updatesBuilder_ == null) {
          ensureUpdatesIsMutable();
          updates_.set(index, builderForValue.build());
          onChanged();
        } else {
          updatesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public Builder addUpdates(org.apache.calcite.avatica.proto.Requests.UpdateBatch value) {
        if (updatesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUpdatesIsMutable();
          updates_.add(value);
          onChanged();
        } else {
          updatesBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public Builder addUpdates(
          int index, org.apache.calcite.avatica.proto.Requests.UpdateBatch value) {
        if (updatesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUpdatesIsMutable();
          updates_.add(index, value);
          onChanged();
        } else {
          updatesBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public Builder addUpdates(
          org.apache.calcite.avatica.proto.Requests.UpdateBatch.Builder builderForValue) {
        if (updatesBuilder_ == null) {
          ensureUpdatesIsMutable();
          updates_.add(builderForValue.build());
          onChanged();
        } else {
          updatesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public Builder addUpdates(
          int index, org.apache.calcite.avatica.proto.Requests.UpdateBatch.Builder builderForValue) {
        if (updatesBuilder_ == null) {
          ensureUpdatesIsMutable();
          updates_.add(index, builderForValue.build());
          onChanged();
        } else {
          updatesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public Builder addAllUpdates(
          java.lang.Iterable<? extends org.apache.calcite.avatica.proto.Requests.UpdateBatch> values) {
        if (updatesBuilder_ == null) {
          ensureUpdatesIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, updates_);
          onChanged();
        } else {
          updatesBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public Builder clearUpdates() {
        if (updatesBuilder_ == null) {
          updates_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          updatesBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public Builder removeUpdates(int index) {
        if (updatesBuilder_ == null) {
          ensureUpdatesIsMutable();
          updates_.remove(index);
          onChanged();
        } else {
          updatesBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public org.apache.calcite.avatica.proto.Requests.UpdateBatch.Builder getUpdatesBuilder(
          int index) {
        return getUpdatesFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public org.apache.calcite.avatica.proto.Requests.UpdateBatchOrBuilder getUpdatesOrBuilder(
          int index) {
        if (updatesBuilder_ == null) {
          return updates_.get(index);  } else {
          return updatesBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public java.util.List<? extends org.apache.calcite.avatica.proto.Requests.UpdateBatchOrBuilder> 
           getUpdatesOrBuilderList() {
        if (updatesBuilder_ != null) {
          return updatesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(updates_);
        }
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public org.apache.calcite.avatica.proto.Requests.UpdateBatch.Builder addUpdatesBuilder() {
        return getUpdatesFieldBuilder().addBuilder(
            org.apache.calcite.avatica.proto.Requests.UpdateBatch.getDefaultInstance());
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public org.apache.calcite.avatica.proto.Requests.UpdateBatch.Builder addUpdatesBuilder(
          int index) {
        return getUpdatesFieldBuilder().addBuilder(
            index, org.apache.calcite.avatica.proto.Requests.UpdateBatch.getDefaultInstance());
      }
      /**
       * <pre>
       * A batch of updates is a list&lt;list&lt;typevalue&gt;&gt;
       * </pre>
       *
       * <code>repeated .UpdateBatch updates = 3;</code>
       */
      public java.util.List<org.apache.calcite.avatica.proto.Requests.UpdateBatch.Builder> 
           getUpdatesBuilderList() {
        return getUpdatesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          org.apache.calcite.avatica.proto.Requests.UpdateBatch, org.apache.calcite.avatica.proto.Requests.UpdateBatch.Builder, org.apache.calcite.avatica.proto.Requests.UpdateBatchOrBuilder> 
          getUpdatesFieldBuilder() {
        if (updatesBuilder_ == null) {
          updatesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              org.apache.calcite.avatica.proto.Requests.UpdateBatch, org.apache.calcite.avatica.proto.Requests.UpdateBatch.Builder, org.apache.calcite.avatica.proto.Requests.UpdateBatchOrBuilder>(
                  updates_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          updates_ = null;
        }
        return updatesBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:ExecuteBatchRequest)
    }

    // @@protoc_insertion_point(class_scope:ExecuteBatchRequest)
    private static final org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest();
    }

    public static org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<ExecuteBatchRequest>
        PARSER = new com.google.protobuf.AbstractParser<ExecuteBatchRequest>() {
      @java.lang.Override
      public ExecuteBatchRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<ExecuteBatchRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<ExecuteBatchRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public org.apache.calcite.avatica.proto.Requests.ExecuteBatchRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CatalogsRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_CatalogsRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_DatabasePropertyRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_DatabasePropertyRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_SchemasRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_SchemasRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_TablesRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_TablesRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_TableTypesRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_TableTypesRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_ColumnsRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_ColumnsRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_TypeInfoRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_TypeInfoRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_PrepareAndExecuteRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_PrepareAndExecuteRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_PrepareRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_PrepareRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_FetchRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_FetchRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CreateStatementRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_CreateStatementRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CloseStatementRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_CloseStatementRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_OpenConnectionRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_OpenConnectionRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_OpenConnectionRequest_InfoEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_OpenConnectionRequest_InfoEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CloseConnectionRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_CloseConnectionRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_ConnectionSyncRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_ConnectionSyncRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_ExecuteRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_ExecuteRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_SyncResultsRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_SyncResultsRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_CommitRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_CommitRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_RollbackRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_RollbackRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_PrepareAndExecuteBatchRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_PrepareAndExecuteBatchRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_UpdateBatch_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_UpdateBatch_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_ExecuteBatchRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_ExecuteBatchRequest_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\016requests.proto\032\014common.proto\"(\n\017Catalo" +
      "gsRequest\022\025\n\rconnection_id\030\001 \001(\t\"0\n\027Data" +
      "basePropertyRequest\022\025\n\rconnection_id\030\001 \001" +
      "(\t\"\201\001\n\016SchemasRequest\022\017\n\007catalog\030\001 \001(\t\022\026" +
      "\n\016schema_pattern\030\002 \001(\t\022\025\n\rconnection_id\030" +
      "\003 \001(\t\022\023\n\013has_catalog\030\004 \001(\010\022\032\n\022has_schema" +
      "_pattern\030\005 \001(\010\"\346\001\n\rTablesRequest\022\017\n\007cata" +
      "log\030\001 \001(\t\022\026\n\016schema_pattern\030\002 \001(\t\022\032\n\022tab" +
      "le_name_pattern\030\003 \001(\t\022\021\n\ttype_list\030\004 \003(\t" +
      "\022\025\n\rhas_type_list\030\006 \001(\010\022\025\n\rconnection_id" +
      "\030\007 \001(\t\022\023\n\013has_catalog\030\010 \001(\010\022\032\n\022has_schem" +
      "a_pattern\030\t \001(\010\022\036\n\026has_table_name_patter" +
      "n\030\n \001(\010\"*\n\021TableTypesRequest\022\025\n\rconnecti" +
      "on_id\030\001 \001(\t\"\373\001\n\016ColumnsRequest\022\017\n\007catalo" +
      "g\030\001 \001(\t\022\026\n\016schema_pattern\030\002 \001(\t\022\032\n\022table" +
      "_name_pattern\030\003 \001(\t\022\033\n\023column_name_patte" +
      "rn\030\004 \001(\t\022\025\n\rconnection_id\030\005 \001(\t\022\023\n\013has_c" +
      "atalog\030\006 \001(\010\022\032\n\022has_schema_pattern\030\007 \001(\010" +
      "\022\036\n\026has_table_name_pattern\030\010 \001(\010\022\037\n\027has_" +
      "column_name_pattern\030\t \001(\010\"(\n\017TypeInfoReq" +
      "uest\022\025\n\rconnection_id\030\001 \001(\t\"\241\001\n\030PrepareA" +
      "ndExecuteRequest\022\025\n\rconnection_id\030\001 \001(\t\022" +
      "\013\n\003sql\030\002 \001(\t\022\025\n\rmax_row_count\030\003 \001(\004\022\024\n\014s" +
      "tatement_id\030\004 \001(\r\022\026\n\016max_rows_total\030\005 \001(" +
      "\003\022\034\n\024first_frame_max_size\030\006 \001(\005\"c\n\016Prepa" +
      "reRequest\022\025\n\rconnection_id\030\001 \001(\t\022\013\n\003sql\030" +
      "\002 \001(\t\022\025\n\rmax_row_count\030\003 \001(\004\022\026\n\016max_rows" +
      "_total\030\004 \001(\003\"\200\001\n\014FetchRequest\022\025\n\rconnect" +
      "ion_id\030\001 \001(\t\022\024\n\014statement_id\030\002 \001(\r\022\016\n\006of" +
      "fset\030\003 \001(\004\022\033\n\023fetch_max_row_count\030\004 \001(\r\022" +
      "\026\n\016frame_max_size\030\005 \001(\005\"/\n\026CreateStateme" +
      "ntRequest\022\025\n\rconnection_id\030\001 \001(\t\"D\n\025Clos" +
      "eStatementRequest\022\025\n\rconnection_id\030\001 \001(\t" +
      "\022\024\n\014statement_id\030\002 \001(\r\"\213\001\n\025OpenConnectio" +
      "nRequest\022\025\n\rconnection_id\030\001 \001(\t\022.\n\004info\030" +
      "\002 \003(\0132 .OpenConnectionRequest.InfoEntry\032" +
      "+\n\tInfoEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t" +
      ":\0028\001\"/\n\026CloseConnectionRequest\022\025\n\rconnec" +
      "tion_id\030\001 \001(\t\"Y\n\025ConnectionSyncRequest\022\025" +
      "\n\rconnection_id\030\001 \001(\t\022)\n\nconn_props\030\002 \001(" +
      "\0132\025.ConnectionProperties\"\307\001\n\016ExecuteRequ" +
      "est\022)\n\017statementHandle\030\001 \001(\0132\020.Statement" +
      "Handle\022%\n\020parameter_values\030\002 \003(\0132\013.Typed" +
      "Value\022\'\n\037deprecated_first_frame_max_size" +
      "\030\003 \001(\004\022\034\n\024has_parameter_values\030\004 \001(\010\022\034\n\024" +
      "first_frame_max_size\030\005 \001(\005\"m\n\022SyncResult" +
      "sRequest\022\025\n\rconnection_id\030\001 \001(\t\022\024\n\014state" +
      "ment_id\030\002 \001(\r\022\032\n\005state\030\003 \001(\0132\013.QueryStat" +
      "e\022\016\n\006offset\030\004 \001(\004\"&\n\rCommitRequest\022\025\n\rco" +
      "nnection_id\030\001 \001(\t\"(\n\017RollbackRequest\022\025\n\r" +
      "connection_id\030\001 \001(\t\"b\n\035PrepareAndExecute" +
      "BatchRequest\022\025\n\rconnection_id\030\001 \001(\t\022\024\n\014s" +
      "tatement_id\030\002 \001(\r\022\024\n\014sql_commands\030\003 \003(\t\"" +
      "4\n\013UpdateBatch\022%\n\020parameter_values\030\001 \003(\013" +
      "2\013.TypedValue\"a\n\023ExecuteBatchRequest\022\025\n\r" +
      "connection_id\030\001 \001(\t\022\024\n\014statement_id\030\002 \001(" +
      "\r\022\035\n\007updates\030\003 \003(\0132\014.UpdateBatchB\"\n org." +
      "apache.calcite.avatica.protob\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          org.apache.calcite.avatica.proto.Common.getDescriptor(),
        });
    internal_static_CatalogsRequest_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_CatalogsRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_CatalogsRequest_descriptor,
        new java.lang.String[] { "ConnectionId", });
    internal_static_DatabasePropertyRequest_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_DatabasePropertyRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_DatabasePropertyRequest_descriptor,
        new java.lang.String[] { "ConnectionId", });
    internal_static_SchemasRequest_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_SchemasRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_SchemasRequest_descriptor,
        new java.lang.String[] { "Catalog", "SchemaPattern", "ConnectionId", "HasCatalog", "HasSchemaPattern", });
    internal_static_TablesRequest_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_TablesRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_TablesRequest_descriptor,
        new java.lang.String[] { "Catalog", "SchemaPattern", "TableNamePattern", "TypeList", "HasTypeList", "ConnectionId", "HasCatalog", "HasSchemaPattern", "HasTableNamePattern", });
    internal_static_TableTypesRequest_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_TableTypesRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_TableTypesRequest_descriptor,
        new java.lang.String[] { "ConnectionId", });
    internal_static_ColumnsRequest_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_ColumnsRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_ColumnsRequest_descriptor,
        new java.lang.String[] { "Catalog", "SchemaPattern", "TableNamePattern", "ColumnNamePattern", "ConnectionId", "HasCatalog", "HasSchemaPattern", "HasTableNamePattern", "HasColumnNamePattern", });
    internal_static_TypeInfoRequest_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_TypeInfoRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_TypeInfoRequest_descriptor,
        new java.lang.String[] { "ConnectionId", });
    internal_static_PrepareAndExecuteRequest_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_PrepareAndExecuteRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_PrepareAndExecuteRequest_descriptor,
        new java.lang.String[] { "ConnectionId", "Sql", "MaxRowCount", "StatementId", "MaxRowsTotal", "FirstFrameMaxSize", });
    internal_static_PrepareRequest_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_PrepareRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_PrepareRequest_descriptor,
        new java.lang.String[] { "ConnectionId", "Sql", "MaxRowCount", "MaxRowsTotal", });
    internal_static_FetchRequest_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_FetchRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_FetchRequest_descriptor,
        new java.lang.String[] { "ConnectionId", "StatementId", "Offset", "FetchMaxRowCount", "FrameMaxSize", });
    internal_static_CreateStatementRequest_descriptor =
      getDescriptor().getMessageTypes().get(10);
    internal_static_CreateStatementRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_CreateStatementRequest_descriptor,
        new java.lang.String[] { "ConnectionId", });
    internal_static_CloseStatementRequest_descriptor =
      getDescriptor().getMessageTypes().get(11);
    internal_static_CloseStatementRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_CloseStatementRequest_descriptor,
        new java.lang.String[] { "ConnectionId", "StatementId", });
    internal_static_OpenConnectionRequest_descriptor =
      getDescriptor().getMessageTypes().get(12);
    internal_static_OpenConnectionRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_OpenConnectionRequest_descriptor,
        new java.lang.String[] { "ConnectionId", "Info", });
    internal_static_OpenConnectionRequest_InfoEntry_descriptor =
      internal_static_OpenConnectionRequest_descriptor.getNestedTypes().get(0);
    internal_static_OpenConnectionRequest_InfoEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_OpenConnectionRequest_InfoEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_CloseConnectionRequest_descriptor =
      getDescriptor().getMessageTypes().get(13);
    internal_static_CloseConnectionRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_CloseConnectionRequest_descriptor,
        new java.lang.String[] { "ConnectionId", });
    internal_static_ConnectionSyncRequest_descriptor =
      getDescriptor().getMessageTypes().get(14);
    internal_static_ConnectionSyncRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_ConnectionSyncRequest_descriptor,
        new java.lang.String[] { "ConnectionId", "ConnProps", });
    internal_static_ExecuteRequest_descriptor =
      getDescriptor().getMessageTypes().get(15);
    internal_static_ExecuteRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_ExecuteRequest_descriptor,
        new java.lang.String[] { "StatementHandle", "ParameterValues", "DeprecatedFirstFrameMaxSize", "HasParameterValues", "FirstFrameMaxSize", });
    internal_static_SyncResultsRequest_descriptor =
      getDescriptor().getMessageTypes().get(16);
    internal_static_SyncResultsRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_SyncResultsRequest_descriptor,
        new java.lang.String[] { "ConnectionId", "StatementId", "State", "Offset", });
    internal_static_CommitRequest_descriptor =
      getDescriptor().getMessageTypes().get(17);
    internal_static_CommitRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_CommitRequest_descriptor,
        new java.lang.String[] { "ConnectionId", });
    internal_static_RollbackRequest_descriptor =
      getDescriptor().getMessageTypes().get(18);
    internal_static_RollbackRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_RollbackRequest_descriptor,
        new java.lang.String[] { "ConnectionId", });
    internal_static_PrepareAndExecuteBatchRequest_descriptor =
      getDescriptor().getMessageTypes().get(19);
    internal_static_PrepareAndExecuteBatchRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_PrepareAndExecuteBatchRequest_descriptor,
        new java.lang.String[] { "ConnectionId", "StatementId", "SqlCommands", });
    internal_static_UpdateBatch_descriptor =
      getDescriptor().getMessageTypes().get(20);
    internal_static_UpdateBatch_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_UpdateBatch_descriptor,
        new java.lang.String[] { "ParameterValues", });
    internal_static_ExecuteBatchRequest_descriptor =
      getDescriptor().getMessageTypes().get(21);
    internal_static_ExecuteBatchRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_ExecuteBatchRequest_descriptor,
        new java.lang.String[] { "ConnectionId", "StatementId", "Updates", });
    org.apache.calcite.avatica.proto.Common.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}