You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by el...@apache.org on 2016/10/23 19:47:36 UTC

[1/6] calcite git commit: [CALCITE-1355] Upgrade to protobuf-java 3.1.0

Repository: calcite
Updated Branches:
  refs/heads/master 483b9f923 -> 2438d53e5


http://git-wip-us.apache.org/repos/asf/calcite/blob/221d1804/avatica/core/src/main/java/org/apache/calcite/avatica/remote/ProtobufTranslationImpl.java
----------------------------------------------------------------------
diff --git a/avatica/core/src/main/java/org/apache/calcite/avatica/remote/ProtobufTranslationImpl.java b/avatica/core/src/main/java/org/apache/calcite/avatica/remote/ProtobufTranslationImpl.java
index 35df7c1..fca286e 100644
--- a/avatica/core/src/main/java/org/apache/calcite/avatica/remote/ProtobufTranslationImpl.java
+++ b/avatica/core/src/main/java/org/apache/calcite/avatica/remote/ProtobufTranslationImpl.java
@@ -61,9 +61,9 @@ import org.apache.calcite.avatica.util.UnsynchronizedBuffer;
 
 import com.google.protobuf.ByteString;
 import com.google.protobuf.CodedInputStream;
-import com.google.protobuf.HBaseZeroCopyByteString;
 import com.google.protobuf.Message;
 import com.google.protobuf.TextFormat;
+import com.google.protobuf.UnsafeByteOperations;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -237,7 +237,7 @@ public class ProtobufTranslationImpl implements ProtobufTranslation {
   }
 
   private static ByteString wrapClassName(Class<?> clz) {
-    return HBaseZeroCopyByteString.wrap(clz.getName().getBytes(UTF_8));
+    return UnsafeByteOperations.unsafeWrap(clz.getName().getBytes(UTF_8));
   }
 
   private final ThreadLocal<UnsynchronizedBuffer> threadLocalBuffer =
@@ -324,7 +324,7 @@ public class ProtobufTranslationImpl implements ProtobufTranslation {
     try {
       msg.writeTo(buffer);
       // Make a bytestring from it
-      serializedMsg = HBaseZeroCopyByteString.wrap(buffer.toArray());
+      serializedMsg = UnsafeByteOperations.unsafeWrap(buffer.toArray());
     } finally {
       buffer.reset();
     }
@@ -346,7 +346,7 @@ public class ProtobufTranslationImpl implements ProtobufTranslation {
   }
 
   @Override public Request parseRequest(byte[] bytes) throws IOException {
-    ByteString byteString = HBaseZeroCopyByteString.wrap(bytes);
+    ByteString byteString = UnsafeByteOperations.unsafeWrap(bytes);
     CodedInputStream inputStream = byteString.newCodedInput();
     // Enable aliasing to avoid an extra copy to get at the serialized Request inside of the
     // WireMessage.
@@ -367,7 +367,7 @@ public class ProtobufTranslationImpl implements ProtobufTranslation {
   }
 
   @Override public Response parseResponse(byte[] bytes) throws IOException {
-    ByteString byteString = HBaseZeroCopyByteString.wrap(bytes);
+    ByteString byteString = UnsafeByteOperations.unsafeWrap(bytes);
     CodedInputStream inputStream = byteString.newCodedInput();
     // Enable aliasing to avoid an extra copy to get at the serialized Response inside of the
     // WireMessage.

http://git-wip-us.apache.org/repos/asf/calcite/blob/221d1804/avatica/core/src/main/java/org/apache/calcite/avatica/remote/Service.java
----------------------------------------------------------------------
diff --git a/avatica/core/src/main/java/org/apache/calcite/avatica/remote/Service.java b/avatica/core/src/main/java/org/apache/calcite/avatica/remote/Service.java
index affed00..1f398ef 100644
--- a/avatica/core/src/main/java/org/apache/calcite/avatica/remote/Service.java
+++ b/avatica/core/src/main/java/org/apache/calcite/avatica/remote/Service.java
@@ -35,8 +35,8 @@ import com.fasterxml.jackson.annotation.JsonSubTypes;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.google.protobuf.ByteString;
 import com.google.protobuf.Descriptors.FieldDescriptor;
-import com.google.protobuf.HBaseZeroCopyByteString;
 import com.google.protobuf.Message;
+import com.google.protobuf.UnsafeByteOperations;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -51,6 +51,8 @@ import java.util.Map.Entry;
 import java.util.Objects;
 import java.util.Properties;
 
+import static java.nio.charset.StandardCharsets.UTF_8;
+
 /**
  * API for request-response calls to an Avatica server.
  */
@@ -2637,7 +2639,7 @@ public interface Service {
 
     public RpcMetadataResponse(@JsonProperty("serverAddress") String serverAddress) {
       this.serverAddress = serverAddress;
-      this.serverAddressAsBytes = HBaseZeroCopyByteString.wrap(serverAddress.getBytes());
+      this.serverAddressAsBytes = UnsafeByteOperations.unsafeWrap(serverAddress.getBytes(UTF_8));
     }
 
     @Override RpcMetadataResponse deserialize(Message genericMsg) {

http://git-wip-us.apache.org/repos/asf/calcite/blob/221d1804/avatica/core/src/main/java/org/apache/calcite/avatica/remote/TypedValue.java
----------------------------------------------------------------------
diff --git a/avatica/core/src/main/java/org/apache/calcite/avatica/remote/TypedValue.java b/avatica/core/src/main/java/org/apache/calcite/avatica/remote/TypedValue.java
index b13bfe7..7f1c752 100644
--- a/avatica/core/src/main/java/org/apache/calcite/avatica/remote/TypedValue.java
+++ b/avatica/core/src/main/java/org/apache/calcite/avatica/remote/TypedValue.java
@@ -26,7 +26,7 @@ import org.apache.calcite.avatica.util.DateTimeUtils;
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.google.protobuf.Descriptors.FieldDescriptor;
-import com.google.protobuf.HBaseZeroCopyByteString;
+import com.google.protobuf.UnsafeByteOperations;
 
 import java.math.BigDecimal;
 import java.math.BigInteger;
@@ -394,10 +394,10 @@ public class TypedValue {
         // Use the byte array
         bytes = (byte[]) o;
       }
-      builder.setBytesValue(HBaseZeroCopyByteString.wrap(bytes));
+      builder.setBytesValue(UnsafeByteOperations.unsafeWrap(bytes));
       return;
     case STRING:
-      builder.setStringValueBytes(HBaseZeroCopyByteString.wrap(((String) o).getBytes(UTF_8)));
+      builder.setStringValueBytes(UnsafeByteOperations.unsafeWrap(((String) o).getBytes(UTF_8)));
       return;
     case PRIMITIVE_CHAR:
     case CHARACTER:

http://git-wip-us.apache.org/repos/asf/calcite/blob/221d1804/avatica/core/src/main/scripts/generate-protobuf.sh
----------------------------------------------------------------------
diff --git a/avatica/core/src/main/scripts/generate-protobuf.sh b/avatica/core/src/main/scripts/generate-protobuf.sh
index 14bbe4b..0d07c01 100755
--- a/avatica/core/src/main/scripts/generate-protobuf.sh
+++ b/avatica/core/src/main/scripts/generate-protobuf.sh
@@ -23,7 +23,7 @@
 #   In other scripts, set the variables that diverge from the defaults below, then call this script.
 #   Leave the BUILD_DIR and FINAL_DIR alone for Maven builds.
 # ========================================================================================================================
-[[ -z $REQUIRED_PROTOC_VERSION ]] && REQUIRED_PROTOC_VERSION='libprotoc 3.0.0'
+[[ -z $REQUIRED_PROTOC_VERSION ]] && REQUIRED_PROTOC_VERSION='libprotoc 3.1.0'
 [[ -z $BUILD_DIR ]]               && BUILD_DIR='target/proto-tmp'
 [[ -z $FINAL_DIR ]]               && FINAL_DIR='src/main'
 # ========================================================================================================================

http://git-wip-us.apache.org/repos/asf/calcite/blob/221d1804/avatica/core/src/test/java/org/apache/calcite/avatica/remote/ProtobufSerializationTest.java
----------------------------------------------------------------------
diff --git a/avatica/core/src/test/java/org/apache/calcite/avatica/remote/ProtobufSerializationTest.java b/avatica/core/src/test/java/org/apache/calcite/avatica/remote/ProtobufSerializationTest.java
index b3a08c0..39787dd 100644
--- a/avatica/core/src/test/java/org/apache/calcite/avatica/remote/ProtobufSerializationTest.java
+++ b/avatica/core/src/test/java/org/apache/calcite/avatica/remote/ProtobufSerializationTest.java
@@ -24,7 +24,7 @@ import org.apache.calcite.avatica.proto.Common.WireMessage;
 import org.apache.calcite.avatica.proto.Requests;
 import org.apache.calcite.avatica.remote.Service.Request;
 
-import com.google.protobuf.HBaseZeroCopyByteString;
+import com.google.protobuf.UnsafeByteOperations;
 
 import org.junit.Assert;
 import org.junit.Test;
@@ -63,7 +63,7 @@ public class ProtobufSerializationTest {
     byte[] serialized = baos.toByteArray();
     baos.reset();
     WireMessage wireMsg = WireMessage.newBuilder().setName(Requests.ExecuteRequest.class.getName())
-        .setWrappedMessage(HBaseZeroCopyByteString.wrap(serialized)).build();
+        .setWrappedMessage(UnsafeByteOperations.unsafeWrap(serialized)).build();
     wireMsg.writeTo(baos);
     serialized = baos.toByteArray();
 

http://git-wip-us.apache.org/repos/asf/calcite/blob/221d1804/avatica/pom.xml
----------------------------------------------------------------------
diff --git a/avatica/pom.xml b/avatica/pom.xml
index 4eac1db..84b80ff 100644
--- a/avatica/pom.xml
+++ b/avatica/pom.xml
@@ -82,7 +82,7 @@ limitations under the License.
     <maven-shade-plugin.version>2.1</maven-shade-plugin.version>
     <maven-source-plugin.version>2.4</maven-source-plugin.version>
     <mockito-all.version>1.10.19</mockito-all.version>
-    <protobuf.version>3.0.0-beta-1</protobuf.version>
+    <protobuf.version>3.1.0</protobuf.version>
     <scott-data-hsqldb.version>0.1</scott-data-hsqldb.version>
     <servlet.version>3.0.1</servlet.version>
     <slf4j.version>1.7.13</slf4j.version>


[6/6] calcite git commit: [CALCITE-1463] standalone-server needs to relocate dependencies itself

Posted by el...@apache.org.
[CALCITE-1463] standalone-server needs to relocate dependencies itself

Using the avatica-core (instead of the shaded avatica artifact), the standalone
server shaded artifact must bundle and relocate its artifacts on its own.


Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/2438d53e
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/2438d53e
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/2438d53e

Branch: refs/heads/master
Commit: 2438d53e58e0992b2ab9cc45d1fd631b8bcffec5
Parents: 221d180
Author: Josh Elser <el...@apache.org>
Authored: Sun Oct 23 15:42:09 2016 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Sun Oct 23 15:42:09 2016 -0400

----------------------------------------------------------------------
 avatica/standalone-server/pom.xml | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/2438d53e/avatica/standalone-server/pom.xml
----------------------------------------------------------------------
diff --git a/avatica/standalone-server/pom.xml b/avatica/standalone-server/pom.xml
index 8cb4719..ab36a00 100644
--- a/avatica/standalone-server/pom.xml
+++ b/avatica/standalone-server/pom.xml
@@ -143,13 +143,6 @@ limitations under the License.
               <goal>shade</goal>
             </goals>
             <configuration>
-              <artifactSet>
-                <excludes>
-                  <exclude>com.google.protobuf:protobuf-java</exclude>
-                  <exclude>org.apache.httpcomponents:*</exclude>
-                  <exclude>commons-codec:commons-codec</exclude>
-                </excludes>
-                </artifactSet>
               <createDependencyReducedPom>false</createDependencyReducedPom>
               <relocations>
                 <relocation>
@@ -165,6 +158,10 @@ limitations under the License.
                   <shadedPattern>org.apache.calcite.avatica.hsqldb.shaded.com.google.common</shadedPattern>
                 </relocation>
                 <relocation>
+                  <pattern>com.google.protobuf</pattern>
+                  <shadedPattern>org.apache.calcite.avatica.hsqldb.shaded.com.google.protobuf</shadedPattern>
+                </relocation>
+                <relocation>
                   <pattern>javax.servlet</pattern>
                   <shadedPattern>org.apache.calcite.avatica.hsqldb.shaded.javax.servlet</shadedPattern>
                 </relocation>
@@ -188,6 +185,14 @@ limitations under the License.
                   <pattern>org.slf4j</pattern>
                   <shadedPattern>org.apache.calcite.avatica.hsqldb.shaded.org.slf4j</shadedPattern>
                 </relocation>
+                <relocation>
+                  <pattern>org.apache.http</pattern>
+                  <shadedPattern>org.apache.calcite.avatica.hsqldb.shaded.org.apache.http</shadedPattern>
+                </relocation>
+                <relocation>
+                  <pattern>org.apache.commons</pattern>
+                  <shadedPattern>org.apache.calcite.avatica.hsqldb.shaded.org.apache.commons</shadedPattern>
+                </relocation>
               </relocations>
               <shadedArtifactAttached>true</shadedArtifactAttached>
               <transformers>


[5/6] calcite git commit: [CALCITE-1355] Upgrade to protobuf-java 3.1.0

Posted by el...@apache.org.
[CALCITE-1355] Upgrade to protobuf-java 3.1.0

We are also able to remove the HBaseZeroCopyByteString we copied
from Apache HBase in favor of using protobuf API (UnsafeByteOperations)
which is fantastic. Protobuf classes are rebuilt using 3.1.0 and
the script to generate them was updated.


Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/221d1804
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/221d1804
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/221d1804

Branch: refs/heads/master
Commit: 221d1804cb52a19a63968c718fe662ae64ea12d2
Parents: 483b9f9
Author: Josh Elser <el...@apache.org>
Authored: Sun Oct 23 15:03:08 2016 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Sun Oct 23 15:03:08 2016 -0400

----------------------------------------------------------------------
 .../protobuf/HBaseZeroCopyByteString.java       |   77 -
 .../java/com/google/protobuf/package-info.java  |   26 -
 .../apache/calcite/avatica/proto/Common.java    | 3365 +++++++++++-----
 .../apache/calcite/avatica/proto/Requests.java  | 3688 +++++++++++++-----
 .../apache/calcite/avatica/proto/Responses.java | 3011 +++++++++-----
 .../avatica/remote/ProtobufTranslationImpl.java |   10 +-
 .../apache/calcite/avatica/remote/Service.java  |    6 +-
 .../calcite/avatica/remote/TypedValue.java      |    6 +-
 .../core/src/main/scripts/generate-protobuf.sh  |    2 +-
 .../remote/ProtobufSerializationTest.java       |    4 +-
 avatica/pom.xml                                 |    2 +-
 11 files changed, 6993 insertions(+), 3204 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/221d1804/avatica/core/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java
----------------------------------------------------------------------
diff --git a/avatica/core/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java b/avatica/core/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java
deleted file mode 100644
index 62c4dd2..0000000
--- a/avatica/core/src/main/java/com/google/protobuf/HBaseZeroCopyByteString.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.google.protobuf;
-
-/**
- * Helper class to extract byte arrays from {@link ByteString} without copy.
- *
- * Without this protobufs would force us to copy every single byte array out
- * of the objects de-serialized from the wire (which already do one copy, on
- * top of the copies the JVM does to go from kernel buffer to C buffer and
- * from C buffer to JVM buffer).
- *
- * Graciously copied from Apache HBase.
- */
-public final class HBaseZeroCopyByteString extends LiteralByteString {
-  // Gotten from AsyncHBase code base with permission.
-  /** Private constructor so this class cannot be instantiated. */
-  private HBaseZeroCopyByteString() {
-    super(null);
-    throw new UnsupportedOperationException("Should never be here.");
-  }
-
-  /**
-   * Wraps a byte array in a {@link ByteString} without copying it.
-   *
-   * @param array The byte array to wrap
-   * @return a ByteString wrapping the <code>array</code>
-   */
-  public static ByteString wrap(final byte[] array) {
-    return new LiteralByteString(array);
-  }
-
-  /**
-   * Wraps a subset of a byte array in a {@link ByteString} without copying it.
-   *
-   * @param array The byte array to wrap
-   * @param offset the start of data in the array
-   * @param length The number of bytes of data at <code>offset</code>
-   * @return a ByteString wrapping the <code>array</code>
-   */
-  public static ByteString wrap(final byte[] array, int offset, int length) {
-    return new BoundedByteString(array, offset, length);
-  }
-
-
-  /**
-   * Extracts the byte array from the given {@link ByteString} without copy.
-   * @param buf A buffer from which to extract the array.  This buffer must be
-   * actually an instance of a {@code LiteralByteString}.
-   *
-   * @param buf <code>ByteString</code> to access
-   * @return The underlying byte array of the ByteString
-   */
-  public static byte[] zeroCopyGetBytes(final ByteString buf) {
-    if (buf instanceof LiteralByteString) {
-      return ((LiteralByteString) buf).bytes;
-    }
-    throw new UnsupportedOperationException("Need a LiteralByteString, got a "
-                                            + buf.getClass().getName());
-  }
-}
-
-// End HBaseZeroCopyByteString.java

http://git-wip-us.apache.org/repos/asf/calcite/blob/221d1804/avatica/core/src/main/java/com/google/protobuf/package-info.java
----------------------------------------------------------------------
diff --git a/avatica/core/src/main/java/com/google/protobuf/package-info.java b/avatica/core/src/main/java/com/google/protobuf/package-info.java
deleted file mode 100644
index 92f110e..0000000
--- a/avatica/core/src/main/java/com/google/protobuf/package-info.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Avatica-custom classes to access protected classes in Google Protobuf.
- */
-@PackageMarker
-package com.google.protobuf;
-
-import org.apache.calcite.avatica.util.PackageMarker;
-
-// End package-info.java


[3/6] calcite git commit: [CALCITE-1355] Upgrade to protobuf-java 3.1.0

Posted by el...@apache.org.
http://git-wip-us.apache.org/repos/asf/calcite/blob/221d1804/avatica/core/src/main/java/org/apache/calcite/avatica/proto/Requests.java
----------------------------------------------------------------------
diff --git a/avatica/core/src/main/java/org/apache/calcite/avatica/proto/Requests.java b/avatica/core/src/main/java/org/apache/calcite/avatica/proto/Requests.java
index ad9278e..adb1dae 100644
--- a/avatica/core/src/main/java/org/apache/calcite/avatica/proto/Requests.java
+++ b/avatica/core/src/main/java/org/apache/calcite/avatica/proto/Requests.java
@@ -22,7 +22,13 @@ package org.apache.calcite.avatica.proto;
 @SuppressWarnings({"unused", "rawtypes"}) 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)
@@ -39,18 +45,18 @@ package org.apache.calcite.avatica.proto;
         getConnectionIdBytes();
   }
   /**
-   * Protobuf type {@code CatalogsRequest}
-   *
    * <pre>
    * Request for Meta#getCatalogs()
    * </pre>
+   *
+   * Protobuf type {@code CatalogsRequest}
    */
   public  static final class CatalogsRequest extends
-      com.google.protobuf.GeneratedMessage implements
+      com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:CatalogsRequest)
       CatalogsRequestOrBuilder {
     // Use CatalogsRequest.newBuilder() to construct.
-    private CatalogsRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+    private CatalogsRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
       super(builder);
     }
     private CatalogsRequest() {
@@ -64,7 +70,8 @@ package org.apache.calcite.avatica.proto;
     }
     private CatalogsRequest(
         com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       try {
@@ -82,7 +89,7 @@ package org.apache.calcite.avatica.proto;
               break;
             }
             case 10: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               connectionId_ = s;
               break;
@@ -90,11 +97,10 @@ package org.apache.calcite.avatica.proto;
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw new RuntimeException(e.setUnfinishedMessage(this));
+        throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
-        throw new RuntimeException(
-            new com.google.protobuf.InvalidProtocolBufferException(
-                e.getMessage()).setUnfinishedMessage(this));
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
       } finally {
         makeExtensionsImmutable();
       }
@@ -104,7 +110,7 @@ package org.apache.calcite.avatica.proto;
       return org.apache.calcite.avatica.proto.Requests.internal_static_CatalogsRequest_descriptor;
     }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.calcite.avatica.proto.Requests.internal_static_CatalogsRequest_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -158,7 +164,7 @@ package org.apache.calcite.avatica.proto;
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
       if (!getConnectionIdBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 1, connectionId_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
       }
     }
 
@@ -168,13 +174,43 @@ package org.apache.calcite.avatica.proto;
 
       size = 0;
       if (!getConnectionIdBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, connectionId_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
       }
       memoizedSize = size;
       return size;
     }
 
     private static final long serialVersionUID = 0L;
+    @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;
+
+      boolean result = true;
+      result = result && getConnectionId()
+          .equals(other.getConnectionId());
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().hashCode();
+      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
+      hash = (53 * hash) + getConnectionId().hashCode();
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
     public static org.apache.calcite.avatica.proto.Requests.CatalogsRequest parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -198,34 +234,40 @@ package org.apache.calcite.avatica.proto;
     }
     public static org.apache.calcite.avatica.proto.Requests.CatalogsRequest parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      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 PARSER.parseFrom(input, extensionRegistry);
+      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 PARSER.parseDelimitedFrom(input);
+      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 PARSER.parseDelimitedFrom(input, extensionRegistry);
+      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 PARSER.parseFrom(input);
+      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 PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -242,19 +284,19 @@ package org.apache.calcite.avatica.proto;
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
     /**
-     * Protobuf type {@code CatalogsRequest}
-     *
      * <pre>
      * Request for Meta#getCatalogs()
      * </pre>
+     *
+     * Protobuf type {@code CatalogsRequest}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+        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
@@ -262,7 +304,7 @@ package org.apache.calcite.avatica.proto;
         return org.apache.calcite.avatica.proto.Requests.internal_static_CatalogsRequest_descriptor;
       }
 
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.calcite.avatica.proto.Requests.internal_static_CatalogsRequest_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -275,12 +317,13 @@ package org.apache.calcite.avatica.proto;
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
         }
       }
       public Builder clear() {
@@ -314,6 +357,32 @@ package org.apache.calcite.avatica.proto;
         return result;
       }
 
+      public Builder clone() {
+        return (Builder) super.clone();
+      }
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.setField(field, value);
+      }
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return (Builder) super.clearField(field);
+      }
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return (Builder) super.clearOneof(oneof);
+      }
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, Object value) {
+        return (Builder) super.setRepeatedField(field, index, value);
+      }
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.addRepeatedField(field, value);
+      }
       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);
@@ -346,7 +415,7 @@ package org.apache.calcite.avatica.proto;
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
           parsedMessage = (org.apache.calcite.avatica.proto.Requests.CatalogsRequest) e.getUnfinishedMessage();
-          throw e;
+          throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
             mergeFrom(parsedMessage);
@@ -453,16 +522,7 @@ package org.apache.calcite.avatica.proto;
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        try {
           return new CatalogsRequest(input, extensionRegistry);
-        } catch (RuntimeException e) {
-          if (e.getCause() instanceof
-              com.google.protobuf.InvalidProtocolBufferException) {
-            throw (com.google.protobuf.InvalidProtocolBufferException)
-                e.getCause();
-          }
-          throw e;
-        }
       }
     };
 
@@ -496,18 +556,18 @@ package org.apache.calcite.avatica.proto;
         getConnectionIdBytes();
   }
   /**
-   * Protobuf type {@code DatabasePropertyRequest}
-   *
    * <pre>
    * Request for Meta#getDatabaseProperties()
    * </pre>
+   *
+   * Protobuf type {@code DatabasePropertyRequest}
    */
   public  static final class DatabasePropertyRequest extends
-      com.google.protobuf.GeneratedMessage implements
+      com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:DatabasePropertyRequest)
       DatabasePropertyRequestOrBuilder {
     // Use DatabasePropertyRequest.newBuilder() to construct.
-    private DatabasePropertyRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+    private DatabasePropertyRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
       super(builder);
     }
     private DatabasePropertyRequest() {
@@ -521,7 +581,8 @@ package org.apache.calcite.avatica.proto;
     }
     private DatabasePropertyRequest(
         com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       try {
@@ -539,7 +600,7 @@ package org.apache.calcite.avatica.proto;
               break;
             }
             case 10: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               connectionId_ = s;
               break;
@@ -547,11 +608,10 @@ package org.apache.calcite.avatica.proto;
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw new RuntimeException(e.setUnfinishedMessage(this));
+        throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
-        throw new RuntimeException(
-            new com.google.protobuf.InvalidProtocolBufferException(
-                e.getMessage()).setUnfinishedMessage(this));
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
       } finally {
         makeExtensionsImmutable();
       }
@@ -561,7 +621,7 @@ package org.apache.calcite.avatica.proto;
       return org.apache.calcite.avatica.proto.Requests.internal_static_DatabasePropertyRequest_descriptor;
     }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.calcite.avatica.proto.Requests.internal_static_DatabasePropertyRequest_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -615,7 +675,7 @@ package org.apache.calcite.avatica.proto;
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
       if (!getConnectionIdBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 1, connectionId_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
       }
     }
 
@@ -625,13 +685,43 @@ package org.apache.calcite.avatica.proto;
 
       size = 0;
       if (!getConnectionIdBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, connectionId_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
       }
       memoizedSize = size;
       return size;
     }
 
     private static final long serialVersionUID = 0L;
+    @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;
+
+      boolean result = true;
+      result = result && getConnectionId()
+          .equals(other.getConnectionId());
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().hashCode();
+      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
+      hash = (53 * hash) + getConnectionId().hashCode();
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
     public static org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -655,34 +745,40 @@ package org.apache.calcite.avatica.proto;
     }
     public static org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      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 PARSER.parseFrom(input, extensionRegistry);
+      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 PARSER.parseDelimitedFrom(input);
+      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 PARSER.parseDelimitedFrom(input, extensionRegistry);
+      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 PARSER.parseFrom(input);
+      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 PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -699,19 +795,19 @@ package org.apache.calcite.avatica.proto;
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
     /**
-     * Protobuf type {@code DatabasePropertyRequest}
-     *
      * <pre>
      * Request for Meta#getDatabaseProperties()
      * </pre>
+     *
+     * Protobuf type {@code DatabasePropertyRequest}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+        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
@@ -719,7 +815,7 @@ package org.apache.calcite.avatica.proto;
         return org.apache.calcite.avatica.proto.Requests.internal_static_DatabasePropertyRequest_descriptor;
       }
 
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.calcite.avatica.proto.Requests.internal_static_DatabasePropertyRequest_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -732,12 +828,13 @@ package org.apache.calcite.avatica.proto;
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
         }
       }
       public Builder clear() {
@@ -771,6 +868,32 @@ package org.apache.calcite.avatica.proto;
         return result;
       }
 
+      public Builder clone() {
+        return (Builder) super.clone();
+      }
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.setField(field, value);
+      }
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return (Builder) super.clearField(field);
+      }
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return (Builder) super.clearOneof(oneof);
+      }
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, Object value) {
+        return (Builder) super.setRepeatedField(field, index, value);
+      }
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.addRepeatedField(field, value);
+      }
       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);
@@ -803,7 +926,7 @@ package org.apache.calcite.avatica.proto;
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
           parsedMessage = (org.apache.calcite.avatica.proto.Requests.DatabasePropertyRequest) e.getUnfinishedMessage();
-          throw e;
+          throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
             mergeFrom(parsedMessage);
@@ -910,16 +1033,7 @@ package org.apache.calcite.avatica.proto;
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        try {
           return new DatabasePropertyRequest(input, extensionRegistry);
-        } catch (RuntimeException e) {
-          if (e.getCause() instanceof
-              com.google.protobuf.InvalidProtocolBufferException) {
-            throw (com.google.protobuf.InvalidProtocolBufferException)
-                e.getCause();
-          }
-          throw e;
-        }
       }
     };
 
@@ -973,18 +1087,18 @@ package org.apache.calcite.avatica.proto;
         getConnectionIdBytes();
   }
   /**
-   * Protobuf type {@code SchemasRequest}
-   *
    * <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.GeneratedMessage implements
+      com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:SchemasRequest)
       SchemasRequestOrBuilder {
     // Use SchemasRequest.newBuilder() to construct.
-    private SchemasRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+    private SchemasRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
       super(builder);
     }
     private SchemasRequest() {
@@ -1000,7 +1114,8 @@ package org.apache.calcite.avatica.proto;
     }
     private SchemasRequest(
         com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       try {
@@ -1018,19 +1133,19 @@ package org.apache.calcite.avatica.proto;
               break;
             }
             case 10: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               catalog_ = s;
               break;
             }
             case 18: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               schemaPattern_ = s;
               break;
             }
             case 26: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               connectionId_ = s;
               break;
@@ -1038,11 +1153,10 @@ package org.apache.calcite.avatica.proto;
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw new RuntimeException(e.setUnfinishedMessage(this));
+        throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
-        throw new RuntimeException(
-            new com.google.protobuf.InvalidProtocolBufferException(
-                e.getMessage()).setUnfinishedMessage(this));
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
       } finally {
         makeExtensionsImmutable();
       }
@@ -1052,7 +1166,7 @@ package org.apache.calcite.avatica.proto;
       return org.apache.calcite.avatica.proto.Requests.internal_static_SchemasRequest_descriptor;
     }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.calcite.avatica.proto.Requests.internal_static_SchemasRequest_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -1174,13 +1288,13 @@ package org.apache.calcite.avatica.proto;
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
       if (!getCatalogBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 1, catalog_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, catalog_);
       }
       if (!getSchemaPatternBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 2, schemaPattern_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, schemaPattern_);
       }
       if (!getConnectionIdBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 3, connectionId_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, connectionId_);
       }
     }
 
@@ -1190,19 +1304,57 @@ package org.apache.calcite.avatica.proto;
 
       size = 0;
       if (!getCatalogBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, catalog_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, catalog_);
       }
       if (!getSchemaPatternBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, schemaPattern_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, schemaPattern_);
       }
       if (!getConnectionIdBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, connectionId_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, connectionId_);
       }
       memoizedSize = size;
       return size;
     }
 
     private static final long serialVersionUID = 0L;
+    @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;
+
+      boolean result = true;
+      result = result && getCatalog()
+          .equals(other.getCatalog());
+      result = result && getSchemaPattern()
+          .equals(other.getSchemaPattern());
+      result = result && getConnectionId()
+          .equals(other.getConnectionId());
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().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 = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
     public static org.apache.calcite.avatica.proto.Requests.SchemasRequest parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -1226,34 +1378,40 @@ package org.apache.calcite.avatica.proto;
     }
     public static org.apache.calcite.avatica.proto.Requests.SchemasRequest parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      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 PARSER.parseFrom(input, extensionRegistry);
+      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 PARSER.parseDelimitedFrom(input);
+      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 PARSER.parseDelimitedFrom(input, extensionRegistry);
+      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 PARSER.parseFrom(input);
+      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 PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -1270,19 +1428,19 @@ package org.apache.calcite.avatica.proto;
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
     /**
-     * Protobuf type {@code SchemasRequest}
-     *
      * <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.GeneratedMessage.Builder<Builder> implements
+        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
@@ -1290,7 +1448,7 @@ package org.apache.calcite.avatica.proto;
         return org.apache.calcite.avatica.proto.Requests.internal_static_SchemasRequest_descriptor;
       }
 
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.calcite.avatica.proto.Requests.internal_static_SchemasRequest_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -1303,12 +1461,13 @@ package org.apache.calcite.avatica.proto;
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
         }
       }
       public Builder clear() {
@@ -1348,6 +1507,32 @@ package org.apache.calcite.avatica.proto;
         return result;
       }
 
+      public Builder clone() {
+        return (Builder) super.clone();
+      }
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.setField(field, value);
+      }
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return (Builder) super.clearField(field);
+      }
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return (Builder) super.clearOneof(oneof);
+      }
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, Object value) {
+        return (Builder) super.setRepeatedField(field, index, value);
+      }
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.addRepeatedField(field, value);
+      }
       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);
@@ -1388,7 +1573,7 @@ package org.apache.calcite.avatica.proto;
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
           parsedMessage = (org.apache.calcite.avatica.proto.Requests.SchemasRequest) e.getUnfinishedMessage();
-          throw e;
+          throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
             mergeFrom(parsedMessage);
@@ -1633,16 +1818,7 @@ package org.apache.calcite.avatica.proto;
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        try {
           return new SchemasRequest(input, extensionRegistry);
-        } catch (RuntimeException e) {
-          if (e.getCause() instanceof
-              com.google.protobuf.InvalidProtocolBufferException) {
-            throw (com.google.protobuf.InvalidProtocolBufferException)
-                e.getCause();
-          }
-          throw e;
-        }
       }
     };
 
@@ -1698,7 +1874,7 @@ package org.apache.calcite.avatica.proto;
     /**
      * <code>repeated string type_list = 4;</code>
      */
-    com.google.protobuf.ProtocolStringList
+    java.util.List<java.lang.String>
         getTypeListList();
     /**
      * <code>repeated string type_list = 4;</code>
@@ -1715,11 +1891,11 @@ package org.apache.calcite.avatica.proto;
         getTypeListBytes(int index);
 
     /**
-     * <code>optional bool has_type_list = 6;</code>
-     *
      * <pre>
      * Having an empty type_list is distinct from a null type_list
      * </pre>
+     *
+     * <code>optional bool has_type_list = 6;</code>
      */
     boolean getHasTypeList();
 
@@ -1734,19 +1910,19 @@ package org.apache.calcite.avatica.proto;
         getConnectionIdBytes();
   }
   /**
-   * Protobuf type {@code TablesRequest}
-   *
    * <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.GeneratedMessage implements
+      com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:TablesRequest)
       TablesRequestOrBuilder {
     // Use TablesRequest.newBuilder() to construct.
-    private TablesRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+    private TablesRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
       super(builder);
     }
     private TablesRequest() {
@@ -1765,7 +1941,8 @@ package org.apache.calcite.avatica.proto;
     }
     private TablesRequest(
         com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       try {
@@ -1783,25 +1960,25 @@ package org.apache.calcite.avatica.proto;
               break;
             }
             case 10: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               catalog_ = s;
               break;
             }
             case 18: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               schemaPattern_ = s;
               break;
             }
             case 26: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               tableNamePattern_ = s;
               break;
             }
             case 34: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
               if (!((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
                 typeList_ = new com.google.protobuf.LazyStringArrayList();
                 mutable_bitField0_ |= 0x00000008;
@@ -1815,7 +1992,7 @@ package org.apache.calcite.avatica.proto;
               break;
             }
             case 58: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               connectionId_ = s;
               break;
@@ -1823,11 +2000,10 @@ package org.apache.calcite.avatica.proto;
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw new RuntimeException(e.setUnfinishedMessage(this));
+        throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
-        throw new RuntimeException(
-            new com.google.protobuf.InvalidProtocolBufferException(
-                e.getMessage()).setUnfinishedMessage(this));
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
       } finally {
         if (((mutable_bitField0_ & 0x00000008) == 0x00000008)) {
           typeList_ = typeList_.getUnmodifiableView();
@@ -1840,7 +2016,7 @@ package org.apache.calcite.avatica.proto;
       return org.apache.calcite.avatica.proto.Requests.internal_static_TablesRequest_descriptor;
     }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.calcite.avatica.proto.Requests.internal_static_TablesRequest_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -1982,11 +2158,11 @@ package org.apache.calcite.avatica.proto;
     public static final int HAS_TYPE_LIST_FIELD_NUMBER = 6;
     private boolean hasTypeList_;
     /**
-     * <code>optional bool has_type_list = 6;</code>
-     *
      * <pre>
      * Having an empty type_list is distinct from a null type_list
      * </pre>
+     *
+     * <code>optional bool has_type_list = 6;</code>
      */
     public boolean getHasTypeList() {
       return hasTypeList_;
@@ -2039,22 +2215,22 @@ package org.apache.calcite.avatica.proto;
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
       if (!getCatalogBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 1, catalog_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, catalog_);
       }
       if (!getSchemaPatternBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 2, schemaPattern_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, schemaPattern_);
       }
       if (!getTableNamePatternBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 3, tableNamePattern_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, tableNamePattern_);
       }
       for (int i = 0; i < typeList_.size(); i++) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 4, typeList_.getRaw(i));
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, typeList_.getRaw(i));
       }
       if (hasTypeList_ != false) {
         output.writeBool(6, hasTypeList_);
       }
       if (!getConnectionIdBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 7, connectionId_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, connectionId_);
       }
     }
 
@@ -2064,13 +2240,13 @@ package org.apache.calcite.avatica.proto;
 
       size = 0;
       if (!getCatalogBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, catalog_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, catalog_);
       }
       if (!getSchemaPatternBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, schemaPattern_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, schemaPattern_);
       }
       if (!getTableNamePatternBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, tableNamePattern_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, tableNamePattern_);
       }
       {
         int dataSize = 0;
@@ -2085,13 +2261,66 @@ package org.apache.calcite.avatica.proto;
           .computeBoolSize(6, hasTypeList_);
       }
       if (!getConnectionIdBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(7, connectionId_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, connectionId_);
       }
       memoizedSize = size;
       return size;
     }
 
     private static final long serialVersionUID = 0L;
+    @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;
+
+      boolean result = true;
+      result = result && getCatalog()
+          .equals(other.getCatalog());
+      result = result && getSchemaPattern()
+          .equals(other.getSchemaPattern());
+      result = result && getTableNamePattern()
+          .equals(other.getTableNamePattern());
+      result = result && getTypeListList()
+          .equals(other.getTypeListList());
+      result = result && (getHasTypeList()
+          == other.getHasTypeList());
+      result = result && getConnectionId()
+          .equals(other.getConnectionId());
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().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 = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
     public static org.apache.calcite.avatica.proto.Requests.TablesRequest parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -2115,34 +2344,40 @@ package org.apache.calcite.avatica.proto;
     }
     public static org.apache.calcite.avatica.proto.Requests.TablesRequest parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      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 PARSER.parseFrom(input, extensionRegistry);
+      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 PARSER.parseDelimitedFrom(input);
+      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 PARSER.parseDelimitedFrom(input, extensionRegistry);
+      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 PARSER.parseFrom(input);
+      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 PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -2159,20 +2394,20 @@ package org.apache.calcite.avatica.proto;
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
     /**
-     * Protobuf type {@code TablesRequest}
-     *
      * <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.GeneratedMessage.Builder<Builder> implements
+        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
@@ -2180,7 +2415,7 @@ package org.apache.calcite.avatica.proto;
         return org.apache.calcite.avatica.proto.Requests.internal_static_TablesRequest_descriptor;
       }
 
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.calcite.avatica.proto.Requests.internal_static_TablesRequest_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -2193,12 +2428,13 @@ package org.apache.calcite.avatica.proto;
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
         }
       }
       public Builder clear() {
@@ -2254,6 +2490,32 @@ package org.apache.calcite.avatica.proto;
         return result;
       }
 
+      public Builder clone() {
+        return (Builder) super.clone();
+      }
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.setField(field, value);
+      }
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return (Builder) super.clearField(field);
+      }
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return (Builder) super.clearOneof(oneof);
+      }
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, Object value) {
+        return (Builder) super.setRepeatedField(field, index, value);
+      }
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.addRepeatedField(field, value);
+      }
       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);
@@ -2311,7 +2573,7 @@ package org.apache.calcite.avatica.proto;
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
           parsedMessage = (org.apache.calcite.avatica.proto.Requests.TablesRequest) e.getUnfinishedMessage();
-          throw e;
+          throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
             mergeFrom(parsedMessage);
@@ -2624,21 +2886,21 @@ package org.apache.calcite.avatica.proto;
 
       private boolean hasTypeList_ ;
       /**
-       * <code>optional bool has_type_list = 6;</code>
-       *
        * <pre>
        * Having an empty type_list is distinct from a null type_list
        * </pre>
+       *
+       * <code>optional bool has_type_list = 6;</code>
        */
       public boolean getHasTypeList() {
         return hasTypeList_;
       }
       /**
-       * <code>optional bool has_type_list = 6;</code>
-       *
        * <pre>
        * Having an empty type_list is distinct from a null type_list
        * </pre>
+       *
+       * <code>optional bool has_type_list = 6;</code>
        */
       public Builder setHasTypeList(boolean value) {
 
@@ -2647,11 +2909,11 @@ package org.apache.calcite.avatica.proto;
         return this;
       }
       /**
-       * <code>optional bool has_type_list = 6;</code>
-       *
        * <pre>
        * Having an empty type_list is distinct from a null type_list
        * </pre>
+       *
+       * <code>optional bool has_type_list = 6;</code>
        */
       public Builder clearHasTypeList() {
 
@@ -2758,16 +3020,7 @@ package org.apache.calcite.avatica.proto;
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        try {
           return new TablesRequest(input, extensionRegistry);
-        } catch (RuntimeException e) {
-          if (e.getCause() instanceof
-              com.google.protobuf.InvalidProtocolBufferException) {
-            throw (com.google.protobuf.InvalidProtocolBufferException)
-                e.getCause();
-          }
-          throw e;
-        }
       }
     };
 
@@ -2801,18 +3054,18 @@ package org.apache.calcite.avatica.proto;
         getConnectionIdBytes();
   }
   /**
-   * Protobuf type {@code TableTypesRequest}
-   *
    * <pre>
    * Request for Meta#getTableTypes()
    * </pre>
+   *
+   * Protobuf type {@code TableTypesRequest}
    */
   public  static final class TableTypesRequest extends
-      com.google.protobuf.GeneratedMessage implements
+      com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:TableTypesRequest)
       TableTypesRequestOrBuilder {
     // Use TableTypesRequest.newBuilder() to construct.
-    private TableTypesRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+    private TableTypesRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
       super(builder);
     }
     private TableTypesRequest() {
@@ -2826,7 +3079,8 @@ package org.apache.calcite.avatica.proto;
     }
     private TableTypesRequest(
         com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       try {
@@ -2844,7 +3098,7 @@ package org.apache.calcite.avatica.proto;
               break;
             }
             case 10: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               connectionId_ = s;
               break;
@@ -2852,11 +3106,10 @@ package org.apache.calcite.avatica.proto;
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw new RuntimeException(e.setUnfinishedMessage(this));
+        throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
-        throw new RuntimeException(
-            new com.google.protobuf.InvalidProtocolBufferException(
-                e.getMessage()).setUnfinishedMessage(this));
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
       } finally {
         makeExtensionsImmutable();
       }
@@ -2866,7 +3119,7 @@ package org.apache.calcite.avatica.proto;
       return org.apache.calcite.avatica.proto.Requests.internal_static_TableTypesRequest_descriptor;
     }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.calcite.avatica.proto.Requests.internal_static_TableTypesRequest_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -2920,7 +3173,7 @@ package org.apache.calcite.avatica.proto;
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
       if (!getConnectionIdBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 1, connectionId_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
       }
     }
 
@@ -2930,13 +3183,43 @@ package org.apache.calcite.avatica.proto;
 
       size = 0;
       if (!getConnectionIdBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, connectionId_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
       }
       memoizedSize = size;
       return size;
     }
 
     private static final long serialVersionUID = 0L;
+    @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;
+
+      boolean result = true;
+      result = result && getConnectionId()
+          .equals(other.getConnectionId());
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().hashCode();
+      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
+      hash = (53 * hash) + getConnectionId().hashCode();
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
     public static org.apache.calcite.avatica.proto.Requests.TableTypesRequest parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -2960,34 +3243,40 @@ package org.apache.calcite.avatica.proto;
     }
     public static org.apache.calcite.avatica.proto.Requests.TableTypesRequest parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      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 PARSER.parseFrom(input, extensionRegistry);
+      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 PARSER.parseDelimitedFrom(input);
+      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 PARSER.parseDelimitedFrom(input, extensionRegistry);
+      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 PARSER.parseFrom(input);
+      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 PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -3004,19 +3293,19 @@ package org.apache.calcite.avatica.proto;
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
     /**
-     * Protobuf type {@code TableTypesRequest}
-     *
      * <pre>
      * Request for Meta#getTableTypes()
      * </pre>
+     *
+     * Protobuf type {@code TableTypesRequest}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+        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
@@ -3024,7 +3313,7 @@ package org.apache.calcite.avatica.proto;
         return org.apache.calcite.avatica.proto.Requests.internal_static_TableTypesRequest_descriptor;
       }
 
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.calcite.avatica.proto.Requests.internal_static_TableTypesRequest_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -3037,12 +3326,13 @@ package org.apache.calcite.avatica.proto;
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
         }
       }
       public Builder clear() {
@@ -3076,6 +3366,32 @@ package org.apache.calcite.avatica.proto;
         return result;
       }
 
+      public Builder clone() {
+        return (Builder) super.clone();
+      }
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.setField(field, value);
+      }
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return (Builder) super.clearField(field);
+      }
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return (Builder) super.clearOneof(oneof);
+      }
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, Object value) {
+        return (Builder) super.setRepeatedField(field, index, value);
+      }
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.addRepeatedField(field, value);
+      }
       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);
@@ -3108,7 +3424,7 @@ package org.apache.calcite.avatica.proto;
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
           parsedMessage = (org.apache.calcite.avatica.proto.Requests.TableTypesRequest) e.getUnfinishedMessage();
-          throw e;
+          throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
             mergeFrom(parsedMessage);
@@ -3215,16 +3531,7 @@ package org.apache.calcite.avatica.proto;
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        try {
           return new TableTypesRequest(input, extensionRegistry);
-        } catch (RuntimeException e) {
-          if (e.getCause() instanceof
-              com.google.protobuf.InvalidProtocolBufferException) {
-            throw (com.google.protobuf.InvalidProtocolBufferException)
-                e.getCause();
-          }
-          throw e;
-        }
       }
     };
 
@@ -3298,19 +3605,19 @@ package org.apache.calcite.avatica.proto;
         getConnectionIdBytes();
   }
   /**
-   * Protobuf type {@code ColumnsRequest}
-   *
    * <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.GeneratedMessage implements
+      com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:ColumnsRequest)
       ColumnsRequestOrBuilder {
     // Use ColumnsRequest.newBuilder() to construct.
-    private ColumnsRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+    private ColumnsRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
       super(builder);
     }
     private ColumnsRequest() {
@@ -3328,7 +3635,8 @@ package org.apache.calcite.avatica.proto;
     }
     private ColumnsRequest(
         com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       try {
@@ -3346,31 +3654,31 @@ package org.apache.calcite.avatica.proto;
               break;
             }
             case 10: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               catalog_ = s;
               break;
             }
             case 18: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               schemaPattern_ = s;
               break;
             }
             case 26: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               tableNamePattern_ = s;
               break;
             }
             case 34: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               columnNamePattern_ = s;
               break;
             }
             case 42: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               connectionId_ = s;
               break;
@@ -3378,11 +3686,10 @@ package org.apache.calcite.avatica.proto;
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw new RuntimeException(e.setUnfinishedMessage(this));
+        throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
-        throw new RuntimeException(
-            new com.google.protobuf.InvalidProtocolBufferException(
-                e.getMessage()).setUnfinishedMessage(this));
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
       } finally {
         makeExtensionsImmutable();
       }
@@ -3392,7 +3699,7 @@ package org.apache.calcite.avatica.proto;
       return org.apache.calcite.avatica.proto.Requests.internal_static_ColumnsRequest_descriptor;
     }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.calcite.avatica.proto.Requests.internal_static_ColumnsRequest_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -3582,19 +3889,19 @@ package org.apache.calcite.avatica.proto;
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
       if (!getCatalogBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 1, catalog_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, catalog_);
       }
       if (!getSchemaPatternBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 2, schemaPattern_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, schemaPattern_);
       }
       if (!getTableNamePatternBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 3, tableNamePattern_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, tableNamePattern_);
       }
       if (!getColumnNamePatternBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 4, columnNamePattern_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, columnNamePattern_);
       }
       if (!getConnectionIdBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 5, connectionId_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, connectionId_);
       }
     }
 
@@ -3604,25 +3911,71 @@ package org.apache.calcite.avatica.proto;
 
       size = 0;
       if (!getCatalogBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, catalog_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, catalog_);
       }
       if (!getSchemaPatternBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, schemaPattern_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, schemaPattern_);
       }
       if (!getTableNamePatternBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(3, tableNamePattern_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, tableNamePattern_);
       }
       if (!getColumnNamePatternBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(4, columnNamePattern_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, columnNamePattern_);
       }
       if (!getConnectionIdBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(5, connectionId_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, connectionId_);
       }
       memoizedSize = size;
       return size;
     }
 
     private static final long serialVersionUID = 0L;
+    @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;
+
+      boolean result = true;
+      result = result && getCatalog()
+          .equals(other.getCatalog());
+      result = result && getSchemaPattern()
+          .equals(other.getSchemaPattern());
+      result = result && getTableNamePattern()
+          .equals(other.getTableNamePattern());
+      result = result && getColumnNamePattern()
+          .equals(other.getColumnNamePattern());
+      result = result && getConnectionId()
+          .equals(other.getConnectionId());
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().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 = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
     public static org.apache.calcite.avatica.proto.Requests.ColumnsRequest parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -3646,34 +3999,40 @@ package org.apache.calcite.avatica.proto;
     }
     public static org.apache.calcite.avatica.proto.Requests.ColumnsRequest parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      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 PARSER.parseFrom(input, extensionRegistry);
+      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 PARSER.parseDelimitedFrom(input);
+      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 PARSER.parseDelimitedFrom(input, extensionRegistry);
+      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 PARSER.parseFrom(input);
+      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 PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -3690,20 +4049,20 @@ package org.apache.calcite.avatica.proto;
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
     /**
-     * Protobuf type {@code ColumnsRequest}
-     *
      * <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.GeneratedMessage.Builder<Builder> implements
+        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
@@ -3711,7 +4070,7 @@ package org.apache.calcite.avatica.proto;
         return org.apache.calcite.avatica.proto.Requests.internal_static_ColumnsRequest_descriptor;
       }
 
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.calcite.avatica.proto.Requests.internal_static_ColumnsRequest_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -3724,12 +4083,13 @@ package org.apache.calcite.avatica.proto;
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
         }
       }
       public Builder clear() {
@@ -3775,6 +4135,32 @@ package org.apache.calcite.avatica.proto;
         return result;
       }
 
+      public Builder clone() {
+        return (Builder) super.clone();
+      }
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.setField(field, value);
+      }
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return (Builder) super.clearField(field);
+      }
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return (Builder) super.clearOneof(oneof);
+      }
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, Object value) {
+        return (Builder) super.setRepeatedField(field, index, value);
+      }
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.addRepeatedField(field, value);
+      }
       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);
@@ -3823,7 +4209,7 @@ package org.apache.calcite.avatica.proto;
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
           parsedMessage = (org.apache.calcite.avatica.proto.Requests.ColumnsRequest) e.getUnfinishedMessage();
-          throw e;
+          throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
             mergeFrom(parsedMessage);
@@ -4206,16 +4592,7 @@ package org.apache.calcite.avatica.proto;
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        try {
           return new ColumnsRequest(input, extensionRegistry);
-        } catch (RuntimeException e) {
-          if (e.getCause() instanceof
-              com.google.protobuf.InvalidProtocolBufferException) {
-            throw (com.google.protobuf.InvalidProtocolBufferException)
-                e.getCause();
-          }
-          throw e;
-        }
       }
     };
 
@@ -4249,18 +4626,18 @@ package org.apache.calcite.avatica.proto;
         getConnectionIdBytes();
   }
   /**
-   * Protobuf type {@code TypeInfoRequest}
-   *
    * <pre>
    * Request for Meta#getTypeInfo()
    * </pre>
+   *
+   * Protobuf type {@code TypeInfoRequest}
    */
   public  static final class TypeInfoRequest extends
-      com.google.protobuf.GeneratedMessage implements
+      com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:TypeInfoRequest)
       TypeInfoRequestOrBuilder {
     // Use TypeInfoRequest.newBuilder() to construct.
-    private TypeInfoRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+    private TypeInfoRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
       super(builder);
     }
     private TypeInfoRequest() {
@@ -4274,7 +4651,8 @@ package org.apache.calcite.avatica.proto;
     }
     private TypeInfoRequest(
         com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       try {
@@ -4292,7 +4670,7 @@ package org.apache.calcite.avatica.proto;
               break;
             }
             case 10: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               connectionId_ = s;
               break;
@@ -4300,11 +4678,10 @@ package org.apache.calcite.avatica.proto;
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw new RuntimeException(e.setUnfinishedMessage(this));
+        throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
-        throw new RuntimeException(
-            new com.google.protobuf.InvalidProtocolBufferException(
-                e.getMessage()).setUnfinishedMessage(this));
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
       } finally {
         makeExtensionsImmutable();
       }
@@ -4314,7 +4691,7 @@ package org.apache.calcite.avatica.proto;
       return org.apache.calcite.avatica.proto.Requests.internal_static_TypeInfoRequest_descriptor;
     }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.calcite.avatica.proto.Requests.internal_static_TypeInfoRequest_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -4368,7 +4745,7 @@ package org.apache.calcite.avatica.proto;
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
       if (!getConnectionIdBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 1, connectionId_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
       }
     }
 
@@ -4378,13 +4755,43 @@ package org.apache.calcite.avatica.proto;
 
       size = 0;
       if (!getConnectionIdBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, connectionId_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
       }
       memoizedSize = size;
       return size;
     }
 
     private static final long serialVersionUID = 0L;
+    @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;
+
+      boolean result = true;
+      result = result && getConnectionId()
+          .equals(other.getConnectionId());
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().hashCode();
+      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
+      hash = (53 * hash) + getConnectionId().hashCode();
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
     public static org.apache.

<TRUNCATED>

[2/6] calcite git commit: [CALCITE-1355] Upgrade to protobuf-java 3.1.0

Posted by el...@apache.org.
http://git-wip-us.apache.org/repos/asf/calcite/blob/221d1804/avatica/core/src/main/java/org/apache/calcite/avatica/proto/Responses.java
----------------------------------------------------------------------
diff --git a/avatica/core/src/main/java/org/apache/calcite/avatica/proto/Responses.java b/avatica/core/src/main/java/org/apache/calcite/avatica/proto/Responses.java
index 9070675..9513b46 100644
--- a/avatica/core/src/main/java/org/apache/calcite/avatica/proto/Responses.java
+++ b/avatica/core/src/main/java/org/apache/calcite/avatica/proto/Responses.java
@@ -22,7 +22,13 @@ package org.apache.calcite.avatica.proto;
 @SuppressWarnings({"unused", "rawtypes"}) public final class Responses {
   private Responses() {}
   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 ResultSetResponseOrBuilder extends
       // @@protoc_insertion_point(interface_extends:ResultSetResponse)
@@ -75,52 +81,52 @@ package org.apache.calcite.avatica.proto;
     org.apache.calcite.avatica.proto.Common.FrameOrBuilder getFirstFrameOrBuilder();
 
     /**
-     * <code>optional uint64 update_count = 6;</code>
-     *
      * <pre>
      * -1 for normal result sets, else this response contains a dummy result set
      * </pre>
+     *
+     * <code>optional uint64 update_count = 6;</code>
      */
     long getUpdateCount();
 
     /**
-     * <code>optional .RpcMetadata metadata = 7;</code>
-     *
      * <pre>
      * with no signature nor other data.
      * </pre>
+     *
+     * <code>optional .RpcMetadata metadata = 7;</code>
      */
     boolean hasMetadata();
     /**
-     * <code>optional .RpcMetadata metadata = 7;</code>
-     *
      * <pre>
      * with no signature nor other data.
      * </pre>
+     *
+     * <code>optional .RpcMetadata metadata = 7;</code>
      */
     org.apache.calcite.avatica.proto.Responses.RpcMetadata getMetadata();
     /**
-     * <code>optional .RpcMetadata metadata = 7;</code>
-     *
      * <pre>
      * with no signature nor other data.
      * </pre>
+     *
+     * <code>optional .RpcMetadata metadata = 7;</code>
      */
     org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder getMetadataOrBuilder();
   }
   /**
-   * Protobuf type {@code ResultSetResponse}
-   *
    * <pre>
    * Response that contains a result set.
    * </pre>
+   *
+   * Protobuf type {@code ResultSetResponse}
    */
   public  static final class ResultSetResponse extends
-      com.google.protobuf.GeneratedMessage implements
+      com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:ResultSetResponse)
       ResultSetResponseOrBuilder {
     // Use ResultSetResponse.newBuilder() to construct.
-    private ResultSetResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+    private ResultSetResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
       super(builder);
     }
     private ResultSetResponse() {
@@ -137,7 +143,8 @@ package org.apache.calcite.avatica.proto;
     }
     private ResultSetResponse(
         com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       try {
@@ -155,7 +162,7 @@ package org.apache.calcite.avatica.proto;
               break;
             }
             case 10: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               connectionId_ = s;
               break;
@@ -217,11 +224,10 @@ package org.apache.calcite.avatica.proto;
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw new RuntimeException(e.setUnfinishedMessage(this));
+        throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
-        throw new RuntimeException(
-            new com.google.protobuf.InvalidProtocolBufferException(
-                e.getMessage()).setUnfinishedMessage(this));
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
       } finally {
         makeExtensionsImmutable();
       }
@@ -231,7 +237,7 @@ package org.apache.calcite.avatica.proto;
       return org.apache.calcite.avatica.proto.Responses.internal_static_ResultSetResponse_descriptor;
     }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.calcite.avatica.proto.Responses.internal_static_ResultSetResponse_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -335,11 +341,11 @@ package org.apache.calcite.avatica.proto;
     public static final int UPDATE_COUNT_FIELD_NUMBER = 6;
     private long updateCount_;
     /**
-     * <code>optional uint64 update_count = 6;</code>
-     *
      * <pre>
      * -1 for normal result sets, else this response contains a dummy result set
      * </pre>
+     *
+     * <code>optional uint64 update_count = 6;</code>
      */
     public long getUpdateCount() {
       return updateCount_;
@@ -348,31 +354,31 @@ package org.apache.calcite.avatica.proto;
     public static final int METADATA_FIELD_NUMBER = 7;
     private org.apache.calcite.avatica.proto.Responses.RpcMetadata metadata_;
     /**
-     * <code>optional .RpcMetadata metadata = 7;</code>
-     *
      * <pre>
      * with no signature nor other data.
      * </pre>
+     *
+     * <code>optional .RpcMetadata metadata = 7;</code>
      */
     public boolean hasMetadata() {
       return metadata_ != null;
     }
     /**
-     * <code>optional .RpcMetadata metadata = 7;</code>
-     *
      * <pre>
      * with no signature nor other data.
      * </pre>
+     *
+     * <code>optional .RpcMetadata metadata = 7;</code>
      */
     public org.apache.calcite.avatica.proto.Responses.RpcMetadata getMetadata() {
       return metadata_ == null ? org.apache.calcite.avatica.proto.Responses.RpcMetadata.getDefaultInstance() : metadata_;
     }
     /**
-     * <code>optional .RpcMetadata metadata = 7;</code>
-     *
      * <pre>
      * with no signature nor other data.
      * </pre>
+     *
+     * <code>optional .RpcMetadata metadata = 7;</code>
      */
     public org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder getMetadataOrBuilder() {
       return getMetadata();
@@ -391,7 +397,7 @@ package org.apache.calcite.avatica.proto;
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
       if (!getConnectionIdBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 1, connectionId_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
       }
       if (statementId_ != 0) {
         output.writeUInt32(2, statementId_);
@@ -419,7 +425,7 @@ package org.apache.calcite.avatica.proto;
 
       size = 0;
       if (!getConnectionIdBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, connectionId_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
       }
       if (statementId_ != 0) {
         size += com.google.protobuf.CodedOutputStream
@@ -450,6 +456,77 @@ package org.apache.calcite.avatica.proto;
     }
 
     private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof org.apache.calcite.avatica.proto.Responses.ResultSetResponse)) {
+        return super.equals(obj);
+      }
+      org.apache.calcite.avatica.proto.Responses.ResultSetResponse other = (org.apache.calcite.avatica.proto.Responses.ResultSetResponse) obj;
+
+      boolean result = true;
+      result = result && getConnectionId()
+          .equals(other.getConnectionId());
+      result = result && (getStatementId()
+          == other.getStatementId());
+      result = result && (getOwnStatement()
+          == other.getOwnStatement());
+      result = result && (hasSignature() == other.hasSignature());
+      if (hasSignature()) {
+        result = result && getSignature()
+            .equals(other.getSignature());
+      }
+      result = result && (hasFirstFrame() == other.hasFirstFrame());
+      if (hasFirstFrame()) {
+        result = result && getFirstFrame()
+            .equals(other.getFirstFrame());
+      }
+      result = result && (getUpdateCount()
+          == other.getUpdateCount());
+      result = result && (hasMetadata() == other.hasMetadata());
+      if (hasMetadata()) {
+        result = result && getMetadata()
+            .equals(other.getMetadata());
+      }
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().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) + OWN_STATEMENT_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getOwnStatement());
+      if (hasSignature()) {
+        hash = (37 * hash) + SIGNATURE_FIELD_NUMBER;
+        hash = (53 * hash) + getSignature().hashCode();
+      }
+      if (hasFirstFrame()) {
+        hash = (37 * hash) + FIRST_FRAME_FIELD_NUMBER;
+        hash = (53 * hash) + getFirstFrame().hashCode();
+      }
+      hash = (37 * hash) + UPDATE_COUNT_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+          getUpdateCount());
+      if (hasMetadata()) {
+        hash = (37 * hash) + METADATA_FIELD_NUMBER;
+        hash = (53 * hash) + getMetadata().hashCode();
+      }
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
     public static org.apache.calcite.avatica.proto.Responses.ResultSetResponse parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -473,34 +550,40 @@ package org.apache.calcite.avatica.proto;
     }
     public static org.apache.calcite.avatica.proto.Responses.ResultSetResponse parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Responses.ResultSetResponse parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Responses.ResultSetResponse parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Responses.ResultSetResponse parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Responses.ResultSetResponse parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Responses.ResultSetResponse parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -517,19 +600,19 @@ package org.apache.calcite.avatica.proto;
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
     /**
-     * Protobuf type {@code ResultSetResponse}
-     *
      * <pre>
      * Response that contains a result set.
      * </pre>
+     *
+     * Protobuf type {@code ResultSetResponse}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:ResultSetResponse)
         org.apache.calcite.avatica.proto.Responses.ResultSetResponseOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -537,7 +620,7 @@ package org.apache.calcite.avatica.proto;
         return org.apache.calcite.avatica.proto.Responses.internal_static_ResultSetResponse_descriptor;
       }
 
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.calcite.avatica.proto.Responses.internal_static_ResultSetResponse_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -550,12 +633,13 @@ package org.apache.calcite.avatica.proto;
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
         }
       }
       public Builder clear() {
@@ -631,6 +715,32 @@ package org.apache.calcite.avatica.proto;
         return result;
       }
 
+      public Builder clone() {
+        return (Builder) super.clone();
+      }
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.setField(field, value);
+      }
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return (Builder) super.clearField(field);
+      }
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return (Builder) super.clearOneof(oneof);
+      }
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, Object value) {
+        return (Builder) super.setRepeatedField(field, index, value);
+      }
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.addRepeatedField(field, value);
+      }
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.calcite.avatica.proto.Responses.ResultSetResponse) {
           return mergeFrom((org.apache.calcite.avatica.proto.Responses.ResultSetResponse)other);
@@ -681,7 +791,7 @@ package org.apache.calcite.avatica.proto;
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
           parsedMessage = (org.apache.calcite.avatica.proto.Responses.ResultSetResponse) e.getUnfinishedMessage();
-          throw e;
+          throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
             mergeFrom(parsedMessage);
@@ -812,7 +922,7 @@ package org.apache.calcite.avatica.proto;
       }
 
       private org.apache.calcite.avatica.proto.Common.Signature signature_ = null;
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Common.Signature, org.apache.calcite.avatica.proto.Common.Signature.Builder, org.apache.calcite.avatica.proto.Common.SignatureOrBuilder> signatureBuilder_;
       /**
        * <code>optional .Signature signature = 4;</code>
@@ -914,11 +1024,11 @@ package org.apache.calcite.avatica.proto;
       /**
        * <code>optional .Signature signature = 4;</code>
        */
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Common.Signature, org.apache.calcite.avatica.proto.Common.Signature.Builder, org.apache.calcite.avatica.proto.Common.SignatureOrBuilder>
           getSignatureFieldBuilder() {
         if (signatureBuilder_ == null) {
-          signatureBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+          signatureBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
               org.apache.calcite.avatica.proto.Common.Signature, org.apache.calcite.avatica.proto.Common.Signature.Builder, org.apache.calcite.avatica.proto.Common.SignatureOrBuilder>(
                   getSignature(),
                   getParentForChildren(),
@@ -929,7 +1039,7 @@ package org.apache.calcite.avatica.proto;
       }
 
       private org.apache.calcite.avatica.proto.Common.Frame firstFrame_ = null;
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Common.Frame, org.apache.calcite.avatica.proto.Common.Frame.Builder, org.apache.calcite.avatica.proto.Common.FrameOrBuilder> firstFrameBuilder_;
       /**
        * <code>optional .Frame first_frame = 5;</code>
@@ -1031,11 +1141,11 @@ package org.apache.calcite.avatica.proto;
       /**
        * <code>optional .Frame first_frame = 5;</code>
        */
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Common.Frame, org.apache.calcite.avatica.proto.Common.Frame.Builder, org.apache.calcite.avatica.proto.Common.FrameOrBuilder>
           getFirstFrameFieldBuilder() {
         if (firstFrameBuilder_ == null) {
-          firstFrameBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+          firstFrameBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
               org.apache.calcite.avatica.proto.Common.Frame, org.apache.calcite.avatica.proto.Common.Frame.Builder, org.apache.calcite.avatica.proto.Common.FrameOrBuilder>(
                   getFirstFrame(),
                   getParentForChildren(),
@@ -1047,21 +1157,21 @@ package org.apache.calcite.avatica.proto;
 
       private long updateCount_ ;
       /**
-       * <code>optional uint64 update_count = 6;</code>
-       *
        * <pre>
        * -1 for normal result sets, else this response contains a dummy result set
        * </pre>
+       *
+       * <code>optional uint64 update_count = 6;</code>
        */
       public long getUpdateCount() {
         return updateCount_;
       }
       /**
-       * <code>optional uint64 update_count = 6;</code>
-       *
        * <pre>
        * -1 for normal result sets, else this response contains a dummy result set
        * </pre>
+       *
+       * <code>optional uint64 update_count = 6;</code>
        */
       public Builder setUpdateCount(long value) {
 
@@ -1070,11 +1180,11 @@ package org.apache.calcite.avatica.proto;
         return this;
       }
       /**
-       * <code>optional uint64 update_count = 6;</code>
-       *
        * <pre>
        * -1 for normal result sets, else this response contains a dummy result set
        * </pre>
+       *
+       * <code>optional uint64 update_count = 6;</code>
        */
       public Builder clearUpdateCount() {
 
@@ -1084,24 +1194,24 @@ package org.apache.calcite.avatica.proto;
       }
 
       private org.apache.calcite.avatica.proto.Responses.RpcMetadata metadata_ = null;
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Responses.RpcMetadata, org.apache.calcite.avatica.proto.Responses.RpcMetadata.Builder, org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder> metadataBuilder_;
       /**
-       * <code>optional .RpcMetadata metadata = 7;</code>
-       *
        * <pre>
        * with no signature nor other data.
        * </pre>
+       *
+       * <code>optional .RpcMetadata metadata = 7;</code>
        */
       public boolean hasMetadata() {
         return metadataBuilder_ != null || metadata_ != null;
       }
       /**
-       * <code>optional .RpcMetadata metadata = 7;</code>
-       *
        * <pre>
        * with no signature nor other data.
        * </pre>
+       *
+       * <code>optional .RpcMetadata metadata = 7;</code>
        */
       public org.apache.calcite.avatica.proto.Responses.RpcMetadata getMetadata() {
         if (metadataBuilder_ == null) {
@@ -1111,11 +1221,11 @@ package org.apache.calcite.avatica.proto;
         }
       }
       /**
-       * <code>optional .RpcMetadata metadata = 7;</code>
-       *
        * <pre>
        * with no signature nor other data.
        * </pre>
+       *
+       * <code>optional .RpcMetadata metadata = 7;</code>
        */
       public Builder setMetadata(org.apache.calcite.avatica.proto.Responses.RpcMetadata value) {
         if (metadataBuilder_ == null) {
@@ -1131,11 +1241,11 @@ package org.apache.calcite.avatica.proto;
         return this;
       }
       /**
-       * <code>optional .RpcMetadata metadata = 7;</code>
-       *
        * <pre>
        * with no signature nor other data.
        * </pre>
+       *
+       * <code>optional .RpcMetadata metadata = 7;</code>
        */
       public Builder setMetadata(
           org.apache.calcite.avatica.proto.Responses.RpcMetadata.Builder builderForValue) {
@@ -1149,11 +1259,11 @@ package org.apache.calcite.avatica.proto;
         return this;
       }
       /**
-       * <code>optional .RpcMetadata metadata = 7;</code>
-       *
        * <pre>
        * with no signature nor other data.
        * </pre>
+       *
+       * <code>optional .RpcMetadata metadata = 7;</code>
        */
       public Builder mergeMetadata(org.apache.calcite.avatica.proto.Responses.RpcMetadata value) {
         if (metadataBuilder_ == null) {
@@ -1171,11 +1281,11 @@ package org.apache.calcite.avatica.proto;
         return this;
       }
       /**
-       * <code>optional .RpcMetadata metadata = 7;</code>
-       *
        * <pre>
        * with no signature nor other data.
        * </pre>
+       *
+       * <code>optional .RpcMetadata metadata = 7;</code>
        */
       public Builder clearMetadata() {
         if (metadataBuilder_ == null) {
@@ -1189,11 +1299,11 @@ package org.apache.calcite.avatica.proto;
         return this;
       }
       /**
-       * <code>optional .RpcMetadata metadata = 7;</code>
-       *
        * <pre>
        * with no signature nor other data.
        * </pre>
+       *
+       * <code>optional .RpcMetadata metadata = 7;</code>
        */
       public org.apache.calcite.avatica.proto.Responses.RpcMetadata.Builder getMetadataBuilder() {
 
@@ -1201,11 +1311,11 @@ package org.apache.calcite.avatica.proto;
         return getMetadataFieldBuilder().getBuilder();
       }
       /**
-       * <code>optional .RpcMetadata metadata = 7;</code>
-       *
        * <pre>
        * with no signature nor other data.
        * </pre>
+       *
+       * <code>optional .RpcMetadata metadata = 7;</code>
        */
       public org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder getMetadataOrBuilder() {
         if (metadataBuilder_ != null) {
@@ -1216,17 +1326,17 @@ package org.apache.calcite.avatica.proto;
         }
       }
       /**
-       * <code>optional .RpcMetadata metadata = 7;</code>
-       *
        * <pre>
        * with no signature nor other data.
        * </pre>
+       *
+       * <code>optional .RpcMetadata metadata = 7;</code>
        */
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Responses.RpcMetadata, org.apache.calcite.avatica.proto.Responses.RpcMetadata.Builder, org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder>
           getMetadataFieldBuilder() {
         if (metadataBuilder_ == null) {
-          metadataBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+          metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
               org.apache.calcite.avatica.proto.Responses.RpcMetadata, org.apache.calcite.avatica.proto.Responses.RpcMetadata.Builder, org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder>(
                   getMetadata(),
                   getParentForChildren(),
@@ -1265,16 +1375,7 @@ package org.apache.calcite.avatica.proto;
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        try {
           return new ResultSetResponse(input, extensionRegistry);
-        } catch (RuntimeException e) {
-          if (e.getCause() instanceof
-              com.google.protobuf.InvalidProtocolBufferException) {
-            throw (com.google.protobuf.InvalidProtocolBufferException)
-                e.getCause();
-          }
-          throw e;
-        }
       }
     };
 
@@ -1322,11 +1423,11 @@ package org.apache.calcite.avatica.proto;
         int index);
 
     /**
-     * <code>optional bool missing_statement = 2;</code>
-     *
      * <pre>
      * Did the request fail because of no-cached statement
      * </pre>
+     *
+     * <code>optional bool missing_statement = 2;</code>
      */
     boolean getMissingStatement();
 
@@ -1344,18 +1445,18 @@ package org.apache.calcite.avatica.proto;
     org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder getMetadataOrBuilder();
   }
   /**
-   * Protobuf type {@code ExecuteResponse}
-   *
    * <pre>
    * Response to PrepareAndExecuteRequest
    * </pre>
+   *
+   * Protobuf type {@code ExecuteResponse}
    */
   public  static final class ExecuteResponse extends
-      com.google.protobuf.GeneratedMessage implements
+      com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:ExecuteResponse)
       ExecuteResponseOrBuilder {
     // Use ExecuteResponse.newBuilder() to construct.
-    private ExecuteResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+    private ExecuteResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
       super(builder);
     }
     private ExecuteResponse() {
@@ -1370,7 +1471,8 @@ package org.apache.calcite.avatica.proto;
     }
     private ExecuteResponse(
         com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       try {
@@ -1392,7 +1494,8 @@ package org.apache.calcite.avatica.proto;
                 results_ = new java.util.ArrayList<org.apache.calcite.avatica.proto.Responses.ResultSetResponse>();
                 mutable_bitField0_ |= 0x00000001;
               }
-              results_.add(input.readMessage(org.apache.calcite.avatica.proto.Responses.ResultSetResponse.parser(), extensionRegistry));
+              results_.add(
+                  input.readMessage(org.apache.calcite.avatica.proto.Responses.ResultSetResponse.parser(), extensionRegistry));
               break;
             }
             case 16: {
@@ -1416,11 +1519,10 @@ package org.apache.calcite.avatica.proto;
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw new RuntimeException(e.setUnfinishedMessage(this));
+        throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
-        throw new RuntimeException(
-            new com.google.protobuf.InvalidProtocolBufferException(
-                e.getMessage()).setUnfinishedMessage(this));
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
       } finally {
         if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
           results_ = java.util.Collections.unmodifiableList(results_);
@@ -1433,7 +1535,7 @@ package org.apache.calcite.avatica.proto;
       return org.apache.calcite.avatica.proto.Responses.internal_static_ExecuteResponse_descriptor;
     }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.calcite.avatica.proto.Responses.internal_static_ExecuteResponse_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -1479,11 +1581,11 @@ package org.apache.calcite.avatica.proto;
     public static final int MISSING_STATEMENT_FIELD_NUMBER = 2;
     private boolean missingStatement_;
     /**
-     * <code>optional bool missing_statement = 2;</code>
-     *
      * <pre>
      * Did the request fail because of no-cached statement
      * </pre>
+     *
+     * <code>optional bool missing_statement = 2;</code>
      */
     public boolean getMissingStatement() {
       return missingStatement_;
@@ -1555,6 +1657,52 @@ package org.apache.calcite.avatica.proto;
     }
 
     private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof org.apache.calcite.avatica.proto.Responses.ExecuteResponse)) {
+        return super.equals(obj);
+      }
+      org.apache.calcite.avatica.proto.Responses.ExecuteResponse other = (org.apache.calcite.avatica.proto.Responses.ExecuteResponse) obj;
+
+      boolean result = true;
+      result = result && getResultsList()
+          .equals(other.getResultsList());
+      result = result && (getMissingStatement()
+          == other.getMissingStatement());
+      result = result && (hasMetadata() == other.hasMetadata());
+      if (hasMetadata()) {
+        result = result && getMetadata()
+            .equals(other.getMetadata());
+      }
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().hashCode();
+      if (getResultsCount() > 0) {
+        hash = (37 * hash) + RESULTS_FIELD_NUMBER;
+        hash = (53 * hash) + getResultsList().hashCode();
+      }
+      hash = (37 * hash) + MISSING_STATEMENT_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getMissingStatement());
+      if (hasMetadata()) {
+        hash = (37 * hash) + METADATA_FIELD_NUMBER;
+        hash = (53 * hash) + getMetadata().hashCode();
+      }
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
     public static org.apache.calcite.avatica.proto.Responses.ExecuteResponse parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -1578,34 +1726,40 @@ package org.apache.calcite.avatica.proto;
     }
     public static org.apache.calcite.avatica.proto.Responses.ExecuteResponse parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Responses.ExecuteResponse parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Responses.ExecuteResponse parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Responses.ExecuteResponse parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Responses.ExecuteResponse parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Responses.ExecuteResponse parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -1622,19 +1776,19 @@ package org.apache.calcite.avatica.proto;
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
     /**
-     * Protobuf type {@code ExecuteResponse}
-     *
      * <pre>
      * Response to PrepareAndExecuteRequest
      * </pre>
+     *
+     * Protobuf type {@code ExecuteResponse}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:ExecuteResponse)
         org.apache.calcite.avatica.proto.Responses.ExecuteResponseOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -1642,7 +1796,7 @@ package org.apache.calcite.avatica.proto;
         return org.apache.calcite.avatica.proto.Responses.internal_static_ExecuteResponse_descriptor;
       }
 
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.calcite.avatica.proto.Responses.internal_static_ExecuteResponse_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -1655,12 +1809,13 @@ package org.apache.calcite.avatica.proto;
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
           getResultsFieldBuilder();
         }
       }
@@ -1724,6 +1879,32 @@ package org.apache.calcite.avatica.proto;
         return result;
       }
 
+      public Builder clone() {
+        return (Builder) super.clone();
+      }
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.setField(field, value);
+      }
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return (Builder) super.clearField(field);
+      }
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return (Builder) super.clearOneof(oneof);
+      }
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, Object value) {
+        return (Builder) super.setRepeatedField(field, index, value);
+      }
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.addRepeatedField(field, value);
+      }
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.calcite.avatica.proto.Responses.ExecuteResponse) {
           return mergeFrom((org.apache.calcite.avatica.proto.Responses.ExecuteResponse)other);
@@ -1754,7 +1935,7 @@ package org.apache.calcite.avatica.proto;
               results_ = other.results_;
               bitField0_ = (bitField0_ & ~0x00000001);
               resultsBuilder_ =
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
+                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                    getResultsFieldBuilder() : null;
             } else {
               resultsBuilder_.addAllMessages(other.results_);
@@ -1784,7 +1965,7 @@ package org.apache.calcite.avatica.proto;
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
           parsedMessage = (org.apache.calcite.avatica.proto.Responses.ExecuteResponse) e.getUnfinishedMessage();
-          throw e;
+          throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
             mergeFrom(parsedMessage);
@@ -1803,7 +1984,7 @@ package org.apache.calcite.avatica.proto;
          }
       }
 
-      private com.google.protobuf.RepeatedFieldBuilder<
+      private com.google.protobuf.RepeatedFieldBuilderV3<
           org.apache.calcite.avatica.proto.Responses.ResultSetResponse, org.apache.calcite.avatica.proto.Responses.ResultSetResponse.Builder, org.apache.calcite.avatica.proto.Responses.ResultSetResponseOrBuilder> resultsBuilder_;
 
       /**
@@ -2019,11 +2200,11 @@ package org.apache.calcite.avatica.proto;
            getResultsBuilderList() {
         return getResultsFieldBuilder().getBuilderList();
       }
-      private com.google.protobuf.RepeatedFieldBuilder<
+      private com.google.protobuf.RepeatedFieldBuilderV3<
           org.apache.calcite.avatica.proto.Responses.ResultSetResponse, org.apache.calcite.avatica.proto.Responses.ResultSetResponse.Builder, org.apache.calcite.avatica.proto.Responses.ResultSetResponseOrBuilder>
           getResultsFieldBuilder() {
         if (resultsBuilder_ == null) {
-          resultsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
+          resultsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
               org.apache.calcite.avatica.proto.Responses.ResultSetResponse, org.apache.calcite.avatica.proto.Responses.ResultSetResponse.Builder, org.apache.calcite.avatica.proto.Responses.ResultSetResponseOrBuilder>(
                   results_,
                   ((bitField0_ & 0x00000001) == 0x00000001),
@@ -2036,21 +2217,21 @@ package org.apache.calcite.avatica.proto;
 
       private boolean missingStatement_ ;
       /**
-       * <code>optional bool missing_statement = 2;</code>
-       *
        * <pre>
        * Did the request fail because of no-cached statement
        * </pre>
+       *
+       * <code>optional bool missing_statement = 2;</code>
        */
       public boolean getMissingStatement() {
         return missingStatement_;
       }
       /**
-       * <code>optional bool missing_statement = 2;</code>
-       *
        * <pre>
        * Did the request fail because of no-cached statement
        * </pre>
+       *
+       * <code>optional bool missing_statement = 2;</code>
        */
       public Builder setMissingStatement(boolean value) {
 
@@ -2059,11 +2240,11 @@ package org.apache.calcite.avatica.proto;
         return this;
       }
       /**
-       * <code>optional bool missing_statement = 2;</code>
-       *
        * <pre>
        * Did the request fail because of no-cached statement
        * </pre>
+       *
+       * <code>optional bool missing_statement = 2;</code>
        */
       public Builder clearMissingStatement() {
 
@@ -2073,7 +2254,7 @@ package org.apache.calcite.avatica.proto;
       }
 
       private org.apache.calcite.avatica.proto.Responses.RpcMetadata metadata_ = null;
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Responses.RpcMetadata, org.apache.calcite.avatica.proto.Responses.RpcMetadata.Builder, org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder> metadataBuilder_;
       /**
        * <code>optional .RpcMetadata metadata = 3;</code>
@@ -2175,11 +2356,11 @@ package org.apache.calcite.avatica.proto;
       /**
        * <code>optional .RpcMetadata metadata = 3;</code>
        */
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Responses.RpcMetadata, org.apache.calcite.avatica.proto.Responses.RpcMetadata.Builder, org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder>
           getMetadataFieldBuilder() {
         if (metadataBuilder_ == null) {
-          metadataBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+          metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
               org.apache.calcite.avatica.proto.Responses.RpcMetadata, org.apache.calcite.avatica.proto.Responses.RpcMetadata.Builder, org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder>(
                   getMetadata(),
                   getParentForChildren(),
@@ -2218,16 +2399,7 @@ package org.apache.calcite.avatica.proto;
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        try {
           return new ExecuteResponse(input, extensionRegistry);
-        } catch (RuntimeException e) {
-          if (e.getCause() instanceof
-              com.google.protobuf.InvalidProtocolBufferException) {
-            throw (com.google.protobuf.InvalidProtocolBufferException)
-                e.getCause();
-          }
-          throw e;
-        }
       }
     };
 
@@ -2277,18 +2449,18 @@ package org.apache.calcite.avatica.proto;
     org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder getMetadataOrBuilder();
   }
   /**
-   * Protobuf type {@code PrepareResponse}
-   *
    * <pre>
    * Response to PrepareRequest
    * </pre>
+   *
+   * Protobuf type {@code PrepareResponse}
    */
   public  static final class PrepareResponse extends
-      com.google.protobuf.GeneratedMessage implements
+      com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:PrepareResponse)
       PrepareResponseOrBuilder {
     // Use PrepareResponse.newBuilder() to construct.
-    private PrepareResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+    private PrepareResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
       super(builder);
     }
     private PrepareResponse() {
@@ -2301,7 +2473,8 @@ package org.apache.calcite.avatica.proto;
     }
     private PrepareResponse(
         com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       try {
@@ -2347,11 +2520,10 @@ package org.apache.calcite.avatica.proto;
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw new RuntimeException(e.setUnfinishedMessage(this));
+        throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
-        throw new RuntimeException(
-            new com.google.protobuf.InvalidProtocolBufferException(
-                e.getMessage()).setUnfinishedMessage(this));
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
       } finally {
         makeExtensionsImmutable();
       }
@@ -2361,7 +2533,7 @@ package org.apache.calcite.avatica.proto;
       return org.apache.calcite.avatica.proto.Responses.internal_static_PrepareResponse_descriptor;
     }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.calcite.avatica.proto.Responses.internal_static_PrepareResponse_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -2448,6 +2620,50 @@ package org.apache.calcite.avatica.proto;
     }
 
     private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof org.apache.calcite.avatica.proto.Responses.PrepareResponse)) {
+        return super.equals(obj);
+      }
+      org.apache.calcite.avatica.proto.Responses.PrepareResponse other = (org.apache.calcite.avatica.proto.Responses.PrepareResponse) obj;
+
+      boolean result = true;
+      result = result && (hasStatement() == other.hasStatement());
+      if (hasStatement()) {
+        result = result && getStatement()
+            .equals(other.getStatement());
+      }
+      result = result && (hasMetadata() == other.hasMetadata());
+      if (hasMetadata()) {
+        result = result && getMetadata()
+            .equals(other.getMetadata());
+      }
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().hashCode();
+      if (hasStatement()) {
+        hash = (37 * hash) + STATEMENT_FIELD_NUMBER;
+        hash = (53 * hash) + getStatement().hashCode();
+      }
+      if (hasMetadata()) {
+        hash = (37 * hash) + METADATA_FIELD_NUMBER;
+        hash = (53 * hash) + getMetadata().hashCode();
+      }
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
     public static org.apache.calcite.avatica.proto.Responses.PrepareResponse parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -2471,34 +2687,40 @@ package org.apache.calcite.avatica.proto;
     }
     public static org.apache.calcite.avatica.proto.Responses.PrepareResponse parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Responses.PrepareResponse parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Responses.PrepareResponse parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Responses.PrepareResponse parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Responses.PrepareResponse parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Responses.PrepareResponse parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -2515,19 +2737,19 @@ package org.apache.calcite.avatica.proto;
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
     /**
-     * Protobuf type {@code PrepareResponse}
-     *
      * <pre>
      * Response to PrepareRequest
      * </pre>
+     *
+     * Protobuf type {@code PrepareResponse}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:PrepareResponse)
         org.apache.calcite.avatica.proto.Responses.PrepareResponseOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -2535,7 +2757,7 @@ package org.apache.calcite.avatica.proto;
         return org.apache.calcite.avatica.proto.Responses.internal_static_PrepareResponse_descriptor;
       }
 
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.calcite.avatica.proto.Responses.internal_static_PrepareResponse_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -2548,12 +2770,13 @@ package org.apache.calcite.avatica.proto;
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
         }
       }
       public Builder clear() {
@@ -2606,6 +2829,32 @@ package org.apache.calcite.avatica.proto;
         return result;
       }
 
+      public Builder clone() {
+        return (Builder) super.clone();
+      }
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.setField(field, value);
+      }
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return (Builder) super.clearField(field);
+      }
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return (Builder) super.clearOneof(oneof);
+      }
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, Object value) {
+        return (Builder) super.setRepeatedField(field, index, value);
+      }
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.addRepeatedField(field, value);
+      }
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.calcite.avatica.proto.Responses.PrepareResponse) {
           return mergeFrom((org.apache.calcite.avatica.proto.Responses.PrepareResponse)other);
@@ -2640,7 +2889,7 @@ package org.apache.calcite.avatica.proto;
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
           parsedMessage = (org.apache.calcite.avatica.proto.Responses.PrepareResponse) e.getUnfinishedMessage();
-          throw e;
+          throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
             mergeFrom(parsedMessage);
@@ -2650,7 +2899,7 @@ package org.apache.calcite.avatica.proto;
       }
 
       private org.apache.calcite.avatica.proto.Common.StatementHandle statement_ = null;
-      private com.google.protobuf.SingleFieldBuilder<
+      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> statementBuilder_;
       /**
        * <code>optional .StatementHandle statement = 1;</code>
@@ -2752,11 +3001,11 @@ package org.apache.calcite.avatica.proto;
       /**
        * <code>optional .StatementHandle statement = 1;</code>
        */
-      private com.google.protobuf.SingleFieldBuilder<
+      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>
           getStatementFieldBuilder() {
         if (statementBuilder_ == null) {
-          statementBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+          statementBuilder_ = 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>(
                   getStatement(),
                   getParentForChildren(),
@@ -2767,7 +3016,7 @@ package org.apache.calcite.avatica.proto;
       }
 
       private org.apache.calcite.avatica.proto.Responses.RpcMetadata metadata_ = null;
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Responses.RpcMetadata, org.apache.calcite.avatica.proto.Responses.RpcMetadata.Builder, org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder> metadataBuilder_;
       /**
        * <code>optional .RpcMetadata metadata = 2;</code>
@@ -2869,11 +3118,11 @@ package org.apache.calcite.avatica.proto;
       /**
        * <code>optional .RpcMetadata metadata = 2;</code>
        */
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Responses.RpcMetadata, org.apache.calcite.avatica.proto.Responses.RpcMetadata.Builder, org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder>
           getMetadataFieldBuilder() {
         if (metadataBuilder_ == null) {
-          metadataBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+          metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
               org.apache.calcite.avatica.proto.Responses.RpcMetadata, org.apache.calcite.avatica.proto.Responses.RpcMetadata.Builder, org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder>(
                   getMetadata(),
                   getParentForChildren(),
@@ -2912,16 +3161,7 @@ package org.apache.calcite.avatica.proto;
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        try {
           return new PrepareResponse(input, extensionRegistry);
-        } catch (RuntimeException e) {
-          if (e.getCause() instanceof
-              com.google.protobuf.InvalidProtocolBufferException) {
-            throw (com.google.protobuf.InvalidProtocolBufferException)
-                e.getCause();
-          }
-          throw e;
-        }
       }
     };
 
@@ -2958,20 +3198,20 @@ package org.apache.calcite.avatica.proto;
     org.apache.calcite.avatica.proto.Common.FrameOrBuilder getFrameOrBuilder();
 
     /**
-     * <code>optional bool missing_statement = 2;</code>
-     *
      * <pre>
      * Did the request fail because of no-cached statement
      * </pre>
+     *
+     * <code>optional bool missing_statement = 2;</code>
      */
     boolean getMissingStatement();
 
     /**
-     * <code>optional bool missing_results = 3;</code>
-     *
      * <pre>
      * Did the request fail because of a cached-statement w/o ResultSet
      * </pre>
+     *
+     * <code>optional bool missing_results = 3;</code>
      */
     boolean getMissingResults();
 
@@ -2989,18 +3229,18 @@ package org.apache.calcite.avatica.proto;
     org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder getMetadataOrBuilder();
   }
   /**
-   * Protobuf type {@code FetchResponse}
-   *
    * <pre>
    * Response to FetchRequest
    * </pre>
+   *
+   * Protobuf type {@code FetchResponse}
    */
   public  static final class FetchResponse extends
-      com.google.protobuf.GeneratedMessage implements
+      com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:FetchResponse)
       FetchResponseOrBuilder {
     // Use FetchResponse.newBuilder() to construct.
-    private FetchResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+    private FetchResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
       super(builder);
     }
     private FetchResponse() {
@@ -3015,7 +3255,8 @@ package org.apache.calcite.avatica.proto;
     }
     private FetchResponse(
         com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       try {
@@ -3071,11 +3312,10 @@ package org.apache.calcite.avatica.proto;
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw new RuntimeException(e.setUnfinishedMessage(this));
+        throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
-        throw new RuntimeException(
-            new com.google.protobuf.InvalidProtocolBufferException(
-                e.getMessage()).setUnfinishedMessage(this));
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
       } finally {
         makeExtensionsImmutable();
       }
@@ -3085,7 +3325,7 @@ package org.apache.calcite.avatica.proto;
       return org.apache.calcite.avatica.proto.Responses.internal_static_FetchResponse_descriptor;
     }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.calcite.avatica.proto.Responses.internal_static_FetchResponse_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -3116,11 +3356,11 @@ package org.apache.calcite.avatica.proto;
     public static final int MISSING_STATEMENT_FIELD_NUMBER = 2;
     private boolean missingStatement_;
     /**
-     * <code>optional bool missing_statement = 2;</code>
-     *
      * <pre>
      * Did the request fail because of no-cached statement
      * </pre>
+     *
+     * <code>optional bool missing_statement = 2;</code>
      */
     public boolean getMissingStatement() {
       return missingStatement_;
@@ -3129,11 +3369,11 @@ package org.apache.calcite.avatica.proto;
     public static final int MISSING_RESULTS_FIELD_NUMBER = 3;
     private boolean missingResults_;
     /**
-     * <code>optional bool missing_results = 3;</code>
-     *
      * <pre>
      * Did the request fail because of a cached-statement w/o ResultSet
      * </pre>
+     *
+     * <code>optional bool missing_results = 3;</code>
      */
     public boolean getMissingResults() {
       return missingResults_;
@@ -3212,6 +3452,60 @@ package org.apache.calcite.avatica.proto;
     }
 
     private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof org.apache.calcite.avatica.proto.Responses.FetchResponse)) {
+        return super.equals(obj);
+      }
+      org.apache.calcite.avatica.proto.Responses.FetchResponse other = (org.apache.calcite.avatica.proto.Responses.FetchResponse) obj;
+
+      boolean result = true;
+      result = result && (hasFrame() == other.hasFrame());
+      if (hasFrame()) {
+        result = result && getFrame()
+            .equals(other.getFrame());
+      }
+      result = result && (getMissingStatement()
+          == other.getMissingStatement());
+      result = result && (getMissingResults()
+          == other.getMissingResults());
+      result = result && (hasMetadata() == other.hasMetadata());
+      if (hasMetadata()) {
+        result = result && getMetadata()
+            .equals(other.getMetadata());
+      }
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().hashCode();
+      if (hasFrame()) {
+        hash = (37 * hash) + FRAME_FIELD_NUMBER;
+        hash = (53 * hash) + getFrame().hashCode();
+      }
+      hash = (37 * hash) + MISSING_STATEMENT_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getMissingStatement());
+      hash = (37 * hash) + MISSING_RESULTS_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getMissingResults());
+      if (hasMetadata()) {
+        hash = (37 * hash) + METADATA_FIELD_NUMBER;
+        hash = (53 * hash) + getMetadata().hashCode();
+      }
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
     public static org.apache.calcite.avatica.proto.Responses.FetchResponse parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -3235,34 +3529,40 @@ package org.apache.calcite.avatica.proto;
     }
     public static org.apache.calcite.avatica.proto.Responses.FetchResponse parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Responses.FetchResponse parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Responses.FetchResponse parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Responses.FetchResponse parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Responses.FetchResponse parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Responses.FetchResponse parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -3279,19 +3579,19 @@ package org.apache.calcite.avatica.proto;
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
     /**
-     * Protobuf type {@code FetchResponse}
-     *
      * <pre>
      * Response to FetchRequest
      * </pre>
+     *
+     * Protobuf type {@code FetchResponse}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:FetchResponse)
         org.apache.calcite.avatica.proto.Responses.FetchResponseOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -3299,7 +3599,7 @@ package org.apache.calcite.avatica.proto;
         return org.apache.calcite.avatica.proto.Responses.internal_static_FetchResponse_descriptor;
       }
 
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.calcite.avatica.proto.Responses.internal_static_FetchResponse_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -3312,12 +3612,13 @@ package org.apache.calcite.avatica.proto;
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
         }
       }
       public Builder clear() {
@@ -3376,6 +3677,32 @@ package org.apache.calcite.avatica.proto;
         return result;
       }
 
+      public Builder clone() {
+        return (Builder) super.clone();
+      }
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.setField(field, value);
+      }
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return (Builder) super.clearField(field);
+      }
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return (Builder) super.clearOneof(oneof);
+      }
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, Object value) {
+        return (Builder) super.setRepeatedField(field, index, value);
+      }
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.addRepeatedField(field, value);
+      }
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.calcite.avatica.proto.Responses.FetchResponse) {
           return mergeFrom((org.apache.calcite.avatica.proto.Responses.FetchResponse)other);
@@ -3416,7 +3743,7 @@ package org.apache.calcite.avatica.proto;
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
           parsedMessage = (org.apache.calcite.avatica.proto.Responses.FetchResponse) e.getUnfinishedMessage();
-          throw e;
+          throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
             mergeFrom(parsedMessage);
@@ -3426,7 +3753,7 @@ package org.apache.calcite.avatica.proto;
       }
 
       private org.apache.calcite.avatica.proto.Common.Frame frame_ = null;
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Common.Frame, org.apache.calcite.avatica.proto.Common.Frame.Builder, org.apache.calcite.avatica.proto.Common.FrameOrBuilder> frameBuilder_;
       /**
        * <code>optional .Frame frame = 1;</code>
@@ -3528,11 +3855,11 @@ package org.apache.calcite.avatica.proto;
       /**
        * <code>optional .Frame frame = 1;</code>
        */
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Common.Frame, org.apache.calcite.avatica.proto.Common.Frame.Builder, org.apache.calcite.avatica.proto.Common.FrameOrBuilder>
           getFrameFieldBuilder() {
         if (frameBuilder_ == null) {
-          frameBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+          frameBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
               org.apache.calcite.avatica.proto.Common.Frame, org.apache.calcite.avatica.proto.Common.Frame.Builder, org.apache.calcite.avatica.proto.Common.FrameOrBuilder>(
                   getFrame(),
                   getParentForChildren(),
@@ -3544,21 +3871,21 @@ package org.apache.calcite.avatica.proto;
 
       private boolean missingStatement_ ;
       /**
-       * <code>optional bool missing_statement = 2;</code>
-       *
        * <pre>
        * Did the request fail because of no-cached statement
        * </pre>
+       *
+       * <code>optional bool missing_statement = 2;</code>
        */
       public boolean getMissingStatement() {
         return missingStatement_;
       }
       /**
-       * <code>optional bool missing_statement = 2;</code>
-       *
        * <pre>
        * Did the request fail because of no-cached statement
        * </pre>
+       *
+       * <code>optional bool missing_statement = 2;</code>
        */
       public Builder setMissingStatement(boolean value) {
 
@@ -3567,11 +3894,11 @@ package org.apache.calcite.avatica.proto;
         return this;
       }
       /**
-       * <code>optional bool missing_statement = 2;</code>
-       *
        * <pre>
        * Did the request fail because of no-cached statement
        * </pre>
+       *
+       * <code>optional bool missing_statement = 2;</code>
        */
       public Builder clearMissingStatement() {
 
@@ -3582,21 +3909,21 @@ package org.apache.calcite.avatica.proto;
 
       private boolean missingResults_ ;
       /**
-       * <code>optional bool missing_results = 3;</code>
-       *
        * <pre>
        * Did the request fail because of a cached-statement w/o ResultSet
        * </pre>
+       *
+       * <code>optional bool missing_results = 3;</code>
        */
       public boolean getMissingResults() {
         return missingResults_;
       }
       /**
-       * <code>optional bool missing_results = 3;</code>
-       *
        * <pre>
        * Did the request fail because of a cached-statement w/o ResultSet
        * </pre>
+       *
+       * <code>optional bool missing_results = 3;</code>
        */
       public Builder setMissingResults(boolean value) {
 
@@ -3605,11 +3932,11 @@ package org.apache.calcite.avatica.proto;
         return this;
       }
       /**
-       * <code>optional bool missing_results = 3;</code>
-       *
        * <pre>
        * Did the request fail because of a cached-statement w/o ResultSet
        * </pre>
+       *
+       * <code>optional bool missing_results = 3;</code>
        */
       public Builder clearMissingResults() {
 
@@ -3619,7 +3946,7 @@ package org.apache.calcite.avatica.proto;
       }
 
       private org.apache.calcite.avatica.proto.Responses.RpcMetadata metadata_ = null;
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Responses.RpcMetadata, org.apache.calcite.avatica.proto.Responses.RpcMetadata.Builder, org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder> metadataBuilder_;
       /**
        * <code>optional .RpcMetadata metadata = 4;</code>
@@ -3721,11 +4048,11 @@ package org.apache.calcite.avatica.proto;
       /**
        * <code>optional .RpcMetadata metadata = 4;</code>
        */
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Responses.RpcMetadata, org.apache.calcite.avatica.proto.Responses.RpcMetadata.Builder, org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder>
           getMetadataFieldBuilder() {
         if (metadataBuilder_ == null) {
-          metadataBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+          metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
               org.apache.calcite.avatica.proto.Responses.RpcMetadata, org.apache.calcite.avatica.proto.Responses.RpcMetadata.Builder, org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder>(
                   getMetadata(),
                   getParentForChildren(),
@@ -3764,16 +4091,7 @@ package org.apache.calcite.avatica.proto;
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        try {
           return new FetchResponse(input, extensionRegistry);
-        } catch (RuntimeException e) {
-          if (e.getCause() instanceof
-              com.google.protobuf.InvalidProtocolBufferException) {
-            throw (com.google.protobuf.InvalidProtocolBufferException)
-                e.getCause();
-          }
-          throw e;
-        }
       }
     };
 
@@ -3825,18 +4143,18 @@ package org.apache.calcite.avatica.proto;
     org.apache.calcite.avatica.proto.Responses.RpcMetadataOrBuilder getMetadataOrBuilder();
   }
   /**
-   * Protobuf type {@code CreateStatementResponse}
-   *
    * <pre>
    * Response to CreateStatementRequest
    * </pre>
+   *
+   * Protobuf type {@code CreateStatementResponse}
    */
   public  static final class CreateStatementResponse extends
-      com.google.protobuf.GeneratedMessage implements
+      com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:CreateStatementResponse)
       CreateStatementResponseOrBuilder {
     // Use CreateStatementResponse.newBuilder() to construct.
-    private CreateStatementResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+    private CreateStatementResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
       super(builder);
     }
     private CreateStatementResponse() {
@@ -3851,7 +4169,8 @@ package org.apache.calcite.avatica.proto;
     }
     private CreateStatementResponse(
         com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       try {
@@ -3869,7 +4188,7 @@ package org.apache.calcite.avatica.proto;
               break;
             }
             case 10: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               connectionId_ = s;
               break;
@@ -3895,11 +4214,10 @@ package org.apache.calcite.avatica.proto;
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw new RuntimeException(e.setUnfinishedMessage(this));
+        throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
-        throw new RuntimeException(
-            new com.google.protobuf.InvalidProtocolBufferException(
-                e.getMessage()).setUnfinishedMessage(this));
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
       } finally {
         makeExtensionsImmutable();
       }
@@ -3909,7 +4227,7 @@ package org.apache.calcite.avatica.proto;
       return org.apache.calcite.avatica.proto.Responses.internal_static_CreateStatementResponse_descriptor;
     }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.calcite.avatica.proto.Responses.internal_static_CreateStatementResponse_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -3993,7 +4311,7 @@ package org.apache.calcite.avatica.proto;
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
       if (!getConnectionIdBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 1, connectionId_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
       }
       if (statementId_ != 0) {
         output.writeUInt32(2, statementId_);
@@ -4009,7 +4327,7 @@ package org.apache.calcite.avatica.proto;
 
       size = 0;
       if (!getConnectionIdBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, connectionId_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
       }
       if (statementId_ != 0) {
         size += com.google.protobuf.CodedOutputStream
@@ -4024,6 +4342,49 @@ package org.apache.calcite.avatica.proto;
     }
 
     private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof org.apache.calcite.avatica.proto.Responses.CreateStatementResponse)) {
+        return super.equals(obj);
+      }
+      org.apache.calcite.avatica.proto.Responses.CreateStatementResponse other = (org.apache.calcite.avatica.proto.Responses.CreateStatementResponse) obj;
+
+      boolean result = true;
+      result = result && getConnectionId()
+          .equals(other.getConnectionId());
+      result = result && (getStatementId()
+          == other.getStatementId());
+      result = result && (hasMetadata() == other.hasMetadata());
+      if (hasMetadata()) {
+        result = result && getMetadata()
+            .equals(other.getMetadata());
+      }
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().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 (hasMetadata()) {
+        hash = (37 * hash) + METADATA_FIELD_NUMBER;
+        hash = (53 * hash) + getMetadata().hashCode();
+      }
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
     public static org.apache.calcite.avatica.proto.Responses.CreateStatementResponse parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -4047,34 +4408,40 @@ package org.apache.calcite.avatica.proto;
     }
     public static org.apache.calcite.avatica.proto.Responses.CreateStatementResponse parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Responses.CreateStatementResponse parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Responses.CreateStatementResponse parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Responses.CreateStatementResponse parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Responses.CreateStatementResponse parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Responses.CreateStatementResponse parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -4091,19 +4458,19 @@ package org.apache.calcite.avatica.proto;
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
     /**
-     * Protobuf type {@code CreateStatementResponse}
-     *
      * <pre>
      * Response to CreateStatementRequest
      * </pre>
+     *
+     * Protobuf type {@code CreateStatementResponse}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:CreateStatementResponse)
         org.apache.calcite.avatica.proto.Responses.CreateStatementResponseOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -4111,7 +4478,7 @@ package org.apache.calcite.avatica.proto;
         return org.apache.calcite.avatica.proto.Responses.internal_static_CreateStatementResponse_descriptor;
       }
 
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.calcite.avatica.proto.Responses.internal_static_CreateStatementResponse_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -4124,12 +4491,13 @@ package org.apache.calcite.avatica.proto;
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
         }
       }
       public Builder clear() {
@@ -4177,6 +4545,32 @@ package org.apache.calcite.avatica.proto;
         return result;
       }
 
+      public Builder clone() {
+        return (Builder) super.clone();
+      }
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.setField(field, value);
+      }
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return (Builder) super.clearField(field);
+      }
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return (Builder) super.clearOneof(oneof);
+      }
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, Object value) {
+        return (Builder) super.setRepeatedField(field, index, value);
+      }
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.addRepeatedField(field, value);
+      }
       public Builder mergeFrom(com.google.proto

<TRUNCATED>

[4/6] calcite git commit: [CALCITE-1355] Upgrade to protobuf-java 3.1.0

Posted by el...@apache.org.
http://git-wip-us.apache.org/repos/asf/calcite/blob/221d1804/avatica/core/src/main/java/org/apache/calcite/avatica/proto/Common.java
----------------------------------------------------------------------
diff --git a/avatica/core/src/main/java/org/apache/calcite/avatica/proto/Common.java b/avatica/core/src/main/java/org/apache/calcite/avatica/proto/Common.java
index fe1ce16..496553d 100644
--- a/avatica/core/src/main/java/org/apache/calcite/avatica/proto/Common.java
+++ b/avatica/core/src/main/java/org/apache/calcite/avatica/proto/Common.java
@@ -22,66 +22,72 @@ package org.apache.calcite.avatica.proto;
 @SuppressWarnings({"unused", "rawtypes"}) public final class Common {
   private Common() {}
   public static void registerAllExtensions(
+      com.google.protobuf.ExtensionRegistryLite registry) {
+  }
+
+  public static void registerAllExtensions(
       com.google.protobuf.ExtensionRegistry registry) {
+    registerAllExtensions(
+        (com.google.protobuf.ExtensionRegistryLite) registry);
   }
   /**
-   * Protobuf enum {@code StatementType}
-   *
    * <pre>
    * Has to be consistent with Meta.StatementType
    * </pre>
+   *
+   * Protobuf enum {@code StatementType}
    */
   public enum StatementType
       implements com.google.protobuf.ProtocolMessageEnum {
     /**
      * <code>SELECT = 0;</code>
      */
-    SELECT(0, 0),
+    SELECT(0),
     /**
      * <code>INSERT = 1;</code>
      */
-    INSERT(1, 1),
+    INSERT(1),
     /**
      * <code>UPDATE = 2;</code>
      */
-    UPDATE(2, 2),
+    UPDATE(2),
     /**
      * <code>DELETE = 3;</code>
      */
-    DELETE(3, 3),
+    DELETE(3),
     /**
      * <code>UPSERT = 4;</code>
      */
-    UPSERT(4, 4),
+    UPSERT(4),
     /**
      * <code>MERGE = 5;</code>
      */
-    MERGE(5, 5),
+    MERGE(5),
     /**
      * <code>OTHER_DML = 6;</code>
      */
-    OTHER_DML(6, 6),
+    OTHER_DML(6),
     /**
      * <code>CREATE = 7;</code>
      */
-    CREATE(7, 7),
+    CREATE(7),
     /**
      * <code>DROP = 8;</code>
      */
-    DROP(8, 8),
+    DROP(8),
     /**
      * <code>ALTER = 9;</code>
      */
-    ALTER(9, 9),
+    ALTER(9),
     /**
      * <code>OTHER_DDL = 10;</code>
      */
-    OTHER_DDL(10, 10),
+    OTHER_DDL(10),
     /**
      * <code>CALL = 11;</code>
      */
-    CALL(11, 11),
-    UNRECOGNIZED(-1, -1),
+    CALL(11),
+    UNRECOGNIZED(-1),
     ;
 
     /**
@@ -135,14 +141,22 @@ package org.apache.calcite.avatica.proto;
 
 
     public final int getNumber() {
-      if (index == -1) {
+      if (this == UNRECOGNIZED) {
         throw new java.lang.IllegalArgumentException(
             "Can't get the number of an unknown enum value.");
       }
       return value;
     }
 
+    /**
+     * @deprecated Use {@link #forNumber(int)} instead.
+     */
+    @java.lang.Deprecated
     public static StatementType valueOf(int value) {
+      return forNumber(value);
+    }
+
+    public static StatementType forNumber(int value) {
       switch (value) {
         case 0: return SELECT;
         case 1: return INSERT;
@@ -168,13 +182,13 @@ package org.apache.calcite.avatica.proto;
         StatementType> internalValueMap =
           new com.google.protobuf.Internal.EnumLiteMap<StatementType>() {
             public StatementType findValueByNumber(int number) {
-              return StatementType.valueOf(number);
+              return StatementType.forNumber(number);
             }
           };
 
     public final com.google.protobuf.Descriptors.EnumValueDescriptor
         getValueDescriptor() {
-      return getDescriptor().getValues().get(index);
+      return getDescriptor().getValues().get(ordinal());
     }
     public final com.google.protobuf.Descriptors.EnumDescriptor
         getDescriptorForType() {
@@ -199,11 +213,9 @@ package org.apache.calcite.avatica.proto;
       return VALUES[desc.getIndex()];
     }
 
-    private final int index;
     private final int value;
 
-    private StatementType(int index, int value) {
-      this.index = index;
+    private StatementType(int value) {
       this.value = value;
     }
 
@@ -218,124 +230,124 @@ package org.apache.calcite.avatica.proto;
     /**
      * <code>PRIMITIVE_BOOLEAN = 0;</code>
      */
-    PRIMITIVE_BOOLEAN(0, 0),
+    PRIMITIVE_BOOLEAN(0),
     /**
      * <code>PRIMITIVE_BYTE = 1;</code>
      */
-    PRIMITIVE_BYTE(1, 1),
+    PRIMITIVE_BYTE(1),
     /**
      * <code>PRIMITIVE_CHAR = 2;</code>
      */
-    PRIMITIVE_CHAR(2, 2),
+    PRIMITIVE_CHAR(2),
     /**
      * <code>PRIMITIVE_SHORT = 3;</code>
      */
-    PRIMITIVE_SHORT(3, 3),
+    PRIMITIVE_SHORT(3),
     /**
      * <code>PRIMITIVE_INT = 4;</code>
      */
-    PRIMITIVE_INT(4, 4),
+    PRIMITIVE_INT(4),
     /**
      * <code>PRIMITIVE_LONG = 5;</code>
      */
-    PRIMITIVE_LONG(5, 5),
+    PRIMITIVE_LONG(5),
     /**
      * <code>PRIMITIVE_FLOAT = 6;</code>
      */
-    PRIMITIVE_FLOAT(6, 6),
+    PRIMITIVE_FLOAT(6),
     /**
      * <code>PRIMITIVE_DOUBLE = 7;</code>
      */
-    PRIMITIVE_DOUBLE(7, 7),
+    PRIMITIVE_DOUBLE(7),
     /**
      * <code>BOOLEAN = 8;</code>
      */
-    BOOLEAN(8, 8),
+    BOOLEAN(8),
     /**
      * <code>BYTE = 9;</code>
      */
-    BYTE(9, 9),
+    BYTE(9),
     /**
      * <code>CHARACTER = 10;</code>
      */
-    CHARACTER(10, 10),
+    CHARACTER(10),
     /**
      * <code>SHORT = 11;</code>
      */
-    SHORT(11, 11),
+    SHORT(11),
     /**
      * <code>INTEGER = 12;</code>
      */
-    INTEGER(12, 12),
+    INTEGER(12),
     /**
      * <code>LONG = 13;</code>
      */
-    LONG(13, 13),
+    LONG(13),
     /**
      * <code>FLOAT = 14;</code>
      */
-    FLOAT(14, 14),
+    FLOAT(14),
     /**
      * <code>DOUBLE = 15;</code>
      */
-    DOUBLE(15, 15),
+    DOUBLE(15),
     /**
      * <code>BIG_INTEGER = 25;</code>
      */
-    BIG_INTEGER(16, 25),
+    BIG_INTEGER(25),
     /**
      * <code>BIG_DECIMAL = 26;</code>
      */
-    BIG_DECIMAL(17, 26),
+    BIG_DECIMAL(26),
     /**
      * <code>JAVA_SQL_TIME = 16;</code>
      */
-    JAVA_SQL_TIME(18, 16),
+    JAVA_SQL_TIME(16),
     /**
      * <code>JAVA_SQL_TIMESTAMP = 17;</code>
      */
-    JAVA_SQL_TIMESTAMP(19, 17),
+    JAVA_SQL_TIMESTAMP(17),
     /**
      * <code>JAVA_SQL_DATE = 18;</code>
      */
-    JAVA_SQL_DATE(20, 18),
+    JAVA_SQL_DATE(18),
     /**
      * <code>JAVA_UTIL_DATE = 19;</code>
      */
-    JAVA_UTIL_DATE(21, 19),
+    JAVA_UTIL_DATE(19),
     /**
      * <code>BYTE_STRING = 20;</code>
      */
-    BYTE_STRING(22, 20),
+    BYTE_STRING(20),
     /**
      * <code>STRING = 21;</code>
      */
-    STRING(23, 21),
+    STRING(21),
     /**
      * <code>NUMBER = 22;</code>
      */
-    NUMBER(24, 22),
+    NUMBER(22),
     /**
      * <code>OBJECT = 23;</code>
      */
-    OBJECT(25, 23),
+    OBJECT(23),
     /**
      * <code>NULL = 24;</code>
      */
-    NULL(26, 24),
+    NULL(24),
     /**
      * <code>ARRAY = 27;</code>
      */
-    ARRAY(27, 27),
+    ARRAY(27),
     /**
      * <code>STRUCT = 28;</code>
      */
-    STRUCT(28, 28),
+    STRUCT(28),
     /**
      * <code>MULTISET = 29;</code>
      */
-    MULTISET(29, 29),
-    UNRECOGNIZED(-1, -1),
+    MULTISET(29),
+    UNRECOGNIZED(-1),
     ;
 
     /**
@@ -461,14 +473,22 @@ package org.apache.calcite.avatica.proto;
 
 
     public final int getNumber() {
-      if (index == -1) {
+      if (this == UNRECOGNIZED) {
         throw new java.lang.IllegalArgumentException(
             "Can't get the number of an unknown enum value.");
       }
       return value;
     }
 
+    /**
+     * @deprecated Use {@link #forNumber(int)} instead.
+     */
+    @java.lang.Deprecated
     public static Rep valueOf(int value) {
+      return forNumber(value);
+    }
+
+    public static Rep forNumber(int value) {
       switch (value) {
         case 0: return PRIMITIVE_BOOLEAN;
         case 1: return PRIMITIVE_BYTE;
@@ -512,13 +532,13 @@ package org.apache.calcite.avatica.proto;
         Rep> internalValueMap =
           new com.google.protobuf.Internal.EnumLiteMap<Rep>() {
             public Rep findValueByNumber(int number) {
-              return Rep.valueOf(number);
+              return Rep.forNumber(number);
             }
           };
 
     public final com.google.protobuf.Descriptors.EnumValueDescriptor
         getValueDescriptor() {
-      return getDescriptor().getValues().get(index);
+      return getDescriptor().getValues().get(ordinal());
     }
     public final com.google.protobuf.Descriptors.EnumDescriptor
         getDescriptorForType() {
@@ -543,11 +563,9 @@ package org.apache.calcite.avatica.proto;
       return VALUES[desc.getIndex()];
     }
 
-    private final int index;
     private final int value;
 
-    private Rep(int index, int value) {
-      this.index = index;
+    private Rep(int value) {
       this.value = value;
     }
 
@@ -555,32 +573,32 @@ package org.apache.calcite.avatica.proto;
   }
 
   /**
-   * Protobuf enum {@code Severity}
-   *
    * <pre>
    * The severity of some unexpected outcome to an operation.
    * Protobuf enum values must be unique across all other enums
    * </pre>
+   *
+   * Protobuf enum {@code Severity}
    */
   public enum Severity
       implements com.google.protobuf.ProtocolMessageEnum {
     /**
      * <code>UNKNOWN_SEVERITY = 0;</code>
      */
-    UNKNOWN_SEVERITY(0, 0),
+    UNKNOWN_SEVERITY(0),
     /**
      * <code>FATAL_SEVERITY = 1;</code>
      */
-    FATAL_SEVERITY(1, 1),
+    FATAL_SEVERITY(1),
     /**
      * <code>ERROR_SEVERITY = 2;</code>
      */
-    ERROR_SEVERITY(2, 2),
+    ERROR_SEVERITY(2),
     /**
      * <code>WARNING_SEVERITY = 3;</code>
      */
-    WARNING_SEVERITY(3, 3),
-    UNRECOGNIZED(-1, -1),
+    WARNING_SEVERITY(3),
+    UNRECOGNIZED(-1),
     ;
 
     /**
@@ -602,14 +620,22 @@ package org.apache.calcite.avatica.proto;
 
 
     public final int getNumber() {
-      if (index == -1) {
+      if (this == UNRECOGNIZED) {
         throw new java.lang.IllegalArgumentException(
             "Can't get the number of an unknown enum value.");
       }
       return value;
     }
 
+    /**
+     * @deprecated Use {@link #forNumber(int)} instead.
+     */
+    @java.lang.Deprecated
     public static Severity valueOf(int value) {
+      return forNumber(value);
+    }
+
+    public static Severity forNumber(int value) {
       switch (value) {
         case 0: return UNKNOWN_SEVERITY;
         case 1: return FATAL_SEVERITY;
@@ -627,13 +653,13 @@ package org.apache.calcite.avatica.proto;
         Severity> internalValueMap =
           new com.google.protobuf.Internal.EnumLiteMap<Severity>() {
             public Severity findValueByNumber(int number) {
-              return Severity.valueOf(number);
+              return Severity.forNumber(number);
             }
           };
 
     public final com.google.protobuf.Descriptors.EnumValueDescriptor
         getValueDescriptor() {
-      return getDescriptor().getValues().get(index);
+      return getDescriptor().getValues().get(ordinal());
     }
     public final com.google.protobuf.Descriptors.EnumDescriptor
         getDescriptorForType() {
@@ -658,11 +684,9 @@ package org.apache.calcite.avatica.proto;
       return VALUES[desc.getIndex()];
     }
 
-    private final int index;
     private final int value;
 
-    private Severity(int index, int value) {
-      this.index = index;
+    private Severity(int value) {
       this.value = value;
     }
 
@@ -670,119 +694,119 @@ package org.apache.calcite.avatica.proto;
   }
 
   /**
-   * Protobuf enum {@code MetaDataOperation}
-   *
    * <pre>
    * Enumeration corresponding to DatabaseMetaData operations
    * </pre>
+   *
+   * Protobuf enum {@code MetaDataOperation}
    */
   public enum MetaDataOperation
       implements com.google.protobuf.ProtocolMessageEnum {
     /**
      * <code>GET_ATTRIBUTES = 0;</code>
      */
-    GET_ATTRIBUTES(0, 0),
+    GET_ATTRIBUTES(0),
     /**
      * <code>GET_BEST_ROW_IDENTIFIER = 1;</code>
      */
-    GET_BEST_ROW_IDENTIFIER(1, 1),
+    GET_BEST_ROW_IDENTIFIER(1),
     /**
      * <code>GET_CATALOGS = 2;</code>
      */
-    GET_CATALOGS(2, 2),
+    GET_CATALOGS(2),
     /**
      * <code>GET_CLIENT_INFO_PROPERTIES = 3;</code>
      */
-    GET_CLIENT_INFO_PROPERTIES(3, 3),
+    GET_CLIENT_INFO_PROPERTIES(3),
     /**
      * <code>GET_COLUMN_PRIVILEGES = 4;</code>
      */
-    GET_COLUMN_PRIVILEGES(4, 4),
+    GET_COLUMN_PRIVILEGES(4),
     /**
      * <code>GET_COLUMNS = 5;</code>
      */
-    GET_COLUMNS(5, 5),
+    GET_COLUMNS(5),
     /**
      * <code>GET_CROSS_REFERENCE = 6;</code>
      */
-    GET_CROSS_REFERENCE(6, 6),
+    GET_CROSS_REFERENCE(6),
     /**
      * <code>GET_EXPORTED_KEYS = 7;</code>
      */
-    GET_EXPORTED_KEYS(7, 7),
+    GET_EXPORTED_KEYS(7),
     /**
      * <code>GET_FUNCTION_COLUMNS = 8;</code>
      */
-    GET_FUNCTION_COLUMNS(8, 8),
+    GET_FUNCTION_COLUMNS(8),
     /**
      * <code>GET_FUNCTIONS = 9;</code>
      */
-    GET_FUNCTIONS(9, 9),
+    GET_FUNCTIONS(9),
     /**
      * <code>GET_IMPORTED_KEYS = 10;</code>
      */
-    GET_IMPORTED_KEYS(10, 10),
+    GET_IMPORTED_KEYS(10),
     /**
      * <code>GET_INDEX_INFO = 11;</code>
      */
-    GET_INDEX_INFO(11, 11),
+    GET_INDEX_INFO(11),
     /**
      * <code>GET_PRIMARY_KEYS = 12;</code>
      */
-    GET_PRIMARY_KEYS(12, 12),
+    GET_PRIMARY_KEYS(12),
     /**
      * <code>GET_PROCEDURE_COLUMNS = 13;</code>
      */
-    GET_PROCEDURE_COLUMNS(13, 13),
+    GET_PROCEDURE_COLUMNS(13),
     /**
      * <code>GET_PROCEDURES = 14;</code>
      */
-    GET_PROCEDURES(14, 14),
+    GET_PROCEDURES(14),
     /**
      * <code>GET_PSEUDO_COLUMNS = 15;</code>
      */
-    GET_PSEUDO_COLUMNS(15, 15),
+    GET_PSEUDO_COLUMNS(15),
     /**
      * <code>GET_SCHEMAS = 16;</code>
      */
-    GET_SCHEMAS(16, 16),
+    GET_SCHEMAS(16),
     /**
      * <code>GET_SCHEMAS_WITH_ARGS = 17;</code>
      */
-    GET_SCHEMAS_WITH_ARGS(17, 17),
+    GET_SCHEMAS_WITH_ARGS(17),
     /**
      * <code>GET_SUPER_TABLES = 18;</code>
      */
-    GET_SUPER_TABLES(18, 18),
+    GET_SUPER_TABLES(18),
     /**
      * <code>GET_SUPER_TYPES = 19;</code>
      */
-    GET_SUPER_TYPES(19, 19),
+    GET_SUPER_TYPES(19),
     /**
      * <code>GET_TABLE_PRIVILEGES = 20;</code>
      */
-    GET_TABLE_PRIVILEGES(20, 20),
+    GET_TABLE_PRIVILEGES(20),
     /**
      * <code>GET_TABLES = 21;</code>
      */
-    GET_TABLES(21, 21),
+    GET_TABLES(21),
     /**
      * <code>GET_TABLE_TYPES = 22;</code>
      */
-    GET_TABLE_TYPES(22, 22),
+    GET_TABLE_TYPES(22),
     /**
      * <code>GET_TYPE_INFO = 23;</code>
      */
-    GET_TYPE_INFO(23, 23),
+    GET_TYPE_INFO(23),
     /**
      * <code>GET_UDTS = 24;</code>
      */
-    GET_UDTS(24, 24),
+    GET_UDTS(24),
     /**
      * <code>GET_VERSION_COLUMNS = 25;</code>
      */
-    GET_VERSION_COLUMNS(25, 25),
-    UNRECOGNIZED(-1, -1),
+    GET_VERSION_COLUMNS(25),
+    UNRECOGNIZED(-1),
     ;
 
     /**
@@ -892,14 +916,22 @@ package org.apache.calcite.avatica.proto;
 
 
     public final int getNumber() {
-      if (index == -1) {
+      if (this == UNRECOGNIZED) {
         throw new java.lang.IllegalArgumentException(
             "Can't get the number of an unknown enum value.");
       }
       return value;
     }
 
+    /**
+     * @deprecated Use {@link #forNumber(int)} instead.
+     */
+    @java.lang.Deprecated
     public static MetaDataOperation valueOf(int value) {
+      return forNumber(value);
+    }
+
+    public static MetaDataOperation forNumber(int value) {
       switch (value) {
         case 0: return GET_ATTRIBUTES;
         case 1: return GET_BEST_ROW_IDENTIFIER;
@@ -939,13 +971,13 @@ package org.apache.calcite.avatica.proto;
         MetaDataOperation> internalValueMap =
           new com.google.protobuf.Internal.EnumLiteMap<MetaDataOperation>() {
             public MetaDataOperation findValueByNumber(int number) {
-              return MetaDataOperation.valueOf(number);
+              return MetaDataOperation.forNumber(number);
             }
           };
 
     public final com.google.protobuf.Descriptors.EnumValueDescriptor
         getValueDescriptor() {
-      return getDescriptor().getValues().get(index);
+      return getDescriptor().getValues().get(ordinal());
     }
     public final com.google.protobuf.Descriptors.EnumDescriptor
         getDescriptorForType() {
@@ -970,11 +1002,9 @@ package org.apache.calcite.avatica.proto;
       return VALUES[desc.getIndex()];
     }
 
-    private final int index;
     private final int value;
 
-    private MetaDataOperation(int index, int value) {
-      this.index = index;
+    private MetaDataOperation(int value) {
       this.value = value;
     }
 
@@ -989,12 +1019,12 @@ package org.apache.calcite.avatica.proto;
     /**
      * <code>SQL = 0;</code>
      */
-    SQL(0, 0),
+    SQL(0),
     /**
      * <code>METADATA = 1;</code>
      */
-    METADATA(1, 1),
-    UNRECOGNIZED(-1, -1),
+    METADATA(1),
+    UNRECOGNIZED(-1),
     ;
 
     /**
@@ -1008,14 +1038,22 @@ package org.apache.calcite.avatica.proto;
 
 
     public final int getNumber() {
-      if (index == -1) {
+      if (this == UNRECOGNIZED) {
         throw new java.lang.IllegalArgumentException(
             "Can't get the number of an unknown enum value.");
       }
       return value;
     }
 
+    /**
+     * @deprecated Use {@link #forNumber(int)} instead.
+     */
+    @java.lang.Deprecated
     public static StateType valueOf(int value) {
+      return forNumber(value);
+    }
+
+    public static StateType forNumber(int value) {
       switch (value) {
         case 0: return SQL;
         case 1: return METADATA;
@@ -1031,13 +1069,13 @@ package org.apache.calcite.avatica.proto;
         StateType> internalValueMap =
           new com.google.protobuf.Internal.EnumLiteMap<StateType>() {
             public StateType findValueByNumber(int number) {
-              return StateType.valueOf(number);
+              return StateType.forNumber(number);
             }
           };
 
     public final com.google.protobuf.Descriptors.EnumValueDescriptor
         getValueDescriptor() {
-      return getDescriptor().getValues().get(index);
+      return getDescriptor().getValues().get(ordinal());
     }
     public final com.google.protobuf.Descriptors.EnumDescriptor
         getDescriptorForType() {
@@ -1062,11 +1100,9 @@ package org.apache.calcite.avatica.proto;
       return VALUES[desc.getIndex()];
     }
 
-    private final int index;
     private final int value;
 
-    private StateType(int index, int value) {
-      this.index = index;
+    private StateType(int value) {
       this.value = value;
     }
 
@@ -1088,11 +1124,11 @@ package org.apache.calcite.avatica.proto;
     boolean getAutoCommit();
 
     /**
-     * <code>optional bool has_auto_commit = 7;</code>
-     *
      * <pre>
      * field is a Boolean, need to discern null and default value
      * </pre>
+     *
+     * <code>optional bool has_auto_commit = 7;</code>
      */
     boolean getHasAutoCommit();
 
@@ -1102,11 +1138,11 @@ package org.apache.calcite.avatica.proto;
     boolean getReadOnly();
 
     /**
-     * <code>optional bool has_read_only = 8;</code>
-     *
      * <pre>
      * field is a Boolean, need to discern null and default value
      * </pre>
+     *
+     * <code>optional bool has_read_only = 8;</code>
      */
     boolean getHasReadOnly();
 
@@ -1136,18 +1172,18 @@ package org.apache.calcite.avatica.proto;
         getSchemaBytes();
   }
   /**
-   * Protobuf type {@code ConnectionProperties}
-   *
    * <pre>
    * Details about a connection
    * </pre>
+   *
+   * Protobuf type {@code ConnectionProperties}
    */
   public  static final class ConnectionProperties extends
-      com.google.protobuf.GeneratedMessage implements
+      com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:ConnectionProperties)
       ConnectionPropertiesOrBuilder {
     // Use ConnectionProperties.newBuilder() to construct.
-    private ConnectionProperties(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+    private ConnectionProperties(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
       super(builder);
     }
     private ConnectionProperties() {
@@ -1168,7 +1204,8 @@ package org.apache.calcite.avatica.proto;
     }
     private ConnectionProperties(
         com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       try {
@@ -1206,13 +1243,13 @@ package org.apache.calcite.avatica.proto;
               break;
             }
             case 42: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               catalog_ = s;
               break;
             }
             case 50: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               schema_ = s;
               break;
@@ -1230,11 +1267,10 @@ package org.apache.calcite.avatica.proto;
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw new RuntimeException(e.setUnfinishedMessage(this));
+        throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
-        throw new RuntimeException(
-            new com.google.protobuf.InvalidProtocolBufferException(
-                e.getMessage()).setUnfinishedMessage(this));
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
       } finally {
         makeExtensionsImmutable();
       }
@@ -1244,7 +1280,7 @@ package org.apache.calcite.avatica.proto;
       return org.apache.calcite.avatica.proto.Common.internal_static_ConnectionProperties_descriptor;
     }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.calcite.avatica.proto.Common.internal_static_ConnectionProperties_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -1272,11 +1308,11 @@ package org.apache.calcite.avatica.proto;
     public static final int HAS_AUTO_COMMIT_FIELD_NUMBER = 7;
     private boolean hasAutoCommit_;
     /**
-     * <code>optional bool has_auto_commit = 7;</code>
-     *
      * <pre>
      * field is a Boolean, need to discern null and default value
      * </pre>
+     *
+     * <code>optional bool has_auto_commit = 7;</code>
      */
     public boolean getHasAutoCommit() {
       return hasAutoCommit_;
@@ -1294,11 +1330,11 @@ package org.apache.calcite.avatica.proto;
     public static final int HAS_READ_ONLY_FIELD_NUMBER = 8;
     private boolean hasReadOnly_;
     /**
-     * <code>optional bool has_read_only = 8;</code>
-     *
      * <pre>
      * field is a Boolean, need to discern null and default value
      * </pre>
+     *
+     * <code>optional bool has_read_only = 8;</code>
      */
     public boolean getHasReadOnly() {
       return hasReadOnly_;
@@ -1406,10 +1442,10 @@ package org.apache.calcite.avatica.proto;
         output.writeUInt32(4, transactionIsolation_);
       }
       if (!getCatalogBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 5, catalog_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, catalog_);
       }
       if (!getSchemaBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 6, schema_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, schema_);
       }
       if (hasAutoCommit_ != false) {
         output.writeBool(7, hasAutoCommit_);
@@ -1441,10 +1477,10 @@ package org.apache.calcite.avatica.proto;
           .computeUInt32Size(4, transactionIsolation_);
       }
       if (!getCatalogBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(5, catalog_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, catalog_);
       }
       if (!getSchemaBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(6, schema_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, schema_);
       }
       if (hasAutoCommit_ != false) {
         size += com.google.protobuf.CodedOutputStream
@@ -1459,6 +1495,69 @@ package org.apache.calcite.avatica.proto;
     }
 
     private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof org.apache.calcite.avatica.proto.Common.ConnectionProperties)) {
+        return super.equals(obj);
+      }
+      org.apache.calcite.avatica.proto.Common.ConnectionProperties other = (org.apache.calcite.avatica.proto.Common.ConnectionProperties) obj;
+
+      boolean result = true;
+      result = result && (getIsDirty()
+          == other.getIsDirty());
+      result = result && (getAutoCommit()
+          == other.getAutoCommit());
+      result = result && (getHasAutoCommit()
+          == other.getHasAutoCommit());
+      result = result && (getReadOnly()
+          == other.getReadOnly());
+      result = result && (getHasReadOnly()
+          == other.getHasReadOnly());
+      result = result && (getTransactionIsolation()
+          == other.getTransactionIsolation());
+      result = result && getCatalog()
+          .equals(other.getCatalog());
+      result = result && getSchema()
+          .equals(other.getSchema());
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().hashCode();
+      hash = (37 * hash) + IS_DIRTY_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getIsDirty());
+      hash = (37 * hash) + AUTO_COMMIT_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getAutoCommit());
+      hash = (37 * hash) + HAS_AUTO_COMMIT_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getHasAutoCommit());
+      hash = (37 * hash) + READ_ONLY_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getReadOnly());
+      hash = (37 * hash) + HAS_READ_ONLY_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getHasReadOnly());
+      hash = (37 * hash) + TRANSACTION_ISOLATION_FIELD_NUMBER;
+      hash = (53 * hash) + getTransactionIsolation();
+      hash = (37 * hash) + CATALOG_FIELD_NUMBER;
+      hash = (53 * hash) + getCatalog().hashCode();
+      hash = (37 * hash) + SCHEMA_FIELD_NUMBER;
+      hash = (53 * hash) + getSchema().hashCode();
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
     public static org.apache.calcite.avatica.proto.Common.ConnectionProperties parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -1482,34 +1581,40 @@ package org.apache.calcite.avatica.proto;
     }
     public static org.apache.calcite.avatica.proto.Common.ConnectionProperties parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Common.ConnectionProperties parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Common.ConnectionProperties parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Common.ConnectionProperties parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Common.ConnectionProperties parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Common.ConnectionProperties parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -1526,19 +1631,19 @@ package org.apache.calcite.avatica.proto;
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
     /**
-     * Protobuf type {@code ConnectionProperties}
-     *
      * <pre>
      * Details about a connection
      * </pre>
+     *
+     * Protobuf type {@code ConnectionProperties}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:ConnectionProperties)
         org.apache.calcite.avatica.proto.Common.ConnectionPropertiesOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -1546,7 +1651,7 @@ package org.apache.calcite.avatica.proto;
         return org.apache.calcite.avatica.proto.Common.internal_static_ConnectionProperties_descriptor;
       }
 
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.calcite.avatica.proto.Common.internal_static_ConnectionProperties_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -1559,12 +1664,13 @@ package org.apache.calcite.avatica.proto;
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
         }
       }
       public Builder clear() {
@@ -1619,6 +1725,32 @@ package org.apache.calcite.avatica.proto;
         return result;
       }
 
+      public Builder clone() {
+        return (Builder) super.clone();
+      }
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.setField(field, value);
+      }
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return (Builder) super.clearField(field);
+      }
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return (Builder) super.clearOneof(oneof);
+      }
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, Object value) {
+        return (Builder) super.setRepeatedField(field, index, value);
+      }
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.addRepeatedField(field, value);
+      }
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.calcite.avatica.proto.Common.ConnectionProperties) {
           return mergeFrom((org.apache.calcite.avatica.proto.Common.ConnectionProperties)other);
@@ -1673,7 +1805,7 @@ package org.apache.calcite.avatica.proto;
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
           parsedMessage = (org.apache.calcite.avatica.proto.Common.ConnectionProperties) e.getUnfinishedMessage();
-          throw e;
+          throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
             mergeFrom(parsedMessage);
@@ -1736,21 +1868,21 @@ package org.apache.calcite.avatica.proto;
 
       private boolean hasAutoCommit_ ;
       /**
-       * <code>optional bool has_auto_commit = 7;</code>
-       *
        * <pre>
        * field is a Boolean, need to discern null and default value
        * </pre>
+       *
+       * <code>optional bool has_auto_commit = 7;</code>
        */
       public boolean getHasAutoCommit() {
         return hasAutoCommit_;
       }
       /**
-       * <code>optional bool has_auto_commit = 7;</code>
-       *
        * <pre>
        * field is a Boolean, need to discern null and default value
        * </pre>
+       *
+       * <code>optional bool has_auto_commit = 7;</code>
        */
       public Builder setHasAutoCommit(boolean value) {
 
@@ -1759,11 +1891,11 @@ package org.apache.calcite.avatica.proto;
         return this;
       }
       /**
-       * <code>optional bool has_auto_commit = 7;</code>
-       *
        * <pre>
        * field is a Boolean, need to discern null and default value
        * </pre>
+       *
+       * <code>optional bool has_auto_commit = 7;</code>
        */
       public Builder clearHasAutoCommit() {
 
@@ -1800,21 +1932,21 @@ package org.apache.calcite.avatica.proto;
 
       private boolean hasReadOnly_ ;
       /**
-       * <code>optional bool has_read_only = 8;</code>
-       *
        * <pre>
        * field is a Boolean, need to discern null and default value
        * </pre>
+       *
+       * <code>optional bool has_read_only = 8;</code>
        */
       public boolean getHasReadOnly() {
         return hasReadOnly_;
       }
       /**
-       * <code>optional bool has_read_only = 8;</code>
-       *
        * <pre>
        * field is a Boolean, need to discern null and default value
        * </pre>
+       *
+       * <code>optional bool has_read_only = 8;</code>
        */
       public Builder setHasReadOnly(boolean value) {
 
@@ -1823,11 +1955,11 @@ package org.apache.calcite.avatica.proto;
         return this;
       }
       /**
-       * <code>optional bool has_read_only = 8;</code>
-       *
        * <pre>
        * field is a Boolean, need to discern null and default value
        * </pre>
+       *
+       * <code>optional bool has_read_only = 8;</code>
        */
       public Builder clearHasReadOnly() {
 
@@ -2029,16 +2161,7 @@ package org.apache.calcite.avatica.proto;
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        try {
           return new ConnectionProperties(input, extensionRegistry);
-        } catch (RuntimeException e) {
-          if (e.getCause() instanceof
-              com.google.protobuf.InvalidProtocolBufferException) {
-            throw (com.google.protobuf.InvalidProtocolBufferException)
-                e.getCause();
-          }
-          throw e;
-        }
       }
     };
 
@@ -2090,18 +2213,18 @@ package org.apache.calcite.avatica.proto;
     org.apache.calcite.avatica.proto.Common.SignatureOrBuilder getSignatureOrBuilder();
   }
   /**
-   * Protobuf type {@code StatementHandle}
-   *
    * <pre>
    * Statement handle
    * </pre>
+   *
+   * Protobuf type {@code StatementHandle}
    */
   public  static final class StatementHandle extends
-      com.google.protobuf.GeneratedMessage implements
+      com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:StatementHandle)
       StatementHandleOrBuilder {
     // Use StatementHandle.newBuilder() to construct.
-    private StatementHandle(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+    private StatementHandle(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
       super(builder);
     }
     private StatementHandle() {
@@ -2116,7 +2239,8 @@ package org.apache.calcite.avatica.proto;
     }
     private StatementHandle(
         com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       try {
@@ -2134,7 +2258,7 @@ package org.apache.calcite.avatica.proto;
               break;
             }
             case 10: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               connectionId_ = s;
               break;
@@ -2160,11 +2284,10 @@ package org.apache.calcite.avatica.proto;
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw new RuntimeException(e.setUnfinishedMessage(this));
+        throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
-        throw new RuntimeException(
-            new com.google.protobuf.InvalidProtocolBufferException(
-                e.getMessage()).setUnfinishedMessage(this));
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
       } finally {
         makeExtensionsImmutable();
       }
@@ -2174,7 +2297,7 @@ package org.apache.calcite.avatica.proto;
       return org.apache.calcite.avatica.proto.Common.internal_static_StatementHandle_descriptor;
     }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.calcite.avatica.proto.Common.internal_static_StatementHandle_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -2258,7 +2381,7 @@ package org.apache.calcite.avatica.proto;
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
       if (!getConnectionIdBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 1, connectionId_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, connectionId_);
       }
       if (id_ != 0) {
         output.writeUInt32(2, id_);
@@ -2274,7 +2397,7 @@ package org.apache.calcite.avatica.proto;
 
       size = 0;
       if (!getConnectionIdBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(1, connectionId_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, connectionId_);
       }
       if (id_ != 0) {
         size += com.google.protobuf.CodedOutputStream
@@ -2289,6 +2412,49 @@ package org.apache.calcite.avatica.proto;
     }
 
     private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof org.apache.calcite.avatica.proto.Common.StatementHandle)) {
+        return super.equals(obj);
+      }
+      org.apache.calcite.avatica.proto.Common.StatementHandle other = (org.apache.calcite.avatica.proto.Common.StatementHandle) obj;
+
+      boolean result = true;
+      result = result && getConnectionId()
+          .equals(other.getConnectionId());
+      result = result && (getId()
+          == other.getId());
+      result = result && (hasSignature() == other.hasSignature());
+      if (hasSignature()) {
+        result = result && getSignature()
+            .equals(other.getSignature());
+      }
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().hashCode();
+      hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
+      hash = (53 * hash) + getConnectionId().hashCode();
+      hash = (37 * hash) + ID_FIELD_NUMBER;
+      hash = (53 * hash) + getId();
+      if (hasSignature()) {
+        hash = (37 * hash) + SIGNATURE_FIELD_NUMBER;
+        hash = (53 * hash) + getSignature().hashCode();
+      }
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
     public static org.apache.calcite.avatica.proto.Common.StatementHandle parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -2312,34 +2478,40 @@ package org.apache.calcite.avatica.proto;
     }
     public static org.apache.calcite.avatica.proto.Common.StatementHandle parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Common.StatementHandle parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Common.StatementHandle parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Common.StatementHandle parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Common.StatementHandle parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Common.StatementHandle parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -2356,19 +2528,19 @@ package org.apache.calcite.avatica.proto;
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
     /**
-     * Protobuf type {@code StatementHandle}
-     *
      * <pre>
      * Statement handle
      * </pre>
+     *
+     * Protobuf type {@code StatementHandle}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:StatementHandle)
         org.apache.calcite.avatica.proto.Common.StatementHandleOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -2376,7 +2548,7 @@ package org.apache.calcite.avatica.proto;
         return org.apache.calcite.avatica.proto.Common.internal_static_StatementHandle_descriptor;
       }
 
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.calcite.avatica.proto.Common.internal_static_StatementHandle_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -2389,12 +2561,13 @@ package org.apache.calcite.avatica.proto;
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
         }
       }
       public Builder clear() {
@@ -2442,6 +2615,32 @@ package org.apache.calcite.avatica.proto;
         return result;
       }
 
+      public Builder clone() {
+        return (Builder) super.clone();
+      }
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.setField(field, value);
+      }
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return (Builder) super.clearField(field);
+      }
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return (Builder) super.clearOneof(oneof);
+      }
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, Object value) {
+        return (Builder) super.setRepeatedField(field, index, value);
+      }
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.addRepeatedField(field, value);
+      }
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.calcite.avatica.proto.Common.StatementHandle) {
           return mergeFrom((org.apache.calcite.avatica.proto.Common.StatementHandle)other);
@@ -2480,7 +2679,7 @@ package org.apache.calcite.avatica.proto;
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
           parsedMessage = (org.apache.calcite.avatica.proto.Common.StatementHandle) e.getUnfinishedMessage();
-          throw e;
+          throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
             mergeFrom(parsedMessage);
@@ -2585,7 +2784,7 @@ package org.apache.calcite.avatica.proto;
       }
 
       private org.apache.calcite.avatica.proto.Common.Signature signature_ = null;
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Common.Signature, org.apache.calcite.avatica.proto.Common.Signature.Builder, org.apache.calcite.avatica.proto.Common.SignatureOrBuilder> signatureBuilder_;
       /**
        * <code>optional .Signature signature = 3;</code>
@@ -2687,11 +2886,11 @@ package org.apache.calcite.avatica.proto;
       /**
        * <code>optional .Signature signature = 3;</code>
        */
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Common.Signature, org.apache.calcite.avatica.proto.Common.Signature.Builder, org.apache.calcite.avatica.proto.Common.SignatureOrBuilder>
           getSignatureFieldBuilder() {
         if (signatureBuilder_ == null) {
-          signatureBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+          signatureBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
               org.apache.calcite.avatica.proto.Common.Signature, org.apache.calcite.avatica.proto.Common.Signature.Builder, org.apache.calcite.avatica.proto.Common.SignatureOrBuilder>(
                   getSignature(),
                   getParentForChildren(),
@@ -2730,16 +2929,7 @@ package org.apache.calcite.avatica.proto;
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        try {
           return new StatementHandle(input, extensionRegistry);
-        } catch (RuntimeException e) {
-          if (e.getCause() instanceof
-              com.google.protobuf.InvalidProtocolBufferException) {
-            throw (com.google.protobuf.InvalidProtocolBufferException)
-                e.getCause();
-          }
-          throw e;
-        }
       }
     };
 
@@ -2843,18 +3033,18 @@ package org.apache.calcite.avatica.proto;
     org.apache.calcite.avatica.proto.Common.StatementType getStatementType();
   }
   /**
-   * Protobuf type {@code Signature}
-   *
    * <pre>
    * Results of preparing a statement
    * </pre>
+   *
+   * Protobuf type {@code Signature}
    */
   public  static final class Signature extends
-      com.google.protobuf.GeneratedMessage implements
+      com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:Signature)
       SignatureOrBuilder {
     // Use Signature.newBuilder() to construct.
-    private Signature(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+    private Signature(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
       super(builder);
     }
     private Signature() {
@@ -2871,7 +3061,8 @@ package org.apache.calcite.avatica.proto;
     }
     private Signature(
         com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       try {
@@ -2893,11 +3084,12 @@ package org.apache.calcite.avatica.proto;
                 columns_ = new java.util.ArrayList<org.apache.calcite.avatica.proto.Common.ColumnMetaData>();
                 mutable_bitField0_ |= 0x00000001;
               }
-              columns_.add(input.readMessage(org.apache.calcite.avatica.proto.Common.ColumnMetaData.parser(), extensionRegistry));
+              columns_.add(
+                  input.readMessage(org.apache.calcite.avatica.proto.Common.ColumnMetaData.parser(), extensionRegistry));
               break;
             }
             case 18: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               sql_ = s;
               break;
@@ -2907,7 +3099,8 @@ package org.apache.calcite.avatica.proto;
                 parameters_ = new java.util.ArrayList<org.apache.calcite.avatica.proto.Common.AvaticaParameter>();
                 mutable_bitField0_ |= 0x00000004;
               }
-              parameters_.add(input.readMessage(org.apache.calcite.avatica.proto.Common.AvaticaParameter.parser(), extensionRegistry));
+              parameters_.add(
+                  input.readMessage(org.apache.calcite.avatica.proto.Common.AvaticaParameter.parser(), extensionRegistry));
               break;
             }
             case 34: {
@@ -2932,11 +3125,10 @@ package org.apache.calcite.avatica.proto;
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw new RuntimeException(e.setUnfinishedMessage(this));
+        throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
-        throw new RuntimeException(
-            new com.google.protobuf.InvalidProtocolBufferException(
-                e.getMessage()).setUnfinishedMessage(this));
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
       } finally {
         if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
           columns_ = java.util.Collections.unmodifiableList(columns_);
@@ -2952,7 +3144,7 @@ package org.apache.calcite.avatica.proto;
       return org.apache.calcite.avatica.proto.Common.internal_static_Signature_descriptor;
     }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.calcite.avatica.proto.Common.internal_static_Signature_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -3117,7 +3309,7 @@ package org.apache.calcite.avatica.proto;
         output.writeMessage(1, columns_.get(i));
       }
       if (!getSqlBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 2, sql_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, sql_);
       }
       for (int i = 0; i < parameters_.size(); i++) {
         output.writeMessage(3, parameters_.get(i));
@@ -3140,7 +3332,7 @@ package org.apache.calcite.avatica.proto;
           .computeMessageSize(1, columns_.get(i));
       }
       if (!getSqlBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(2, sql_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, sql_);
       }
       for (int i = 0; i < parameters_.size(); i++) {
         size += com.google.protobuf.CodedOutputStream
@@ -3159,6 +3351,60 @@ package org.apache.calcite.avatica.proto;
     }
 
     private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof org.apache.calcite.avatica.proto.Common.Signature)) {
+        return super.equals(obj);
+      }
+      org.apache.calcite.avatica.proto.Common.Signature other = (org.apache.calcite.avatica.proto.Common.Signature) obj;
+
+      boolean result = true;
+      result = result && getColumnsList()
+          .equals(other.getColumnsList());
+      result = result && getSql()
+          .equals(other.getSql());
+      result = result && getParametersList()
+          .equals(other.getParametersList());
+      result = result && (hasCursorFactory() == other.hasCursorFactory());
+      if (hasCursorFactory()) {
+        result = result && getCursorFactory()
+            .equals(other.getCursorFactory());
+      }
+      result = result && statementType_ == other.statementType_;
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().hashCode();
+      if (getColumnsCount() > 0) {
+        hash = (37 * hash) + COLUMNS_FIELD_NUMBER;
+        hash = (53 * hash) + getColumnsList().hashCode();
+      }
+      hash = (37 * hash) + SQL_FIELD_NUMBER;
+      hash = (53 * hash) + getSql().hashCode();
+      if (getParametersCount() > 0) {
+        hash = (37 * hash) + PARAMETERS_FIELD_NUMBER;
+        hash = (53 * hash) + getParametersList().hashCode();
+      }
+      if (hasCursorFactory()) {
+        hash = (37 * hash) + CURSOR_FACTORY_FIELD_NUMBER;
+        hash = (53 * hash) + getCursorFactory().hashCode();
+      }
+      hash = (37 * hash) + STATEMENTTYPE_FIELD_NUMBER;
+      hash = (53 * hash) + statementType_;
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
     public static org.apache.calcite.avatica.proto.Common.Signature parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -3182,34 +3428,40 @@ package org.apache.calcite.avatica.proto;
     }
     public static org.apache.calcite.avatica.proto.Common.Signature parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Common.Signature parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Common.Signature parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Common.Signature parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Common.Signature parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Common.Signature parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -3226,19 +3478,19 @@ package org.apache.calcite.avatica.proto;
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
     /**
-     * Protobuf type {@code Signature}
-     *
      * <pre>
      * Results of preparing a statement
      * </pre>
+     *
+     * Protobuf type {@code Signature}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:Signature)
         org.apache.calcite.avatica.proto.Common.SignatureOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -3246,7 +3498,7 @@ package org.apache.calcite.avatica.proto;
         return org.apache.calcite.avatica.proto.Common.internal_static_Signature_descriptor;
       }
 
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.calcite.avatica.proto.Common.internal_static_Signature_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -3259,12 +3511,13 @@ package org.apache.calcite.avatica.proto;
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
           getColumnsFieldBuilder();
           getParametersFieldBuilder();
         }
@@ -3347,6 +3600,32 @@ package org.apache.calcite.avatica.proto;
         return result;
       }
 
+      public Builder clone() {
+        return (Builder) super.clone();
+      }
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.setField(field, value);
+      }
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return (Builder) super.clearField(field);
+      }
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return (Builder) super.clearOneof(oneof);
+      }
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, Object value) {
+        return (Builder) super.setRepeatedField(field, index, value);
+      }
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.addRepeatedField(field, value);
+      }
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.calcite.avatica.proto.Common.Signature) {
           return mergeFrom((org.apache.calcite.avatica.proto.Common.Signature)other);
@@ -3377,7 +3656,7 @@ package org.apache.calcite.avatica.proto;
               columns_ = other.columns_;
               bitField0_ = (bitField0_ & ~0x00000001);
               columnsBuilder_ =
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
+                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                    getColumnsFieldBuilder() : null;
             } else {
               columnsBuilder_.addAllMessages(other.columns_);
@@ -3407,7 +3686,7 @@ package org.apache.calcite.avatica.proto;
               parameters_ = other.parameters_;
               bitField0_ = (bitField0_ & ~0x00000004);
               parametersBuilder_ =
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
+                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                    getParametersFieldBuilder() : null;
             } else {
               parametersBuilder_.addAllMessages(other.parameters_);
@@ -3437,7 +3716,7 @@ package org.apache.calcite.avatica.proto;
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
           parsedMessage = (org.apache.calcite.avatica.proto.Common.Signature) e.getUnfinishedMessage();
-          throw e;
+          throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
             mergeFrom(parsedMessage);
@@ -3456,7 +3735,7 @@ package org.apache.calcite.avatica.proto;
          }
       }
 
-      private com.google.protobuf.RepeatedFieldBuilder<
+      private com.google.protobuf.RepeatedFieldBuilderV3<
           org.apache.calcite.avatica.proto.Common.ColumnMetaData, org.apache.calcite.avatica.proto.Common.ColumnMetaData.Builder, org.apache.calcite.avatica.proto.Common.ColumnMetaDataOrBuilder> columnsBuilder_;
 
       /**
@@ -3672,11 +3951,11 @@ package org.apache.calcite.avatica.proto;
            getColumnsBuilderList() {
         return getColumnsFieldBuilder().getBuilderList();
       }
-      private com.google.protobuf.RepeatedFieldBuilder<
+      private com.google.protobuf.RepeatedFieldBuilderV3<
           org.apache.calcite.avatica.proto.Common.ColumnMetaData, org.apache.calcite.avatica.proto.Common.ColumnMetaData.Builder, org.apache.calcite.avatica.proto.Common.ColumnMetaDataOrBuilder>
           getColumnsFieldBuilder() {
         if (columnsBuilder_ == null) {
-          columnsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
+          columnsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
               org.apache.calcite.avatica.proto.Common.ColumnMetaData, org.apache.calcite.avatica.proto.Common.ColumnMetaData.Builder, org.apache.calcite.avatica.proto.Common.ColumnMetaDataOrBuilder>(
                   columns_,
                   ((bitField0_ & 0x00000001) == 0x00000001),
@@ -3765,7 +4044,7 @@ package org.apache.calcite.avatica.proto;
          }
       }
 
-      private com.google.protobuf.RepeatedFieldBuilder<
+      private com.google.protobuf.RepeatedFieldBuilderV3<
           org.apache.calcite.avatica.proto.Common.AvaticaParameter, org.apache.calcite.avatica.proto.Common.AvaticaParameter.Builder, org.apache.calcite.avatica.proto.Common.AvaticaParameterOrBuilder> parametersBuilder_;
 
       /**
@@ -3981,11 +4260,11 @@ package org.apache.calcite.avatica.proto;
            getParametersBuilderList() {
         return getParametersFieldBuilder().getBuilderList();
       }
-      private com.google.protobuf.RepeatedFieldBuilder<
+      private com.google.protobuf.RepeatedFieldBuilderV3<
           org.apache.calcite.avatica.proto.Common.AvaticaParameter, org.apache.calcite.avatica.proto.Common.AvaticaParameter.Builder, org.apache.calcite.avatica.proto.Common.AvaticaParameterOrBuilder>
           getParametersFieldBuilder() {
         if (parametersBuilder_ == null) {
-          parametersBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
+          parametersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
               org.apache.calcite.avatica.proto.Common.AvaticaParameter, org.apache.calcite.avatica.proto.Common.AvaticaParameter.Builder, org.apache.calcite.avatica.proto.Common.AvaticaParameterOrBuilder>(
                   parameters_,
                   ((bitField0_ & 0x00000004) == 0x00000004),
@@ -3997,7 +4276,7 @@ package org.apache.calcite.avatica.proto;
       }
 
       private org.apache.calcite.avatica.proto.Common.CursorFactory cursorFactory_ = null;
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Common.CursorFactory, org.apache.calcite.avatica.proto.Common.CursorFactory.Builder, org.apache.calcite.avatica.proto.Common.CursorFactoryOrBuilder> cursorFactoryBuilder_;
       /**
        * <code>optional .CursorFactory cursor_factory = 4;</code>
@@ -4099,11 +4378,11 @@ package org.apache.calcite.avatica.proto;
       /**
        * <code>optional .CursorFactory cursor_factory = 4;</code>
        */
-      private com.google.protobuf.SingleFieldBuilder<
+      private com.google.protobuf.SingleFieldBuilderV3<
           org.apache.calcite.avatica.proto.Common.CursorFactory, org.apache.calcite.avatica.proto.Common.CursorFactory.Builder, org.apache.calcite.avatica.proto.Common.CursorFactoryOrBuilder>
           getCursorFactoryFieldBuilder() {
         if (cursorFactoryBuilder_ == null) {
-          cursorFactoryBuilder_ = new com.google.protobuf.SingleFieldBuilder<
+          cursorFactoryBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
               org.apache.calcite.avatica.proto.Common.CursorFactory, org.apache.calcite.avatica.proto.Common.CursorFactory.Builder, org.apache.calcite.avatica.proto.Common.CursorFactoryOrBuilder>(
                   getCursorFactory(),
                   getParentForChildren(),
@@ -4186,16 +4465,7 @@ package org.apache.calcite.avatica.proto;
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws com.google.protobuf.InvalidProtocolBufferException {
-        try {
           return new Signature(input, extensionRegistry);
-        } catch (RuntimeException e) {
-          if (e.getCause() instanceof
-              com.google.protobuf.InvalidProtocolBufferException) {
-            throw (com.google.protobuf.InvalidProtocolBufferException)
-                e.getCause();
-          }
-          throw e;
-        }
       }
     };
 
@@ -4360,11 +4630,11 @@ package org.apache.calcite.avatica.proto;
    * Protobuf type {@code ColumnMetaData}
    */
   public  static final class ColumnMetaData extends
-      com.google.protobuf.GeneratedMessage implements
+      com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:ColumnMetaData)
       ColumnMetaDataOrBuilder {
     // Use ColumnMetaData.newBuilder() to construct.
-    private ColumnMetaData(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
+    private ColumnMetaData(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
       super(builder);
     }
     private ColumnMetaData() {
@@ -4396,7 +4666,8 @@ package org.apache.calcite.avatica.proto;
     }
     private ColumnMetaData(
         com.google.protobuf.CodedInputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
+        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       int mutable_bitField0_ = 0;
       try {
@@ -4454,19 +4725,19 @@ package org.apache.calcite.avatica.proto;
               break;
             }
             case 74: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               label_ = s;
               break;
             }
             case 82: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               columnName_ = s;
               break;
             }
             case 90: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               schemaName_ = s;
               break;
@@ -4482,13 +4753,13 @@ package org.apache.calcite.avatica.proto;
               break;
             }
             case 114: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               tableName_ = s;
               break;
             }
             case 122: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               catalogName_ = s;
               break;
@@ -4509,7 +4780,7 @@ package org.apache.calcite.avatica.proto;
               break;
             }
             case 154: {
-              String s = input.readStringRequireUtf8();
+              java.lang.String s = input.readStringRequireUtf8();
 
               columnClassName_ = s;
               break;
@@ -4530,11 +4801,10 @@ package org.apache.calcite.avatica.proto;
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-        throw new RuntimeException(e.setUnfinishedMessage(this));
+        throw e.setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
-        throw new RuntimeException(
-            new com.google.protobuf.InvalidProtocolBufferException(
-                e.getMessage()).setUnfinishedMessage(this));
+        throw new com.google.protobuf.InvalidProtocolBufferException(
+            e).setUnfinishedMessage(this);
       } finally {
         makeExtensionsImmutable();
       }
@@ -4544,7 +4814,7 @@ package org.apache.calcite.avatica.proto;
       return org.apache.calcite.avatica.proto.Common.internal_static_ColumnMetaData_descriptor;
     }
 
-    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
       return org.apache.calcite.avatica.proto.Common.internal_static_ColumnMetaData_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
@@ -4930,13 +5200,13 @@ package org.apache.calcite.avatica.proto;
         output.writeUInt32(8, displaySize_);
       }
       if (!getLabelBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 9, label_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, label_);
       }
       if (!getColumnNameBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 10, columnName_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 10, columnName_);
       }
       if (!getSchemaNameBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 11, schemaName_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 11, schemaName_);
       }
       if (precision_ != 0) {
         output.writeUInt32(12, precision_);
@@ -4945,10 +5215,10 @@ package org.apache.calcite.avatica.proto;
         output.writeUInt32(13, scale_);
       }
       if (!getTableNameBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 14, tableName_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 14, tableName_);
       }
       if (!getCatalogNameBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 15, catalogName_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 15, catalogName_);
       }
       if (readOnly_ != false) {
         output.writeBool(16, readOnly_);
@@ -4960,7 +5230,7 @@ package org.apache.calcite.avatica.proto;
         output.writeBool(18, definitelyWritable_);
       }
       if (!getColumnClassNameBytes().isEmpty()) {
-        com.google.protobuf.GeneratedMessage.writeString(output, 19, columnClassName_);
+        com.google.protobuf.GeneratedMessageV3.writeString(output, 19, columnClassName_);
       }
       if (type_ != null) {
         output.writeMessage(20, getType());
@@ -5005,13 +5275,13 @@ package org.apache.calcite.avatica.proto;
           .computeUInt32Size(8, displaySize_);
       }
       if (!getLabelBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(9, label_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, label_);
       }
       if (!getColumnNameBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(10, columnName_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, columnName_);
       }
       if (!getSchemaNameBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(11, schemaName_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, schemaName_);
       }
       if (precision_ != 0) {
         size += com.google.protobuf.CodedOutputStream
@@ -5022,10 +5292,10 @@ package org.apache.calcite.avatica.proto;
           .computeUInt32Size(13, scale_);
       }
       if (!getTableNameBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(14, tableName_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, tableName_);
       }
       if (!getCatalogNameBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(15, catalogName_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(15, catalogName_);
       }
       if (readOnly_ != false) {
         size += com.google.protobuf.CodedOutputStream
@@ -5040,7 +5310,7 @@ package org.apache.calcite.avatica.proto;
           .computeBoolSize(18, definitelyWritable_);
       }
       if (!getColumnClassNameBytes().isEmpty()) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(19, columnClassName_);
+        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(19, columnClassName_);
       }
       if (type_ != null) {
         size += com.google.protobuf.CodedOutputStream
@@ -5051,6 +5321,125 @@ package org.apache.calcite.avatica.proto;
     }
 
     private static final long serialVersionUID = 0L;
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
+      if (obj == this) {
+       return true;
+      }
+      if (!(obj instanceof org.apache.calcite.avatica.proto.Common.ColumnMetaData)) {
+        return super.equals(obj);
+      }
+      org.apache.calcite.avatica.proto.Common.ColumnMetaData other = (org.apache.calcite.avatica.proto.Common.ColumnMetaData) obj;
+
+      boolean result = true;
+      result = result && (getOrdinal()
+          == other.getOrdinal());
+      result = result && (getAutoIncrement()
+          == other.getAutoIncrement());
+      result = result && (getCaseSensitive()
+          == other.getCaseSensitive());
+      result = result && (getSearchable()
+          == other.getSearchable());
+      result = result && (getCurrency()
+          == other.getCurrency());
+      result = result && (getNullable()
+          == other.getNullable());
+      result = result && (getSigned()
+          == other.getSigned());
+      result = result && (getDisplaySize()
+          == other.getDisplaySize());
+      result = result && getLabel()
+          .equals(other.getLabel());
+      result = result && getColumnName()
+          .equals(other.getColumnName());
+      result = result && getSchemaName()
+          .equals(other.getSchemaName());
+      result = result && (getPrecision()
+          == other.getPrecision());
+      result = result && (getScale()
+          == other.getScale());
+      result = result && getTableName()
+          .equals(other.getTableName());
+      result = result && getCatalogName()
+          .equals(other.getCatalogName());
+      result = result && (getReadOnly()
+          == other.getReadOnly());
+      result = result && (getWritable()
+          == other.getWritable());
+      result = result && (getDefinitelyWritable()
+          == other.getDefinitelyWritable());
+      result = result && getColumnClassName()
+          .equals(other.getColumnClassName());
+      result = result && (hasType() == other.hasType());
+      if (hasType()) {
+        result = result && getType()
+            .equals(other.getType());
+      }
+      return result;
+    }
+
+    @java.lang.Override
+    public int hashCode() {
+      if (memoizedHashCode != 0) {
+        return memoizedHashCode;
+      }
+      int hash = 41;
+      hash = (19 * hash) + getDescriptorForType().hashCode();
+      hash = (37 * hash) + ORDINAL_FIELD_NUMBER;
+      hash = (53 * hash) + getOrdinal();
+      hash = (37 * hash) + AUTO_INCREMENT_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getAutoIncrement());
+      hash = (37 * hash) + CASE_SENSITIVE_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getCaseSensitive());
+      hash = (37 * hash) + SEARCHABLE_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getSearchable());
+      hash = (37 * hash) + CURRENCY_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getCurrency());
+      hash = (37 * hash) + NULLABLE_FIELD_NUMBER;
+      hash = (53 * hash) + getNullable();
+      hash = (37 * hash) + SIGNED_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getSigned());
+      hash = (37 * hash) + DISPLAY_SIZE_FIELD_NUMBER;
+      hash = (53 * hash) + getDisplaySize();
+      hash = (37 * hash) + LABEL_FIELD_NUMBER;
+      hash = (53 * hash) + getLabel().hashCode();
+      hash = (37 * hash) + COLUMN_NAME_FIELD_NUMBER;
+      hash = (53 * hash) + getColumnName().hashCode();
+      hash = (37 * hash) + SCHEMA_NAME_FIELD_NUMBER;
+      hash = (53 * hash) + getSchemaName().hashCode();
+      hash = (37 * hash) + PRECISION_FIELD_NUMBER;
+      hash = (53 * hash) + getPrecision();
+      hash = (37 * hash) + SCALE_FIELD_NUMBER;
+      hash = (53 * hash) + getScale();
+      hash = (37 * hash) + TABLE_NAME_FIELD_NUMBER;
+      hash = (53 * hash) + getTableName().hashCode();
+      hash = (37 * hash) + CATALOG_NAME_FIELD_NUMBER;
+      hash = (53 * hash) + getCatalogName().hashCode();
+      hash = (37 * hash) + READ_ONLY_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getReadOnly());
+      hash = (37 * hash) + WRITABLE_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getWritable());
+      hash = (37 * hash) + DEFINITELY_WRITABLE_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
+          getDefinitelyWritable());
+      hash = (37 * hash) + COLUMN_CLASS_NAME_FIELD_NUMBER;
+      hash = (53 * hash) + getColumnClassName().hashCode();
+      if (hasType()) {
+        hash = (37 * hash) + TYPE_FIELD_NUMBER;
+        hash = (53 * hash) + getType().hashCode();
+      }
+      hash = (29 * hash) + unknownFields.hashCode();
+      memoizedHashCode = hash;
+      return hash;
+    }
+
     public static org.apache.calcite.avatica.proto.Common.ColumnMetaData parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
@@ -5074,34 +5463,40 @@ package org.apache.calcite.avatica.proto;
     }
     public static org.apache.calcite.avatica.proto.Common.ColumnMetaData parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Common.ColumnMetaData parseFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Common.ColumnMetaData parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Common.ColumnMetaData parseDelimitedFrom(
         java.io.InputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseDelimitedFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
     }
     public static org.apache.calcite.avatica.proto.Common.ColumnMetaData parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return PARSER.parseFrom(input);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input);
     }
     public static org.apache.calcite.avatica.proto.Common.ColumnMetaData parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return PARSER.parseFrom(input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessageV3
+          .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
     public Builder newBuilderForType() { return newBuilder(); }
@@ -5118,7 +5513,7 @@ package org.apache.calcite.avatica.proto;
 
     @java.lang.Override
     protected Builder newBuilderForType(
-        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -5126,7 +5521,7 @@ package org.apache.calcite.avatica.proto;
      * Protobuf type {@code ColumnMetaData}
      */
     public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
         // @@protoc_insertion_point(builder_implements:ColumnMetaData)
         org.apache.calcite.avatica.proto.Common.ColumnMetaDataOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
@@ -5134,7 +5529,7 @@ package org.apache.calcite.avatica.proto;
         return org.apache.calcite.avatica.proto.Common.internal_static_ColumnMetaData_descriptor;
       }
 
-      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
         return org.apache.calcite.avatica.proto.Common.internal_static_ColumnMetaData_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
@@ -5147,12 +5542,13 @@ package org.apache.calcite.avatica.proto;
       }
 
       private Builder(
-          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessageV3
+                .alwaysUseFieldBuilders) {
         }
       }
       public Builder clear() {
@@ -5251,6 +5647,32 @@ package org.apache.calcite.avatica.proto;
         return result;
       }
 
+      public Builder clone() {
+        return (Builder) super.clone();
+      }
+      public Builder setField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.setField(field, value);
+      }
+      public Builder clearField(
+          com.google.protobuf.Descriptors.FieldDescriptor field) {
+        return (Builder) super.clearField(field);
+      }
+      public Builder clearOneof(
+          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+        return (Builder) super.clearOneof(oneof);
+      }
+      public Builder setRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          int index, Object value) {
+        return (Builder) super.setRepeatedField(field, index, value);
+      }
+      public Builder addRepeatedField(
+          com.google.protobuf.Descriptors.FieldDescriptor field,
+          Object value) {
+        return (Builder) super.addRepeatedField(field, value);
+      }
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof org.apache.calcite.avatica.proto.Common.ColumnMetaData) {
           return mergeFrom((org.apache.calcite.avatica.proto.Common.ColumnMetaData)other);
@@ -5345,7 +5767,7 @@ package org.apache.calcite.avatica.proto;
           parsedMessage 

<TRUNCATED>