From ca61be5f5ad0cb73e42c5c4fb2b3c4278ad4e352 Mon Sep 17 00:00:00 2001 From: WithLin Date: Thu, 13 Sep 2018 18:36:36 +0800 Subject: [PATCH] fix upgrade proto2 to proto3 --- .../client/impl/SimpleCanalConnector.java | 2 +- .../client/running/ClientRunningTest.java | 188 +- .../otter/canal/protocol/CanalEntry.java | 4068 ++++++--------- .../otter/canal/protocol/CanalPacket.java | 4574 ++++++++--------- .../otter/canal/protocol/CanalProtocol.proto | 125 +- .../otter/canal/protocol/EntryProtocol.proto | 191 +- .../server/CanalServerWithNettyTest.java | 4 +- 7 files changed, 4125 insertions(+), 5027 deletions(-) diff --git a/client/src/main/java/com/alibaba/otter/canal/client/impl/SimpleCanalConnector.java b/client/src/main/java/com/alibaba/otter/canal/client/impl/SimpleCanalConnector.java index 0f29794d..b7951912 100644 --- a/client/src/main/java/com/alibaba/otter/canal/client/impl/SimpleCanalConnector.java +++ b/client/src/main/java/com/alibaba/otter/canal/client/impl/SimpleCanalConnector.java @@ -159,7 +159,7 @@ public class SimpleCanalConnector implements CanalConnector { } // Handshake handshake = Handshake.parseFrom(p.getBody()); - supportedCompressions.addAll(handshake.getSupportedCompressionsList()); + supportedCompressions.add(handshake.getSupportedCompressions()); // ClientAuth ca = ClientAuth.newBuilder() .setUsername(username != null ? username : "") diff --git a/client/src/test/java/com/alibaba/otter/canal/client/running/ClientRunningTest.java b/client/src/test/java/com/alibaba/otter/canal/client/running/ClientRunningTest.java index cbdfd0ea..40755671 100644 --- a/client/src/test/java/com/alibaba/otter/canal/client/running/ClientRunningTest.java +++ b/client/src/test/java/com/alibaba/otter/canal/client/running/ClientRunningTest.java @@ -20,117 +20,117 @@ import com.alibaba.otter.canal.common.zookeeper.ZookeeperPathUtils; public class ClientRunningTest extends AbstractZkTest { - private ZkClientx zkclientx = new ZkClientx(cluster1 + ";" + cluster2); - private short clientId = 1001; + private ZkClientx zkclientx = new ZkClientx(cluster1 + ";" + cluster2); + private short clientId = 1001; - @Before - public void setUp() { - String path = ZookeeperPathUtils.getDestinationPath(destination); - zkclientx.deleteRecursive(path); + @Before + public void setUp() { + String path = ZookeeperPathUtils.getDestinationPath(destination); + zkclientx.deleteRecursive(path); - zkclientx.createPersistent(ZookeeperPathUtils.getClientIdNodePath(this.destination, clientId), true); - } + zkclientx.createPersistent(ZookeeperPathUtils.getClientIdNodePath(this.destination, clientId), true); + } - @After - public void tearDown() { - String path = ZookeeperPathUtils.getDestinationPath(destination); - zkclientx.deleteRecursive(path); - } + @After + public void tearDown() { + String path = ZookeeperPathUtils.getDestinationPath(destination); + zkclientx.deleteRecursive(path); + } - @Test - public void testOneServer() { - final CountDownLatch countLatch = new CountDownLatch(2); - ClientRunningMonitor runningMonitor = buildClientRunning(countLatch, clientId, 2088); - runningMonitor.start(); - sleep(2000L); - runningMonitor.stop(); - sleep(2000L); + @Test + public void testOneServer() { + final CountDownLatch countLatch = new CountDownLatch(2); + ClientRunningMonitor runningMonitor = buildClientRunning(countLatch, clientId, 2088); + runningMonitor.start(); + sleep(2000L); + runningMonitor.stop(); + sleep(2000L); - if (countLatch.getCount() != 0) { - Assert.fail(); - } - } + if (countLatch.getCount() != 0) { + Assert.fail(); + } + } - @Test - public void testMultiServer() { - final CountDownLatch countLatch = new CountDownLatch(30); - final ClientRunningMonitor runningMonitor1 = buildClientRunning(countLatch, clientId, 2088); - final ClientRunningMonitor runningMonitor2 = buildClientRunning(countLatch, clientId, 2089); - final ClientRunningMonitor runningMonitor3 = buildClientRunning(countLatch, clientId, 2090); - final ExecutorService executor = Executors.newFixedThreadPool(3); - executor.submit(new Runnable() { + @Test + public void testMultiServer() { + final CountDownLatch countLatch = new CountDownLatch(30); + final ClientRunningMonitor runningMonitor1 = buildClientRunning(countLatch, clientId, 2088); + final ClientRunningMonitor runningMonitor2 = buildClientRunning(countLatch, clientId, 2089); + final ClientRunningMonitor runningMonitor3 = buildClientRunning(countLatch, clientId, 2090); + final ExecutorService executor = Executors.newFixedThreadPool(3); + executor.submit(new Runnable() { - public void run() { - for (int i = 0; i < 10; i++) { - if (!runningMonitor1.isStart()) { - runningMonitor1.start(); - } - sleep(2000L + RandomUtils.nextInt(500)); - runningMonitor1.stop(); - sleep(2000L + RandomUtils.nextInt(500)); - } - } + public void run() { + for (int i = 0; i < 10; i++) { + if (!runningMonitor1.isStart()) { + runningMonitor1.start(); + } + sleep(2000L + RandomUtils.nextInt(500)); + runningMonitor1.stop(); + sleep(2000L + RandomUtils.nextInt(500)); + } + } - }); + }); - executor.submit(new Runnable() { + executor.submit(new Runnable() { - public void run() { - for (int i = 0; i < 10; i++) { - if (!runningMonitor2.isStart()) { - runningMonitor2.start(); - } - sleep(2000L + RandomUtils.nextInt(500)); - runningMonitor2.stop(); - sleep(2000L + RandomUtils.nextInt(500)); - } - } + public void run() { + for (int i = 0; i < 10; i++) { + if (!runningMonitor2.isStart()) { + runningMonitor2.start(); + } + sleep(2000L + RandomUtils.nextInt(500)); + runningMonitor2.stop(); + sleep(2000L + RandomUtils.nextInt(500)); + } + } - }); + }); - executor.submit(new Runnable() { + executor.submit(new Runnable() { - public void run() { - for (int i = 0; i < 10; i++) { - if (!runningMonitor3.isStart()) { - runningMonitor3.start(); - } - sleep(2000L + RandomUtils.nextInt(500)); - runningMonitor3.stop(); - sleep(2000L + RandomUtils.nextInt(500)); - } - } + public void run() { + for (int i = 0; i < 10; i++) { + if (!runningMonitor3.isStart()) { + runningMonitor3.start(); + } + sleep(2000L + RandomUtils.nextInt(500)); + runningMonitor3.stop(); + sleep(2000L + RandomUtils.nextInt(500)); + } + } - }); + }); - sleep(30000L); - } + sleep(30000L); + } - private ClientRunningMonitor buildClientRunning(final CountDownLatch countLatch, final short clientId, - final int port) { - ClientRunningData clientData = new ClientRunningData(); - clientData.setClientId(clientId); - clientData.setAddress(AddressUtils.getHostIp()); + private ClientRunningMonitor buildClientRunning(final CountDownLatch countLatch, final short clientId, + final int port) { + ClientRunningData clientData = new ClientRunningData(); + clientData.setClientId(clientId); + clientData.setAddress(AddressUtils.getHostIp()); - ClientRunningMonitor runningMonitor = new ClientRunningMonitor(); - runningMonitor.setDestination(destination); - runningMonitor.setZkClient(zkclientx); - runningMonitor.setClientData(clientData); - runningMonitor.setListener(new ClientRunningListener() { + ClientRunningMonitor runningMonitor = new ClientRunningMonitor(); + runningMonitor.setDestination(destination); + runningMonitor.setZkClient(zkclientx); + runningMonitor.setClientData(clientData); + runningMonitor.setListener(new ClientRunningListener() { - public InetSocketAddress processActiveEnter() { - System.out.println(String.format("clientId:%s port:%s has start", clientId, port)); - countLatch.countDown(); - return new InetSocketAddress(AddressUtils.getHostIp(), port); - } + public InetSocketAddress processActiveEnter() { + System.out.println(String.format("clientId:%s port:%s has start", clientId, port)); + countLatch.countDown(); + return new InetSocketAddress(AddressUtils.getHostIp(), port); + } - public void processActiveExit() { - countLatch.countDown(); - System.out.println(String.format("clientId:%s port:%s has stop", clientId, port)); - } + public void processActiveExit() { + countLatch.countDown(); + System.out.println(String.format("clientId:%s port:%s has stop", clientId, port)); + } - }); - runningMonitor.setDelayTime(1); - return runningMonitor; - } -} + }); + runningMonitor.setDelayTime(1); + return runningMonitor; + } +} \ No newline at end of file diff --git a/protocol/src/main/java/com/alibaba/otter/canal/protocol/CanalEntry.java b/protocol/src/main/java/com/alibaba/otter/canal/protocol/CanalEntry.java index 8807b1fd..997f76c5 100644 --- a/protocol/src/main/java/com/alibaba/otter/canal/protocol/CanalEntry.java +++ b/protocol/src/main/java/com/alibaba/otter/canal/protocol/CanalEntry.java @@ -22,7 +22,11 @@ public final class CanalEntry { * Protobuf enum {@code com.alibaba.otter.canal.protocol.EntryType} */ public enum EntryType - implements com.google.protobuf.ProtocolMessageEnum { + implements com.google.protobuf.ProtocolMessageEnum { + /** + * ENTRYTYPECOMPATIBLEPROTO2 = 0; + */ + ENTRYTYPECOMPATIBLEPROTO2(0), /** * TRANSACTIONBEGIN = 1; */ @@ -47,8 +51,13 @@ public final class CanalEntry { * GTIDLOG = 5; */ GTIDLOG(5), + UNRECOGNIZED(-1), ; + /** + * ENTRYTYPECOMPATIBLEPROTO2 = 0; + */ + public static final int ENTRYTYPECOMPATIBLEPROTO2_VALUE = 0; /** * TRANSACTIONBEGIN = 1; */ @@ -76,6 +85,10 @@ public final class CanalEntry { public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } return value; } @@ -89,6 +102,7 @@ public final class CanalEntry { public static EntryType forNumber(int value) { switch (value) { + case 0: return ENTRYTYPECOMPATIBLEPROTO2; case 1: return TRANSACTIONBEGIN; case 2: return ROWDATA; case 3: return TRANSACTIONEND; @@ -99,37 +113,40 @@ public final class CanalEntry { } public static com.google.protobuf.Internal.EnumLiteMap - internalGetValueMap() { + internalGetValueMap() { return internalValueMap; } private static final com.google.protobuf.Internal.EnumLiteMap< - EntryType> internalValueMap = - new com.google.protobuf.Internal.EnumLiteMap() { - public EntryType findValueByNumber(int number) { - return EntryType.forNumber(number); - } - }; + EntryType> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public EntryType findValueByNumber(int number) { + return EntryType.forNumber(number); + } + }; public final com.google.protobuf.Descriptors.EnumValueDescriptor - getValueDescriptor() { + getValueDescriptor() { return getDescriptor().getValues().get(ordinal()); } public final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptorForType() { + getDescriptorForType() { return getDescriptor(); } public static final com.google.protobuf.Descriptors.EnumDescriptor - getDescriptor() { + getDescriptor() { return com.alibaba.otter.canal.protocol.CanalEntry.getDescriptor().getEnumTypes().get(0); } private static final EntryType[] VALUES = values(); public static EntryType valueOf( - com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { throw new java.lang.IllegalArgumentException( - "EnumValueDescriptor is not for this type."); + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; } return VALUES[desc.getIndex()]; } @@ -152,6 +169,10 @@ public final class CanalEntry { */ public enum EventType implements com.google.protobuf.ProtocolMessageEnum { + /** + * EVENTTYPECOMPATIBLEPROTO2 = 0; + */ + EVENTTYPECOMPATIBLEPROTO2(0), /** * INSERT = 1; */ @@ -224,8 +245,13 @@ public final class CanalEntry { * MHEARTBEAT = 15; */ MHEARTBEAT(15), + UNRECOGNIZED(-1), ; + /** + * EVENTTYPECOMPATIBLEPROTO2 = 0; + */ + public static final int EVENTTYPECOMPATIBLEPROTO2_VALUE = 0; /** * INSERT = 1; */ @@ -301,6 +327,10 @@ public final class CanalEntry { public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } return value; } @@ -314,6 +344,7 @@ public final class CanalEntry { public static EventType forNumber(int value) { switch (value) { + case 0: return EVENTTYPECOMPATIBLEPROTO2; case 1: return INSERT; case 2: return UPDATE; case 3: return DELETE; @@ -366,6 +397,9 @@ public final class CanalEntry { throw new java.lang.IllegalArgumentException( "EnumValueDescriptor is not for this type."); } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } return VALUES[desc.getIndex()]; } @@ -387,6 +421,10 @@ public final class CanalEntry { */ public enum Type implements com.google.protobuf.ProtocolMessageEnum { + /** + * TYPECOMPATIBLEPROTO2 = 0; + */ + TYPECOMPATIBLEPROTO2(0), /** * ORACLE = 1; */ @@ -399,8 +437,13 @@ public final class CanalEntry { * PGSQL = 3; */ PGSQL(3), + UNRECOGNIZED(-1), ; + /** + * TYPECOMPATIBLEPROTO2 = 0; + */ + public static final int TYPECOMPATIBLEPROTO2_VALUE = 0; /** * ORACLE = 1; */ @@ -416,6 +459,10 @@ public final class CanalEntry { public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } return value; } @@ -429,6 +476,7 @@ public final class CanalEntry { public static Type forNumber(int value) { switch (value) { + case 0: return TYPECOMPATIBLEPROTO2; case 1: return ORACLE; case 2: return MYSQL; case 3: return PGSQL; @@ -469,6 +517,9 @@ public final class CanalEntry { throw new java.lang.IllegalArgumentException( "EnumValueDescriptor is not for this type."); } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } return VALUES[desc.getIndex()]; } @@ -490,7 +541,7 @@ public final class CanalEntry { **协议头部信息* * * - * optional .com.alibaba.otter.canal.protocol.Header header = 1; + * .com.alibaba.otter.canal.protocol.Header header = 1; */ boolean hasHeader(); /** @@ -498,7 +549,7 @@ public final class CanalEntry { **协议头部信息* * * - * optional .com.alibaba.otter.canal.protocol.Header header = 1; + * .com.alibaba.otter.canal.protocol.Header header = 1; */ com.alibaba.otter.canal.protocol.CanalEntry.Header getHeader(); /** @@ -506,24 +557,16 @@ public final class CanalEntry { **协议头部信息* * * - * optional .com.alibaba.otter.canal.protocol.Header header = 1; + * .com.alibaba.otter.canal.protocol.Header header = 1; */ com.alibaba.otter.canal.protocol.CanalEntry.HeaderOrBuilder getHeaderOrBuilder(); /** - *
-     **打散后的事件类型*
-     * 
- * - * optional .com.alibaba.otter.canal.protocol.EntryType entryType = 2 [default = ROWDATA]; + * .com.alibaba.otter.canal.protocol.EntryType entryType = 2; */ - boolean hasEntryType(); + int getEntryTypeValue(); /** - *
-     **打散后的事件类型*
-     * 
- * - * optional .com.alibaba.otter.canal.protocol.EntryType entryType = 2 [default = ROWDATA]; + * .com.alibaba.otter.canal.protocol.EntryType entryType = 2; */ com.alibaba.otter.canal.protocol.CanalEntry.EntryType getEntryType(); @@ -532,17 +575,11 @@ public final class CanalEntry { **传输的二进制数组* * * - * optional bytes storeValue = 3; - */ - boolean hasStoreValue(); - /** - *
-     **传输的二进制数组*
-     * 
- * - * optional bytes storeValue = 3; + * bytes storeValue = 3; */ com.google.protobuf.ByteString getStoreValue(); + + public com.alibaba.otter.canal.protocol.CanalEntry.Entry.EntryTypePresentCase getEntryTypePresentCase(); } /** *
@@ -564,7 +601,6 @@ public final class CanalEntry {
       super(builder);
     }
     private Entry() {
-      entryType_ = 2;
       storeValue_ = com.google.protobuf.ByteString.EMPTY;
     }
 
@@ -594,36 +630,30 @@ public final class CanalEntry {
               break;
             case 10: {
               com.alibaba.otter.canal.protocol.CanalEntry.Header.Builder subBuilder = null;
-              if (((bitField0_ & 0x00000001) == 0x00000001)) {
+              if (header_ != null) {
                 subBuilder = header_.toBuilder();
               }
-              header_ = input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Header.PARSER, extensionRegistry);
+              header_ = input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Header.parser(), extensionRegistry);
               if (subBuilder != null) {
                 subBuilder.mergeFrom(header_);
                 header_ = subBuilder.buildPartial();
               }
-              bitField0_ |= 0x00000001;
+
               break;
             }
             case 16: {
               int rawValue = input.readEnum();
-                @SuppressWarnings("deprecation")
-              com.alibaba.otter.canal.protocol.CanalEntry.EntryType value = com.alibaba.otter.canal.protocol.CanalEntry.EntryType.valueOf(rawValue);
-              if (value == null) {
-                unknownFields.mergeVarintField(2, rawValue);
-              } else {
-                bitField0_ |= 0x00000002;
-                entryType_ = rawValue;
-              }
+              entryTypePresentCase_ = 2;
+              entryTypePresent_ = rawValue;
               break;
             }
             case 26: {
-              bitField0_ |= 0x00000004;
+
               storeValue_ = input.readBytes();
               break;
             }
             default: {
-              if (!parseUnknownField(
+              if (!parseUnknownFieldProto3(
                   input, unknownFields, extensionRegistry, tag)) {
                 done = true;
               }
@@ -654,7 +684,42 @@ public final class CanalEntry {
               com.alibaba.otter.canal.protocol.CanalEntry.Entry.class, com.alibaba.otter.canal.protocol.CanalEntry.Entry.Builder.class);
     }
 
-    private int bitField0_;
+    private int entryTypePresentCase_ = 0;
+    private java.lang.Object entryTypePresent_;
+    public enum EntryTypePresentCase
+        implements com.google.protobuf.Internal.EnumLite {
+      ENTRYTYPE(2),
+      ENTRYTYPEPRESENT_NOT_SET(0);
+      private final int value;
+      private EntryTypePresentCase(int value) {
+        this.value = value;
+      }
+      /**
+       * @deprecated Use {@link #forNumber(int)} instead.
+       */
+      @java.lang.Deprecated
+      public static EntryTypePresentCase valueOf(int value) {
+        return forNumber(value);
+      }
+
+      public static EntryTypePresentCase forNumber(int value) {
+        switch (value) {
+          case 2: return ENTRYTYPE;
+          case 0: return ENTRYTYPEPRESENT_NOT_SET;
+          default: return null;
+        }
+      }
+      public int getNumber() {
+        return this.value;
+      }
+    };
+
+    public EntryTypePresentCase
+    getEntryTypePresentCase() {
+      return EntryTypePresentCase.forNumber(
+          entryTypePresentCase_);
+    }
+
     public static final int HEADER_FIELD_NUMBER = 1;
     private com.alibaba.otter.canal.protocol.CanalEntry.Header header_;
     /**
@@ -662,17 +727,17 @@ public final class CanalEntry {
      **协议头部信息*
      * 
* - * optional .com.alibaba.otter.canal.protocol.Header header = 1; + * .com.alibaba.otter.canal.protocol.Header header = 1; */ public boolean hasHeader() { - return ((bitField0_ & 0x00000001) == 0x00000001); + return header_ != null; } /** *
      **协议头部信息*
      * 
* - * optional .com.alibaba.otter.canal.protocol.Header header = 1; + * .com.alibaba.otter.canal.protocol.Header header = 1; */ public com.alibaba.otter.canal.protocol.CanalEntry.Header getHeader() { return header_ == null ? com.alibaba.otter.canal.protocol.CanalEntry.Header.getDefaultInstance() : header_; @@ -682,35 +747,33 @@ public final class CanalEntry { **协议头部信息* * * - * optional .com.alibaba.otter.canal.protocol.Header header = 1; + * .com.alibaba.otter.canal.protocol.Header header = 1; */ public com.alibaba.otter.canal.protocol.CanalEntry.HeaderOrBuilder getHeaderOrBuilder() { - return header_ == null ? com.alibaba.otter.canal.protocol.CanalEntry.Header.getDefaultInstance() : header_; + return getHeader(); } public static final int ENTRYTYPE_FIELD_NUMBER = 2; - private int entryType_; /** - *
-     **打散后的事件类型*
-     * 
- * - * optional .com.alibaba.otter.canal.protocol.EntryType entryType = 2 [default = ROWDATA]; + * .com.alibaba.otter.canal.protocol.EntryType entryType = 2; */ - public boolean hasEntryType() { - return ((bitField0_ & 0x00000002) == 0x00000002); + public int getEntryTypeValue() { + if (entryTypePresentCase_ == 2) { + return (java.lang.Integer) entryTypePresent_; + } + return EntryType.ROWDATA_VALUE; } /** - *
-     **打散后的事件类型*
-     * 
- * - * optional .com.alibaba.otter.canal.protocol.EntryType entryType = 2 [default = ROWDATA]; + * .com.alibaba.otter.canal.protocol.EntryType entryType = 2; */ public com.alibaba.otter.canal.protocol.CanalEntry.EntryType getEntryType() { - @SuppressWarnings("deprecation") - com.alibaba.otter.canal.protocol.CanalEntry.EntryType result = com.alibaba.otter.canal.protocol.CanalEntry.EntryType.valueOf(entryType_); - return result == null ? com.alibaba.otter.canal.protocol.CanalEntry.EntryType.ROWDATA : result; + if (entryTypePresentCase_ == 2) { + @SuppressWarnings("deprecation") + com.alibaba.otter.canal.protocol.CanalEntry.EntryType result = com.alibaba.otter.canal.protocol.CanalEntry.EntryType.valueOf( + (java.lang.Integer) entryTypePresent_); + return result == null ? com.alibaba.otter.canal.protocol.CanalEntry.EntryType.UNRECOGNIZED : result; + } + return com.alibaba.otter.canal.protocol.CanalEntry.EntryType.TRANSACTIONBEGIN; } public static final int STOREVALUE_FIELD_NUMBER = 3; @@ -720,17 +783,7 @@ public final class CanalEntry { **传输的二进制数组* * * - * optional bytes storeValue = 3; - */ - public boolean hasStoreValue() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - *
-     **传输的二进制数组*
-     * 
- * - * optional bytes storeValue = 3; + * bytes storeValue = 3; */ public com.google.protobuf.ByteString getStoreValue() { return storeValue_; @@ -750,13 +803,13 @@ public final class CanalEntry { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (header_ != null) { output.writeMessage(1, getHeader()); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeEnum(2, entryType_); + if (entryTypePresentCase_ == 2) { + output.writeEnum(2, ((java.lang.Integer) entryTypePresent_)); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (!storeValue_.isEmpty()) { output.writeBytes(3, storeValue_); } unknownFields.writeTo(output); @@ -768,15 +821,15 @@ public final class CanalEntry { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (header_ != null) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getHeader()); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (entryTypePresentCase_ == 2) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(2, entryType_); + .computeEnumSize(2, ((java.lang.Integer) entryTypePresent_)); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (!storeValue_.isEmpty()) { size += com.google.protobuf.CodedOutputStream .computeBytesSize(3, storeValue_); } @@ -801,14 +854,18 @@ public final class CanalEntry { result = result && getHeader() .equals(other.getHeader()); } - result = result && (hasEntryType() == other.hasEntryType()); - if (hasEntryType()) { - result = result && entryType_ == other.entryType_; - } - result = result && (hasStoreValue() == other.hasStoreValue()); - if (hasStoreValue()) { - result = result && getStoreValue() - .equals(other.getStoreValue()); + result = result && getStoreValue() + .equals(other.getStoreValue()); + result = result && getEntryTypePresentCase().equals( + other.getEntryTypePresentCase()); + if (!result) return false; + switch (entryTypePresentCase_) { + case 2: + result = result && getEntryTypeValue() + == other.getEntryTypeValue(); + break; + case 0: + default: } result = result && unknownFields.equals(other.unknownFields); return result; @@ -825,13 +882,15 @@ public final class CanalEntry { hash = (37 * hash) + HEADER_FIELD_NUMBER; hash = (53 * hash) + getHeader().hashCode(); } - if (hasEntryType()) { - hash = (37 * hash) + ENTRYTYPE_FIELD_NUMBER; - hash = (53 * hash) + entryType_; - } - if (hasStoreValue()) { - hash = (37 * hash) + STOREVALUE_FIELD_NUMBER; - hash = (53 * hash) + getStoreValue().hashCode(); + hash = (37 * hash) + STOREVALUE_FIELD_NUMBER; + hash = (53 * hash) + getStoreValue().hashCode(); + switch (entryTypePresentCase_) { + case 2: + hash = (37 * hash) + ENTRYTYPE_FIELD_NUMBER; + hash = (53 * hash) + getEntryTypeValue(); + break; + case 0: + default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; @@ -968,7 +1027,6 @@ public final class CanalEntry { private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { - getHeaderFieldBuilder(); } } @java.lang.Override @@ -977,13 +1035,13 @@ public final class CanalEntry { if (headerBuilder_ == null) { header_ = null; } else { - headerBuilder_.clear(); + header_ = null; + headerBuilder_ = null; } - bitField0_ = (bitField0_ & ~0x00000001); - entryType_ = 2; - bitField0_ = (bitField0_ & ~0x00000002); storeValue_ = com.google.protobuf.ByteString.EMPTY; - bitField0_ = (bitField0_ & ~0x00000004); + + entryTypePresentCase_ = 0; + entryTypePresent_ = null; return this; } @@ -1010,25 +1068,16 @@ public final class CanalEntry { @java.lang.Override public com.alibaba.otter.canal.protocol.CanalEntry.Entry buildPartial() { com.alibaba.otter.canal.protocol.CanalEntry.Entry result = new com.alibaba.otter.canal.protocol.CanalEntry.Entry(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } if (headerBuilder_ == null) { result.header_ = header_; } else { result.header_ = headerBuilder_.build(); } - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } - result.entryType_ = entryType_; - if (((from_bitField0_ & 0x00000004) == 0x00000004)) { - to_bitField0_ |= 0x00000004; + if (entryTypePresentCase_ == 2) { + result.entryTypePresent_ = entryTypePresent_; } result.storeValue_ = storeValue_; - result.bitField0_ = to_bitField0_; + result.entryTypePresentCase_ = entryTypePresentCase_; onBuilt(); return result; } @@ -1080,12 +1129,18 @@ public final class CanalEntry { if (other.hasHeader()) { mergeHeader(other.getHeader()); } - if (other.hasEntryType()) { - setEntryType(other.getEntryType()); - } - if (other.hasStoreValue()) { + if (other.getStoreValue() != com.google.protobuf.ByteString.EMPTY) { setStoreValue(other.getStoreValue()); } + switch (other.getEntryTypePresentCase()) { + case ENTRYTYPE: { + setEntryTypeValue(other.getEntryTypeValue()); + break; + } + case ENTRYTYPEPRESENT_NOT_SET: { + break; + } + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -1114,7 +1169,21 @@ public final class CanalEntry { } return this; } - private int bitField0_; + private int entryTypePresentCase_ = 0; + private java.lang.Object entryTypePresent_; + public EntryTypePresentCase + getEntryTypePresentCase() { + return EntryTypePresentCase.forNumber( + entryTypePresentCase_); + } + + public Builder clearEntryTypePresent() { + entryTypePresentCase_ = 0; + entryTypePresent_ = null; + onChanged(); + return this; + } + private com.alibaba.otter.canal.protocol.CanalEntry.Header header_ = null; private com.google.protobuf.SingleFieldBuilderV3< @@ -1124,17 +1193,17 @@ public final class CanalEntry { **协议头部信息* * * - * optional .com.alibaba.otter.canal.protocol.Header header = 1; + * .com.alibaba.otter.canal.protocol.Header header = 1; */ public boolean hasHeader() { - return ((bitField0_ & 0x00000001) == 0x00000001); + return headerBuilder_ != null || header_ != null; } /** *
        **协议头部信息*
        * 
* - * optional .com.alibaba.otter.canal.protocol.Header header = 1; + * .com.alibaba.otter.canal.protocol.Header header = 1; */ public com.alibaba.otter.canal.protocol.CanalEntry.Header getHeader() { if (headerBuilder_ == null) { @@ -1148,7 +1217,7 @@ public final class CanalEntry { **协议头部信息* * * - * optional .com.alibaba.otter.canal.protocol.Header header = 1; + * .com.alibaba.otter.canal.protocol.Header header = 1; */ public Builder setHeader(com.alibaba.otter.canal.protocol.CanalEntry.Header value) { if (headerBuilder_ == null) { @@ -1160,7 +1229,7 @@ public final class CanalEntry { } else { headerBuilder_.setMessage(value); } - bitField0_ |= 0x00000001; + return this; } /** @@ -1168,7 +1237,7 @@ public final class CanalEntry { **协议头部信息* * * - * optional .com.alibaba.otter.canal.protocol.Header header = 1; + * .com.alibaba.otter.canal.protocol.Header header = 1; */ public Builder setHeader( com.alibaba.otter.canal.protocol.CanalEntry.Header.Builder builderForValue) { @@ -1178,7 +1247,7 @@ public final class CanalEntry { } else { headerBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000001; + return this; } /** @@ -1186,13 +1255,11 @@ public final class CanalEntry { **协议头部信息* * * - * optional .com.alibaba.otter.canal.protocol.Header header = 1; + * .com.alibaba.otter.canal.protocol.Header header = 1; */ public Builder mergeHeader(com.alibaba.otter.canal.protocol.CanalEntry.Header value) { if (headerBuilder_ == null) { - if (((bitField0_ & 0x00000001) == 0x00000001) && - header_ != null && - header_ != com.alibaba.otter.canal.protocol.CanalEntry.Header.getDefaultInstance()) { + if (header_ != null) { header_ = com.alibaba.otter.canal.protocol.CanalEntry.Header.newBuilder(header_).mergeFrom(value).buildPartial(); } else { @@ -1202,7 +1269,7 @@ public final class CanalEntry { } else { headerBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000001; + return this; } /** @@ -1210,16 +1277,17 @@ public final class CanalEntry { **协议头部信息* * * - * optional .com.alibaba.otter.canal.protocol.Header header = 1; + * .com.alibaba.otter.canal.protocol.Header header = 1; */ public Builder clearHeader() { if (headerBuilder_ == null) { header_ = null; onChanged(); } else { - headerBuilder_.clear(); + header_ = null; + headerBuilder_ = null; } - bitField0_ = (bitField0_ & ~0x00000001); + return this; } /** @@ -1227,10 +1295,10 @@ public final class CanalEntry { **协议头部信息* * * - * optional .com.alibaba.otter.canal.protocol.Header header = 1; + * .com.alibaba.otter.canal.protocol.Header header = 1; */ public com.alibaba.otter.canal.protocol.CanalEntry.Header.Builder getHeaderBuilder() { - bitField0_ |= 0x00000001; + onChanged(); return getHeaderFieldBuilder().getBuilder(); } @@ -1239,7 +1307,7 @@ public final class CanalEntry { **协议头部信息* * * - * optional .com.alibaba.otter.canal.protocol.Header header = 1; + * .com.alibaba.otter.canal.protocol.Header header = 1; */ public com.alibaba.otter.canal.protocol.CanalEntry.HeaderOrBuilder getHeaderOrBuilder() { if (headerBuilder_ != null) { @@ -1254,7 +1322,7 @@ public final class CanalEntry { **协议头部信息* * * - * optional .com.alibaba.otter.canal.protocol.Header header = 1; + * .com.alibaba.otter.canal.protocol.Header header = 1; */ private com.google.protobuf.SingleFieldBuilderV3< com.alibaba.otter.canal.protocol.CanalEntry.Header, com.alibaba.otter.canal.protocol.CanalEntry.Header.Builder, com.alibaba.otter.canal.protocol.CanalEntry.HeaderOrBuilder> @@ -1270,56 +1338,57 @@ public final class CanalEntry { return headerBuilder_; } - private int entryType_ = 2; /** - *
-       **打散后的事件类型*
-       * 
- * - * optional .com.alibaba.otter.canal.protocol.EntryType entryType = 2 [default = ROWDATA]; + * .com.alibaba.otter.canal.protocol.EntryType entryType = 2; */ - public boolean hasEntryType() { - return ((bitField0_ & 0x00000002) == 0x00000002); + public int getEntryTypeValue() { + if (entryTypePresentCase_ == 2) { + return ((java.lang.Integer) entryTypePresent_).intValue(); + } + return 0; } /** - *
-       **打散后的事件类型*
-       * 
- * - * optional .com.alibaba.otter.canal.protocol.EntryType entryType = 2 [default = ROWDATA]; + * .com.alibaba.otter.canal.protocol.EntryType entryType = 2; + */ + public Builder setEntryTypeValue(int value) { + entryTypePresentCase_ = 2; + entryTypePresent_ = value; + onChanged(); + return this; + } + /** + * .com.alibaba.otter.canal.protocol.EntryType entryType = 2; */ public com.alibaba.otter.canal.protocol.CanalEntry.EntryType getEntryType() { - @SuppressWarnings("deprecation") - com.alibaba.otter.canal.protocol.CanalEntry.EntryType result = com.alibaba.otter.canal.protocol.CanalEntry.EntryType.valueOf(entryType_); - return result == null ? com.alibaba.otter.canal.protocol.CanalEntry.EntryType.ROWDATA : result; + if (entryTypePresentCase_ == 2) { + @SuppressWarnings("deprecation") + com.alibaba.otter.canal.protocol.CanalEntry.EntryType result = com.alibaba.otter.canal.protocol.CanalEntry.EntryType.valueOf( + (java.lang.Integer) entryTypePresent_); + return result == null ? com.alibaba.otter.canal.protocol.CanalEntry.EntryType.UNRECOGNIZED : result; + } + return com.alibaba.otter.canal.protocol.CanalEntry.EntryType.TRANSACTIONBEGIN; } /** - *
-       **打散后的事件类型*
-       * 
- * - * optional .com.alibaba.otter.canal.protocol.EntryType entryType = 2 [default = ROWDATA]; + * .com.alibaba.otter.canal.protocol.EntryType entryType = 2; */ public Builder setEntryType(com.alibaba.otter.canal.protocol.CanalEntry.EntryType value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; - entryType_ = value.getNumber(); + entryTypePresentCase_ = 2; + entryTypePresent_ = value.getNumber(); onChanged(); return this; } /** - *
-       **打散后的事件类型*
-       * 
- * - * optional .com.alibaba.otter.canal.protocol.EntryType entryType = 2 [default = ROWDATA]; + * .com.alibaba.otter.canal.protocol.EntryType entryType = 2; */ public Builder clearEntryType() { - bitField0_ = (bitField0_ & ~0x00000002); - entryType_ = 2; - onChanged(); + if (entryTypePresentCase_ == 2) { + entryTypePresentCase_ = 0; + entryTypePresent_ = null; + onChanged(); + } return this; } @@ -1329,17 +1398,7 @@ public final class CanalEntry { **传输的二进制数组* * * - * optional bytes storeValue = 3; - */ - public boolean hasStoreValue() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - *
-       **传输的二进制数组*
-       * 
- * - * optional bytes storeValue = 3; + * bytes storeValue = 3; */ public com.google.protobuf.ByteString getStoreValue() { return storeValue_; @@ -1349,13 +1408,13 @@ public final class CanalEntry { **传输的二进制数组* * * - * optional bytes storeValue = 3; + * bytes storeValue = 3; */ public Builder setStoreValue(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000004; + storeValue_ = value; onChanged(); return this; @@ -1365,10 +1424,10 @@ public final class CanalEntry { **传输的二进制数组* * * - * optional bytes storeValue = 3; + * bytes storeValue = 3; */ public Builder clearStoreValue() { - bitField0_ = (bitField0_ & ~0x00000004); + storeValue_ = getDefaultInstance().getStoreValue(); onChanged(); return this; @@ -1376,7 +1435,7 @@ public final class CanalEntry { @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -1399,7 +1458,7 @@ public final class CanalEntry { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Entry parsePartialFrom( @@ -1431,19 +1490,7 @@ public final class CanalEntry { com.google.protobuf.MessageOrBuilder { /** - *
-     **协议的版本号*
-     * 
- * - * optional int32 version = 1 [default = 1]; - */ - boolean hasVersion(); - /** - *
-     **协议的版本号*
-     * 
- * - * optional int32 version = 1 [default = 1]; + * int32 version = 1; */ int getVersion(); @@ -1452,15 +1499,7 @@ public final class CanalEntry { **binlog/redolog 文件名* * * - * optional string logfileName = 2; - */ - boolean hasLogfileName(); - /** - *
-     **binlog/redolog 文件名*
-     * 
- * - * optional string logfileName = 2; + * string logfileName = 2; */ java.lang.String getLogfileName(); /** @@ -1468,7 +1507,7 @@ public final class CanalEntry { **binlog/redolog 文件名* * * - * optional string logfileName = 2; + * string logfileName = 2; */ com.google.protobuf.ByteString getLogfileNameBytes(); @@ -1478,15 +1517,7 @@ public final class CanalEntry { **binlog/redolog 文件的偏移位置* * * - * optional int64 logfileOffset = 3; - */ - boolean hasLogfileOffset(); - /** - *
-     **binlog/redolog 文件的偏移位置*
-     * 
- * - * optional int64 logfileOffset = 3; + * int64 logfileOffset = 3; */ long getLogfileOffset(); @@ -1495,15 +1526,7 @@ public final class CanalEntry { **服务端serverId* * * - * optional int64 serverId = 4; - */ - boolean hasServerId(); - /** - *
-     **服务端serverId*
-     * 
- * - * optional int64 serverId = 4; + * int64 serverId = 4; */ long getServerId(); @@ -1512,15 +1535,7 @@ public final class CanalEntry { ** 变更数据的编码 * * * - * optional string serverenCode = 5; - */ - boolean hasServerenCode(); - /** - *
-     ** 变更数据的编码 *
-     * 
- * - * optional string serverenCode = 5; + * string serverenCode = 5; */ java.lang.String getServerenCode(); /** @@ -1528,7 +1543,7 @@ public final class CanalEntry { ** 变更数据的编码 * * * - * optional string serverenCode = 5; + * string serverenCode = 5; */ com.google.protobuf.ByteString getServerenCodeBytes(); @@ -1538,32 +1553,16 @@ public final class CanalEntry { **变更数据的执行时间 * * * - * optional int64 executeTime = 6; - */ - boolean hasExecuteTime(); - /** - *
-     **变更数据的执行时间 *
-     * 
- * - * optional int64 executeTime = 6; + * int64 executeTime = 6; */ long getExecuteTime(); /** - *
-     ** 变更数据的来源*
-     * 
- * - * optional .com.alibaba.otter.canal.protocol.Type sourceType = 7 [default = MYSQL]; + * .com.alibaba.otter.canal.protocol.Type sourceType = 7; */ - boolean hasSourceType(); + int getSourceTypeValue(); /** - *
-     ** 变更数据的来源*
-     * 
- * - * optional .com.alibaba.otter.canal.protocol.Type sourceType = 7 [default = MYSQL]; + * .com.alibaba.otter.canal.protocol.Type sourceType = 7; */ com.alibaba.otter.canal.protocol.CanalEntry.Type getSourceType(); @@ -1572,15 +1571,7 @@ public final class CanalEntry { ** 变更数据的schemaname* * * - * optional string schemaName = 8; - */ - boolean hasSchemaName(); - /** - *
-     ** 变更数据的schemaname*
-     * 
- * - * optional string schemaName = 8; + * string schemaName = 8; */ java.lang.String getSchemaName(); /** @@ -1588,7 +1579,7 @@ public final class CanalEntry { ** 变更数据的schemaname* * * - * optional string schemaName = 8; + * string schemaName = 8; */ com.google.protobuf.ByteString getSchemaNameBytes(); @@ -1598,15 +1589,7 @@ public final class CanalEntry { **变更数据的tablename* * * - * optional string tableName = 9; - */ - boolean hasTableName(); - /** - *
-     **变更数据的tablename*
-     * 
- * - * optional string tableName = 9; + * string tableName = 9; */ java.lang.String getTableName(); /** @@ -1614,7 +1597,7 @@ public final class CanalEntry { **变更数据的tablename* * * - * optional string tableName = 9; + * string tableName = 9; */ com.google.protobuf.ByteString getTableNameBytes(); @@ -1624,32 +1607,16 @@ public final class CanalEntry { **每个event的长度* * * - * optional int64 eventLength = 10; - */ - boolean hasEventLength(); - /** - *
-     **每个event的长度*
-     * 
- * - * optional int64 eventLength = 10; + * int64 eventLength = 10; */ long getEventLength(); /** - *
-     **数据变更类型*
-     * 
- * - * optional .com.alibaba.otter.canal.protocol.EventType eventType = 11 [default = UPDATE]; + * .com.alibaba.otter.canal.protocol.EventType eventType = 11; */ - boolean hasEventType(); + int getEventTypeValue(); /** - *
-     **数据变更类型*
-     * 
- * - * optional .com.alibaba.otter.canal.protocol.EventType eventType = 11 [default = UPDATE]; + * .com.alibaba.otter.canal.protocol.EventType eventType = 11; */ com.alibaba.otter.canal.protocol.CanalEntry.EventType getEventType(); @@ -1702,15 +1669,7 @@ public final class CanalEntry { **当前事务的gitd* * * - * optional string gtid = 13; - */ - boolean hasGtid(); - /** - *
-     **当前事务的gitd*
-     * 
- * - * optional string gtid = 13; + * string gtid = 13; */ java.lang.String getGtid(); /** @@ -1718,10 +1677,16 @@ public final class CanalEntry { **当前事务的gitd* * * - * optional string gtid = 13; + * string gtid = 13; */ com.google.protobuf.ByteString getGtidBytes(); + + public com.alibaba.otter.canal.protocol.CanalEntry.Header.VersionPresentCase getVersionPresentCase(); + + public com.alibaba.otter.canal.protocol.CanalEntry.Header.SourceTypePresentCase getSourceTypePresentCase(); + + public com.alibaba.otter.canal.protocol.CanalEntry.Header.EventTypePresentCase getEventTypePresentCase(); } /** *
@@ -1740,17 +1705,14 @@ public final class CanalEntry {
       super(builder);
     }
     private Header() {
-      version_ = 1;
       logfileName_ = "";
       logfileOffset_ = 0L;
       serverId_ = 0L;
       serverenCode_ = "";
       executeTime_ = 0L;
-      sourceType_ = 2;
       schemaName_ = "";
       tableName_ = "";
       eventLength_ = 0L;
-      eventType_ = 2;
       props_ = java.util.Collections.emptyList();
       gtid_ = "";
     }
@@ -1780,76 +1742,64 @@ public final class CanalEntry {
               done = true;
               break;
             case 8: {
-              bitField0_ |= 0x00000001;
-              version_ = input.readInt32();
+              versionPresentCase_ = 1;
+              versionPresent_ = input.readInt32();
               break;
             }
             case 18: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000002;
-              logfileName_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              logfileName_ = s;
               break;
             }
             case 24: {
-              bitField0_ |= 0x00000004;
+
               logfileOffset_ = input.readInt64();
               break;
             }
             case 32: {
-              bitField0_ |= 0x00000008;
+
               serverId_ = input.readInt64();
               break;
             }
             case 42: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000010;
-              serverenCode_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              serverenCode_ = s;
               break;
             }
             case 48: {
-              bitField0_ |= 0x00000020;
+
               executeTime_ = input.readInt64();
               break;
             }
             case 56: {
               int rawValue = input.readEnum();
-                @SuppressWarnings("deprecation")
-              com.alibaba.otter.canal.protocol.CanalEntry.Type value = com.alibaba.otter.canal.protocol.CanalEntry.Type.valueOf(rawValue);
-              if (value == null) {
-                unknownFields.mergeVarintField(7, rawValue);
-              } else {
-                bitField0_ |= 0x00000040;
-                sourceType_ = rawValue;
-              }
+              sourceTypePresentCase_ = 7;
+              sourceTypePresent_ = rawValue;
               break;
             }
             case 66: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000080;
-              schemaName_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              schemaName_ = s;
               break;
             }
             case 74: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000100;
-              tableName_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              tableName_ = s;
               break;
             }
             case 80: {
-              bitField0_ |= 0x00000200;
+
               eventLength_ = input.readInt64();
               break;
             }
             case 88: {
               int rawValue = input.readEnum();
-                @SuppressWarnings("deprecation")
-              com.alibaba.otter.canal.protocol.CanalEntry.EventType value = com.alibaba.otter.canal.protocol.CanalEntry.EventType.valueOf(rawValue);
-              if (value == null) {
-                unknownFields.mergeVarintField(11, rawValue);
-              } else {
-                bitField0_ |= 0x00000400;
-                eventType_ = rawValue;
-              }
+              eventTypePresentCase_ = 11;
+              eventTypePresent_ = rawValue;
               break;
             }
             case 98: {
@@ -1858,17 +1808,17 @@ public final class CanalEntry {
                 mutable_bitField0_ |= 0x00000800;
               }
               props_.add(
-                  input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Pair.PARSER, extensionRegistry));
+                  input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Pair.parser(), extensionRegistry));
               break;
             }
             case 106: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000800;
-              gtid_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              gtid_ = s;
               break;
             }
             default: {
-              if (!parseUnknownField(
+              if (!parseUnknownFieldProto3(
                   input, unknownFields, extensionRegistry, tag)) {
                 done = true;
               }
@@ -1903,27 +1853,123 @@ public final class CanalEntry {
     }
 
     private int bitField0_;
-    public static final int VERSION_FIELD_NUMBER = 1;
-    private int version_;
-    /**
-     * 
-     **协议的版本号*
-     * 
- * - * optional int32 version = 1 [default = 1]; - */ - public boolean hasVersion() { - return ((bitField0_ & 0x00000001) == 0x00000001); + private int versionPresentCase_ = 0; + private java.lang.Object versionPresent_; + public enum VersionPresentCase + implements com.google.protobuf.Internal.EnumLite { + VERSION(1), + VERSIONPRESENT_NOT_SET(0); + private final int value; + private VersionPresentCase(int value) { + this.value = value; + } + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static VersionPresentCase valueOf(int value) { + return forNumber(value); + } + + public static VersionPresentCase forNumber(int value) { + switch (value) { + case 1: return VERSION; + case 0: return VERSIONPRESENT_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public VersionPresentCase + getVersionPresentCase() { + return VersionPresentCase.forNumber( + versionPresentCase_); } + + private int sourceTypePresentCase_ = 0; + private java.lang.Object sourceTypePresent_; + public enum SourceTypePresentCase + implements com.google.protobuf.Internal.EnumLite { + SOURCETYPE(7), + SOURCETYPEPRESENT_NOT_SET(0); + private final int value; + private SourceTypePresentCase(int value) { + this.value = value; + } + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static SourceTypePresentCase valueOf(int value) { + return forNumber(value); + } + + public static SourceTypePresentCase forNumber(int value) { + switch (value) { + case 7: return SOURCETYPE; + case 0: return SOURCETYPEPRESENT_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public SourceTypePresentCase + getSourceTypePresentCase() { + return SourceTypePresentCase.forNumber( + sourceTypePresentCase_); + } + + private int eventTypePresentCase_ = 0; + private java.lang.Object eventTypePresent_; + public enum EventTypePresentCase + implements com.google.protobuf.Internal.EnumLite { + EVENTTYPE(11), + EVENTTYPEPRESENT_NOT_SET(0); + private final int value; + private EventTypePresentCase(int value) { + this.value = value; + } + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static EventTypePresentCase valueOf(int value) { + return forNumber(value); + } + + public static EventTypePresentCase forNumber(int value) { + switch (value) { + case 11: return EVENTTYPE; + case 0: return EVENTTYPEPRESENT_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public EventTypePresentCase + getEventTypePresentCase() { + return EventTypePresentCase.forNumber( + eventTypePresentCase_); + } + + public static final int VERSION_FIELD_NUMBER = 1; /** - *
-     **协议的版本号*
-     * 
- * - * optional int32 version = 1 [default = 1]; + * int32 version = 1; */ public int getVersion() { - return version_; + if (versionPresentCase_ == 1) { + return (java.lang.Integer) versionPresent_; + } + return 1; } public static final int LOGFILENAME_FIELD_NUMBER = 2; @@ -1933,17 +1979,7 @@ public final class CanalEntry { **binlog/redolog 文件名* *
* - * optional string logfileName = 2; - */ - public boolean hasLogfileName() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - *
-     **binlog/redolog 文件名*
-     * 
- * - * optional string logfileName = 2; + * string logfileName = 2; */ public java.lang.String getLogfileName() { java.lang.Object ref = logfileName_; @@ -1953,9 +1989,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - logfileName_ = s; - } + logfileName_ = s; return s; } } @@ -1964,7 +1998,7 @@ public final class CanalEntry { **binlog/redolog 文件名* * * - * optional string logfileName = 2; + * string logfileName = 2; */ public com.google.protobuf.ByteString getLogfileNameBytes() { @@ -1987,17 +2021,7 @@ public final class CanalEntry { **binlog/redolog 文件的偏移位置* * * - * optional int64 logfileOffset = 3; - */ - public boolean hasLogfileOffset() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - *
-     **binlog/redolog 文件的偏移位置*
-     * 
- * - * optional int64 logfileOffset = 3; + * int64 logfileOffset = 3; */ public long getLogfileOffset() { return logfileOffset_; @@ -2010,17 +2034,7 @@ public final class CanalEntry { **服务端serverId* * * - * optional int64 serverId = 4; - */ - public boolean hasServerId() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - *
-     **服务端serverId*
-     * 
- * - * optional int64 serverId = 4; + * int64 serverId = 4; */ public long getServerId() { return serverId_; @@ -2033,17 +2047,7 @@ public final class CanalEntry { ** 变更数据的编码 * * * - * optional string serverenCode = 5; - */ - public boolean hasServerenCode() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - *
-     ** 变更数据的编码 *
-     * 
- * - * optional string serverenCode = 5; + * string serverenCode = 5; */ public java.lang.String getServerenCode() { java.lang.Object ref = serverenCode_; @@ -2053,9 +2057,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - serverenCode_ = s; - } + serverenCode_ = s; return s; } } @@ -2064,7 +2066,7 @@ public final class CanalEntry { ** 变更数据的编码 * * * - * optional string serverenCode = 5; + * string serverenCode = 5; */ public com.google.protobuf.ByteString getServerenCodeBytes() { @@ -2087,45 +2089,33 @@ public final class CanalEntry { **变更数据的执行时间 * * * - * optional int64 executeTime = 6; - */ - public boolean hasExecuteTime() { - return ((bitField0_ & 0x00000020) == 0x00000020); - } - /** - *
-     **变更数据的执行时间 *
-     * 
- * - * optional int64 executeTime = 6; + * int64 executeTime = 6; */ public long getExecuteTime() { return executeTime_; } public static final int SOURCETYPE_FIELD_NUMBER = 7; - private int sourceType_; /** - *
-     ** 变更数据的来源*
-     * 
- * - * optional .com.alibaba.otter.canal.protocol.Type sourceType = 7 [default = MYSQL]; + * .com.alibaba.otter.canal.protocol.Type sourceType = 7; */ - public boolean hasSourceType() { - return ((bitField0_ & 0x00000040) == 0x00000040); + public int getSourceTypeValue() { + if (sourceTypePresentCase_ == 7) { + return (java.lang.Integer) sourceTypePresent_; + } + return 0; } /** - *
-     ** 变更数据的来源*
-     * 
- * - * optional .com.alibaba.otter.canal.protocol.Type sourceType = 7 [default = MYSQL]; + * .com.alibaba.otter.canal.protocol.Type sourceType = 7; */ public com.alibaba.otter.canal.protocol.CanalEntry.Type getSourceType() { - @SuppressWarnings("deprecation") - com.alibaba.otter.canal.protocol.CanalEntry.Type result = com.alibaba.otter.canal.protocol.CanalEntry.Type.valueOf(sourceType_); - return result == null ? com.alibaba.otter.canal.protocol.CanalEntry.Type.MYSQL : result; + if (sourceTypePresentCase_ == 7) { + @SuppressWarnings("deprecation") + com.alibaba.otter.canal.protocol.CanalEntry.Type result = com.alibaba.otter.canal.protocol.CanalEntry.Type.valueOf( + (java.lang.Integer) sourceTypePresent_); + return result == null ? com.alibaba.otter.canal.protocol.CanalEntry.Type.UNRECOGNIZED : result; + } + return com.alibaba.otter.canal.protocol.CanalEntry.Type.TYPECOMPATIBLEPROTO2; } public static final int SCHEMANAME_FIELD_NUMBER = 8; @@ -2135,17 +2125,7 @@ public final class CanalEntry { ** 变更数据的schemaname* * * - * optional string schemaName = 8; - */ - public boolean hasSchemaName() { - return ((bitField0_ & 0x00000080) == 0x00000080); - } - /** - *
-     ** 变更数据的schemaname*
-     * 
- * - * optional string schemaName = 8; + * string schemaName = 8; */ public java.lang.String getSchemaName() { java.lang.Object ref = schemaName_; @@ -2155,9 +2135,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - schemaName_ = s; - } + schemaName_ = s; return s; } } @@ -2166,7 +2144,7 @@ public final class CanalEntry { ** 变更数据的schemaname* * * - * optional string schemaName = 8; + * string schemaName = 8; */ public com.google.protobuf.ByteString getSchemaNameBytes() { @@ -2189,17 +2167,7 @@ public final class CanalEntry { **变更数据的tablename* * * - * optional string tableName = 9; - */ - public boolean hasTableName() { - return ((bitField0_ & 0x00000100) == 0x00000100); - } - /** - *
-     **变更数据的tablename*
-     * 
- * - * optional string tableName = 9; + * string tableName = 9; */ public java.lang.String getTableName() { java.lang.Object ref = tableName_; @@ -2209,9 +2177,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - tableName_ = s; - } + tableName_ = s; return s; } } @@ -2220,7 +2186,7 @@ public final class CanalEntry { **变更数据的tablename* * * - * optional string tableName = 9; + * string tableName = 9; */ public com.google.protobuf.ByteString getTableNameBytes() { @@ -2243,45 +2209,33 @@ public final class CanalEntry { **每个event的长度* * * - * optional int64 eventLength = 10; - */ - public boolean hasEventLength() { - return ((bitField0_ & 0x00000200) == 0x00000200); - } - /** - *
-     **每个event的长度*
-     * 
- * - * optional int64 eventLength = 10; + * int64 eventLength = 10; */ public long getEventLength() { return eventLength_; } public static final int EVENTTYPE_FIELD_NUMBER = 11; - private int eventType_; /** - *
-     **数据变更类型*
-     * 
- * - * optional .com.alibaba.otter.canal.protocol.EventType eventType = 11 [default = UPDATE]; + * .com.alibaba.otter.canal.protocol.EventType eventType = 11; */ - public boolean hasEventType() { - return ((bitField0_ & 0x00000400) == 0x00000400); + public int getEventTypeValue() { + if (eventTypePresentCase_ == 11) { + return (java.lang.Integer) eventTypePresent_; + } + return 0; } /** - *
-     **数据变更类型*
-     * 
- * - * optional .com.alibaba.otter.canal.protocol.EventType eventType = 11 [default = UPDATE]; + * .com.alibaba.otter.canal.protocol.EventType eventType = 11; */ public com.alibaba.otter.canal.protocol.CanalEntry.EventType getEventType() { - @SuppressWarnings("deprecation") - com.alibaba.otter.canal.protocol.CanalEntry.EventType result = com.alibaba.otter.canal.protocol.CanalEntry.EventType.valueOf(eventType_); - return result == null ? com.alibaba.otter.canal.protocol.CanalEntry.EventType.UPDATE : result; + if (eventTypePresentCase_ == 11) { + @SuppressWarnings("deprecation") + com.alibaba.otter.canal.protocol.CanalEntry.EventType result = com.alibaba.otter.canal.protocol.CanalEntry.EventType.valueOf( + (java.lang.Integer) eventTypePresent_); + return result == null ? com.alibaba.otter.canal.protocol.CanalEntry.EventType.UNRECOGNIZED : result; + } + return com.alibaba.otter.canal.protocol.CanalEntry.EventType.EVENTTYPECOMPATIBLEPROTO2; } public static final int PROPS_FIELD_NUMBER = 12; @@ -2346,17 +2300,7 @@ public final class CanalEntry { **当前事务的gitd* * * - * optional string gtid = 13; - */ - public boolean hasGtid() { - return ((bitField0_ & 0x00000800) == 0x00000800); - } - /** - *
-     **当前事务的gitd*
-     * 
- * - * optional string gtid = 13; + * string gtid = 13; */ public java.lang.String getGtid() { java.lang.Object ref = gtid_; @@ -2366,9 +2310,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - gtid_ = s; - } + gtid_ = s; return s; } } @@ -2377,7 +2319,7 @@ public final class CanalEntry { **当前事务的gitd* * * - * optional string gtid = 13; + * string gtid = 13; */ public com.google.protobuf.ByteString getGtidBytes() { @@ -2407,43 +2349,44 @@ public final class CanalEntry { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeInt32(1, version_); + if (versionPresentCase_ == 1) { + output.writeInt32( + 1, (int)((java.lang.Integer) versionPresent_)); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getLogfileNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, logfileName_); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (logfileOffset_ != 0L) { output.writeInt64(3, logfileOffset_); } - if (((bitField0_ & 0x00000008) == 0x00000008)) { + if (serverId_ != 0L) { output.writeInt64(4, serverId_); } - if (((bitField0_ & 0x00000010) == 0x00000010)) { + if (!getServerenCodeBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 5, serverenCode_); } - if (((bitField0_ & 0x00000020) == 0x00000020)) { + if (executeTime_ != 0L) { output.writeInt64(6, executeTime_); } - if (((bitField0_ & 0x00000040) == 0x00000040)) { - output.writeEnum(7, sourceType_); + if (sourceTypePresentCase_ == 7) { + output.writeEnum(7, ((java.lang.Integer) sourceTypePresent_)); } - if (((bitField0_ & 0x00000080) == 0x00000080)) { + if (!getSchemaNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 8, schemaName_); } - if (((bitField0_ & 0x00000100) == 0x00000100)) { + if (!getTableNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 9, tableName_); } - if (((bitField0_ & 0x00000200) == 0x00000200)) { + if (eventLength_ != 0L) { output.writeInt64(10, eventLength_); } - if (((bitField0_ & 0x00000400) == 0x00000400)) { - output.writeEnum(11, eventType_); + if (eventTypePresentCase_ == 11) { + output.writeEnum(11, ((java.lang.Integer) eventTypePresent_)); } for (int i = 0; i < props_.size(); i++) { output.writeMessage(12, props_.get(i)); } - if (((bitField0_ & 0x00000800) == 0x00000800)) { + if (!getGtidBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 13, gtid_); } unknownFields.writeTo(output); @@ -2455,51 +2398,52 @@ public final class CanalEntry { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (versionPresentCase_ == 1) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(1, version_); + .computeInt32Size( + 1, (int)((java.lang.Integer) versionPresent_)); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getLogfileNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, logfileName_); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (logfileOffset_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(3, logfileOffset_); } - if (((bitField0_ & 0x00000008) == 0x00000008)) { + if (serverId_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(4, serverId_); } - if (((bitField0_ & 0x00000010) == 0x00000010)) { + if (!getServerenCodeBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, serverenCode_); } - if (((bitField0_ & 0x00000020) == 0x00000020)) { + if (executeTime_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(6, executeTime_); } - if (((bitField0_ & 0x00000040) == 0x00000040)) { + if (sourceTypePresentCase_ == 7) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(7, sourceType_); + .computeEnumSize(7, ((java.lang.Integer) sourceTypePresent_)); } - if (((bitField0_ & 0x00000080) == 0x00000080)) { + if (!getSchemaNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, schemaName_); } - if (((bitField0_ & 0x00000100) == 0x00000100)) { + if (!getTableNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, tableName_); } - if (((bitField0_ & 0x00000200) == 0x00000200)) { + if (eventLength_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(10, eventLength_); } - if (((bitField0_ & 0x00000400) == 0x00000400)) { + if (eventTypePresentCase_ == 11) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(11, eventType_); + .computeEnumSize(11, ((java.lang.Integer) eventTypePresent_)); } for (int i = 0; i < props_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(12, props_.get(i)); } - if (((bitField0_ & 0x00000800) == 0x00000800)) { + if (!getGtidBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, gtid_); } size += unknownFields.getSerializedSize(); @@ -2518,65 +2462,58 @@ public final class CanalEntry { com.alibaba.otter.canal.protocol.CanalEntry.Header other = (com.alibaba.otter.canal.protocol.CanalEntry.Header) obj; boolean result = true; - result = result && (hasVersion() == other.hasVersion()); - if (hasVersion()) { - result = result && (getVersion() - == other.getVersion()); - } - result = result && (hasLogfileName() == other.hasLogfileName()); - if (hasLogfileName()) { - result = result && getLogfileName() - .equals(other.getLogfileName()); - } - result = result && (hasLogfileOffset() == other.hasLogfileOffset()); - if (hasLogfileOffset()) { - result = result && (getLogfileOffset() - == other.getLogfileOffset()); - } - result = result && (hasServerId() == other.hasServerId()); - if (hasServerId()) { - result = result && (getServerId() - == other.getServerId()); - } - result = result && (hasServerenCode() == other.hasServerenCode()); - if (hasServerenCode()) { - result = result && getServerenCode() - .equals(other.getServerenCode()); - } - result = result && (hasExecuteTime() == other.hasExecuteTime()); - if (hasExecuteTime()) { - result = result && (getExecuteTime() - == other.getExecuteTime()); - } - result = result && (hasSourceType() == other.hasSourceType()); - if (hasSourceType()) { - result = result && sourceType_ == other.sourceType_; - } - result = result && (hasSchemaName() == other.hasSchemaName()); - if (hasSchemaName()) { - result = result && getSchemaName() - .equals(other.getSchemaName()); - } - result = result && (hasTableName() == other.hasTableName()); - if (hasTableName()) { - result = result && getTableName() - .equals(other.getTableName()); - } - result = result && (hasEventLength() == other.hasEventLength()); - if (hasEventLength()) { - result = result && (getEventLength() - == other.getEventLength()); - } - result = result && (hasEventType() == other.hasEventType()); - if (hasEventType()) { - result = result && eventType_ == other.eventType_; - } + result = result && getLogfileName() + .equals(other.getLogfileName()); + result = result && (getLogfileOffset() + == other.getLogfileOffset()); + result = result && (getServerId() + == other.getServerId()); + result = result && getServerenCode() + .equals(other.getServerenCode()); + result = result && (getExecuteTime() + == other.getExecuteTime()); + result = result && getSchemaName() + .equals(other.getSchemaName()); + result = result && getTableName() + .equals(other.getTableName()); + result = result && (getEventLength() + == other.getEventLength()); result = result && getPropsList() .equals(other.getPropsList()); - result = result && (hasGtid() == other.hasGtid()); - if (hasGtid()) { - result = result && getGtid() - .equals(other.getGtid()); + result = result && getGtid() + .equals(other.getGtid()); + result = result && getVersionPresentCase().equals( + other.getVersionPresentCase()); + if (!result) return false; + switch (versionPresentCase_) { + case 1: + result = result && (getVersion() + == other.getVersion()); + break; + case 0: + default: + } + result = result && getSourceTypePresentCase().equals( + other.getSourceTypePresentCase()); + if (!result) return false; + switch (sourceTypePresentCase_) { + case 7: + result = result && getSourceTypeValue() + == other.getSourceTypeValue(); + break; + case 0: + default: + } + result = result && getEventTypePresentCase().equals( + other.getEventTypePresentCase()); + if (!result) return false; + switch (eventTypePresentCase_) { + case 11: + result = result && getEventTypeValue() + == other.getEventTypeValue(); + break; + case 0: + default: } result = result && unknownFields.equals(other.unknownFields); return result; @@ -2589,61 +2526,55 @@ public final class CanalEntry { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasVersion()) { - hash = (37 * hash) + VERSION_FIELD_NUMBER; - hash = (53 * hash) + getVersion(); - } - if (hasLogfileName()) { - hash = (37 * hash) + LOGFILENAME_FIELD_NUMBER; - hash = (53 * hash) + getLogfileName().hashCode(); - } - if (hasLogfileOffset()) { - hash = (37 * hash) + LOGFILEOFFSET_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getLogfileOffset()); - } - if (hasServerId()) { - hash = (37 * hash) + SERVERID_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getServerId()); - } - if (hasServerenCode()) { - hash = (37 * hash) + SERVERENCODE_FIELD_NUMBER; - hash = (53 * hash) + getServerenCode().hashCode(); - } - if (hasExecuteTime()) { - hash = (37 * hash) + EXECUTETIME_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getExecuteTime()); - } - if (hasSourceType()) { - hash = (37 * hash) + SOURCETYPE_FIELD_NUMBER; - hash = (53 * hash) + sourceType_; - } - if (hasSchemaName()) { - hash = (37 * hash) + SCHEMANAME_FIELD_NUMBER; - hash = (53 * hash) + getSchemaName().hashCode(); - } - if (hasTableName()) { - hash = (37 * hash) + TABLENAME_FIELD_NUMBER; - hash = (53 * hash) + getTableName().hashCode(); - } - if (hasEventLength()) { - hash = (37 * hash) + EVENTLENGTH_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getEventLength()); - } - if (hasEventType()) { - hash = (37 * hash) + EVENTTYPE_FIELD_NUMBER; - hash = (53 * hash) + eventType_; - } + hash = (37 * hash) + LOGFILENAME_FIELD_NUMBER; + hash = (53 * hash) + getLogfileName().hashCode(); + hash = (37 * hash) + LOGFILEOFFSET_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getLogfileOffset()); + hash = (37 * hash) + SERVERID_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getServerId()); + hash = (37 * hash) + SERVERENCODE_FIELD_NUMBER; + hash = (53 * hash) + getServerenCode().hashCode(); + hash = (37 * hash) + EXECUTETIME_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getExecuteTime()); + hash = (37 * hash) + SCHEMANAME_FIELD_NUMBER; + hash = (53 * hash) + getSchemaName().hashCode(); + hash = (37 * hash) + TABLENAME_FIELD_NUMBER; + hash = (53 * hash) + getTableName().hashCode(); + hash = (37 * hash) + EVENTLENGTH_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getEventLength()); if (getPropsCount() > 0) { hash = (37 * hash) + PROPS_FIELD_NUMBER; hash = (53 * hash) + getPropsList().hashCode(); } - if (hasGtid()) { - hash = (37 * hash) + GTID_FIELD_NUMBER; - hash = (53 * hash) + getGtid().hashCode(); + hash = (37 * hash) + GTID_FIELD_NUMBER; + hash = (53 * hash) + getGtid().hashCode(); + switch (versionPresentCase_) { + case 1: + hash = (37 * hash) + VERSION_FIELD_NUMBER; + hash = (53 * hash) + getVersion(); + break; + case 0: + default: + } + switch (sourceTypePresentCase_) { + case 7: + hash = (37 * hash) + SOURCETYPE_FIELD_NUMBER; + hash = (53 * hash) + getSourceTypeValue(); + break; + case 0: + default: + } + switch (eventTypePresentCase_) { + case 11: + hash = (37 * hash) + EVENTTYPE_FIELD_NUMBER; + hash = (53 * hash) + getEventTypeValue(); + break; + case 0: + default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; @@ -2783,28 +2714,22 @@ public final class CanalEntry { @java.lang.Override public Builder clear() { super.clear(); - version_ = 1; - bitField0_ = (bitField0_ & ~0x00000001); logfileName_ = ""; - bitField0_ = (bitField0_ & ~0x00000002); + logfileOffset_ = 0L; - bitField0_ = (bitField0_ & ~0x00000004); + serverId_ = 0L; - bitField0_ = (bitField0_ & ~0x00000008); + serverenCode_ = ""; - bitField0_ = (bitField0_ & ~0x00000010); + executeTime_ = 0L; - bitField0_ = (bitField0_ & ~0x00000020); - sourceType_ = 2; - bitField0_ = (bitField0_ & ~0x00000040); + schemaName_ = ""; - bitField0_ = (bitField0_ & ~0x00000080); + tableName_ = ""; - bitField0_ = (bitField0_ & ~0x00000100); + eventLength_ = 0L; - bitField0_ = (bitField0_ & ~0x00000200); - eventType_ = 2; - bitField0_ = (bitField0_ & ~0x00000400); + if (propsBuilder_ == null) { props_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000800); @@ -2812,7 +2737,13 @@ public final class CanalEntry { propsBuilder_.clear(); } gtid_ = ""; - bitField0_ = (bitField0_ & ~0x00001000); + + versionPresentCase_ = 0; + versionPresent_ = null; + sourceTypePresentCase_ = 0; + sourceTypePresent_ = null; + eventTypePresentCase_ = 0; + eventTypePresent_ = null; return this; } @@ -2841,50 +2772,23 @@ public final class CanalEntry { com.alibaba.otter.canal.protocol.CanalEntry.Header result = new com.alibaba.otter.canal.protocol.CanalEntry.Header(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } - result.version_ = version_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; + if (versionPresentCase_ == 1) { + result.versionPresent_ = versionPresent_; } result.logfileName_ = logfileName_; - if (((from_bitField0_ & 0x00000004) == 0x00000004)) { - to_bitField0_ |= 0x00000004; - } result.logfileOffset_ = logfileOffset_; - if (((from_bitField0_ & 0x00000008) == 0x00000008)) { - to_bitField0_ |= 0x00000008; - } result.serverId_ = serverId_; - if (((from_bitField0_ & 0x00000010) == 0x00000010)) { - to_bitField0_ |= 0x00000010; - } result.serverenCode_ = serverenCode_; - if (((from_bitField0_ & 0x00000020) == 0x00000020)) { - to_bitField0_ |= 0x00000020; - } result.executeTime_ = executeTime_; - if (((from_bitField0_ & 0x00000040) == 0x00000040)) { - to_bitField0_ |= 0x00000040; - } - result.sourceType_ = sourceType_; - if (((from_bitField0_ & 0x00000080) == 0x00000080)) { - to_bitField0_ |= 0x00000080; + if (sourceTypePresentCase_ == 7) { + result.sourceTypePresent_ = sourceTypePresent_; } result.schemaName_ = schemaName_; - if (((from_bitField0_ & 0x00000100) == 0x00000100)) { - to_bitField0_ |= 0x00000100; - } result.tableName_ = tableName_; - if (((from_bitField0_ & 0x00000200) == 0x00000200)) { - to_bitField0_ |= 0x00000200; - } result.eventLength_ = eventLength_; - if (((from_bitField0_ & 0x00000400) == 0x00000400)) { - to_bitField0_ |= 0x00000400; + if (eventTypePresentCase_ == 11) { + result.eventTypePresent_ = eventTypePresent_; } - result.eventType_ = eventType_; if (propsBuilder_ == null) { if (((bitField0_ & 0x00000800) == 0x00000800)) { props_ = java.util.Collections.unmodifiableList(props_); @@ -2894,11 +2798,11 @@ public final class CanalEntry { } else { result.props_ = propsBuilder_.build(); } - if (((from_bitField0_ & 0x00001000) == 0x00001000)) { - to_bitField0_ |= 0x00000800; - } result.gtid_ = gtid_; result.bitField0_ = to_bitField0_; + result.versionPresentCase_ = versionPresentCase_; + result.sourceTypePresentCase_ = sourceTypePresentCase_; + result.eventTypePresentCase_ = eventTypePresentCase_; onBuilt(); return result; } @@ -2947,47 +2851,34 @@ public final class CanalEntry { public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalEntry.Header other) { if (other == com.alibaba.otter.canal.protocol.CanalEntry.Header.getDefaultInstance()) return this; - if (other.hasVersion()) { - setVersion(other.getVersion()); - } - if (other.hasLogfileName()) { - bitField0_ |= 0x00000002; + if (!other.getLogfileName().isEmpty()) { logfileName_ = other.logfileName_; onChanged(); } - if (other.hasLogfileOffset()) { + if (other.getLogfileOffset() != 0L) { setLogfileOffset(other.getLogfileOffset()); } - if (other.hasServerId()) { + if (other.getServerId() != 0L) { setServerId(other.getServerId()); } - if (other.hasServerenCode()) { - bitField0_ |= 0x00000010; + if (!other.getServerenCode().isEmpty()) { serverenCode_ = other.serverenCode_; onChanged(); } - if (other.hasExecuteTime()) { + if (other.getExecuteTime() != 0L) { setExecuteTime(other.getExecuteTime()); } - if (other.hasSourceType()) { - setSourceType(other.getSourceType()); - } - if (other.hasSchemaName()) { - bitField0_ |= 0x00000080; + if (!other.getSchemaName().isEmpty()) { schemaName_ = other.schemaName_; onChanged(); } - if (other.hasTableName()) { - bitField0_ |= 0x00000100; + if (!other.getTableName().isEmpty()) { tableName_ = other.tableName_; onChanged(); } - if (other.hasEventLength()) { + if (other.getEventLength() != 0L) { setEventLength(other.getEventLength()); } - if (other.hasEventType()) { - setEventType(other.getEventType()); - } if (propsBuilder_ == null) { if (!other.props_.isEmpty()) { if (props_.isEmpty()) { @@ -3014,11 +2905,37 @@ public final class CanalEntry { } } } - if (other.hasGtid()) { - bitField0_ |= 0x00001000; + if (!other.getGtid().isEmpty()) { gtid_ = other.gtid_; onChanged(); } + switch (other.getVersionPresentCase()) { + case VERSION: { + setVersion(other.getVersion()); + break; + } + case VERSIONPRESENT_NOT_SET: { + break; + } + } + switch (other.getSourceTypePresentCase()) { + case SOURCETYPE: { + setSourceTypeValue(other.getSourceTypeValue()); + break; + } + case SOURCETYPEPRESENT_NOT_SET: { + break; + } + } + switch (other.getEventTypePresentCase()) { + case EVENTTYPE: { + setEventTypeValue(other.getEventTypeValue()); + break; + } + case EVENTTYPEPRESENT_NOT_SET: { + break; + } + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -3047,53 +2964,80 @@ public final class CanalEntry { } return this; } + private int versionPresentCase_ = 0; + private java.lang.Object versionPresent_; + public VersionPresentCase + getVersionPresentCase() { + return VersionPresentCase.forNumber( + versionPresentCase_); + } + + public Builder clearVersionPresent() { + versionPresentCase_ = 0; + versionPresent_ = null; + onChanged(); + return this; + } + + private int sourceTypePresentCase_ = 0; + private java.lang.Object sourceTypePresent_; + public SourceTypePresentCase + getSourceTypePresentCase() { + return SourceTypePresentCase.forNumber( + sourceTypePresentCase_); + } + + public Builder clearSourceTypePresent() { + sourceTypePresentCase_ = 0; + sourceTypePresent_ = null; + onChanged(); + return this; + } + + private int eventTypePresentCase_ = 0; + private java.lang.Object eventTypePresent_; + public EventTypePresentCase + getEventTypePresentCase() { + return EventTypePresentCase.forNumber( + eventTypePresentCase_); + } + + public Builder clearEventTypePresent() { + eventTypePresentCase_ = 0; + eventTypePresent_ = null; + onChanged(); + return this; + } + private int bitField0_; - private int version_ = 1; /** - *
-       **协议的版本号*
-       * 
- * - * optional int32 version = 1 [default = 1]; - */ - public boolean hasVersion() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - *
-       **协议的版本号*
-       * 
- * - * optional int32 version = 1 [default = 1]; + * int32 version = 1; */ public int getVersion() { - return version_; + if (versionPresentCase_ == 1) { + return (java.lang.Integer) versionPresent_; + } + return 0; } /** - *
-       **协议的版本号*
-       * 
- * - * optional int32 version = 1 [default = 1]; + * int32 version = 1; */ public Builder setVersion(int value) { - bitField0_ |= 0x00000001; - version_ = value; + versionPresentCase_ = 1; + versionPresent_ = value; onChanged(); return this; } /** - *
-       **协议的版本号*
-       * 
- * - * optional int32 version = 1 [default = 1]; + * int32 version = 1; */ public Builder clearVersion() { - bitField0_ = (bitField0_ & ~0x00000001); - version_ = 1; - onChanged(); + if (versionPresentCase_ == 1) { + versionPresentCase_ = 0; + versionPresent_ = null; + onChanged(); + } return this; } @@ -3103,17 +3047,7 @@ public final class CanalEntry { **binlog/redolog 文件名* * * - * optional string logfileName = 2; - */ - public boolean hasLogfileName() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - *
-       **binlog/redolog 文件名*
-       * 
- * - * optional string logfileName = 2; + * string logfileName = 2; */ public java.lang.String getLogfileName() { java.lang.Object ref = logfileName_; @@ -3121,9 +3055,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - logfileName_ = s; - } + logfileName_ = s; return s; } else { return (java.lang.String) ref; @@ -3134,7 +3066,7 @@ public final class CanalEntry { **binlog/redolog 文件名* * * - * optional string logfileName = 2; + * string logfileName = 2; */ public com.google.protobuf.ByteString getLogfileNameBytes() { @@ -3154,14 +3086,14 @@ public final class CanalEntry { **binlog/redolog 文件名* * * - * optional string logfileName = 2; + * string logfileName = 2; */ public Builder setLogfileName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + logfileName_ = value; onChanged(); return this; @@ -3171,10 +3103,10 @@ public final class CanalEntry { **binlog/redolog 文件名* * * - * optional string logfileName = 2; + * string logfileName = 2; */ public Builder clearLogfileName() { - bitField0_ = (bitField0_ & ~0x00000002); + logfileName_ = getDefaultInstance().getLogfileName(); onChanged(); return this; @@ -3184,14 +3116,15 @@ public final class CanalEntry { **binlog/redolog 文件名* * * - * optional string logfileName = 2; + * string logfileName = 2; */ public Builder setLogfileNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + checkByteStringIsUtf8(value); + logfileName_ = value; onChanged(); return this; @@ -3203,17 +3136,7 @@ public final class CanalEntry { **binlog/redolog 文件的偏移位置* * * - * optional int64 logfileOffset = 3; - */ - public boolean hasLogfileOffset() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - *
-       **binlog/redolog 文件的偏移位置*
-       * 
- * - * optional int64 logfileOffset = 3; + * int64 logfileOffset = 3; */ public long getLogfileOffset() { return logfileOffset_; @@ -3223,10 +3146,10 @@ public final class CanalEntry { **binlog/redolog 文件的偏移位置* * * - * optional int64 logfileOffset = 3; + * int64 logfileOffset = 3; */ public Builder setLogfileOffset(long value) { - bitField0_ |= 0x00000004; + logfileOffset_ = value; onChanged(); return this; @@ -3236,10 +3159,10 @@ public final class CanalEntry { **binlog/redolog 文件的偏移位置* * * - * optional int64 logfileOffset = 3; + * int64 logfileOffset = 3; */ public Builder clearLogfileOffset() { - bitField0_ = (bitField0_ & ~0x00000004); + logfileOffset_ = 0L; onChanged(); return this; @@ -3251,17 +3174,7 @@ public final class CanalEntry { **服务端serverId* * * - * optional int64 serverId = 4; - */ - public boolean hasServerId() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - *
-       **服务端serverId*
-       * 
- * - * optional int64 serverId = 4; + * int64 serverId = 4; */ public long getServerId() { return serverId_; @@ -3271,10 +3184,10 @@ public final class CanalEntry { **服务端serverId* * * - * optional int64 serverId = 4; + * int64 serverId = 4; */ public Builder setServerId(long value) { - bitField0_ |= 0x00000008; + serverId_ = value; onChanged(); return this; @@ -3284,10 +3197,10 @@ public final class CanalEntry { **服务端serverId* * * - * optional int64 serverId = 4; + * int64 serverId = 4; */ public Builder clearServerId() { - bitField0_ = (bitField0_ & ~0x00000008); + serverId_ = 0L; onChanged(); return this; @@ -3299,17 +3212,7 @@ public final class CanalEntry { ** 变更数据的编码 * * * - * optional string serverenCode = 5; - */ - public boolean hasServerenCode() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - *
-       ** 变更数据的编码 *
-       * 
- * - * optional string serverenCode = 5; + * string serverenCode = 5; */ public java.lang.String getServerenCode() { java.lang.Object ref = serverenCode_; @@ -3317,9 +3220,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - serverenCode_ = s; - } + serverenCode_ = s; return s; } else { return (java.lang.String) ref; @@ -3330,7 +3231,7 @@ public final class CanalEntry { ** 变更数据的编码 * * * - * optional string serverenCode = 5; + * string serverenCode = 5; */ public com.google.protobuf.ByteString getServerenCodeBytes() { @@ -3350,14 +3251,14 @@ public final class CanalEntry { ** 变更数据的编码 * * * - * optional string serverenCode = 5; + * string serverenCode = 5; */ public Builder setServerenCode( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000010; + serverenCode_ = value; onChanged(); return this; @@ -3367,10 +3268,10 @@ public final class CanalEntry { ** 变更数据的编码 * * * - * optional string serverenCode = 5; + * string serverenCode = 5; */ public Builder clearServerenCode() { - bitField0_ = (bitField0_ & ~0x00000010); + serverenCode_ = getDefaultInstance().getServerenCode(); onChanged(); return this; @@ -3380,14 +3281,15 @@ public final class CanalEntry { ** 变更数据的编码 * * * - * optional string serverenCode = 5; + * string serverenCode = 5; */ public Builder setServerenCodeBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000010; + checkByteStringIsUtf8(value); + serverenCode_ = value; onChanged(); return this; @@ -3399,17 +3301,7 @@ public final class CanalEntry { **变更数据的执行时间 * * * - * optional int64 executeTime = 6; - */ - public boolean hasExecuteTime() { - return ((bitField0_ & 0x00000020) == 0x00000020); - } - /** - *
-       **变更数据的执行时间 *
-       * 
- * - * optional int64 executeTime = 6; + * int64 executeTime = 6; */ public long getExecuteTime() { return executeTime_; @@ -3419,10 +3311,10 @@ public final class CanalEntry { **变更数据的执行时间 * * * - * optional int64 executeTime = 6; + * int64 executeTime = 6; */ public Builder setExecuteTime(long value) { - bitField0_ |= 0x00000020; + executeTime_ = value; onChanged(); return this; @@ -3432,65 +3324,66 @@ public final class CanalEntry { **变更数据的执行时间 * * * - * optional int64 executeTime = 6; + * int64 executeTime = 6; */ public Builder clearExecuteTime() { - bitField0_ = (bitField0_ & ~0x00000020); + executeTime_ = 0L; onChanged(); return this; } - private int sourceType_ = 2; /** - *
-       ** 变更数据的来源*
-       * 
- * - * optional .com.alibaba.otter.canal.protocol.Type sourceType = 7 [default = MYSQL]; + * .com.alibaba.otter.canal.protocol.Type sourceType = 7; */ - public boolean hasSourceType() { - return ((bitField0_ & 0x00000040) == 0x00000040); + public int getSourceTypeValue() { + if (sourceTypePresentCase_ == 7) { + return ((java.lang.Integer) sourceTypePresent_).intValue(); + } + return Type.MYSQL_VALUE; } /** - *
-       ** 变更数据的来源*
-       * 
- * - * optional .com.alibaba.otter.canal.protocol.Type sourceType = 7 [default = MYSQL]; + * .com.alibaba.otter.canal.protocol.Type sourceType = 7; + */ + public Builder setSourceTypeValue(int value) { + sourceTypePresentCase_ = 7; + sourceTypePresent_ = value; + onChanged(); + return this; + } + /** + * .com.alibaba.otter.canal.protocol.Type sourceType = 7; */ public com.alibaba.otter.canal.protocol.CanalEntry.Type getSourceType() { - @SuppressWarnings("deprecation") - com.alibaba.otter.canal.protocol.CanalEntry.Type result = com.alibaba.otter.canal.protocol.CanalEntry.Type.valueOf(sourceType_); - return result == null ? com.alibaba.otter.canal.protocol.CanalEntry.Type.MYSQL : result; + if (sourceTypePresentCase_ == 7) { + @SuppressWarnings("deprecation") + com.alibaba.otter.canal.protocol.CanalEntry.Type result = com.alibaba.otter.canal.protocol.CanalEntry.Type.valueOf( + (java.lang.Integer) sourceTypePresent_); + return result == null ? com.alibaba.otter.canal.protocol.CanalEntry.Type.UNRECOGNIZED : result; + } + return com.alibaba.otter.canal.protocol.CanalEntry.Type.TYPECOMPATIBLEPROTO2; } /** - *
-       ** 变更数据的来源*
-       * 
- * - * optional .com.alibaba.otter.canal.protocol.Type sourceType = 7 [default = MYSQL]; + * .com.alibaba.otter.canal.protocol.Type sourceType = 7; */ public Builder setSourceType(com.alibaba.otter.canal.protocol.CanalEntry.Type value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000040; - sourceType_ = value.getNumber(); + sourceTypePresentCase_ = 7; + sourceTypePresent_ = value.getNumber(); onChanged(); return this; } /** - *
-       ** 变更数据的来源*
-       * 
- * - * optional .com.alibaba.otter.canal.protocol.Type sourceType = 7 [default = MYSQL]; + * .com.alibaba.otter.canal.protocol.Type sourceType = 7; */ public Builder clearSourceType() { - bitField0_ = (bitField0_ & ~0x00000040); - sourceType_ = 2; - onChanged(); + if (sourceTypePresentCase_ == 7) { + sourceTypePresentCase_ = 0; + sourceTypePresent_ = null; + onChanged(); + } return this; } @@ -3500,17 +3393,7 @@ public final class CanalEntry { ** 变更数据的schemaname* * * - * optional string schemaName = 8; - */ - public boolean hasSchemaName() { - return ((bitField0_ & 0x00000080) == 0x00000080); - } - /** - *
-       ** 变更数据的schemaname*
-       * 
- * - * optional string schemaName = 8; + * string schemaName = 8; */ public java.lang.String getSchemaName() { java.lang.Object ref = schemaName_; @@ -3518,9 +3401,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - schemaName_ = s; - } + schemaName_ = s; return s; } else { return (java.lang.String) ref; @@ -3531,7 +3412,7 @@ public final class CanalEntry { ** 变更数据的schemaname* * * - * optional string schemaName = 8; + * string schemaName = 8; */ public com.google.protobuf.ByteString getSchemaNameBytes() { @@ -3551,14 +3432,14 @@ public final class CanalEntry { ** 变更数据的schemaname* * * - * optional string schemaName = 8; + * string schemaName = 8; */ public Builder setSchemaName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000080; + schemaName_ = value; onChanged(); return this; @@ -3568,10 +3449,10 @@ public final class CanalEntry { ** 变更数据的schemaname* * * - * optional string schemaName = 8; + * string schemaName = 8; */ public Builder clearSchemaName() { - bitField0_ = (bitField0_ & ~0x00000080); + schemaName_ = getDefaultInstance().getSchemaName(); onChanged(); return this; @@ -3581,14 +3462,15 @@ public final class CanalEntry { ** 变更数据的schemaname* * * - * optional string schemaName = 8; + * string schemaName = 8; */ public Builder setSchemaNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000080; + checkByteStringIsUtf8(value); + schemaName_ = value; onChanged(); return this; @@ -3600,17 +3482,7 @@ public final class CanalEntry { **变更数据的tablename* * * - * optional string tableName = 9; - */ - public boolean hasTableName() { - return ((bitField0_ & 0x00000100) == 0x00000100); - } - /** - *
-       **变更数据的tablename*
-       * 
- * - * optional string tableName = 9; + * string tableName = 9; */ public java.lang.String getTableName() { java.lang.Object ref = tableName_; @@ -3618,9 +3490,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - tableName_ = s; - } + tableName_ = s; return s; } else { return (java.lang.String) ref; @@ -3631,7 +3501,7 @@ public final class CanalEntry { **变更数据的tablename* * * - * optional string tableName = 9; + * string tableName = 9; */ public com.google.protobuf.ByteString getTableNameBytes() { @@ -3651,14 +3521,14 @@ public final class CanalEntry { **变更数据的tablename* * * - * optional string tableName = 9; + * string tableName = 9; */ public Builder setTableName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000100; + tableName_ = value; onChanged(); return this; @@ -3668,10 +3538,10 @@ public final class CanalEntry { **变更数据的tablename* * * - * optional string tableName = 9; + * string tableName = 9; */ public Builder clearTableName() { - bitField0_ = (bitField0_ & ~0x00000100); + tableName_ = getDefaultInstance().getTableName(); onChanged(); return this; @@ -3681,14 +3551,15 @@ public final class CanalEntry { **变更数据的tablename* * * - * optional string tableName = 9; + * string tableName = 9; */ public Builder setTableNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000100; + checkByteStringIsUtf8(value); + tableName_ = value; onChanged(); return this; @@ -3700,17 +3571,7 @@ public final class CanalEntry { **每个event的长度* * * - * optional int64 eventLength = 10; - */ - public boolean hasEventLength() { - return ((bitField0_ & 0x00000200) == 0x00000200); - } - /** - *
-       **每个event的长度*
-       * 
- * - * optional int64 eventLength = 10; + * int64 eventLength = 10; */ public long getEventLength() { return eventLength_; @@ -3720,10 +3581,10 @@ public final class CanalEntry { **每个event的长度* * * - * optional int64 eventLength = 10; + * int64 eventLength = 10; */ public Builder setEventLength(long value) { - bitField0_ |= 0x00000200; + eventLength_ = value; onChanged(); return this; @@ -3733,65 +3594,66 @@ public final class CanalEntry { **每个event的长度* * * - * optional int64 eventLength = 10; + * int64 eventLength = 10; */ public Builder clearEventLength() { - bitField0_ = (bitField0_ & ~0x00000200); + eventLength_ = 0L; onChanged(); return this; } - private int eventType_ = 2; /** - *
-       **数据变更类型*
-       * 
- * - * optional .com.alibaba.otter.canal.protocol.EventType eventType = 11 [default = UPDATE]; + * .com.alibaba.otter.canal.protocol.EventType eventType = 11; */ - public boolean hasEventType() { - return ((bitField0_ & 0x00000400) == 0x00000400); + public int getEventTypeValue() { + if (eventTypePresentCase_ == 11) { + return ((java.lang.Integer) eventTypePresent_).intValue(); + } + return EventType.UPDATE_VALUE; } /** - *
-       **数据变更类型*
-       * 
- * - * optional .com.alibaba.otter.canal.protocol.EventType eventType = 11 [default = UPDATE]; + * .com.alibaba.otter.canal.protocol.EventType eventType = 11; + */ + public Builder setEventTypeValue(int value) { + eventTypePresentCase_ = 11; + eventTypePresent_ = value; + onChanged(); + return this; + } + /** + * .com.alibaba.otter.canal.protocol.EventType eventType = 11; */ public com.alibaba.otter.canal.protocol.CanalEntry.EventType getEventType() { - @SuppressWarnings("deprecation") - com.alibaba.otter.canal.protocol.CanalEntry.EventType result = com.alibaba.otter.canal.protocol.CanalEntry.EventType.valueOf(eventType_); - return result == null ? com.alibaba.otter.canal.protocol.CanalEntry.EventType.UPDATE : result; + if (eventTypePresentCase_ == 11) { + @SuppressWarnings("deprecation") + com.alibaba.otter.canal.protocol.CanalEntry.EventType result = com.alibaba.otter.canal.protocol.CanalEntry.EventType.valueOf( + (java.lang.Integer) eventTypePresent_); + return result == null ? com.alibaba.otter.canal.protocol.CanalEntry.EventType.UNRECOGNIZED : result; + } + return com.alibaba.otter.canal.protocol.CanalEntry.EventType.EVENTTYPECOMPATIBLEPROTO2; } /** - *
-       **数据变更类型*
-       * 
- * - * optional .com.alibaba.otter.canal.protocol.EventType eventType = 11 [default = UPDATE]; + * .com.alibaba.otter.canal.protocol.EventType eventType = 11; */ public Builder setEventType(com.alibaba.otter.canal.protocol.CanalEntry.EventType value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000400; - eventType_ = value.getNumber(); + eventTypePresentCase_ = 11; + eventTypePresent_ = value.getNumber(); onChanged(); return this; } /** - *
-       **数据变更类型*
-       * 
- * - * optional .com.alibaba.otter.canal.protocol.EventType eventType = 11 [default = UPDATE]; + * .com.alibaba.otter.canal.protocol.EventType eventType = 11; */ public Builder clearEventType() { - bitField0_ = (bitField0_ & ~0x00000400); - eventType_ = 2; - onChanged(); + if (eventTypePresentCase_ == 11) { + eventTypePresentCase_ = 0; + eventTypePresent_ = null; + onChanged(); + } return this; } @@ -4113,17 +3975,7 @@ public final class CanalEntry { **当前事务的gitd* * * - * optional string gtid = 13; - */ - public boolean hasGtid() { - return ((bitField0_ & 0x00001000) == 0x00001000); - } - /** - *
-       **当前事务的gitd*
-       * 
- * - * optional string gtid = 13; + * string gtid = 13; */ public java.lang.String getGtid() { java.lang.Object ref = gtid_; @@ -4131,9 +3983,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - gtid_ = s; - } + gtid_ = s; return s; } else { return (java.lang.String) ref; @@ -4144,7 +3994,7 @@ public final class CanalEntry { **当前事务的gitd* * * - * optional string gtid = 13; + * string gtid = 13; */ public com.google.protobuf.ByteString getGtidBytes() { @@ -4164,14 +4014,14 @@ public final class CanalEntry { **当前事务的gitd* * * - * optional string gtid = 13; + * string gtid = 13; */ public Builder setGtid( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00001000; + gtid_ = value; onChanged(); return this; @@ -4181,10 +4031,10 @@ public final class CanalEntry { **当前事务的gitd* * * - * optional string gtid = 13; + * string gtid = 13; */ public Builder clearGtid() { - bitField0_ = (bitField0_ & ~0x00001000); + gtid_ = getDefaultInstance().getGtid(); onChanged(); return this; @@ -4194,14 +4044,15 @@ public final class CanalEntry { **当前事务的gitd* * * - * optional string gtid = 13; + * string gtid = 13; */ public Builder setGtidBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00001000; + checkByteStringIsUtf8(value); + gtid_ = value; onChanged(); return this; @@ -4209,7 +4060,7 @@ public final class CanalEntry { @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -4232,7 +4083,7 @@ public final class CanalEntry { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser
+ private static final com.google.protobuf.Parser
PARSER = new com.google.protobuf.AbstractParser
() { @java.lang.Override public Header parsePartialFrom( @@ -4268,15 +4119,7 @@ public final class CanalEntry { **字段下标* * * - * optional int32 index = 1; - */ - boolean hasIndex(); - /** - *
-     **字段下标*
-     * 
- * - * optional int32 index = 1; + * int32 index = 1; */ int getIndex(); @@ -4285,15 +4128,7 @@ public final class CanalEntry { **字段java中类型* * * - * optional int32 sqlType = 2; - */ - boolean hasSqlType(); - /** - *
-     **字段java中类型*
-     * 
- * - * optional int32 sqlType = 2; + * int32 sqlType = 2; */ int getSqlType(); @@ -4302,15 +4137,7 @@ public final class CanalEntry { **字段名称(忽略大小写),在mysql中是没有的* * * - * optional string name = 3; - */ - boolean hasName(); - /** - *
-     **字段名称(忽略大小写),在mysql中是没有的*
-     * 
- * - * optional string name = 3; + * string name = 3; */ java.lang.String getName(); /** @@ -4318,7 +4145,7 @@ public final class CanalEntry { **字段名称(忽略大小写),在mysql中是没有的* * * - * optional string name = 3; + * string name = 3; */ com.google.protobuf.ByteString getNameBytes(); @@ -4328,15 +4155,7 @@ public final class CanalEntry { **是否是主键* * * - * optional bool isKey = 4; - */ - boolean hasIsKey(); - /** - *
-     **是否是主键*
-     * 
- * - * optional bool isKey = 4; + * bool isKey = 4; */ boolean getIsKey(); @@ -4345,32 +4164,12 @@ public final class CanalEntry { **如果EventType=UPDATE,用于标识这个字段值是否有修改* * * - * optional bool updated = 5; - */ - boolean hasUpdated(); - /** - *
-     **如果EventType=UPDATE,用于标识这个字段值是否有修改*
-     * 
- * - * optional bool updated = 5; + * bool updated = 5; */ boolean getUpdated(); /** - *
-     ** 标识是否为空  *
-     * 
- * - * optional bool isNull = 6 [default = false]; - */ - boolean hasIsNull(); - /** - *
-     ** 标识是否为空  *
-     * 
- * - * optional bool isNull = 6 [default = false]; + * bool isNull = 6; */ boolean getIsNull(); @@ -4423,15 +4222,7 @@ public final class CanalEntry { ** 字段值,timestamp,Datetime是一个时间格式的文本 * * * - * optional string value = 8; - */ - boolean hasValue(); - /** - *
-     ** 字段值,timestamp,Datetime是一个时间格式的文本 *
-     * 
- * - * optional string value = 8; + * string value = 8; */ java.lang.String getValue(); /** @@ -4439,7 +4230,7 @@ public final class CanalEntry { ** 字段值,timestamp,Datetime是一个时间格式的文本 * * * - * optional string value = 8; + * string value = 8; */ com.google.protobuf.ByteString getValueBytes(); @@ -4449,15 +4240,7 @@ public final class CanalEntry { ** 对应数据对象原始长度 * * * - * optional int32 length = 9; - */ - boolean hasLength(); - /** - *
-     ** 对应数据对象原始长度 *
-     * 
- * - * optional int32 length = 9; + * int32 length = 9; */ int getLength(); @@ -4466,15 +4249,7 @@ public final class CanalEntry { **字段mysql类型* * * - * optional string mysqlType = 10; - */ - boolean hasMysqlType(); - /** - *
-     **字段mysql类型*
-     * 
- * - * optional string mysqlType = 10; + * string mysqlType = 10; */ java.lang.String getMysqlType(); /** @@ -4482,10 +4257,12 @@ public final class CanalEntry { **字段mysql类型* * * - * optional string mysqlType = 10; + * string mysqlType = 10; */ com.google.protobuf.ByteString getMysqlTypeBytes(); + + public com.alibaba.otter.canal.protocol.CanalEntry.Column.IsNullPresentCase getIsNullPresentCase(); } /** *
@@ -4509,7 +4286,6 @@ public final class CanalEntry {
       name_ = "";
       isKey_ = false;
       updated_ = false;
-      isNull_ = false;
       props_ = java.util.Collections.emptyList();
       value_ = "";
       length_ = 0;
@@ -4541,34 +4317,34 @@ public final class CanalEntry {
               done = true;
               break;
             case 8: {
-              bitField0_ |= 0x00000001;
+
               index_ = input.readInt32();
               break;
             }
             case 16: {
-              bitField0_ |= 0x00000002;
+
               sqlType_ = input.readInt32();
               break;
             }
             case 26: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000004;
-              name_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              name_ = s;
               break;
             }
             case 32: {
-              bitField0_ |= 0x00000008;
+
               isKey_ = input.readBool();
               break;
             }
             case 40: {
-              bitField0_ |= 0x00000010;
+
               updated_ = input.readBool();
               break;
             }
             case 48: {
-              bitField0_ |= 0x00000020;
-              isNull_ = input.readBool();
+              isNullPresentCase_ = 6;
+              isNullPresent_ = input.readBool();
               break;
             }
             case 58: {
@@ -4577,28 +4353,28 @@ public final class CanalEntry {
                 mutable_bitField0_ |= 0x00000040;
               }
               props_.add(
-                  input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Pair.PARSER, extensionRegistry));
+                  input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Pair.parser(), extensionRegistry));
               break;
             }
             case 66: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000040;
-              value_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              value_ = s;
               break;
             }
             case 72: {
-              bitField0_ |= 0x00000080;
+
               length_ = input.readInt32();
               break;
             }
             case 82: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000100;
-              mysqlType_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              mysqlType_ = s;
               break;
             }
             default: {
-              if (!parseUnknownField(
+              if (!parseUnknownFieldProto3(
                   input, unknownFields, extensionRegistry, tag)) {
                 done = true;
               }
@@ -4633,6 +4409,42 @@ public final class CanalEntry {
     }
 
     private int bitField0_;
+    private int isNullPresentCase_ = 0;
+    private java.lang.Object isNullPresent_;
+    public enum IsNullPresentCase
+        implements com.google.protobuf.Internal.EnumLite {
+      ISNULL(6),
+      ISNULLPRESENT_NOT_SET(0);
+      private final int value;
+      private IsNullPresentCase(int value) {
+        this.value = value;
+      }
+      /**
+       * @deprecated Use {@link #forNumber(int)} instead.
+       */
+      @java.lang.Deprecated
+      public static IsNullPresentCase valueOf(int value) {
+        return forNumber(value);
+      }
+
+      public static IsNullPresentCase forNumber(int value) {
+        switch (value) {
+          case 6: return ISNULL;
+          case 0: return ISNULLPRESENT_NOT_SET;
+          default: return null;
+        }
+      }
+      public int getNumber() {
+        return this.value;
+      }
+    };
+
+    public IsNullPresentCase
+    getIsNullPresentCase() {
+      return IsNullPresentCase.forNumber(
+          isNullPresentCase_);
+    }
+
     public static final int INDEX_FIELD_NUMBER = 1;
     private int index_;
     /**
@@ -4640,17 +4452,7 @@ public final class CanalEntry {
      **字段下标*
      * 
* - * optional int32 index = 1; - */ - public boolean hasIndex() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - *
-     **字段下标*
-     * 
- * - * optional int32 index = 1; + * int32 index = 1; */ public int getIndex() { return index_; @@ -4663,17 +4465,7 @@ public final class CanalEntry { **字段java中类型* * * - * optional int32 sqlType = 2; - */ - public boolean hasSqlType() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - *
-     **字段java中类型*
-     * 
- * - * optional int32 sqlType = 2; + * int32 sqlType = 2; */ public int getSqlType() { return sqlType_; @@ -4686,17 +4478,7 @@ public final class CanalEntry { **字段名称(忽略大小写),在mysql中是没有的* * * - * optional string name = 3; - */ - public boolean hasName() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - *
-     **字段名称(忽略大小写),在mysql中是没有的*
-     * 
- * - * optional string name = 3; + * string name = 3; */ public java.lang.String getName() { java.lang.Object ref = name_; @@ -4706,9 +4488,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - name_ = s; - } + name_ = s; return s; } } @@ -4717,7 +4497,7 @@ public final class CanalEntry { **字段名称(忽略大小写),在mysql中是没有的* * * - * optional string name = 3; + * string name = 3; */ public com.google.protobuf.ByteString getNameBytes() { @@ -4740,17 +4520,7 @@ public final class CanalEntry { **是否是主键* * * - * optional bool isKey = 4; - */ - public boolean hasIsKey() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - *
-     **是否是主键*
-     * 
- * - * optional bool isKey = 4; + * bool isKey = 4; */ public boolean getIsKey() { return isKey_; @@ -4763,43 +4533,21 @@ public final class CanalEntry { **如果EventType=UPDATE,用于标识这个字段值是否有修改* * * - * optional bool updated = 5; - */ - public boolean hasUpdated() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - *
-     **如果EventType=UPDATE,用于标识这个字段值是否有修改*
-     * 
- * - * optional bool updated = 5; + * bool updated = 5; */ public boolean getUpdated() { return updated_; } public static final int ISNULL_FIELD_NUMBER = 6; - private boolean isNull_; /** - *
-     ** 标识是否为空  *
-     * 
- * - * optional bool isNull = 6 [default = false]; - */ - public boolean hasIsNull() { - return ((bitField0_ & 0x00000020) == 0x00000020); - } - /** - *
-     ** 标识是否为空  *
-     * 
- * - * optional bool isNull = 6 [default = false]; + * bool isNull = 6; */ public boolean getIsNull() { - return isNull_; + if (isNullPresentCase_ == 6) { + return (java.lang.Boolean) isNullPresent_; + } + return false; } public static final int PROPS_FIELD_NUMBER = 7; @@ -4864,17 +4612,7 @@ public final class CanalEntry { ** 字段值,timestamp,Datetime是一个时间格式的文本 * * * - * optional string value = 8; - */ - public boolean hasValue() { - return ((bitField0_ & 0x00000040) == 0x00000040); - } - /** - *
-     ** 字段值,timestamp,Datetime是一个时间格式的文本 *
-     * 
- * - * optional string value = 8; + * string value = 8; */ public java.lang.String getValue() { java.lang.Object ref = value_; @@ -4884,9 +4622,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - value_ = s; - } + value_ = s; return s; } } @@ -4895,7 +4631,7 @@ public final class CanalEntry { ** 字段值,timestamp,Datetime是一个时间格式的文本 * * * - * optional string value = 8; + * string value = 8; */ public com.google.protobuf.ByteString getValueBytes() { @@ -4918,17 +4654,7 @@ public final class CanalEntry { ** 对应数据对象原始长度 * * * - * optional int32 length = 9; - */ - public boolean hasLength() { - return ((bitField0_ & 0x00000080) == 0x00000080); - } - /** - *
-     ** 对应数据对象原始长度 *
-     * 
- * - * optional int32 length = 9; + * int32 length = 9; */ public int getLength() { return length_; @@ -4941,17 +4667,7 @@ public final class CanalEntry { **字段mysql类型* * * - * optional string mysqlType = 10; - */ - public boolean hasMysqlType() { - return ((bitField0_ & 0x00000100) == 0x00000100); - } - /** - *
-     **字段mysql类型*
-     * 
- * - * optional string mysqlType = 10; + * string mysqlType = 10; */ public java.lang.String getMysqlType() { java.lang.Object ref = mysqlType_; @@ -4961,9 +4677,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - mysqlType_ = s; - } + mysqlType_ = s; return s; } } @@ -4972,7 +4686,7 @@ public final class CanalEntry { **字段mysql类型* * * - * optional string mysqlType = 10; + * string mysqlType = 10; */ public com.google.protobuf.ByteString getMysqlTypeBytes() { @@ -5002,34 +4716,35 @@ public final class CanalEntry { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (index_ != 0) { output.writeInt32(1, index_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (sqlType_ != 0) { output.writeInt32(2, sqlType_); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, name_); } - if (((bitField0_ & 0x00000008) == 0x00000008)) { + if (isKey_ != false) { output.writeBool(4, isKey_); } - if (((bitField0_ & 0x00000010) == 0x00000010)) { + if (updated_ != false) { output.writeBool(5, updated_); } - if (((bitField0_ & 0x00000020) == 0x00000020)) { - output.writeBool(6, isNull_); + if (isNullPresentCase_ == 6) { + output.writeBool( + 6, (boolean)((java.lang.Boolean) isNullPresent_)); } for (int i = 0; i < props_.size(); i++) { output.writeMessage(7, props_.get(i)); } - if (((bitField0_ & 0x00000040) == 0x00000040)) { + if (!getValueBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 8, value_); } - if (((bitField0_ & 0x00000080) == 0x00000080)) { + if (length_ != 0) { output.writeInt32(9, length_); } - if (((bitField0_ & 0x00000100) == 0x00000100)) { + if (!getMysqlTypeBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 10, mysqlType_); } unknownFields.writeTo(output); @@ -5041,41 +4756,42 @@ public final class CanalEntry { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (index_ != 0) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(1, index_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (sqlType_ != 0) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(2, sqlType_); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, name_); } - if (((bitField0_ & 0x00000008) == 0x00000008)) { + if (isKey_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(4, isKey_); } - if (((bitField0_ & 0x00000010) == 0x00000010)) { + if (updated_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(5, updated_); } - if (((bitField0_ & 0x00000020) == 0x00000020)) { + if (isNullPresentCase_ == 6) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(6, isNull_); + .computeBoolSize( + 6, (boolean)((java.lang.Boolean) isNullPresent_)); } for (int i = 0; i < props_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, props_.get(i)); } - if (((bitField0_ & 0x00000040) == 0x00000040)) { + if (!getValueBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, value_); } - if (((bitField0_ & 0x00000080) == 0x00000080)) { + if (length_ != 0) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(9, length_); } - if (((bitField0_ & 0x00000100) == 0x00000100)) { + if (!getMysqlTypeBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, mysqlType_); } size += unknownFields.getSerializedSize(); @@ -5094,52 +4810,34 @@ public final class CanalEntry { com.alibaba.otter.canal.protocol.CanalEntry.Column other = (com.alibaba.otter.canal.protocol.CanalEntry.Column) obj; boolean result = true; - result = result && (hasIndex() == other.hasIndex()); - if (hasIndex()) { - result = result && (getIndex() - == other.getIndex()); - } - result = result && (hasSqlType() == other.hasSqlType()); - if (hasSqlType()) { - result = result && (getSqlType() - == other.getSqlType()); - } - result = result && (hasName() == other.hasName()); - if (hasName()) { - result = result && getName() - .equals(other.getName()); - } - result = result && (hasIsKey() == other.hasIsKey()); - if (hasIsKey()) { - result = result && (getIsKey() - == other.getIsKey()); - } - result = result && (hasUpdated() == other.hasUpdated()); - if (hasUpdated()) { - result = result && (getUpdated() - == other.getUpdated()); - } - result = result && (hasIsNull() == other.hasIsNull()); - if (hasIsNull()) { - result = result && (getIsNull() - == other.getIsNull()); - } + result = result && (getIndex() + == other.getIndex()); + result = result && (getSqlType() + == other.getSqlType()); + result = result && getName() + .equals(other.getName()); + result = result && (getIsKey() + == other.getIsKey()); + result = result && (getUpdated() + == other.getUpdated()); result = result && getPropsList() .equals(other.getPropsList()); - result = result && (hasValue() == other.hasValue()); - if (hasValue()) { - result = result && getValue() - .equals(other.getValue()); - } - result = result && (hasLength() == other.hasLength()); - if (hasLength()) { - result = result && (getLength() - == other.getLength()); - } - result = result && (hasMysqlType() == other.hasMysqlType()); - if (hasMysqlType()) { - result = result && getMysqlType() - .equals(other.getMysqlType()); + result = result && getValue() + .equals(other.getValue()); + result = result && (getLength() + == other.getLength()); + result = result && getMysqlType() + .equals(other.getMysqlType()); + result = result && getIsNullPresentCase().equals( + other.getIsNullPresentCase()); + if (!result) return false; + switch (isNullPresentCase_) { + case 6: + result = result && (getIsNull() + == other.getIsNull()); + break; + case 0: + default: } result = result && unknownFields.equals(other.unknownFields); return result; @@ -5152,48 +4850,36 @@ public final class CanalEntry { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasIndex()) { - hash = (37 * hash) + INDEX_FIELD_NUMBER; - hash = (53 * hash) + getIndex(); - } - if (hasSqlType()) { - hash = (37 * hash) + SQLTYPE_FIELD_NUMBER; - hash = (53 * hash) + getSqlType(); - } - if (hasName()) { - hash = (37 * hash) + NAME_FIELD_NUMBER; - hash = (53 * hash) + getName().hashCode(); - } - if (hasIsKey()) { - hash = (37 * hash) + ISKEY_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsKey()); - } - if (hasUpdated()) { - hash = (37 * hash) + UPDATED_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getUpdated()); - } - if (hasIsNull()) { - hash = (37 * hash) + ISNULL_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsNull()); - } + hash = (37 * hash) + INDEX_FIELD_NUMBER; + hash = (53 * hash) + getIndex(); + hash = (37 * hash) + SQLTYPE_FIELD_NUMBER; + hash = (53 * hash) + getSqlType(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + hash = (37 * hash) + ISKEY_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsKey()); + hash = (37 * hash) + UPDATED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getUpdated()); if (getPropsCount() > 0) { hash = (37 * hash) + PROPS_FIELD_NUMBER; hash = (53 * hash) + getPropsList().hashCode(); } - if (hasValue()) { - hash = (37 * hash) + VALUE_FIELD_NUMBER; - hash = (53 * hash) + getValue().hashCode(); - } - if (hasLength()) { - hash = (37 * hash) + LENGTH_FIELD_NUMBER; - hash = (53 * hash) + getLength(); - } - if (hasMysqlType()) { - hash = (37 * hash) + MYSQLTYPE_FIELD_NUMBER; - hash = (53 * hash) + getMysqlType().hashCode(); + hash = (37 * hash) + VALUE_FIELD_NUMBER; + hash = (53 * hash) + getValue().hashCode(); + hash = (37 * hash) + LENGTH_FIELD_NUMBER; + hash = (53 * hash) + getLength(); + hash = (37 * hash) + MYSQLTYPE_FIELD_NUMBER; + hash = (53 * hash) + getMysqlType().hashCode(); + switch (isNullPresentCase_) { + case 6: + hash = (37 * hash) + ISNULL_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsNull()); + break; + case 0: + default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; @@ -5334,17 +5020,15 @@ public final class CanalEntry { public Builder clear() { super.clear(); index_ = 0; - bitField0_ = (bitField0_ & ~0x00000001); + sqlType_ = 0; - bitField0_ = (bitField0_ & ~0x00000002); + name_ = ""; - bitField0_ = (bitField0_ & ~0x00000004); + isKey_ = false; - bitField0_ = (bitField0_ & ~0x00000008); + updated_ = false; - bitField0_ = (bitField0_ & ~0x00000010); - isNull_ = false; - bitField0_ = (bitField0_ & ~0x00000020); + if (propsBuilder_ == null) { props_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000040); @@ -5352,11 +5036,13 @@ public final class CanalEntry { propsBuilder_.clear(); } value_ = ""; - bitField0_ = (bitField0_ & ~0x00000080); + length_ = 0; - bitField0_ = (bitField0_ & ~0x00000100); + mysqlType_ = ""; - bitField0_ = (bitField0_ & ~0x00000200); + + isNullPresentCase_ = 0; + isNullPresent_ = null; return this; } @@ -5385,30 +5071,14 @@ public final class CanalEntry { com.alibaba.otter.canal.protocol.CanalEntry.Column result = new com.alibaba.otter.canal.protocol.CanalEntry.Column(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } result.index_ = index_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } result.sqlType_ = sqlType_; - if (((from_bitField0_ & 0x00000004) == 0x00000004)) { - to_bitField0_ |= 0x00000004; - } result.name_ = name_; - if (((from_bitField0_ & 0x00000008) == 0x00000008)) { - to_bitField0_ |= 0x00000008; - } result.isKey_ = isKey_; - if (((from_bitField0_ & 0x00000010) == 0x00000010)) { - to_bitField0_ |= 0x00000010; - } result.updated_ = updated_; - if (((from_bitField0_ & 0x00000020) == 0x00000020)) { - to_bitField0_ |= 0x00000020; + if (isNullPresentCase_ == 6) { + result.isNullPresent_ = isNullPresent_; } - result.isNull_ = isNull_; if (propsBuilder_ == null) { if (((bitField0_ & 0x00000040) == 0x00000040)) { props_ = java.util.Collections.unmodifiableList(props_); @@ -5418,19 +5088,11 @@ public final class CanalEntry { } else { result.props_ = propsBuilder_.build(); } - if (((from_bitField0_ & 0x00000080) == 0x00000080)) { - to_bitField0_ |= 0x00000040; - } result.value_ = value_; - if (((from_bitField0_ & 0x00000100) == 0x00000100)) { - to_bitField0_ |= 0x00000080; - } result.length_ = length_; - if (((from_bitField0_ & 0x00000200) == 0x00000200)) { - to_bitField0_ |= 0x00000100; - } result.mysqlType_ = mysqlType_; result.bitField0_ = to_bitField0_; + result.isNullPresentCase_ = isNullPresentCase_; onBuilt(); return result; } @@ -5479,26 +5141,22 @@ public final class CanalEntry { public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalEntry.Column other) { if (other == com.alibaba.otter.canal.protocol.CanalEntry.Column.getDefaultInstance()) return this; - if (other.hasIndex()) { + if (other.getIndex() != 0) { setIndex(other.getIndex()); } - if (other.hasSqlType()) { + if (other.getSqlType() != 0) { setSqlType(other.getSqlType()); } - if (other.hasName()) { - bitField0_ |= 0x00000004; + if (!other.getName().isEmpty()) { name_ = other.name_; onChanged(); } - if (other.hasIsKey()) { + if (other.getIsKey() != false) { setIsKey(other.getIsKey()); } - if (other.hasUpdated()) { + if (other.getUpdated() != false) { setUpdated(other.getUpdated()); } - if (other.hasIsNull()) { - setIsNull(other.getIsNull()); - } if (propsBuilder_ == null) { if (!other.props_.isEmpty()) { if (props_.isEmpty()) { @@ -5525,19 +5183,26 @@ public final class CanalEntry { } } } - if (other.hasValue()) { - bitField0_ |= 0x00000080; + if (!other.getValue().isEmpty()) { value_ = other.value_; onChanged(); } - if (other.hasLength()) { + if (other.getLength() != 0) { setLength(other.getLength()); } - if (other.hasMysqlType()) { - bitField0_ |= 0x00000200; + if (!other.getMysqlType().isEmpty()) { mysqlType_ = other.mysqlType_; onChanged(); } + switch (other.getIsNullPresentCase()) { + case ISNULL: { + setIsNull(other.getIsNull()); + break; + } + case ISNULLPRESENT_NOT_SET: { + break; + } + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -5566,6 +5231,21 @@ public final class CanalEntry { } return this; } + private int isNullPresentCase_ = 0; + private java.lang.Object isNullPresent_; + public IsNullPresentCase + getIsNullPresentCase() { + return IsNullPresentCase.forNumber( + isNullPresentCase_); + } + + public Builder clearIsNullPresent() { + isNullPresentCase_ = 0; + isNullPresent_ = null; + onChanged(); + return this; + } + private int bitField0_; private int index_ ; @@ -5574,17 +5254,7 @@ public final class CanalEntry { **字段下标* * * - * optional int32 index = 1; - */ - public boolean hasIndex() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - *
-       **字段下标*
-       * 
- * - * optional int32 index = 1; + * int32 index = 1; */ public int getIndex() { return index_; @@ -5594,10 +5264,10 @@ public final class CanalEntry { **字段下标* * * - * optional int32 index = 1; + * int32 index = 1; */ public Builder setIndex(int value) { - bitField0_ |= 0x00000001; + index_ = value; onChanged(); return this; @@ -5607,10 +5277,10 @@ public final class CanalEntry { **字段下标* * * - * optional int32 index = 1; + * int32 index = 1; */ public Builder clearIndex() { - bitField0_ = (bitField0_ & ~0x00000001); + index_ = 0; onChanged(); return this; @@ -5622,17 +5292,7 @@ public final class CanalEntry { **字段java中类型* * * - * optional int32 sqlType = 2; - */ - public boolean hasSqlType() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - *
-       **字段java中类型*
-       * 
- * - * optional int32 sqlType = 2; + * int32 sqlType = 2; */ public int getSqlType() { return sqlType_; @@ -5642,10 +5302,10 @@ public final class CanalEntry { **字段java中类型* * * - * optional int32 sqlType = 2; + * int32 sqlType = 2; */ public Builder setSqlType(int value) { - bitField0_ |= 0x00000002; + sqlType_ = value; onChanged(); return this; @@ -5655,10 +5315,10 @@ public final class CanalEntry { **字段java中类型* * * - * optional int32 sqlType = 2; + * int32 sqlType = 2; */ public Builder clearSqlType() { - bitField0_ = (bitField0_ & ~0x00000002); + sqlType_ = 0; onChanged(); return this; @@ -5670,17 +5330,7 @@ public final class CanalEntry { **字段名称(忽略大小写),在mysql中是没有的* * * - * optional string name = 3; - */ - public boolean hasName() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - *
-       **字段名称(忽略大小写),在mysql中是没有的*
-       * 
- * - * optional string name = 3; + * string name = 3; */ public java.lang.String getName() { java.lang.Object ref = name_; @@ -5688,9 +5338,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - name_ = s; - } + name_ = s; return s; } else { return (java.lang.String) ref; @@ -5701,7 +5349,7 @@ public final class CanalEntry { **字段名称(忽略大小写),在mysql中是没有的* * * - * optional string name = 3; + * string name = 3; */ public com.google.protobuf.ByteString getNameBytes() { @@ -5721,14 +5369,14 @@ public final class CanalEntry { **字段名称(忽略大小写),在mysql中是没有的* * * - * optional string name = 3; + * string name = 3; */ public Builder setName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000004; + name_ = value; onChanged(); return this; @@ -5738,10 +5386,10 @@ public final class CanalEntry { **字段名称(忽略大小写),在mysql中是没有的* * * - * optional string name = 3; + * string name = 3; */ public Builder clearName() { - bitField0_ = (bitField0_ & ~0x00000004); + name_ = getDefaultInstance().getName(); onChanged(); return this; @@ -5751,14 +5399,15 @@ public final class CanalEntry { **字段名称(忽略大小写),在mysql中是没有的* * * - * optional string name = 3; + * string name = 3; */ public Builder setNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000004; + checkByteStringIsUtf8(value); + name_ = value; onChanged(); return this; @@ -5770,17 +5419,7 @@ public final class CanalEntry { **是否是主键* * * - * optional bool isKey = 4; - */ - public boolean hasIsKey() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - *
-       **是否是主键*
-       * 
- * - * optional bool isKey = 4; + * bool isKey = 4; */ public boolean getIsKey() { return isKey_; @@ -5790,10 +5429,10 @@ public final class CanalEntry { **是否是主键* * * - * optional bool isKey = 4; + * bool isKey = 4; */ public Builder setIsKey(boolean value) { - bitField0_ |= 0x00000008; + isKey_ = value; onChanged(); return this; @@ -5803,10 +5442,10 @@ public final class CanalEntry { **是否是主键* * * - * optional bool isKey = 4; + * bool isKey = 4; */ public Builder clearIsKey() { - bitField0_ = (bitField0_ & ~0x00000008); + isKey_ = false; onChanged(); return this; @@ -5818,17 +5457,7 @@ public final class CanalEntry { **如果EventType=UPDATE,用于标识这个字段值是否有修改* * * - * optional bool updated = 5; - */ - public boolean hasUpdated() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - *
-       **如果EventType=UPDATE,用于标识这个字段值是否有修改*
-       * 
- * - * optional bool updated = 5; + * bool updated = 5; */ public boolean getUpdated() { return updated_; @@ -5838,10 +5467,10 @@ public final class CanalEntry { **如果EventType=UPDATE,用于标识这个字段值是否有修改* * * - * optional bool updated = 5; + * bool updated = 5; */ public Builder setUpdated(boolean value) { - bitField0_ |= 0x00000010; + updated_ = value; onChanged(); return this; @@ -5851,60 +5480,42 @@ public final class CanalEntry { **如果EventType=UPDATE,用于标识这个字段值是否有修改* * * - * optional bool updated = 5; + * bool updated = 5; */ public Builder clearUpdated() { - bitField0_ = (bitField0_ & ~0x00000010); + updated_ = false; onChanged(); return this; } - private boolean isNull_ ; /** - *
-       ** 标识是否为空  *
-       * 
- * - * optional bool isNull = 6 [default = false]; - */ - public boolean hasIsNull() { - return ((bitField0_ & 0x00000020) == 0x00000020); - } - /** - *
-       ** 标识是否为空  *
-       * 
- * - * optional bool isNull = 6 [default = false]; + * bool isNull = 6; */ public boolean getIsNull() { - return isNull_; + if (isNullPresentCase_ == 6) { + return (java.lang.Boolean) isNullPresent_; + } + return false; } /** - *
-       ** 标识是否为空  *
-       * 
- * - * optional bool isNull = 6 [default = false]; + * bool isNull = 6; */ public Builder setIsNull(boolean value) { - bitField0_ |= 0x00000020; - isNull_ = value; + isNullPresentCase_ = 6; + isNullPresent_ = value; onChanged(); return this; } /** - *
-       ** 标识是否为空  *
-       * 
- * - * optional bool isNull = 6 [default = false]; + * bool isNull = 6; */ public Builder clearIsNull() { - bitField0_ = (bitField0_ & ~0x00000020); - isNull_ = false; - onChanged(); + if (isNullPresentCase_ == 6) { + isNullPresentCase_ = 0; + isNullPresent_ = null; + onChanged(); + } return this; } @@ -6226,17 +5837,7 @@ public final class CanalEntry { ** 字段值,timestamp,Datetime是一个时间格式的文本 * * * - * optional string value = 8; - */ - public boolean hasValue() { - return ((bitField0_ & 0x00000080) == 0x00000080); - } - /** - *
-       ** 字段值,timestamp,Datetime是一个时间格式的文本 *
-       * 
- * - * optional string value = 8; + * string value = 8; */ public java.lang.String getValue() { java.lang.Object ref = value_; @@ -6244,9 +5845,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - value_ = s; - } + value_ = s; return s; } else { return (java.lang.String) ref; @@ -6257,7 +5856,7 @@ public final class CanalEntry { ** 字段值,timestamp,Datetime是一个时间格式的文本 * * * - * optional string value = 8; + * string value = 8; */ public com.google.protobuf.ByteString getValueBytes() { @@ -6277,14 +5876,14 @@ public final class CanalEntry { ** 字段值,timestamp,Datetime是一个时间格式的文本 * * * - * optional string value = 8; + * string value = 8; */ public Builder setValue( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000080; + value_ = value; onChanged(); return this; @@ -6294,10 +5893,10 @@ public final class CanalEntry { ** 字段值,timestamp,Datetime是一个时间格式的文本 * * * - * optional string value = 8; + * string value = 8; */ public Builder clearValue() { - bitField0_ = (bitField0_ & ~0x00000080); + value_ = getDefaultInstance().getValue(); onChanged(); return this; @@ -6307,14 +5906,15 @@ public final class CanalEntry { ** 字段值,timestamp,Datetime是一个时间格式的文本 * * * - * optional string value = 8; + * string value = 8; */ public Builder setValueBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000080; + checkByteStringIsUtf8(value); + value_ = value; onChanged(); return this; @@ -6326,17 +5926,7 @@ public final class CanalEntry { ** 对应数据对象原始长度 * * * - * optional int32 length = 9; - */ - public boolean hasLength() { - return ((bitField0_ & 0x00000100) == 0x00000100); - } - /** - *
-       ** 对应数据对象原始长度 *
-       * 
- * - * optional int32 length = 9; + * int32 length = 9; */ public int getLength() { return length_; @@ -6346,10 +5936,10 @@ public final class CanalEntry { ** 对应数据对象原始长度 * * * - * optional int32 length = 9; + * int32 length = 9; */ public Builder setLength(int value) { - bitField0_ |= 0x00000100; + length_ = value; onChanged(); return this; @@ -6359,10 +5949,10 @@ public final class CanalEntry { ** 对应数据对象原始长度 * * * - * optional int32 length = 9; + * int32 length = 9; */ public Builder clearLength() { - bitField0_ = (bitField0_ & ~0x00000100); + length_ = 0; onChanged(); return this; @@ -6374,17 +5964,7 @@ public final class CanalEntry { **字段mysql类型* * * - * optional string mysqlType = 10; - */ - public boolean hasMysqlType() { - return ((bitField0_ & 0x00000200) == 0x00000200); - } - /** - *
-       **字段mysql类型*
-       * 
- * - * optional string mysqlType = 10; + * string mysqlType = 10; */ public java.lang.String getMysqlType() { java.lang.Object ref = mysqlType_; @@ -6392,9 +5972,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - mysqlType_ = s; - } + mysqlType_ = s; return s; } else { return (java.lang.String) ref; @@ -6405,7 +5983,7 @@ public final class CanalEntry { **字段mysql类型* * * - * optional string mysqlType = 10; + * string mysqlType = 10; */ public com.google.protobuf.ByteString getMysqlTypeBytes() { @@ -6425,14 +6003,14 @@ public final class CanalEntry { **字段mysql类型* * * - * optional string mysqlType = 10; + * string mysqlType = 10; */ public Builder setMysqlType( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000200; + mysqlType_ = value; onChanged(); return this; @@ -6442,10 +6020,10 @@ public final class CanalEntry { **字段mysql类型* * * - * optional string mysqlType = 10; + * string mysqlType = 10; */ public Builder clearMysqlType() { - bitField0_ = (bitField0_ & ~0x00000200); + mysqlType_ = getDefaultInstance().getMysqlType(); onChanged(); return this; @@ -6455,14 +6033,15 @@ public final class CanalEntry { **字段mysql类型* * * - * optional string mysqlType = 10; + * string mysqlType = 10; */ public Builder setMysqlTypeBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000200; + checkByteStringIsUtf8(value); + mysqlType_ = value; onChanged(); return this; @@ -6470,7 +6049,7 @@ public final class CanalEntry { @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -6493,7 +6072,7 @@ public final class CanalEntry { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Column parsePartialFrom( @@ -6704,7 +6283,7 @@ public final class CanalEntry { mutable_bitField0_ |= 0x00000001; } beforeColumns_.add( - input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Column.PARSER, extensionRegistry)); + input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Column.parser(), extensionRegistry)); break; } case 18: { @@ -6713,7 +6292,7 @@ public final class CanalEntry { mutable_bitField0_ |= 0x00000002; } afterColumns_.add( - input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Column.PARSER, extensionRegistry)); + input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Column.parser(), extensionRegistry)); break; } case 26: { @@ -6722,11 +6301,11 @@ public final class CanalEntry { mutable_bitField0_ |= 0x00000004; } props_.add( - input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Pair.PARSER, extensionRegistry)); + input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Pair.parser(), extensionRegistry)); break; } default: { - if (!parseUnknownField( + if (!parseUnknownFieldProto3( input, unknownFields, extensionRegistry, tag)) { done = true; } @@ -8322,7 +7901,7 @@ public final class CanalEntry { @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -8345,7 +7924,7 @@ public final class CanalEntry { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public RowData parsePartialFrom( @@ -8381,49 +7960,21 @@ public final class CanalEntry { **tableId,由数据库产生* * * - * optional int64 tableId = 1; - */ - boolean hasTableId(); - /** - *
-     **tableId,由数据库产生*
-     * 
- * - * optional int64 tableId = 1; + * int64 tableId = 1; */ long getTableId(); /** - *
-     **数据变更类型*
-     * 
- * - * optional .com.alibaba.otter.canal.protocol.EventType eventType = 2 [default = UPDATE]; + * .com.alibaba.otter.canal.protocol.EventType eventType = 2; */ - boolean hasEventType(); + int getEventTypeValue(); /** - *
-     **数据变更类型*
-     * 
- * - * optional .com.alibaba.otter.canal.protocol.EventType eventType = 2 [default = UPDATE]; + * .com.alibaba.otter.canal.protocol.EventType eventType = 2; */ com.alibaba.otter.canal.protocol.CanalEntry.EventType getEventType(); /** - *
-     ** 标识是否是ddl语句  *
-     * 
- * - * optional bool isDdl = 10 [default = false]; - */ - boolean hasIsDdl(); - /** - *
-     ** 标识是否是ddl语句  *
-     * 
- * - * optional bool isDdl = 10 [default = false]; + * bool isDdl = 10; */ boolean getIsDdl(); @@ -8432,15 +7983,7 @@ public final class CanalEntry { ** ddl/query的sql语句 * * * - * optional string sql = 11; - */ - boolean hasSql(); - /** - *
-     ** ddl/query的sql语句  *
-     * 
- * - * optional string sql = 11; + * string sql = 11; */ java.lang.String getSql(); /** @@ -8448,7 +7991,7 @@ public final class CanalEntry { ** ddl/query的sql语句 * * * - * optional string sql = 11; + * string sql = 11; */ com.google.protobuf.ByteString getSqlBytes(); @@ -8546,15 +8089,7 @@ public final class CanalEntry { ** ddl/query的schemaName,会存在跨库ddl,需要保留执行ddl的当前schemaName * * * - * optional string ddlSchemaName = 14; - */ - boolean hasDdlSchemaName(); - /** - *
-     ** ddl/query的schemaName,会存在跨库ddl,需要保留执行ddl的当前schemaName  *
-     * 
- * - * optional string ddlSchemaName = 14; + * string ddlSchemaName = 14; */ java.lang.String getDdlSchemaName(); /** @@ -8562,10 +8097,14 @@ public final class CanalEntry { ** ddl/query的schemaName,会存在跨库ddl,需要保留执行ddl的当前schemaName * * * - * optional string ddlSchemaName = 14; + * string ddlSchemaName = 14; */ com.google.protobuf.ByteString getDdlSchemaNameBytes(); + + public com.alibaba.otter.canal.protocol.CanalEntry.RowChange.EventTypePresentCase getEventTypePresentCase(); + + public com.alibaba.otter.canal.protocol.CanalEntry.RowChange.IsDdlPresentCase getIsDdlPresentCase(); } /** *
@@ -8585,8 +8124,6 @@ public final class CanalEntry {
     }
     private RowChange() {
       tableId_ = 0L;
-      eventType_ = 2;
-      isDdl_ = false;
       sql_ = "";
       rowDatas_ = java.util.Collections.emptyList();
       props_ = java.util.Collections.emptyList();
@@ -8618,31 +8155,25 @@ public final class CanalEntry {
               done = true;
               break;
             case 8: {
-              bitField0_ |= 0x00000001;
+
               tableId_ = input.readInt64();
               break;
             }
             case 16: {
               int rawValue = input.readEnum();
-                @SuppressWarnings("deprecation")
-              com.alibaba.otter.canal.protocol.CanalEntry.EventType value = com.alibaba.otter.canal.protocol.CanalEntry.EventType.valueOf(rawValue);
-              if (value == null) {
-                unknownFields.mergeVarintField(2, rawValue);
-              } else {
-                bitField0_ |= 0x00000002;
-                eventType_ = rawValue;
-              }
+              eventTypePresentCase_ = 2;
+              eventTypePresent_ = rawValue;
               break;
             }
             case 80: {
-              bitField0_ |= 0x00000004;
-              isDdl_ = input.readBool();
+              isDdlPresentCase_ = 10;
+              isDdlPresent_ = input.readBool();
               break;
             }
             case 90: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000008;
-              sql_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              sql_ = s;
               break;
             }
             case 98: {
@@ -8651,7 +8182,7 @@ public final class CanalEntry {
                 mutable_bitField0_ |= 0x00000010;
               }
               rowDatas_.add(
-                  input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.RowData.PARSER, extensionRegistry));
+                  input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.RowData.parser(), extensionRegistry));
               break;
             }
             case 106: {
@@ -8660,17 +8191,17 @@ public final class CanalEntry {
                 mutable_bitField0_ |= 0x00000020;
               }
               props_.add(
-                  input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Pair.PARSER, extensionRegistry));
+                  input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Pair.parser(), extensionRegistry));
               break;
             }
             case 114: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000010;
-              ddlSchemaName_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              ddlSchemaName_ = s;
               break;
             }
             default: {
-              if (!parseUnknownField(
+              if (!parseUnknownFieldProto3(
                   input, unknownFields, extensionRegistry, tag)) {
                 done = true;
               }
@@ -8708,6 +8239,78 @@ public final class CanalEntry {
     }
 
     private int bitField0_;
+    private int eventTypePresentCase_ = 0;
+    private java.lang.Object eventTypePresent_;
+    public enum EventTypePresentCase
+        implements com.google.protobuf.Internal.EnumLite {
+      EVENTTYPE(2),
+      EVENTTYPEPRESENT_NOT_SET(0);
+      private final int value;
+      private EventTypePresentCase(int value) {
+        this.value = value;
+      }
+      /**
+       * @deprecated Use {@link #forNumber(int)} instead.
+       */
+      @java.lang.Deprecated
+      public static EventTypePresentCase valueOf(int value) {
+        return forNumber(value);
+      }
+
+      public static EventTypePresentCase forNumber(int value) {
+        switch (value) {
+          case 2: return EVENTTYPE;
+          case 0: return EVENTTYPEPRESENT_NOT_SET;
+          default: return null;
+        }
+      }
+      public int getNumber() {
+        return this.value;
+      }
+    };
+
+    public EventTypePresentCase
+    getEventTypePresentCase() {
+      return EventTypePresentCase.forNumber(
+          eventTypePresentCase_);
+    }
+
+    private int isDdlPresentCase_ = 0;
+    private java.lang.Object isDdlPresent_;
+    public enum IsDdlPresentCase
+        implements com.google.protobuf.Internal.EnumLite {
+      ISDDL(10),
+      ISDDLPRESENT_NOT_SET(0);
+      private final int value;
+      private IsDdlPresentCase(int value) {
+        this.value = value;
+      }
+      /**
+       * @deprecated Use {@link #forNumber(int)} instead.
+       */
+      @java.lang.Deprecated
+      public static IsDdlPresentCase valueOf(int value) {
+        return forNumber(value);
+      }
+
+      public static IsDdlPresentCase forNumber(int value) {
+        switch (value) {
+          case 10: return ISDDL;
+          case 0: return ISDDLPRESENT_NOT_SET;
+          default: return null;
+        }
+      }
+      public int getNumber() {
+        return this.value;
+      }
+    };
+
+    public IsDdlPresentCase
+    getIsDdlPresentCase() {
+      return IsDdlPresentCase.forNumber(
+          isDdlPresentCase_);
+    }
+
     public static final int TABLEID_FIELD_NUMBER = 1;
     private long tableId_;
     /**
@@ -8715,68 +8318,44 @@ public final class CanalEntry {
      **tableId,由数据库产生*
      * 
* - * optional int64 tableId = 1; - */ - public boolean hasTableId() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - *
-     **tableId,由数据库产生*
-     * 
- * - * optional int64 tableId = 1; + * int64 tableId = 1; */ public long getTableId() { return tableId_; } public static final int EVENTTYPE_FIELD_NUMBER = 2; - private int eventType_; /** - *
-     **数据变更类型*
-     * 
- * - * optional .com.alibaba.otter.canal.protocol.EventType eventType = 2 [default = UPDATE]; + * .com.alibaba.otter.canal.protocol.EventType eventType = 2; */ - public boolean hasEventType() { - return ((bitField0_ & 0x00000002) == 0x00000002); + public int getEventTypeValue() { + if (eventTypePresentCase_ == 2) { + return (java.lang.Integer) eventTypePresent_; + } + return 0; } /** - *
-     **数据变更类型*
-     * 
- * - * optional .com.alibaba.otter.canal.protocol.EventType eventType = 2 [default = UPDATE]; + * .com.alibaba.otter.canal.protocol.EventType eventType = 2; */ public com.alibaba.otter.canal.protocol.CanalEntry.EventType getEventType() { - @SuppressWarnings("deprecation") - com.alibaba.otter.canal.protocol.CanalEntry.EventType result = com.alibaba.otter.canal.protocol.CanalEntry.EventType.valueOf(eventType_); - return result == null ? com.alibaba.otter.canal.protocol.CanalEntry.EventType.UPDATE : result; + if (eventTypePresentCase_ == 2) { + @SuppressWarnings("deprecation") + com.alibaba.otter.canal.protocol.CanalEntry.EventType result = com.alibaba.otter.canal.protocol.CanalEntry.EventType.valueOf( + (java.lang.Integer) eventTypePresent_); + return result == null ? com.alibaba.otter.canal.protocol.CanalEntry.EventType.UNRECOGNIZED : result; + } + return EventType.UPDATE; } public static final int ISDDL_FIELD_NUMBER = 10; - private boolean isDdl_; /** - *
-     ** 标识是否是ddl语句  *
-     * 
- * - * optional bool isDdl = 10 [default = false]; - */ - public boolean hasIsDdl() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - *
-     ** 标识是否是ddl语句  *
-     * 
- * - * optional bool isDdl = 10 [default = false]; + * bool isDdl = 10; */ public boolean getIsDdl() { - return isDdl_; + if (isDdlPresentCase_ == 10) { + return (java.lang.Boolean) isDdlPresent_; + } + return false; } public static final int SQL_FIELD_NUMBER = 11; @@ -8786,17 +8365,7 @@ public final class CanalEntry { ** ddl/query的sql语句 * * * - * optional string sql = 11; - */ - public boolean hasSql() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - *
-     ** ddl/query的sql语句  *
-     * 
- * - * optional string sql = 11; + * string sql = 11; */ public java.lang.String getSql() { java.lang.Object ref = sql_; @@ -8806,9 +8375,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - sql_ = s; - } + sql_ = s; return s; } } @@ -8817,7 +8384,7 @@ public final class CanalEntry { ** ddl/query的sql语句 * * * - * optional string sql = 11; + * string sql = 11; */ public com.google.protobuf.ByteString getSqlBytes() { @@ -8950,17 +8517,7 @@ public final class CanalEntry { ** ddl/query的schemaName,会存在跨库ddl,需要保留执行ddl的当前schemaName * * * - * optional string ddlSchemaName = 14; - */ - public boolean hasDdlSchemaName() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - *
-     ** ddl/query的schemaName,会存在跨库ddl,需要保留执行ddl的当前schemaName  *
-     * 
- * - * optional string ddlSchemaName = 14; + * string ddlSchemaName = 14; */ public java.lang.String getDdlSchemaName() { java.lang.Object ref = ddlSchemaName_; @@ -8970,9 +8527,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - ddlSchemaName_ = s; - } + ddlSchemaName_ = s; return s; } } @@ -8981,7 +8536,7 @@ public final class CanalEntry { ** ddl/query的schemaName,会存在跨库ddl,需要保留执行ddl的当前schemaName * * * - * optional string ddlSchemaName = 14; + * string ddlSchemaName = 14; */ public com.google.protobuf.ByteString getDdlSchemaNameBytes() { @@ -9011,16 +8566,17 @@ public final class CanalEntry { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (tableId_ != 0L) { output.writeInt64(1, tableId_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeEnum(2, eventType_); + if (eventTypePresentCase_ == 2) { + output.writeEnum(2, ((java.lang.Integer) eventTypePresent_)); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { - output.writeBool(10, isDdl_); + if (isDdlPresentCase_ == 10) { + output.writeBool( + 10, (boolean)((java.lang.Boolean) isDdlPresent_)); } - if (((bitField0_ & 0x00000008) == 0x00000008)) { + if (!getSqlBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 11, sql_); } for (int i = 0; i < rowDatas_.size(); i++) { @@ -9029,7 +8585,7 @@ public final class CanalEntry { for (int i = 0; i < props_.size(); i++) { output.writeMessage(13, props_.get(i)); } - if (((bitField0_ & 0x00000010) == 0x00000010)) { + if (!getDdlSchemaNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 14, ddlSchemaName_); } unknownFields.writeTo(output); @@ -9041,19 +8597,20 @@ public final class CanalEntry { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (tableId_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(1, tableId_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (eventTypePresentCase_ == 2) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(2, eventType_); + .computeEnumSize(2, ((java.lang.Integer) eventTypePresent_)); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (isDdlPresentCase_ == 10) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(10, isDdl_); + .computeBoolSize( + 10, (boolean)((java.lang.Boolean) isDdlPresent_)); } - if (((bitField0_ & 0x00000008) == 0x00000008)) { + if (!getSqlBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, sql_); } for (int i = 0; i < rowDatas_.size(); i++) { @@ -9064,7 +8621,7 @@ public final class CanalEntry { size += com.google.protobuf.CodedOutputStream .computeMessageSize(13, props_.get(i)); } - if (((bitField0_ & 0x00000010) == 0x00000010)) { + if (!getDdlSchemaNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, ddlSchemaName_); } size += unknownFields.getSerializedSize(); @@ -9083,33 +8640,37 @@ public final class CanalEntry { com.alibaba.otter.canal.protocol.CanalEntry.RowChange other = (com.alibaba.otter.canal.protocol.CanalEntry.RowChange) obj; boolean result = true; - result = result && (hasTableId() == other.hasTableId()); - if (hasTableId()) { - result = result && (getTableId() - == other.getTableId()); - } - result = result && (hasEventType() == other.hasEventType()); - if (hasEventType()) { - result = result && eventType_ == other.eventType_; - } - result = result && (hasIsDdl() == other.hasIsDdl()); - if (hasIsDdl()) { - result = result && (getIsDdl() - == other.getIsDdl()); - } - result = result && (hasSql() == other.hasSql()); - if (hasSql()) { - result = result && getSql() - .equals(other.getSql()); - } + result = result && (getTableId() + == other.getTableId()); + result = result && getSql() + .equals(other.getSql()); result = result && getRowDatasList() .equals(other.getRowDatasList()); result = result && getPropsList() .equals(other.getPropsList()); - result = result && (hasDdlSchemaName() == other.hasDdlSchemaName()); - if (hasDdlSchemaName()) { - result = result && getDdlSchemaName() - .equals(other.getDdlSchemaName()); + result = result && getDdlSchemaName() + .equals(other.getDdlSchemaName()); + result = result && getEventTypePresentCase().equals( + other.getEventTypePresentCase()); + if (!result) return false; + switch (eventTypePresentCase_) { + case 2: + result = result && getEventTypeValue() + == other.getEventTypeValue(); + break; + case 0: + default: + } + result = result && getIsDdlPresentCase().equals( + other.getIsDdlPresentCase()); + if (!result) return false; + switch (isDdlPresentCase_) { + case 10: + result = result && (getIsDdl() + == other.getIsDdl()); + break; + case 0: + default: } result = result && unknownFields.equals(other.unknownFields); return result; @@ -9122,24 +8683,11 @@ public final class CanalEntry { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasTableId()) { - hash = (37 * hash) + TABLEID_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getTableId()); - } - if (hasEventType()) { - hash = (37 * hash) + EVENTTYPE_FIELD_NUMBER; - hash = (53 * hash) + eventType_; - } - if (hasIsDdl()) { - hash = (37 * hash) + ISDDL_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getIsDdl()); - } - if (hasSql()) { - hash = (37 * hash) + SQL_FIELD_NUMBER; - hash = (53 * hash) + getSql().hashCode(); - } + hash = (37 * hash) + TABLEID_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getTableId()); + hash = (37 * hash) + SQL_FIELD_NUMBER; + hash = (53 * hash) + getSql().hashCode(); if (getRowDatasCount() > 0) { hash = (37 * hash) + ROWDATAS_FIELD_NUMBER; hash = (53 * hash) + getRowDatasList().hashCode(); @@ -9148,9 +8696,24 @@ public final class CanalEntry { hash = (37 * hash) + PROPS_FIELD_NUMBER; hash = (53 * hash) + getPropsList().hashCode(); } - if (hasDdlSchemaName()) { - hash = (37 * hash) + DDLSCHEMANAME_FIELD_NUMBER; - hash = (53 * hash) + getDdlSchemaName().hashCode(); + hash = (37 * hash) + DDLSCHEMANAME_FIELD_NUMBER; + hash = (53 * hash) + getDdlSchemaName().hashCode(); + switch (eventTypePresentCase_) { + case 2: + hash = (37 * hash) + EVENTTYPE_FIELD_NUMBER; + hash = (53 * hash) + getEventTypeValue(); + break; + case 0: + default: + } + switch (isDdlPresentCase_) { + case 10: + hash = (37 * hash) + ISDDL_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getIsDdl()); + break; + case 0: + default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; @@ -9292,13 +8855,9 @@ public final class CanalEntry { public Builder clear() { super.clear(); tableId_ = 0L; - bitField0_ = (bitField0_ & ~0x00000001); - eventType_ = 2; - bitField0_ = (bitField0_ & ~0x00000002); - isDdl_ = false; - bitField0_ = (bitField0_ & ~0x00000004); + sql_ = ""; - bitField0_ = (bitField0_ & ~0x00000008); + if (rowDatasBuilder_ == null) { rowDatas_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000010); @@ -9312,7 +8871,11 @@ public final class CanalEntry { propsBuilder_.clear(); } ddlSchemaName_ = ""; - bitField0_ = (bitField0_ & ~0x00000040); + + eventTypePresentCase_ = 0; + eventTypePresent_ = null; + isDdlPresentCase_ = 0; + isDdlPresent_ = null; return this; } @@ -9341,20 +8904,12 @@ public final class CanalEntry { com.alibaba.otter.canal.protocol.CanalEntry.RowChange result = new com.alibaba.otter.canal.protocol.CanalEntry.RowChange(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } result.tableId_ = tableId_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; + if (eventTypePresentCase_ == 2) { + result.eventTypePresent_ = eventTypePresent_; } - result.eventType_ = eventType_; - if (((from_bitField0_ & 0x00000004) == 0x00000004)) { - to_bitField0_ |= 0x00000004; - } - result.isDdl_ = isDdl_; - if (((from_bitField0_ & 0x00000008) == 0x00000008)) { - to_bitField0_ |= 0x00000008; + if (isDdlPresentCase_ == 10) { + result.isDdlPresent_ = isDdlPresent_; } result.sql_ = sql_; if (rowDatasBuilder_ == null) { @@ -9375,11 +8930,10 @@ public final class CanalEntry { } else { result.props_ = propsBuilder_.build(); } - if (((from_bitField0_ & 0x00000040) == 0x00000040)) { - to_bitField0_ |= 0x00000010; - } result.ddlSchemaName_ = ddlSchemaName_; result.bitField0_ = to_bitField0_; + result.eventTypePresentCase_ = eventTypePresentCase_; + result.isDdlPresentCase_ = isDdlPresentCase_; onBuilt(); return result; } @@ -9428,17 +8982,10 @@ public final class CanalEntry { public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalEntry.RowChange other) { if (other == com.alibaba.otter.canal.protocol.CanalEntry.RowChange.getDefaultInstance()) return this; - if (other.hasTableId()) { + if (other.getTableId() != 0L) { setTableId(other.getTableId()); } - if (other.hasEventType()) { - setEventType(other.getEventType()); - } - if (other.hasIsDdl()) { - setIsDdl(other.getIsDdl()); - } - if (other.hasSql()) { - bitField0_ |= 0x00000008; + if (!other.getSql().isEmpty()) { sql_ = other.sql_; onChanged(); } @@ -9494,11 +9041,28 @@ public final class CanalEntry { } } } - if (other.hasDdlSchemaName()) { - bitField0_ |= 0x00000040; + if (!other.getDdlSchemaName().isEmpty()) { ddlSchemaName_ = other.ddlSchemaName_; onChanged(); } + switch (other.getEventTypePresentCase()) { + case EVENTTYPE: { + setEventTypeValue(other.getEventTypeValue()); + break; + } + case EVENTTYPEPRESENT_NOT_SET: { + break; + } + } + switch (other.getIsDdlPresentCase()) { + case ISDDL: { + setIsDdl(other.getIsDdl()); + break; + } + case ISDDLPRESENT_NOT_SET: { + break; + } + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -9527,6 +9091,36 @@ public final class CanalEntry { } return this; } + private int eventTypePresentCase_ = 0; + private java.lang.Object eventTypePresent_; + public EventTypePresentCase + getEventTypePresentCase() { + return EventTypePresentCase.forNumber( + eventTypePresentCase_); + } + + public Builder clearEventTypePresent() { + eventTypePresentCase_ = 0; + eventTypePresent_ = null; + onChanged(); + return this; + } + + private int isDdlPresentCase_ = 0; + private java.lang.Object isDdlPresent_; + public IsDdlPresentCase + getIsDdlPresentCase() { + return IsDdlPresentCase.forNumber( + isDdlPresentCase_); + } + + public Builder clearIsDdlPresent() { + isDdlPresentCase_ = 0; + isDdlPresent_ = null; + onChanged(); + return this; + } + private int bitField0_; private long tableId_ ; @@ -9535,17 +9129,7 @@ public final class CanalEntry { **tableId,由数据库产生* * * - * optional int64 tableId = 1; - */ - public boolean hasTableId() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - *
-       **tableId,由数据库产生*
-       * 
- * - * optional int64 tableId = 1; + * int64 tableId = 1; */ public long getTableId() { return tableId_; @@ -9555,10 +9139,10 @@ public final class CanalEntry { **tableId,由数据库产生* * * - * optional int64 tableId = 1; + * int64 tableId = 1; */ public Builder setTableId(long value) { - bitField0_ |= 0x00000001; + tableId_ = value; onChanged(); return this; @@ -9568,113 +9152,96 @@ public final class CanalEntry { **tableId,由数据库产生* * * - * optional int64 tableId = 1; + * int64 tableId = 1; */ public Builder clearTableId() { - bitField0_ = (bitField0_ & ~0x00000001); + tableId_ = 0L; onChanged(); return this; } - private int eventType_ = 2; /** - *
-       **数据变更类型*
-       * 
- * - * optional .com.alibaba.otter.canal.protocol.EventType eventType = 2 [default = UPDATE]; + * .com.alibaba.otter.canal.protocol.EventType eventType = 2; */ - public boolean hasEventType() { - return ((bitField0_ & 0x00000002) == 0x00000002); + public int getEventTypeValue() { + if (eventTypePresentCase_ == 2) { + return ((java.lang.Integer) eventTypePresent_).intValue(); + } + return 0; } /** - *
-       **数据变更类型*
-       * 
- * - * optional .com.alibaba.otter.canal.protocol.EventType eventType = 2 [default = UPDATE]; + * .com.alibaba.otter.canal.protocol.EventType eventType = 2; + */ + public Builder setEventTypeValue(int value) { + eventTypePresentCase_ = 2; + eventTypePresent_ = value; + onChanged(); + return this; + } + /** + * .com.alibaba.otter.canal.protocol.EventType eventType = 2; */ public com.alibaba.otter.canal.protocol.CanalEntry.EventType getEventType() { - @SuppressWarnings("deprecation") - com.alibaba.otter.canal.protocol.CanalEntry.EventType result = com.alibaba.otter.canal.protocol.CanalEntry.EventType.valueOf(eventType_); - return result == null ? com.alibaba.otter.canal.protocol.CanalEntry.EventType.UPDATE : result; + if (eventTypePresentCase_ == 2) { + @SuppressWarnings("deprecation") + com.alibaba.otter.canal.protocol.CanalEntry.EventType result = com.alibaba.otter.canal.protocol.CanalEntry.EventType.valueOf( + (java.lang.Integer) eventTypePresent_); + return result == null ? com.alibaba.otter.canal.protocol.CanalEntry.EventType.UNRECOGNIZED : result; + } + return com.alibaba.otter.canal.protocol.CanalEntry.EventType.EVENTTYPECOMPATIBLEPROTO2; } /** - *
-       **数据变更类型*
-       * 
- * - * optional .com.alibaba.otter.canal.protocol.EventType eventType = 2 [default = UPDATE]; + * .com.alibaba.otter.canal.protocol.EventType eventType = 2; */ public Builder setEventType(com.alibaba.otter.canal.protocol.CanalEntry.EventType value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; - eventType_ = value.getNumber(); + eventTypePresentCase_ = 2; + eventTypePresent_ = value.getNumber(); onChanged(); return this; } /** - *
-       **数据变更类型*
-       * 
- * - * optional .com.alibaba.otter.canal.protocol.EventType eventType = 2 [default = UPDATE]; + * .com.alibaba.otter.canal.protocol.EventType eventType = 2; */ public Builder clearEventType() { - bitField0_ = (bitField0_ & ~0x00000002); - eventType_ = 2; - onChanged(); + if (eventTypePresentCase_ == 2) { + eventTypePresentCase_ = 0; + eventTypePresent_ = null; + onChanged(); + } return this; } - private boolean isDdl_ ; /** - *
-       ** 标识是否是ddl语句  *
-       * 
- * - * optional bool isDdl = 10 [default = false]; - */ - public boolean hasIsDdl() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - *
-       ** 标识是否是ddl语句  *
-       * 
- * - * optional bool isDdl = 10 [default = false]; + * bool isDdl = 10; */ public boolean getIsDdl() { - return isDdl_; + if (isDdlPresentCase_ == 10) { + return (java.lang.Boolean) isDdlPresent_; + } + return false; } /** - *
-       ** 标识是否是ddl语句  *
-       * 
- * - * optional bool isDdl = 10 [default = false]; + * bool isDdl = 10; */ public Builder setIsDdl(boolean value) { - bitField0_ |= 0x00000004; - isDdl_ = value; + isDdlPresentCase_ = 10; + isDdlPresent_ = value; onChanged(); return this; } /** - *
-       ** 标识是否是ddl语句  *
-       * 
- * - * optional bool isDdl = 10 [default = false]; + * bool isDdl = 10; */ public Builder clearIsDdl() { - bitField0_ = (bitField0_ & ~0x00000004); - isDdl_ = false; - onChanged(); + if (isDdlPresentCase_ == 10) { + isDdlPresentCase_ = 0; + isDdlPresent_ = null; + onChanged(); + } return this; } @@ -9684,17 +9251,7 @@ public final class CanalEntry { ** ddl/query的sql语句 * * * - * optional string sql = 11; - */ - public boolean hasSql() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - *
-       ** ddl/query的sql语句  *
-       * 
- * - * optional string sql = 11; + * string sql = 11; */ public java.lang.String getSql() { java.lang.Object ref = sql_; @@ -9702,9 +9259,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - sql_ = s; - } + sql_ = s; return s; } else { return (java.lang.String) ref; @@ -9715,7 +9270,7 @@ public final class CanalEntry { ** ddl/query的sql语句 * * * - * optional string sql = 11; + * string sql = 11; */ public com.google.protobuf.ByteString getSqlBytes() { @@ -9735,14 +9290,14 @@ public final class CanalEntry { ** ddl/query的sql语句 * * * - * optional string sql = 11; + * string sql = 11; */ public Builder setSql( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000008; + sql_ = value; onChanged(); return this; @@ -9752,10 +9307,10 @@ public final class CanalEntry { ** ddl/query的sql语句 * * * - * optional string sql = 11; + * string sql = 11; */ public Builder clearSql() { - bitField0_ = (bitField0_ & ~0x00000008); + sql_ = getDefaultInstance().getSql(); onChanged(); return this; @@ -9765,14 +9320,15 @@ public final class CanalEntry { ** ddl/query的sql语句 * * * - * optional string sql = 11; + * string sql = 11; */ public Builder setSqlBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000008; + checkByteStringIsUtf8(value); + sql_ = value; onChanged(); return this; @@ -10408,17 +9964,7 @@ public final class CanalEntry { ** ddl/query的schemaName,会存在跨库ddl,需要保留执行ddl的当前schemaName * * * - * optional string ddlSchemaName = 14; - */ - public boolean hasDdlSchemaName() { - return ((bitField0_ & 0x00000040) == 0x00000040); - } - /** - *
-       ** ddl/query的schemaName,会存在跨库ddl,需要保留执行ddl的当前schemaName  *
-       * 
- * - * optional string ddlSchemaName = 14; + * string ddlSchemaName = 14; */ public java.lang.String getDdlSchemaName() { java.lang.Object ref = ddlSchemaName_; @@ -10426,9 +9972,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - ddlSchemaName_ = s; - } + ddlSchemaName_ = s; return s; } else { return (java.lang.String) ref; @@ -10439,7 +9983,7 @@ public final class CanalEntry { ** ddl/query的schemaName,会存在跨库ddl,需要保留执行ddl的当前schemaName * * * - * optional string ddlSchemaName = 14; + * string ddlSchemaName = 14; */ public com.google.protobuf.ByteString getDdlSchemaNameBytes() { @@ -10459,14 +10003,14 @@ public final class CanalEntry { ** ddl/query的schemaName,会存在跨库ddl,需要保留执行ddl的当前schemaName * * * - * optional string ddlSchemaName = 14; + * string ddlSchemaName = 14; */ public Builder setDdlSchemaName( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000040; + ddlSchemaName_ = value; onChanged(); return this; @@ -10476,10 +10020,10 @@ public final class CanalEntry { ** ddl/query的schemaName,会存在跨库ddl,需要保留执行ddl的当前schemaName * * * - * optional string ddlSchemaName = 14; + * string ddlSchemaName = 14; */ public Builder clearDdlSchemaName() { - bitField0_ = (bitField0_ & ~0x00000040); + ddlSchemaName_ = getDefaultInstance().getDdlSchemaName(); onChanged(); return this; @@ -10489,14 +10033,15 @@ public final class CanalEntry { ** ddl/query的schemaName,会存在跨库ddl,需要保留执行ddl的当前schemaName * * * - * optional string ddlSchemaName = 14; + * string ddlSchemaName = 14; */ public Builder setDdlSchemaNameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000040; + checkByteStringIsUtf8(value); + ddlSchemaName_ = value; onChanged(); return this; @@ -10504,7 +10049,7 @@ public final class CanalEntry { @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -10527,7 +10072,7 @@ public final class CanalEntry { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public RowChange parsePartialFrom( @@ -10563,15 +10108,7 @@ public final class CanalEntry { **已废弃,请使用header里的executeTime* * * - * optional int64 executeTime = 1; - */ - boolean hasExecuteTime(); - /** - *
-     **已废弃,请使用header里的executeTime*
-     * 
- * - * optional int64 executeTime = 1; + * int64 executeTime = 1; */ long getExecuteTime(); @@ -10580,15 +10117,7 @@ public final class CanalEntry { **已废弃,Begin里不提供事务id* * * - * optional string transactionId = 2; - */ - boolean hasTransactionId(); - /** - *
-     **已废弃,Begin里不提供事务id*
-     * 
- * - * optional string transactionId = 2; + * string transactionId = 2; */ java.lang.String getTransactionId(); /** @@ -10596,7 +10125,7 @@ public final class CanalEntry { **已废弃,Begin里不提供事务id* * * - * optional string transactionId = 2; + * string transactionId = 2; */ com.google.protobuf.ByteString getTransactionIdBytes(); @@ -10650,15 +10179,7 @@ public final class CanalEntry { **执行的thread Id* * * - * optional int64 threadId = 4; - */ - boolean hasThreadId(); - /** - *
-     **执行的thread Id*
-     * 
- * - * optional int64 threadId = 4; + * int64 threadId = 4; */ long getThreadId(); } @@ -10710,14 +10231,14 @@ public final class CanalEntry { done = true; break; case 8: { - bitField0_ |= 0x00000001; + executeTime_ = input.readInt64(); break; } case 18: { - com.google.protobuf.ByteString bs = input.readBytes(); - bitField0_ |= 0x00000002; - transactionId_ = bs; + java.lang.String s = input.readStringRequireUtf8(); + + transactionId_ = s; break; } case 26: { @@ -10726,16 +10247,16 @@ public final class CanalEntry { mutable_bitField0_ |= 0x00000004; } props_.add( - input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Pair.PARSER, extensionRegistry)); + input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Pair.parser(), extensionRegistry)); break; } case 32: { - bitField0_ |= 0x00000004; + threadId_ = input.readInt64(); break; } default: { - if (!parseUnknownField( + if (!parseUnknownFieldProto3( input, unknownFields, extensionRegistry, tag)) { done = true; } @@ -10777,17 +10298,7 @@ public final class CanalEntry { **已废弃,请使用header里的executeTime* * * - * optional int64 executeTime = 1; - */ - public boolean hasExecuteTime() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - *
-     **已废弃,请使用header里的executeTime*
-     * 
- * - * optional int64 executeTime = 1; + * int64 executeTime = 1; */ public long getExecuteTime() { return executeTime_; @@ -10800,17 +10311,7 @@ public final class CanalEntry { **已废弃,Begin里不提供事务id* * * - * optional string transactionId = 2; - */ - public boolean hasTransactionId() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - *
-     **已废弃,Begin里不提供事务id*
-     * 
- * - * optional string transactionId = 2; + * string transactionId = 2; */ public java.lang.String getTransactionId() { java.lang.Object ref = transactionId_; @@ -10820,9 +10321,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - transactionId_ = s; - } + transactionId_ = s; return s; } } @@ -10831,7 +10330,7 @@ public final class CanalEntry { **已废弃,Begin里不提供事务id* * * - * optional string transactionId = 2; + * string transactionId = 2; */ public com.google.protobuf.ByteString getTransactionIdBytes() { @@ -10909,17 +10408,7 @@ public final class CanalEntry { **执行的thread Id* * * - * optional int64 threadId = 4; - */ - public boolean hasThreadId() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - *
-     **执行的thread Id*
-     * 
- * - * optional int64 threadId = 4; + * int64 threadId = 4; */ public long getThreadId() { return threadId_; @@ -10939,16 +10428,16 @@ public final class CanalEntry { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (executeTime_ != 0L) { output.writeInt64(1, executeTime_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getTransactionIdBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, transactionId_); } for (int i = 0; i < props_.size(); i++) { output.writeMessage(3, props_.get(i)); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (threadId_ != 0L) { output.writeInt64(4, threadId_); } unknownFields.writeTo(output); @@ -10960,18 +10449,18 @@ public final class CanalEntry { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (executeTime_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(1, executeTime_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getTransactionIdBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, transactionId_); } for (int i = 0; i < props_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, props_.get(i)); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (threadId_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(4, threadId_); } @@ -10991,23 +10480,14 @@ public final class CanalEntry { com.alibaba.otter.canal.protocol.CanalEntry.TransactionBegin other = (com.alibaba.otter.canal.protocol.CanalEntry.TransactionBegin) obj; boolean result = true; - result = result && (hasExecuteTime() == other.hasExecuteTime()); - if (hasExecuteTime()) { - result = result && (getExecuteTime() - == other.getExecuteTime()); - } - result = result && (hasTransactionId() == other.hasTransactionId()); - if (hasTransactionId()) { - result = result && getTransactionId() - .equals(other.getTransactionId()); - } + result = result && (getExecuteTime() + == other.getExecuteTime()); + result = result && getTransactionId() + .equals(other.getTransactionId()); result = result && getPropsList() .equals(other.getPropsList()); - result = result && (hasThreadId() == other.hasThreadId()); - if (hasThreadId()) { - result = result && (getThreadId() - == other.getThreadId()); - } + result = result && (getThreadId() + == other.getThreadId()); result = result && unknownFields.equals(other.unknownFields); return result; } @@ -11019,24 +10499,18 @@ public final class CanalEntry { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasExecuteTime()) { - hash = (37 * hash) + EXECUTETIME_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getExecuteTime()); - } - if (hasTransactionId()) { - hash = (37 * hash) + TRANSACTIONID_FIELD_NUMBER; - hash = (53 * hash) + getTransactionId().hashCode(); - } + hash = (37 * hash) + EXECUTETIME_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getExecuteTime()); + hash = (37 * hash) + TRANSACTIONID_FIELD_NUMBER; + hash = (53 * hash) + getTransactionId().hashCode(); if (getPropsCount() > 0) { hash = (37 * hash) + PROPS_FIELD_NUMBER; hash = (53 * hash) + getPropsList().hashCode(); } - if (hasThreadId()) { - hash = (37 * hash) + THREADID_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getThreadId()); - } + hash = (37 * hash) + THREADID_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getThreadId()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -11176,9 +10650,9 @@ public final class CanalEntry { public Builder clear() { super.clear(); executeTime_ = 0L; - bitField0_ = (bitField0_ & ~0x00000001); + transactionId_ = ""; - bitField0_ = (bitField0_ & ~0x00000002); + if (propsBuilder_ == null) { props_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000004); @@ -11186,7 +10660,7 @@ public final class CanalEntry { propsBuilder_.clear(); } threadId_ = 0L; - bitField0_ = (bitField0_ & ~0x00000008); + return this; } @@ -11215,13 +10689,7 @@ public final class CanalEntry { com.alibaba.otter.canal.protocol.CanalEntry.TransactionBegin result = new com.alibaba.otter.canal.protocol.CanalEntry.TransactionBegin(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } result.executeTime_ = executeTime_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } result.transactionId_ = transactionId_; if (propsBuilder_ == null) { if (((bitField0_ & 0x00000004) == 0x00000004)) { @@ -11232,9 +10700,6 @@ public final class CanalEntry { } else { result.props_ = propsBuilder_.build(); } - if (((from_bitField0_ & 0x00000008) == 0x00000008)) { - to_bitField0_ |= 0x00000004; - } result.threadId_ = threadId_; result.bitField0_ = to_bitField0_; onBuilt(); @@ -11285,11 +10750,10 @@ public final class CanalEntry { public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalEntry.TransactionBegin other) { if (other == com.alibaba.otter.canal.protocol.CanalEntry.TransactionBegin.getDefaultInstance()) return this; - if (other.hasExecuteTime()) { + if (other.getExecuteTime() != 0L) { setExecuteTime(other.getExecuteTime()); } - if (other.hasTransactionId()) { - bitField0_ |= 0x00000002; + if (!other.getTransactionId().isEmpty()) { transactionId_ = other.transactionId_; onChanged(); } @@ -11319,7 +10783,7 @@ public final class CanalEntry { } } } - if (other.hasThreadId()) { + if (other.getThreadId() != 0L) { setThreadId(other.getThreadId()); } this.mergeUnknownFields(other.unknownFields); @@ -11358,17 +10822,7 @@ public final class CanalEntry { **已废弃,请使用header里的executeTime* * * - * optional int64 executeTime = 1; - */ - public boolean hasExecuteTime() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - *
-       **已废弃,请使用header里的executeTime*
-       * 
- * - * optional int64 executeTime = 1; + * int64 executeTime = 1; */ public long getExecuteTime() { return executeTime_; @@ -11378,10 +10832,10 @@ public final class CanalEntry { **已废弃,请使用header里的executeTime* * * - * optional int64 executeTime = 1; + * int64 executeTime = 1; */ public Builder setExecuteTime(long value) { - bitField0_ |= 0x00000001; + executeTime_ = value; onChanged(); return this; @@ -11391,10 +10845,10 @@ public final class CanalEntry { **已废弃,请使用header里的executeTime* * * - * optional int64 executeTime = 1; + * int64 executeTime = 1; */ public Builder clearExecuteTime() { - bitField0_ = (bitField0_ & ~0x00000001); + executeTime_ = 0L; onChanged(); return this; @@ -11406,17 +10860,7 @@ public final class CanalEntry { **已废弃,Begin里不提供事务id* * * - * optional string transactionId = 2; - */ - public boolean hasTransactionId() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - *
-       **已废弃,Begin里不提供事务id*
-       * 
- * - * optional string transactionId = 2; + * string transactionId = 2; */ public java.lang.String getTransactionId() { java.lang.Object ref = transactionId_; @@ -11424,9 +10868,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - transactionId_ = s; - } + transactionId_ = s; return s; } else { return (java.lang.String) ref; @@ -11437,7 +10879,7 @@ public final class CanalEntry { **已废弃,Begin里不提供事务id* * * - * optional string transactionId = 2; + * string transactionId = 2; */ public com.google.protobuf.ByteString getTransactionIdBytes() { @@ -11457,14 +10899,14 @@ public final class CanalEntry { **已废弃,Begin里不提供事务id* * * - * optional string transactionId = 2; + * string transactionId = 2; */ public Builder setTransactionId( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + transactionId_ = value; onChanged(); return this; @@ -11474,10 +10916,10 @@ public final class CanalEntry { **已废弃,Begin里不提供事务id* * * - * optional string transactionId = 2; + * string transactionId = 2; */ public Builder clearTransactionId() { - bitField0_ = (bitField0_ & ~0x00000002); + transactionId_ = getDefaultInstance().getTransactionId(); onChanged(); return this; @@ -11487,14 +10929,15 @@ public final class CanalEntry { **已废弃,Begin里不提供事务id* * * - * optional string transactionId = 2; + * string transactionId = 2; */ public Builder setTransactionIdBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + checkByteStringIsUtf8(value); + transactionId_ = value; onChanged(); return this; @@ -11818,17 +11261,7 @@ public final class CanalEntry { **执行的thread Id* * * - * optional int64 threadId = 4; - */ - public boolean hasThreadId() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - *
-       **执行的thread Id*
-       * 
- * - * optional int64 threadId = 4; + * int64 threadId = 4; */ public long getThreadId() { return threadId_; @@ -11838,10 +11271,10 @@ public final class CanalEntry { **执行的thread Id* * * - * optional int64 threadId = 4; + * int64 threadId = 4; */ public Builder setThreadId(long value) { - bitField0_ |= 0x00000008; + threadId_ = value; onChanged(); return this; @@ -11851,10 +11284,10 @@ public final class CanalEntry { **执行的thread Id* * * - * optional int64 threadId = 4; + * int64 threadId = 4; */ public Builder clearThreadId() { - bitField0_ = (bitField0_ & ~0x00000008); + threadId_ = 0L; onChanged(); return this; @@ -11862,7 +11295,7 @@ public final class CanalEntry { @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -11885,7 +11318,7 @@ public final class CanalEntry { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public TransactionBegin parsePartialFrom( @@ -11921,15 +11354,7 @@ public final class CanalEntry { **已废弃,请使用header里的executeTime* * * - * optional int64 executeTime = 1; - */ - boolean hasExecuteTime(); - /** - *
-     **已废弃,请使用header里的executeTime*
-     * 
- * - * optional int64 executeTime = 1; + * int64 executeTime = 1; */ long getExecuteTime(); @@ -11938,15 +11363,7 @@ public final class CanalEntry { **事务号* * * - * optional string transactionId = 2; - */ - boolean hasTransactionId(); - /** - *
-     **事务号*
-     * 
- * - * optional string transactionId = 2; + * string transactionId = 2; */ java.lang.String getTransactionId(); /** @@ -11954,7 +11371,7 @@ public final class CanalEntry { **事务号* * * - * optional string transactionId = 2; + * string transactionId = 2; */ com.google.protobuf.ByteString getTransactionIdBytes(); @@ -12050,14 +11467,14 @@ public final class CanalEntry { done = true; break; case 8: { - bitField0_ |= 0x00000001; + executeTime_ = input.readInt64(); break; } case 18: { - com.google.protobuf.ByteString bs = input.readBytes(); - bitField0_ |= 0x00000002; - transactionId_ = bs; + java.lang.String s = input.readStringRequireUtf8(); + + transactionId_ = s; break; } case 26: { @@ -12066,11 +11483,11 @@ public final class CanalEntry { mutable_bitField0_ |= 0x00000004; } props_.add( - input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Pair.PARSER, extensionRegistry)); + input.readMessage(com.alibaba.otter.canal.protocol.CanalEntry.Pair.parser(), extensionRegistry)); break; } default: { - if (!parseUnknownField( + if (!parseUnknownFieldProto3( input, unknownFields, extensionRegistry, tag)) { done = true; } @@ -12112,17 +11529,7 @@ public final class CanalEntry { **已废弃,请使用header里的executeTime* * * - * optional int64 executeTime = 1; - */ - public boolean hasExecuteTime() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - *
-     **已废弃,请使用header里的executeTime*
-     * 
- * - * optional int64 executeTime = 1; + * int64 executeTime = 1; */ public long getExecuteTime() { return executeTime_; @@ -12135,17 +11542,7 @@ public final class CanalEntry { **事务号* * * - * optional string transactionId = 2; - */ - public boolean hasTransactionId() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - *
-     **事务号*
-     * 
- * - * optional string transactionId = 2; + * string transactionId = 2; */ public java.lang.String getTransactionId() { java.lang.Object ref = transactionId_; @@ -12155,9 +11552,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - transactionId_ = s; - } + transactionId_ = s; return s; } } @@ -12166,7 +11561,7 @@ public final class CanalEntry { **事务号* * * - * optional string transactionId = 2; + * string transactionId = 2; */ public com.google.protobuf.ByteString getTransactionIdBytes() { @@ -12251,10 +11646,10 @@ public final class CanalEntry { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (executeTime_ != 0L) { output.writeInt64(1, executeTime_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getTransactionIdBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, transactionId_); } for (int i = 0; i < props_.size(); i++) { @@ -12269,11 +11664,11 @@ public final class CanalEntry { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (executeTime_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(1, executeTime_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getTransactionIdBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, transactionId_); } for (int i = 0; i < props_.size(); i++) { @@ -12296,16 +11691,10 @@ public final class CanalEntry { com.alibaba.otter.canal.protocol.CanalEntry.TransactionEnd other = (com.alibaba.otter.canal.protocol.CanalEntry.TransactionEnd) obj; boolean result = true; - result = result && (hasExecuteTime() == other.hasExecuteTime()); - if (hasExecuteTime()) { - result = result && (getExecuteTime() - == other.getExecuteTime()); - } - result = result && (hasTransactionId() == other.hasTransactionId()); - if (hasTransactionId()) { - result = result && getTransactionId() - .equals(other.getTransactionId()); - } + result = result && (getExecuteTime() + == other.getExecuteTime()); + result = result && getTransactionId() + .equals(other.getTransactionId()); result = result && getPropsList() .equals(other.getPropsList()); result = result && unknownFields.equals(other.unknownFields); @@ -12319,15 +11708,11 @@ public final class CanalEntry { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasExecuteTime()) { - hash = (37 * hash) + EXECUTETIME_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getExecuteTime()); - } - if (hasTransactionId()) { - hash = (37 * hash) + TRANSACTIONID_FIELD_NUMBER; - hash = (53 * hash) + getTransactionId().hashCode(); - } + hash = (37 * hash) + EXECUTETIME_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getExecuteTime()); + hash = (37 * hash) + TRANSACTIONID_FIELD_NUMBER; + hash = (53 * hash) + getTransactionId().hashCode(); if (getPropsCount() > 0) { hash = (37 * hash) + PROPS_FIELD_NUMBER; hash = (53 * hash) + getPropsList().hashCode(); @@ -12471,9 +11856,9 @@ public final class CanalEntry { public Builder clear() { super.clear(); executeTime_ = 0L; - bitField0_ = (bitField0_ & ~0x00000001); + transactionId_ = ""; - bitField0_ = (bitField0_ & ~0x00000002); + if (propsBuilder_ == null) { props_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000004); @@ -12508,13 +11893,7 @@ public final class CanalEntry { com.alibaba.otter.canal.protocol.CanalEntry.TransactionEnd result = new com.alibaba.otter.canal.protocol.CanalEntry.TransactionEnd(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } result.executeTime_ = executeTime_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } result.transactionId_ = transactionId_; if (propsBuilder_ == null) { if (((bitField0_ & 0x00000004) == 0x00000004)) { @@ -12574,11 +11953,10 @@ public final class CanalEntry { public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalEntry.TransactionEnd other) { if (other == com.alibaba.otter.canal.protocol.CanalEntry.TransactionEnd.getDefaultInstance()) return this; - if (other.hasExecuteTime()) { + if (other.getExecuteTime() != 0L) { setExecuteTime(other.getExecuteTime()); } - if (other.hasTransactionId()) { - bitField0_ |= 0x00000002; + if (!other.getTransactionId().isEmpty()) { transactionId_ = other.transactionId_; onChanged(); } @@ -12644,17 +12022,7 @@ public final class CanalEntry { **已废弃,请使用header里的executeTime* * * - * optional int64 executeTime = 1; - */ - public boolean hasExecuteTime() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - *
-       **已废弃,请使用header里的executeTime*
-       * 
- * - * optional int64 executeTime = 1; + * int64 executeTime = 1; */ public long getExecuteTime() { return executeTime_; @@ -12664,10 +12032,10 @@ public final class CanalEntry { **已废弃,请使用header里的executeTime* * * - * optional int64 executeTime = 1; + * int64 executeTime = 1; */ public Builder setExecuteTime(long value) { - bitField0_ |= 0x00000001; + executeTime_ = value; onChanged(); return this; @@ -12677,10 +12045,10 @@ public final class CanalEntry { **已废弃,请使用header里的executeTime* * * - * optional int64 executeTime = 1; + * int64 executeTime = 1; */ public Builder clearExecuteTime() { - bitField0_ = (bitField0_ & ~0x00000001); + executeTime_ = 0L; onChanged(); return this; @@ -12692,17 +12060,7 @@ public final class CanalEntry { **事务号* * * - * optional string transactionId = 2; - */ - public boolean hasTransactionId() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - *
-       **事务号*
-       * 
- * - * optional string transactionId = 2; + * string transactionId = 2; */ public java.lang.String getTransactionId() { java.lang.Object ref = transactionId_; @@ -12710,9 +12068,7 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - transactionId_ = s; - } + transactionId_ = s; return s; } else { return (java.lang.String) ref; @@ -12723,7 +12079,7 @@ public final class CanalEntry { **事务号* * * - * optional string transactionId = 2; + * string transactionId = 2; */ public com.google.protobuf.ByteString getTransactionIdBytes() { @@ -12743,14 +12099,14 @@ public final class CanalEntry { **事务号* * * - * optional string transactionId = 2; + * string transactionId = 2; */ public Builder setTransactionId( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + transactionId_ = value; onChanged(); return this; @@ -12760,10 +12116,10 @@ public final class CanalEntry { **事务号* * * - * optional string transactionId = 2; + * string transactionId = 2; */ public Builder clearTransactionId() { - bitField0_ = (bitField0_ & ~0x00000002); + transactionId_ = getDefaultInstance().getTransactionId(); onChanged(); return this; @@ -12773,14 +12129,15 @@ public final class CanalEntry { **事务号* * * - * optional string transactionId = 2; + * string transactionId = 2; */ public Builder setTransactionIdBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + checkByteStringIsUtf8(value); + transactionId_ = value; onChanged(); return this; @@ -13100,7 +12457,7 @@ public final class CanalEntry { @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -13123,7 +12480,7 @@ public final class CanalEntry { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public TransactionEnd parsePartialFrom( @@ -13155,29 +12512,21 @@ public final class CanalEntry { com.google.protobuf.MessageOrBuilder { /** - * optional string key = 1; - */ - boolean hasKey(); - /** - * optional string key = 1; + * string key = 1; */ java.lang.String getKey(); /** - * optional string key = 1; + * string key = 1; */ com.google.protobuf.ByteString getKeyBytes(); /** - * optional string value = 2; - */ - boolean hasValue(); - /** - * optional string value = 2; + * string value = 2; */ java.lang.String getValue(); /** - * optional string value = 2; + * string value = 2; */ com.google.protobuf.ByteString getValueBytes(); @@ -13228,19 +12577,19 @@ public final class CanalEntry { done = true; break; case 10: { - com.google.protobuf.ByteString bs = input.readBytes(); - bitField0_ |= 0x00000001; - key_ = bs; + java.lang.String s = input.readStringRequireUtf8(); + + key_ = s; break; } case 18: { - com.google.protobuf.ByteString bs = input.readBytes(); - bitField0_ |= 0x00000002; - value_ = bs; + java.lang.String s = input.readStringRequireUtf8(); + + value_ = s; break; } default: { - if (!parseUnknownField( + if (!parseUnknownFieldProto3( input, unknownFields, extensionRegistry, tag)) { done = true; } @@ -13271,17 +12620,10 @@ public final class CanalEntry { com.alibaba.otter.canal.protocol.CanalEntry.Pair.class, com.alibaba.otter.canal.protocol.CanalEntry.Pair.Builder.class); } - private int bitField0_; public static final int KEY_FIELD_NUMBER = 1; private volatile java.lang.Object key_; /** - * optional string key = 1; - */ - public boolean hasKey() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional string key = 1; + * string key = 1; */ public java.lang.String getKey() { java.lang.Object ref = key_; @@ -13291,14 +12633,12 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - key_ = s; - } + key_ = s; return s; } } /** - * optional string key = 1; + * string key = 1; */ public com.google.protobuf.ByteString getKeyBytes() { @@ -13317,13 +12657,7 @@ public final class CanalEntry { public static final int VALUE_FIELD_NUMBER = 2; private volatile java.lang.Object value_; /** - * optional string value = 2; - */ - public boolean hasValue() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional string value = 2; + * string value = 2; */ public java.lang.String getValue() { java.lang.Object ref = value_; @@ -13333,14 +12667,12 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - value_ = s; - } + value_ = s; return s; } } /** - * optional string value = 2; + * string value = 2; */ public com.google.protobuf.ByteString getValueBytes() { @@ -13370,10 +12702,10 @@ public final class CanalEntry { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (!getKeyBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, key_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getValueBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, value_); } unknownFields.writeTo(output); @@ -13385,10 +12717,10 @@ public final class CanalEntry { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (!getKeyBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, key_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getValueBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, value_); } size += unknownFields.getSerializedSize(); @@ -13407,16 +12739,10 @@ public final class CanalEntry { com.alibaba.otter.canal.protocol.CanalEntry.Pair other = (com.alibaba.otter.canal.protocol.CanalEntry.Pair) obj; boolean result = true; - result = result && (hasKey() == other.hasKey()); - if (hasKey()) { - result = result && getKey() - .equals(other.getKey()); - } - result = result && (hasValue() == other.hasValue()); - if (hasValue()) { - result = result && getValue() - .equals(other.getValue()); - } + result = result && getKey() + .equals(other.getKey()); + result = result && getValue() + .equals(other.getValue()); result = result && unknownFields.equals(other.unknownFields); return result; } @@ -13428,14 +12754,10 @@ public final class CanalEntry { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasKey()) { - hash = (37 * hash) + KEY_FIELD_NUMBER; - hash = (53 * hash) + getKey().hashCode(); - } - if (hasValue()) { - hash = (37 * hash) + VALUE_FIELD_NUMBER; - hash = (53 * hash) + getValue().hashCode(); - } + hash = (37 * hash) + KEY_FIELD_NUMBER; + hash = (53 * hash) + getKey().hashCode(); + hash = (37 * hash) + VALUE_FIELD_NUMBER; + hash = (53 * hash) + getValue().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -13574,9 +12896,9 @@ public final class CanalEntry { public Builder clear() { super.clear(); key_ = ""; - bitField0_ = (bitField0_ & ~0x00000001); + value_ = ""; - bitField0_ = (bitField0_ & ~0x00000002); + return this; } @@ -13603,17 +12925,8 @@ public final class CanalEntry { @java.lang.Override public com.alibaba.otter.canal.protocol.CanalEntry.Pair buildPartial() { com.alibaba.otter.canal.protocol.CanalEntry.Pair result = new com.alibaba.otter.canal.protocol.CanalEntry.Pair(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } result.key_ = key_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } result.value_ = value_; - result.bitField0_ = to_bitField0_; onBuilt(); return result; } @@ -13662,13 +12975,11 @@ public final class CanalEntry { public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalEntry.Pair other) { if (other == com.alibaba.otter.canal.protocol.CanalEntry.Pair.getDefaultInstance()) return this; - if (other.hasKey()) { - bitField0_ |= 0x00000001; + if (!other.getKey().isEmpty()) { key_ = other.key_; onChanged(); } - if (other.hasValue()) { - bitField0_ |= 0x00000002; + if (!other.getValue().isEmpty()) { value_ = other.value_; onChanged(); } @@ -13700,17 +13011,10 @@ public final class CanalEntry { } return this; } - private int bitField0_; private java.lang.Object key_ = ""; /** - * optional string key = 1; - */ - public boolean hasKey() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional string key = 1; + * string key = 1; */ public java.lang.String getKey() { java.lang.Object ref = key_; @@ -13718,16 +13022,14 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - key_ = s; - } + key_ = s; return s; } else { return (java.lang.String) ref; } } /** - * optional string key = 1; + * string key = 1; */ public com.google.protobuf.ByteString getKeyBytes() { @@ -13743,36 +13045,37 @@ public final class CanalEntry { } } /** - * optional string key = 1; + * string key = 1; */ public Builder setKey( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; + key_ = value; onChanged(); return this; } /** - * optional string key = 1; + * string key = 1; */ public Builder clearKey() { - bitField0_ = (bitField0_ & ~0x00000001); + key_ = getDefaultInstance().getKey(); onChanged(); return this; } /** - * optional string key = 1; + * string key = 1; */ public Builder setKeyBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; + checkByteStringIsUtf8(value); + key_ = value; onChanged(); return this; @@ -13780,13 +13083,7 @@ public final class CanalEntry { private java.lang.Object value_ = ""; /** - * optional string value = 2; - */ - public boolean hasValue() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional string value = 2; + * string value = 2; */ public java.lang.String getValue() { java.lang.Object ref = value_; @@ -13794,16 +13091,14 @@ public final class CanalEntry { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - value_ = s; - } + value_ = s; return s; } else { return (java.lang.String) ref; } } /** - * optional string value = 2; + * string value = 2; */ public com.google.protobuf.ByteString getValueBytes() { @@ -13819,36 +13114,37 @@ public final class CanalEntry { } } /** - * optional string value = 2; + * string value = 2; */ public Builder setValue( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + value_ = value; onChanged(); return this; } /** - * optional string value = 2; + * string value = 2; */ public Builder clearValue() { - bitField0_ = (bitField0_ & ~0x00000002); + value_ = getDefaultInstance().getValue(); onChanged(); return this; } /** - * optional string value = 2; + * string value = 2; */ public Builder setValueBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + checkByteStringIsUtf8(value); + value_ = value; onChanged(); return this; @@ -13856,7 +13152,7 @@ public final class CanalEntry { @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -13879,7 +13175,7 @@ public final class CanalEntry { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Pair parsePartialFrom( @@ -13956,55 +13252,59 @@ public final class CanalEntry { static { java.lang.String[] descriptorData = { "\n\023EntryProtocol.proto\022 com.alibaba.otter" + - ".canal.protocol\"\236\001\n\005Entry\0228\n\006header\030\001 \001(" + + ".canal.protocol\"\254\001\n\005Entry\0228\n\006header\030\001 \001(" + "\0132(.com.alibaba.otter.canal.protocol.Hea" + - "der\022G\n\tentryType\030\002 \001(\0162+.com.alibaba.ott" + - "er.canal.protocol.EntryType:\007ROWDATA\022\022\n\n" + - "storeValue\030\003 \001(\014\"\221\003\n\006Header\022\022\n\007version\030\001" + - " \001(\005:\0011\022\023\n\013logfileName\030\002 \001(\t\022\025\n\rlogfileO" + - "ffset\030\003 \001(\003\022\020\n\010serverId\030\004 \001(\003\022\024\n\014servere" + - "nCode\030\005 \001(\t\022\023\n\013executeTime\030\006 \001(\003\022A\n\nsour" + - "ceType\030\007 \001(\0162&.com.alibaba.otter.canal.p" + - "rotocol.Type:\005MYSQL\022\022\n\nschemaName\030\010 \001(\t\022" + - "\021\n\ttableName\030\t \001(\t\022\023\n\013eventLength\030\n \001(\003\022" + - "F\n\teventType\030\013 \001(\0162+.com.alibaba.otter.c" + - "anal.protocol.EventType:\006UPDATE\0225\n\005props" + - "\030\014 \003(\0132&.com.alibaba.otter.canal.protoco" + - "l.Pair\022\014\n\004gtid\030\r \001(\t\"\326\001\n\006Column\022\r\n\005index" + - "\030\001 \001(\005\022\017\n\007sqlType\030\002 \001(\005\022\014\n\004name\030\003 \001(\t\022\r\n" + - "\005isKey\030\004 \001(\010\022\017\n\007updated\030\005 \001(\010\022\025\n\006isNull\030" + - "\006 \001(\010:\005false\0225\n\005props\030\007 \003(\0132&.com.alibab" + - "a.otter.canal.protocol.Pair\022\r\n\005value\030\010 \001" + - "(\t\022\016\n\006length\030\t \001(\005\022\021\n\tmysqlType\030\n \001(\t\"\301\001" + - "\n\007RowData\022?\n\rbeforeColumns\030\001 \003(\0132(.com.a" + - "libaba.otter.canal.protocol.Column\022>\n\014af" + - "terColumns\030\002 \003(\0132(.com.alibaba.otter.can" + - "al.protocol.Column\0225\n\005props\030\003 \003(\0132&.com." + - "alibaba.otter.canal.protocol.Pair\"\222\002\n\tRo" + - "wChange\022\017\n\007tableId\030\001 \001(\003\022F\n\teventType\030\002 " + - "\001(\0162+.com.alibaba.otter.canal.protocol.E" + - "ventType:\006UPDATE\022\024\n\005isDdl\030\n \001(\010:\005false\022\013" + - "\n\003sql\030\013 \001(\t\022;\n\010rowDatas\030\014 \003(\0132).com.alib" + - "aba.otter.canal.protocol.RowData\0225\n\005prop" + - "s\030\r \003(\0132&.com.alibaba.otter.canal.protoc" + - "ol.Pair\022\025\n\rddlSchemaName\030\016 \001(\t\"\207\001\n\020Trans" + - "actionBegin\022\023\n\013executeTime\030\001 \001(\003\022\025\n\rtran" + - "sactionId\030\002 \001(\t\0225\n\005props\030\003 \003(\0132&.com.ali" + - "baba.otter.canal.protocol.Pair\022\020\n\010thread" + - "Id\030\004 \001(\003\"s\n\016TransactionEnd\022\023\n\013executeTim" + - "e\030\001 \001(\003\022\025\n\rtransactionId\030\002 \001(\t\0225\n\005props\030" + - "\003 \003(\0132&.com.alibaba.otter.canal.protocol" + - ".Pair\"\"\n\004Pair\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(" + - "\t*^\n\tEntryType\022\024\n\020TRANSACTIONBEGIN\020\001\022\013\n\007" + - "ROWDATA\020\002\022\022\n\016TRANSACTIONEND\020\003\022\r\n\tHEARTBE" + - "AT\020\004\022\013\n\007GTIDLOG\020\005*\306\001\n\tEventType\022\n\n\006INSER" + - "T\020\001\022\n\n\006UPDATE\020\002\022\n\n\006DELETE\020\003\022\n\n\006CREATE\020\004\022" + - "\t\n\005ALTER\020\005\022\t\n\005ERASE\020\006\022\t\n\005QUERY\020\007\022\014\n\010TRUN" + - "CATE\020\010\022\n\n\006RENAME\020\t\022\n\n\006CINDEX\020\n\022\n\n\006DINDEX" + - "\020\013\022\010\n\004GTID\020\014\022\014\n\010XACOMMIT\020\r\022\016\n\nXAROLLBACK" + - "\020\016\022\016\n\nMHEARTBEAT\020\017*(\n\004Type\022\n\n\006ORACLE\020\001\022\t" + - "\n\005MYSQL\020\002\022\t\n\005PGSQL\020\003B0\n com.alibaba.otte" + - "r.canal.protocolB\nCanalEntryH\001" + "der\022@\n\tentryType\030\002 \001(\0162+.com.alibaba.ott" + + "er.canal.protocol.EntryTypeH\000\022\022\n\nstoreVa" + + "lue\030\003 \001(\014B\023\n\021entryType_present\"\303\003\n\006Heade" + + "r\022\021\n\007version\030\001 \001(\005H\000\022\023\n\013logfileName\030\002 \001(" + + "\t\022\025\n\rlogfileOffset\030\003 \001(\003\022\020\n\010serverId\030\004 \001" + + "(\003\022\024\n\014serverenCode\030\005 \001(\t\022\023\n\013executeTime\030" + + "\006 \001(\003\022<\n\nsourceType\030\007 \001(\0162&.com.alibaba." + + "otter.canal.protocol.TypeH\001\022\022\n\nschemaNam" + + "e\030\010 \001(\t\022\021\n\ttableName\030\t \001(\t\022\023\n\013eventLengt" + + "h\030\n \001(\003\022@\n\teventType\030\013 \001(\0162+.com.alibaba" + + ".otter.canal.protocol.EventTypeH\002\0225\n\005pro" + + "ps\030\014 \003(\0132&.com.alibaba.otter.canal.proto" + + "col.Pair\022\014\n\004gtid\030\r \001(\tB\021\n\017version_presen" + + "tB\024\n\022sourceType_presentB\023\n\021eventType_pre" + + "sent\"\343\001\n\006Column\022\r\n\005index\030\001 \001(\005\022\017\n\007sqlTyp" + + "e\030\002 \001(\005\022\014\n\004name\030\003 \001(\t\022\r\n\005isKey\030\004 \001(\010\022\017\n\007" + + "updated\030\005 \001(\010\022\020\n\006isNull\030\006 \001(\010H\000\0225\n\005props" + + "\030\007 \003(\0132&.com.alibaba.otter.canal.protoco" + + "l.Pair\022\r\n\005value\030\010 \001(\t\022\016\n\006length\030\t \001(\005\022\021\n" + + "\tmysqlType\030\n \001(\tB\020\n\016isNull_present\"\301\001\n\007R" + + "owData\022?\n\rbeforeColumns\030\001 \003(\0132(.com.alib" + + "aba.otter.canal.protocol.Column\022>\n\014after" + + "Columns\030\002 \003(\0132(.com.alibaba.otter.canal." + + "protocol.Column\0225\n\005props\030\003 \003(\0132&.com.ali" + + "baba.otter.canal.protocol.Pair\"\255\002\n\tRowCh" + + "ange\022\017\n\007tableId\030\001 \001(\003\022@\n\teventType\030\002 \001(\016" + + "2+.com.alibaba.otter.canal.protocol.Even" + + "tTypeH\000\022\017\n\005isDdl\030\n \001(\010H\001\022\013\n\003sql\030\013 \001(\t\022;\n" + + "\010rowDatas\030\014 \003(\0132).com.alibaba.otter.cana" + + "l.protocol.RowData\0225\n\005props\030\r \003(\0132&.com." + + "alibaba.otter.canal.protocol.Pair\022\025\n\rddl" + + "SchemaName\030\016 \001(\tB\023\n\021eventType_presentB\017\n" + + "\risDdl_present\"\207\001\n\020TransactionBegin\022\023\n\013e" + + "xecuteTime\030\001 \001(\003\022\025\n\rtransactionId\030\002 \001(\t\022" + + "5\n\005props\030\003 \003(\0132&.com.alibaba.otter.canal" + + ".protocol.Pair\022\020\n\010threadId\030\004 \001(\003\"s\n\016Tran" + + "sactionEnd\022\023\n\013executeTime\030\001 \001(\003\022\025\n\rtrans" + + "actionId\030\002 \001(\t\0225\n\005props\030\003 \003(\0132&.com.alib" + + "aba.otter.canal.protocol.Pair\"\"\n\004Pair\022\013\n" + + "\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t*^\n\tEntryType\022\024" + + "\n\020TRANSACTIONBEGIN\020\000\022\013\n\007ROWDATA\020\001\022\022\n\016TRA" + + "NSACTIONEND\020\002\022\r\n\tHEARTBEAT\020\003\022\013\n\007GTIDLOG\020" + + "\004*\345\001\n\tEventType\022\035\n\031EVENTTYPECOMPATIBLEPR" + + "OTO2\020\000\022\n\n\006INSERT\020\001\022\n\n\006UPDATE\020\002\022\n\n\006DELETE" + + "\020\003\022\n\n\006CREATE\020\004\022\t\n\005ALTER\020\005\022\t\n\005ERASE\020\006\022\t\n\005" + + "QUERY\020\007\022\014\n\010TRUNCATE\020\010\022\n\n\006RENAME\020\t\022\n\n\006CIN" + + "DEX\020\n\022\n\n\006DINDEX\020\013\022\010\n\004GTID\020\014\022\014\n\010XACOMMIT\020" + + "\r\022\016\n\nXAROLLBACK\020\016\022\016\n\nMHEARTBEAT\020\017*B\n\004Typ" + + "e\022\030\n\024TYPECOMPATIBLEPROTO2\020\000\022\n\n\006ORACLE\020\001\022" + + "\t\n\005MYSQL\020\002\022\t\n\005PGSQL\020\003B0\n com.alibaba.ott" + + "er.canal.protocolB\nCanalEntryH\001b\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -14023,19 +13323,19 @@ public final class CanalEntry { internal_static_com_alibaba_otter_canal_protocol_Entry_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_com_alibaba_otter_canal_protocol_Entry_descriptor, - new java.lang.String[] { "Header", "EntryType", "StoreValue", }); + new java.lang.String[] { "Header", "EntryType", "StoreValue", "EntryTypePresent", }); internal_static_com_alibaba_otter_canal_protocol_Header_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_com_alibaba_otter_canal_protocol_Header_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_com_alibaba_otter_canal_protocol_Header_descriptor, - new java.lang.String[] { "Version", "LogfileName", "LogfileOffset", "ServerId", "ServerenCode", "ExecuteTime", "SourceType", "SchemaName", "TableName", "EventLength", "EventType", "Props", "Gtid", }); + new java.lang.String[] { "Version", "LogfileName", "LogfileOffset", "ServerId", "ServerenCode", "ExecuteTime", "SourceType", "SchemaName", "TableName", "EventLength", "EventType", "Props", "Gtid", "VersionPresent", "SourceTypePresent", "EventTypePresent", }); internal_static_com_alibaba_otter_canal_protocol_Column_descriptor = getDescriptor().getMessageTypes().get(2); internal_static_com_alibaba_otter_canal_protocol_Column_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_com_alibaba_otter_canal_protocol_Column_descriptor, - new java.lang.String[] { "Index", "SqlType", "Name", "IsKey", "Updated", "IsNull", "Props", "Value", "Length", "MysqlType", }); + new java.lang.String[] { "Index", "SqlType", "Name", "IsKey", "Updated", "IsNull", "Props", "Value", "Length", "MysqlType", "IsNullPresent", }); internal_static_com_alibaba_otter_canal_protocol_RowData_descriptor = getDescriptor().getMessageTypes().get(3); internal_static_com_alibaba_otter_canal_protocol_RowData_fieldAccessorTable = new @@ -14047,7 +13347,7 @@ public final class CanalEntry { internal_static_com_alibaba_otter_canal_protocol_RowChange_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_com_alibaba_otter_canal_protocol_RowChange_descriptor, - new java.lang.String[] { "TableId", "EventType", "IsDdl", "Sql", "RowDatas", "Props", "DdlSchemaName", }); + new java.lang.String[] { "TableId", "EventType", "IsDdl", "Sql", "RowDatas", "Props", "DdlSchemaName", "EventTypePresent", "IsDdlPresent", }); internal_static_com_alibaba_otter_canal_protocol_TransactionBegin_descriptor = getDescriptor().getMessageTypes().get(5); internal_static_com_alibaba_otter_canal_protocol_TransactionBegin_fieldAccessorTable = new diff --git a/protocol/src/main/java/com/alibaba/otter/canal/protocol/CanalPacket.java b/protocol/src/main/java/com/alibaba/otter/canal/protocol/CanalPacket.java index 9c912af7..1e7e4e53 100644 --- a/protocol/src/main/java/com/alibaba/otter/canal/protocol/CanalPacket.java +++ b/protocol/src/main/java/com/alibaba/otter/canal/protocol/CanalPacket.java @@ -19,6 +19,10 @@ public final class CanalPacket { */ public enum Compression implements com.google.protobuf.ProtocolMessageEnum { + /** + * COMPRESSIONCOMPATIBLEPROTO2 = 0; + */ + COMPRESSIONCOMPATIBLEPROTO2(0), /** * NONE = 1; */ @@ -35,8 +39,13 @@ public final class CanalPacket { * LZF = 4; */ LZF(4), + UNRECOGNIZED(-1), ; + /** + * COMPRESSIONCOMPATIBLEPROTO2 = 0; + */ + public static final int COMPRESSIONCOMPATIBLEPROTO2_VALUE = 0; /** * NONE = 1; */ @@ -56,6 +65,10 @@ public final class CanalPacket { public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } return value; } @@ -69,6 +82,7 @@ public final class CanalPacket { public static Compression forNumber(int value) { switch (value) { + case 0: return COMPRESSIONCOMPATIBLEPROTO2; case 1: return NONE; case 2: return ZLIB; case 3: return GZIP; @@ -110,6 +124,9 @@ public final class CanalPacket { throw new java.lang.IllegalArgumentException( "EnumValueDescriptor is not for this type."); } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } return VALUES[desc.getIndex()]; } @@ -127,6 +144,14 @@ public final class CanalPacket { */ public enum PacketType implements com.google.protobuf.ProtocolMessageEnum { + /** + *
+     *compatible
+     * 
+ * + * PACKAGETYPECOMPATIBLEPROTO2 = 0; + */ + PACKAGETYPECOMPATIBLEPROTO2(0), /** * HANDSHAKE = 1; */ @@ -183,8 +208,17 @@ public final class CanalPacket { * CLIENTROLLBACK = 12; */ CLIENTROLLBACK(12), + UNRECOGNIZED(-1), ; + /** + *
+     *compatible
+     * 
+ * + * PACKAGETYPECOMPATIBLEPROTO2 = 0; + */ + public static final int PACKAGETYPECOMPATIBLEPROTO2_VALUE = 0; /** * HANDSHAKE = 1; */ @@ -244,6 +278,10 @@ public final class CanalPacket { public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } return value; } @@ -257,6 +295,7 @@ public final class CanalPacket { public static PacketType forNumber(int value) { switch (value) { + case 0: return PACKAGETYPECOMPATIBLEPROTO2; case 1: return HANDSHAKE; case 2: return CLIENTAUTHENTICATION; case 3: return ACK; @@ -306,6 +345,9 @@ public final class CanalPacket { throw new java.lang.IllegalArgumentException( "EnumValueDescriptor is not for this type."); } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } return VALUES[desc.getIndex()]; } @@ -323,49 +365,43 @@ public final class CanalPacket { com.google.protobuf.MessageOrBuilder { /** - * optional int32 magic_number = 1 [default = 17]; - */ - boolean hasMagicNumber(); - /** - * optional int32 magic_number = 1 [default = 17]; + * int32 magic_number = 1; */ int getMagicNumber(); /** - * optional int32 version = 2 [default = 1]; - */ - boolean hasVersion(); - /** - * optional int32 version = 2 [default = 1]; + * int32 version = 2; */ int getVersion(); /** - * optional .com.alibaba.otter.canal.protocol.PacketType type = 3; + * .com.alibaba.otter.canal.protocol.PacketType type = 3; */ - boolean hasType(); + int getTypeValue(); /** - * optional .com.alibaba.otter.canal.protocol.PacketType type = 3; + * .com.alibaba.otter.canal.protocol.PacketType type = 3; */ com.alibaba.otter.canal.protocol.CanalPacket.PacketType getType(); /** - * optional .com.alibaba.otter.canal.protocol.Compression compression = 4 [default = NONE]; + * .com.alibaba.otter.canal.protocol.Compression compression = 4; */ - boolean hasCompression(); + int getCompressionValue(); /** - * optional .com.alibaba.otter.canal.protocol.Compression compression = 4 [default = NONE]; + * .com.alibaba.otter.canal.protocol.Compression compression = 4; */ com.alibaba.otter.canal.protocol.CanalPacket.Compression getCompression(); /** - * optional bytes body = 5; - */ - boolean hasBody(); - /** - * optional bytes body = 5; + * bytes body = 5; */ com.google.protobuf.ByteString getBody(); + + public com.alibaba.otter.canal.protocol.CanalPacket.Packet.MagicNumberPresentCase getMagicNumberPresentCase(); + + public com.alibaba.otter.canal.protocol.CanalPacket.Packet.VersionPresentCase getVersionPresentCase(); + + public com.alibaba.otter.canal.protocol.CanalPacket.Packet.CompressionPresentCase getCompressionPresentCase(); } /** * Protobuf type {@code com.alibaba.otter.canal.protocol.Packet} @@ -380,10 +416,7 @@ public final class CanalPacket { super(builder); } private Packet() { - magicNumber_ = 17; - version_ = 1; - type_ = 1; - compression_ = 1; + type_ = 0; body_ = com.google.protobuf.ByteString.EMPTY; } @@ -412,46 +445,34 @@ public final class CanalPacket { done = true; break; case 8: { - bitField0_ |= 0x00000001; - magicNumber_ = input.readInt32(); + magicNumberPresentCase_ = 1; + magicNumberPresent_ = input.readInt32(); break; } case 16: { - bitField0_ |= 0x00000002; - version_ = input.readInt32(); + versionPresentCase_ = 2; + versionPresent_ = input.readInt32(); break; } case 24: { int rawValue = input.readEnum(); - @SuppressWarnings("deprecation") - com.alibaba.otter.canal.protocol.CanalPacket.PacketType value = com.alibaba.otter.canal.protocol.CanalPacket.PacketType.valueOf(rawValue); - if (value == null) { - unknownFields.mergeVarintField(3, rawValue); - } else { - bitField0_ |= 0x00000004; - type_ = rawValue; - } + + type_ = rawValue; break; } case 32: { int rawValue = input.readEnum(); - @SuppressWarnings("deprecation") - com.alibaba.otter.canal.protocol.CanalPacket.Compression value = com.alibaba.otter.canal.protocol.CanalPacket.Compression.valueOf(rawValue); - if (value == null) { - unknownFields.mergeVarintField(4, rawValue); - } else { - bitField0_ |= 0x00000008; - compression_ = rawValue; - } + compressionPresentCase_ = 4; + compressionPresent_ = rawValue; break; } case 42: { - bitField0_ |= 0x00000010; + body_ = input.readBytes(); break; } default: { - if (!parseUnknownField( + if (!parseUnknownFieldProto3( input, unknownFields, extensionRegistry, tag)) { done = true; } @@ -482,81 +503,180 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.Packet.class, com.alibaba.otter.canal.protocol.CanalPacket.Packet.Builder.class); } - private int bitField0_; - public static final int MAGIC_NUMBER_FIELD_NUMBER = 1; - private int magicNumber_; - /** - * optional int32 magic_number = 1 [default = 17]; - */ - public boolean hasMagicNumber() { - return ((bitField0_ & 0x00000001) == 0x00000001); + private int magicNumberPresentCase_ = 0; + private java.lang.Object magicNumberPresent_; + public enum MagicNumberPresentCase + implements com.google.protobuf.Internal.EnumLite { + MAGIC_NUMBER(1), + MAGICNUMBERPRESENT_NOT_SET(0); + private final int value; + private MagicNumberPresentCase(int value) { + this.value = value; + } + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static MagicNumberPresentCase valueOf(int value) { + return forNumber(value); + } + + public static MagicNumberPresentCase forNumber(int value) { + switch (value) { + case 1: return MAGIC_NUMBER; + case 0: return MAGICNUMBERPRESENT_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public MagicNumberPresentCase + getMagicNumberPresentCase() { + return MagicNumberPresentCase.forNumber( + magicNumberPresentCase_); } + + private int versionPresentCase_ = 0; + private java.lang.Object versionPresent_; + public enum VersionPresentCase + implements com.google.protobuf.Internal.EnumLite { + VERSION(2), + VERSIONPRESENT_NOT_SET(0); + private final int value; + private VersionPresentCase(int value) { + this.value = value; + } + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static VersionPresentCase valueOf(int value) { + return forNumber(value); + } + + public static VersionPresentCase forNumber(int value) { + switch (value) { + case 2: return VERSION; + case 0: return VERSIONPRESENT_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public VersionPresentCase + getVersionPresentCase() { + return VersionPresentCase.forNumber( + versionPresentCase_); + } + + private int compressionPresentCase_ = 0; + private java.lang.Object compressionPresent_; + public enum CompressionPresentCase + implements com.google.protobuf.Internal.EnumLite { + COMPRESSION(4), + COMPRESSIONPRESENT_NOT_SET(0); + private final int value; + private CompressionPresentCase(int value) { + this.value = value; + } + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static CompressionPresentCase valueOf(int value) { + return forNumber(value); + } + + public static CompressionPresentCase forNumber(int value) { + switch (value) { + case 4: return COMPRESSION; + case 0: return COMPRESSIONPRESENT_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public CompressionPresentCase + getCompressionPresentCase() { + return CompressionPresentCase.forNumber( + compressionPresentCase_); + } + + public static final int MAGIC_NUMBER_FIELD_NUMBER = 1; /** - * optional int32 magic_number = 1 [default = 17]; + * int32 magic_number = 1; */ public int getMagicNumber() { - return magicNumber_; + if (magicNumberPresentCase_ == 1) { + return (java.lang.Integer) magicNumberPresent_; + } + return 0; } public static final int VERSION_FIELD_NUMBER = 2; - private int version_; /** - * optional int32 version = 2 [default = 1]; - */ - public boolean hasVersion() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional int32 version = 2 [default = 1]; + * int32 version = 2; */ public int getVersion() { - return version_; + if (versionPresentCase_ == 2) { + return (java.lang.Integer) versionPresent_; + } + return 1; } public static final int TYPE_FIELD_NUMBER = 3; private int type_; /** - * optional .com.alibaba.otter.canal.protocol.PacketType type = 3; + * .com.alibaba.otter.canal.protocol.PacketType type = 3; */ - public boolean hasType() { - return ((bitField0_ & 0x00000004) == 0x00000004); + public int getTypeValue() { + return type_; } /** - * optional .com.alibaba.otter.canal.protocol.PacketType type = 3; + * .com.alibaba.otter.canal.protocol.PacketType type = 3; */ public com.alibaba.otter.canal.protocol.CanalPacket.PacketType getType() { @SuppressWarnings("deprecation") com.alibaba.otter.canal.protocol.CanalPacket.PacketType result = com.alibaba.otter.canal.protocol.CanalPacket.PacketType.valueOf(type_); - return result == null ? com.alibaba.otter.canal.protocol.CanalPacket.PacketType.HANDSHAKE : result; + return result == null ? com.alibaba.otter.canal.protocol.CanalPacket.PacketType.UNRECOGNIZED : result; } public static final int COMPRESSION_FIELD_NUMBER = 4; - private int compression_; /** - * optional .com.alibaba.otter.canal.protocol.Compression compression = 4 [default = NONE]; + * .com.alibaba.otter.canal.protocol.Compression compression = 4; */ - public boolean hasCompression() { - return ((bitField0_ & 0x00000008) == 0x00000008); + public int getCompressionValue() { + if (compressionPresentCase_ == 4) { + return (java.lang.Integer) compressionPresent_; + } + return Compression.NONE_VALUE; } /** - * optional .com.alibaba.otter.canal.protocol.Compression compression = 4 [default = NONE]; + * .com.alibaba.otter.canal.protocol.Compression compression = 4; */ public com.alibaba.otter.canal.protocol.CanalPacket.Compression getCompression() { - @SuppressWarnings("deprecation") - com.alibaba.otter.canal.protocol.CanalPacket.Compression result = com.alibaba.otter.canal.protocol.CanalPacket.Compression.valueOf(compression_); - return result == null ? com.alibaba.otter.canal.protocol.CanalPacket.Compression.NONE : result; + if (compressionPresentCase_ == 4) { + @SuppressWarnings("deprecation") + com.alibaba.otter.canal.protocol.CanalPacket.Compression result = com.alibaba.otter.canal.protocol.CanalPacket.Compression.valueOf( + (java.lang.Integer) compressionPresent_); + return result == null ? com.alibaba.otter.canal.protocol.CanalPacket.Compression.UNRECOGNIZED : result; + } + return com.alibaba.otter.canal.protocol.CanalPacket.Compression.COMPRESSIONCOMPATIBLEPROTO2; } public static final int BODY_FIELD_NUMBER = 5; private com.google.protobuf.ByteString body_; /** - * optional bytes body = 5; - */ - public boolean hasBody() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - * optional bytes body = 5; + * bytes body = 5; */ public com.google.protobuf.ByteString getBody() { return body_; @@ -576,19 +696,21 @@ public final class CanalPacket { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeInt32(1, magicNumber_); + if (magicNumberPresentCase_ == 1) { + output.writeInt32( + 1, (int)((java.lang.Integer) magicNumberPresent_)); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { - output.writeInt32(2, version_); + if (versionPresentCase_ == 2) { + output.writeInt32( + 2, (int)((java.lang.Integer) versionPresent_)); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (type_ != com.alibaba.otter.canal.protocol.CanalPacket.PacketType.PACKAGETYPECOMPATIBLEPROTO2.getNumber()) { output.writeEnum(3, type_); } - if (((bitField0_ & 0x00000008) == 0x00000008)) { - output.writeEnum(4, compression_); + if (compressionPresentCase_ == 4) { + output.writeEnum(4, ((java.lang.Integer) compressionPresent_)); } - if (((bitField0_ & 0x00000010) == 0x00000010)) { + if (!body_.isEmpty()) { output.writeBytes(5, body_); } unknownFields.writeTo(output); @@ -600,23 +722,25 @@ public final class CanalPacket { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (magicNumberPresentCase_ == 1) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(1, magicNumber_); + .computeInt32Size( + 1, (int)((java.lang.Integer) magicNumberPresent_)); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (versionPresentCase_ == 2) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(2, version_); + .computeInt32Size( + 2, (int)((java.lang.Integer) versionPresent_)); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (type_ != com.alibaba.otter.canal.protocol.CanalPacket.PacketType.PACKAGETYPECOMPATIBLEPROTO2.getNumber()) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(3, type_); } - if (((bitField0_ & 0x00000008) == 0x00000008)) { + if (compressionPresentCase_ == 4) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(4, compression_); + .computeEnumSize(4, ((java.lang.Integer) compressionPresent_)); } - if (((bitField0_ & 0x00000010) == 0x00000010)) { + if (!body_.isEmpty()) { size += com.google.protobuf.CodedOutputStream .computeBytesSize(5, body_); } @@ -636,28 +760,41 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.Packet other = (com.alibaba.otter.canal.protocol.CanalPacket.Packet) obj; boolean result = true; - result = result && (hasMagicNumber() == other.hasMagicNumber()); - if (hasMagicNumber()) { - result = result && (getMagicNumber() - == other.getMagicNumber()); + result = result && type_ == other.type_; + result = result && getBody() + .equals(other.getBody()); + result = result && getMagicNumberPresentCase().equals( + other.getMagicNumberPresentCase()); + if (!result) return false; + switch (magicNumberPresentCase_) { + case 1: + result = result && (getMagicNumber() + == other.getMagicNumber()); + break; + case 0: + default: } - result = result && (hasVersion() == other.hasVersion()); - if (hasVersion()) { - result = result && (getVersion() - == other.getVersion()); + result = result && getVersionPresentCase().equals( + other.getVersionPresentCase()); + if (!result) return false; + switch (versionPresentCase_) { + case 2: + result = result && (getVersion() + == other.getVersion()); + break; + case 0: + default: } - result = result && (hasType() == other.hasType()); - if (hasType()) { - result = result && type_ == other.type_; - } - result = result && (hasCompression() == other.hasCompression()); - if (hasCompression()) { - result = result && compression_ == other.compression_; - } - result = result && (hasBody() == other.hasBody()); - if (hasBody()) { - result = result && getBody() - .equals(other.getBody()); + result = result && getCompressionPresentCase().equals( + other.getCompressionPresentCase()); + if (!result) return false; + switch (compressionPresentCase_) { + case 4: + result = result && getCompressionValue() + == other.getCompressionValue(); + break; + case 0: + default: } result = result && unknownFields.equals(other.unknownFields); return result; @@ -670,25 +807,33 @@ public final class CanalPacket { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasMagicNumber()) { - hash = (37 * hash) + MAGIC_NUMBER_FIELD_NUMBER; - hash = (53 * hash) + getMagicNumber(); + hash = (37 * hash) + TYPE_FIELD_NUMBER; + hash = (53 * hash) + type_; + hash = (37 * hash) + BODY_FIELD_NUMBER; + hash = (53 * hash) + getBody().hashCode(); + switch (magicNumberPresentCase_) { + case 1: + hash = (37 * hash) + MAGIC_NUMBER_FIELD_NUMBER; + hash = (53 * hash) + getMagicNumber(); + break; + case 0: + default: } - if (hasVersion()) { - hash = (37 * hash) + VERSION_FIELD_NUMBER; - hash = (53 * hash) + getVersion(); + switch (versionPresentCase_) { + case 2: + hash = (37 * hash) + VERSION_FIELD_NUMBER; + hash = (53 * hash) + getVersion(); + break; + case 0: + default: } - if (hasType()) { - hash = (37 * hash) + TYPE_FIELD_NUMBER; - hash = (53 * hash) + type_; - } - if (hasCompression()) { - hash = (37 * hash) + COMPRESSION_FIELD_NUMBER; - hash = (53 * hash) + compression_; - } - if (hasBody()) { - hash = (37 * hash) + BODY_FIELD_NUMBER; - hash = (53 * hash) + getBody().hashCode(); + switch (compressionPresentCase_) { + case 4: + hash = (37 * hash) + COMPRESSION_FIELD_NUMBER; + hash = (53 * hash) + getCompressionValue(); + break; + case 0: + default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; @@ -823,16 +968,16 @@ public final class CanalPacket { @java.lang.Override public Builder clear() { super.clear(); - magicNumber_ = 17; - bitField0_ = (bitField0_ & ~0x00000001); - version_ = 1; - bitField0_ = (bitField0_ & ~0x00000002); - type_ = 1; - bitField0_ = (bitField0_ & ~0x00000004); - compression_ = 1; - bitField0_ = (bitField0_ & ~0x00000008); + type_ = 0; + body_ = com.google.protobuf.ByteString.EMPTY; - bitField0_ = (bitField0_ & ~0x00000010); + + magicNumberPresentCase_ = 0; + magicNumberPresent_ = null; + versionPresentCase_ = 0; + versionPresent_ = null; + compressionPresentCase_ = 0; + compressionPresent_ = null; return this; } @@ -859,29 +1004,20 @@ public final class CanalPacket { @java.lang.Override public com.alibaba.otter.canal.protocol.CanalPacket.Packet buildPartial() { com.alibaba.otter.canal.protocol.CanalPacket.Packet result = new com.alibaba.otter.canal.protocol.CanalPacket.Packet(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; + if (magicNumberPresentCase_ == 1) { + result.magicNumberPresent_ = magicNumberPresent_; } - result.magicNumber_ = magicNumber_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } - result.version_ = version_; - if (((from_bitField0_ & 0x00000004) == 0x00000004)) { - to_bitField0_ |= 0x00000004; + if (versionPresentCase_ == 2) { + result.versionPresent_ = versionPresent_; } result.type_ = type_; - if (((from_bitField0_ & 0x00000008) == 0x00000008)) { - to_bitField0_ |= 0x00000008; - } - result.compression_ = compression_; - if (((from_bitField0_ & 0x00000010) == 0x00000010)) { - to_bitField0_ |= 0x00000010; + if (compressionPresentCase_ == 4) { + result.compressionPresent_ = compressionPresent_; } result.body_ = body_; - result.bitField0_ = to_bitField0_; + result.magicNumberPresentCase_ = magicNumberPresentCase_; + result.versionPresentCase_ = versionPresentCase_; + result.compressionPresentCase_ = compressionPresentCase_; onBuilt(); return result; } @@ -930,21 +1066,39 @@ public final class CanalPacket { public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalPacket.Packet other) { if (other == com.alibaba.otter.canal.protocol.CanalPacket.Packet.getDefaultInstance()) return this; - if (other.hasMagicNumber()) { - setMagicNumber(other.getMagicNumber()); + if (other.type_ != 0) { + setTypeValue(other.getTypeValue()); } - if (other.hasVersion()) { - setVersion(other.getVersion()); - } - if (other.hasType()) { - setType(other.getType()); - } - if (other.hasCompression()) { - setCompression(other.getCompression()); - } - if (other.hasBody()) { + if (other.getBody() != com.google.protobuf.ByteString.EMPTY) { setBody(other.getBody()); } + switch (other.getMagicNumberPresentCase()) { + case MAGIC_NUMBER: { + setMagicNumber(other.getMagicNumber()); + break; + } + case MAGICNUMBERPRESENT_NOT_SET: { + break; + } + } + switch (other.getVersionPresentCase()) { + case VERSION: { + setVersion(other.getVersion()); + break; + } + case VERSIONPRESENT_NOT_SET: { + break; + } + } + switch (other.getCompressionPresentCase()) { + case COMPRESSION: { + setCompressionValue(other.getCompressionValue()); + break; + } + case COMPRESSIONPRESENT_NOT_SET: { + break; + } + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -973,176 +1127,235 @@ public final class CanalPacket { } return this; } - private int bitField0_; - - private int magicNumber_ = 17; - /** - * optional int32 magic_number = 1 [default = 17]; - */ - public boolean hasMagicNumber() { - return ((bitField0_ & 0x00000001) == 0x00000001); + private int magicNumberPresentCase_ = 0; + private java.lang.Object magicNumberPresent_; + public MagicNumberPresentCase + getMagicNumberPresentCase() { + return MagicNumberPresentCase.forNumber( + magicNumberPresentCase_); } + + public Builder clearMagicNumberPresent() { + magicNumberPresentCase_ = 0; + magicNumberPresent_ = null; + onChanged(); + return this; + } + + private int versionPresentCase_ = 0; + private java.lang.Object versionPresent_; + public VersionPresentCase + getVersionPresentCase() { + return VersionPresentCase.forNumber( + versionPresentCase_); + } + + public Builder clearVersionPresent() { + versionPresentCase_ = 0; + versionPresent_ = null; + onChanged(); + return this; + } + + private int compressionPresentCase_ = 0; + private java.lang.Object compressionPresent_; + public CompressionPresentCase + getCompressionPresentCase() { + return CompressionPresentCase.forNumber( + compressionPresentCase_); + } + + public Builder clearCompressionPresent() { + compressionPresentCase_ = 0; + compressionPresent_ = null; + onChanged(); + return this; + } + + /** - * optional int32 magic_number = 1 [default = 17]; + * int32 magic_number = 1; */ public int getMagicNumber() { - return magicNumber_; + if (magicNumberPresentCase_ == 1) { + return (java.lang.Integer) magicNumberPresent_; + } + return 17; } /** - * optional int32 magic_number = 1 [default = 17]; + * int32 magic_number = 1; */ public Builder setMagicNumber(int value) { - bitField0_ |= 0x00000001; - magicNumber_ = value; + magicNumberPresentCase_ = 1; + magicNumberPresent_ = value; onChanged(); return this; } /** - * optional int32 magic_number = 1 [default = 17]; + * int32 magic_number = 1; */ public Builder clearMagicNumber() { - bitField0_ = (bitField0_ & ~0x00000001); - magicNumber_ = 17; - onChanged(); + if (magicNumberPresentCase_ == 1) { + magicNumberPresentCase_ = 0; + magicNumberPresent_ = null; + onChanged(); + } return this; } - private int version_ = 1; /** - * optional int32 version = 2 [default = 1]; - */ - public boolean hasVersion() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional int32 version = 2 [default = 1]; + * int32 version = 2; */ public int getVersion() { - return version_; + if (versionPresentCase_ == 2) { + return (java.lang.Integer) versionPresent_; + } + return 0; } /** - * optional int32 version = 2 [default = 1]; + * int32 version = 2; */ public Builder setVersion(int value) { - bitField0_ |= 0x00000002; - version_ = value; + versionPresentCase_ = 2; + versionPresent_ = value; onChanged(); return this; } /** - * optional int32 version = 2 [default = 1]; + * int32 version = 2; */ public Builder clearVersion() { - bitField0_ = (bitField0_ & ~0x00000002); - version_ = 1; - onChanged(); + if (versionPresentCase_ == 2) { + versionPresentCase_ = 0; + versionPresent_ = null; + onChanged(); + } return this; } - private int type_ = 1; + private int type_ = 0; /** - * optional .com.alibaba.otter.canal.protocol.PacketType type = 3; + * .com.alibaba.otter.canal.protocol.PacketType type = 3; */ - public boolean hasType() { - return ((bitField0_ & 0x00000004) == 0x00000004); + public int getTypeValue() { + return type_; } /** - * optional .com.alibaba.otter.canal.protocol.PacketType type = 3; + * .com.alibaba.otter.canal.protocol.PacketType type = 3; + */ + public Builder setTypeValue(int value) { + type_ = value; + onChanged(); + return this; + } + /** + * .com.alibaba.otter.canal.protocol.PacketType type = 3; */ public com.alibaba.otter.canal.protocol.CanalPacket.PacketType getType() { @SuppressWarnings("deprecation") com.alibaba.otter.canal.protocol.CanalPacket.PacketType result = com.alibaba.otter.canal.protocol.CanalPacket.PacketType.valueOf(type_); - return result == null ? com.alibaba.otter.canal.protocol.CanalPacket.PacketType.HANDSHAKE : result; + return result == null ? com.alibaba.otter.canal.protocol.CanalPacket.PacketType.UNRECOGNIZED : result; } /** - * optional .com.alibaba.otter.canal.protocol.PacketType type = 3; + * .com.alibaba.otter.canal.protocol.PacketType type = 3; */ public Builder setType(com.alibaba.otter.canal.protocol.CanalPacket.PacketType value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000004; + type_ = value.getNumber(); onChanged(); return this; } /** - * optional .com.alibaba.otter.canal.protocol.PacketType type = 3; + * .com.alibaba.otter.canal.protocol.PacketType type = 3; */ public Builder clearType() { - bitField0_ = (bitField0_ & ~0x00000004); - type_ = 1; + + type_ = 0; onChanged(); return this; } - private int compression_ = 1; /** - * optional .com.alibaba.otter.canal.protocol.Compression compression = 4 [default = NONE]; + * .com.alibaba.otter.canal.protocol.Compression compression = 4; */ - public boolean hasCompression() { - return ((bitField0_ & 0x00000008) == 0x00000008); + public int getCompressionValue() { + if (compressionPresentCase_ == 4) { + return ((java.lang.Integer) compressionPresent_).intValue(); + } + return 0; } /** - * optional .com.alibaba.otter.canal.protocol.Compression compression = 4 [default = NONE]; + * .com.alibaba.otter.canal.protocol.Compression compression = 4; + */ + public Builder setCompressionValue(int value) { + compressionPresentCase_ = 4; + compressionPresent_ = value; + onChanged(); + return this; + } + /** + * .com.alibaba.otter.canal.protocol.Compression compression = 4; */ public com.alibaba.otter.canal.protocol.CanalPacket.Compression getCompression() { - @SuppressWarnings("deprecation") - com.alibaba.otter.canal.protocol.CanalPacket.Compression result = com.alibaba.otter.canal.protocol.CanalPacket.Compression.valueOf(compression_); - return result == null ? com.alibaba.otter.canal.protocol.CanalPacket.Compression.NONE : result; + if (compressionPresentCase_ == 4) { + @SuppressWarnings("deprecation") + com.alibaba.otter.canal.protocol.CanalPacket.Compression result = com.alibaba.otter.canal.protocol.CanalPacket.Compression.valueOf( + (java.lang.Integer) compressionPresent_); + return result == null ? com.alibaba.otter.canal.protocol.CanalPacket.Compression.UNRECOGNIZED : result; + } + return com.alibaba.otter.canal.protocol.CanalPacket.Compression.COMPRESSIONCOMPATIBLEPROTO2; } /** - * optional .com.alibaba.otter.canal.protocol.Compression compression = 4 [default = NONE]; + * .com.alibaba.otter.canal.protocol.Compression compression = 4; */ public Builder setCompression(com.alibaba.otter.canal.protocol.CanalPacket.Compression value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000008; - compression_ = value.getNumber(); + compressionPresentCase_ = 4; + compressionPresent_ = value.getNumber(); onChanged(); return this; } /** - * optional .com.alibaba.otter.canal.protocol.Compression compression = 4 [default = NONE]; + * .com.alibaba.otter.canal.protocol.Compression compression = 4; */ public Builder clearCompression() { - bitField0_ = (bitField0_ & ~0x00000008); - compression_ = 1; - onChanged(); + if (compressionPresentCase_ == 4) { + compressionPresentCase_ = 0; + compressionPresent_ = null; + onChanged(); + } return this; } private com.google.protobuf.ByteString body_ = com.google.protobuf.ByteString.EMPTY; /** - * optional bytes body = 5; - */ - public boolean hasBody() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - * optional bytes body = 5; + * bytes body = 5; */ public com.google.protobuf.ByteString getBody() { return body_; } /** - * optional bytes body = 5; + * bytes body = 5; */ public Builder setBody(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000010; + body_ = value; onChanged(); return this; } /** - * optional bytes body = 5; + * bytes body = 5; */ public Builder clearBody() { - bitField0_ = (bitField0_ & ~0x00000010); + body_ = getDefaultInstance().getBody(); onChanged(); return this; @@ -1150,7 +1363,7 @@ public final class CanalPacket { @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -1173,7 +1386,7 @@ public final class CanalPacket { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Packet parsePartialFrom( @@ -1205,20 +1418,12 @@ public final class CanalPacket { com.google.protobuf.MessageOrBuilder { /** - * optional int64 send_timestamp = 1; - */ - boolean hasSendTimestamp(); - /** - * optional int64 send_timestamp = 1; + * int64 send_timestamp = 1; */ long getSendTimestamp(); /** - * optional int64 start_timestamp = 2; - */ - boolean hasStartTimestamp(); - /** - * optional int64 start_timestamp = 2; + * int64 start_timestamp = 2; */ long getStartTimestamp(); } @@ -1264,17 +1469,17 @@ public final class CanalPacket { done = true; break; case 8: { - bitField0_ |= 0x00000001; + sendTimestamp_ = input.readInt64(); break; } case 16: { - bitField0_ |= 0x00000002; + startTimestamp_ = input.readInt64(); break; } default: { - if (!parseUnknownField( + if (!parseUnknownFieldProto3( input, unknownFields, extensionRegistry, tag)) { done = true; } @@ -1305,17 +1510,10 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.HeartBeat.class, com.alibaba.otter.canal.protocol.CanalPacket.HeartBeat.Builder.class); } - private int bitField0_; public static final int SEND_TIMESTAMP_FIELD_NUMBER = 1; private long sendTimestamp_; /** - * optional int64 send_timestamp = 1; - */ - public boolean hasSendTimestamp() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional int64 send_timestamp = 1; + * int64 send_timestamp = 1; */ public long getSendTimestamp() { return sendTimestamp_; @@ -1324,13 +1522,7 @@ public final class CanalPacket { public static final int START_TIMESTAMP_FIELD_NUMBER = 2; private long startTimestamp_; /** - * optional int64 start_timestamp = 2; - */ - public boolean hasStartTimestamp() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional int64 start_timestamp = 2; + * int64 start_timestamp = 2; */ public long getStartTimestamp() { return startTimestamp_; @@ -1350,10 +1542,10 @@ public final class CanalPacket { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (sendTimestamp_ != 0L) { output.writeInt64(1, sendTimestamp_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (startTimestamp_ != 0L) { output.writeInt64(2, startTimestamp_); } unknownFields.writeTo(output); @@ -1365,11 +1557,11 @@ public final class CanalPacket { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (sendTimestamp_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(1, sendTimestamp_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (startTimestamp_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(2, startTimestamp_); } @@ -1389,16 +1581,10 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.HeartBeat other = (com.alibaba.otter.canal.protocol.CanalPacket.HeartBeat) obj; boolean result = true; - result = result && (hasSendTimestamp() == other.hasSendTimestamp()); - if (hasSendTimestamp()) { - result = result && (getSendTimestamp() - == other.getSendTimestamp()); - } - result = result && (hasStartTimestamp() == other.hasStartTimestamp()); - if (hasStartTimestamp()) { - result = result && (getStartTimestamp() - == other.getStartTimestamp()); - } + result = result && (getSendTimestamp() + == other.getSendTimestamp()); + result = result && (getStartTimestamp() + == other.getStartTimestamp()); result = result && unknownFields.equals(other.unknownFields); return result; } @@ -1410,16 +1596,12 @@ public final class CanalPacket { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasSendTimestamp()) { - hash = (37 * hash) + SEND_TIMESTAMP_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getSendTimestamp()); - } - if (hasStartTimestamp()) { - hash = (37 * hash) + START_TIMESTAMP_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getStartTimestamp()); - } + hash = (37 * hash) + SEND_TIMESTAMP_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getSendTimestamp()); + hash = (37 * hash) + START_TIMESTAMP_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getStartTimestamp()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -1554,9 +1736,9 @@ public final class CanalPacket { public Builder clear() { super.clear(); sendTimestamp_ = 0L; - bitField0_ = (bitField0_ & ~0x00000001); + startTimestamp_ = 0L; - bitField0_ = (bitField0_ & ~0x00000002); + return this; } @@ -1583,17 +1765,8 @@ public final class CanalPacket { @java.lang.Override public com.alibaba.otter.canal.protocol.CanalPacket.HeartBeat buildPartial() { com.alibaba.otter.canal.protocol.CanalPacket.HeartBeat result = new com.alibaba.otter.canal.protocol.CanalPacket.HeartBeat(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } result.sendTimestamp_ = sendTimestamp_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } result.startTimestamp_ = startTimestamp_; - result.bitField0_ = to_bitField0_; onBuilt(); return result; } @@ -1642,10 +1815,10 @@ public final class CanalPacket { public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalPacket.HeartBeat other) { if (other == com.alibaba.otter.canal.protocol.CanalPacket.HeartBeat.getDefaultInstance()) return this; - if (other.hasSendTimestamp()) { + if (other.getSendTimestamp() != 0L) { setSendTimestamp(other.getSendTimestamp()); } - if (other.hasStartTimestamp()) { + if (other.getStartTimestamp() != 0L) { setStartTimestamp(other.getStartTimestamp()); } this.mergeUnknownFields(other.unknownFields); @@ -1676,35 +1849,28 @@ public final class CanalPacket { } return this; } - private int bitField0_; private long sendTimestamp_ ; /** - * optional int64 send_timestamp = 1; - */ - public boolean hasSendTimestamp() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional int64 send_timestamp = 1; + * int64 send_timestamp = 1; */ public long getSendTimestamp() { return sendTimestamp_; } /** - * optional int64 send_timestamp = 1; + * int64 send_timestamp = 1; */ public Builder setSendTimestamp(long value) { - bitField0_ |= 0x00000001; + sendTimestamp_ = value; onChanged(); return this; } /** - * optional int64 send_timestamp = 1; + * int64 send_timestamp = 1; */ public Builder clearSendTimestamp() { - bitField0_ = (bitField0_ & ~0x00000001); + sendTimestamp_ = 0L; onChanged(); return this; @@ -1712,31 +1878,25 @@ public final class CanalPacket { private long startTimestamp_ ; /** - * optional int64 start_timestamp = 2; - */ - public boolean hasStartTimestamp() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional int64 start_timestamp = 2; + * int64 start_timestamp = 2; */ public long getStartTimestamp() { return startTimestamp_; } /** - * optional int64 start_timestamp = 2; + * int64 start_timestamp = 2; */ public Builder setStartTimestamp(long value) { - bitField0_ |= 0x00000002; + startTimestamp_ = value; onChanged(); return this; } /** - * optional int64 start_timestamp = 2; + * int64 start_timestamp = 2; */ public Builder clearStartTimestamp() { - bitField0_ = (bitField0_ & ~0x00000002); + startTimestamp_ = 0L; onChanged(); return this; @@ -1744,7 +1904,7 @@ public final class CanalPacket { @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -1767,7 +1927,7 @@ public final class CanalPacket { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public HeartBeat parsePartialFrom( @@ -1799,40 +1959,30 @@ public final class CanalPacket { com.google.protobuf.MessageOrBuilder { /** - * optional string communication_encoding = 1 [default = "utf8"]; - */ - boolean hasCommunicationEncoding(); - /** - * optional string communication_encoding = 1 [default = "utf8"]; + * string communication_encoding = 1; */ java.lang.String getCommunicationEncoding(); /** - * optional string communication_encoding = 1 [default = "utf8"]; + * string communication_encoding = 1; */ com.google.protobuf.ByteString getCommunicationEncodingBytes(); /** - * optional bytes seeds = 2; - */ - boolean hasSeeds(); - /** - * optional bytes seeds = 2; + * bytes seeds = 2; */ com.google.protobuf.ByteString getSeeds(); /** - * repeated .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; + * .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; */ - java.util.List getSupportedCompressionsList(); + int getSupportedCompressionsValue(); /** - * repeated .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; + * .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; */ - int getSupportedCompressionsCount(); - /** - * repeated .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; - */ - com.alibaba.otter.canal.protocol.CanalPacket.Compression getSupportedCompressions(int index); + com.alibaba.otter.canal.protocol.CanalPacket.Compression getSupportedCompressions(); + + public com.alibaba.otter.canal.protocol.CanalPacket.Handshake.CommunicationEncodingPresentCase getCommunicationEncodingPresentCase(); } /** * Protobuf type {@code com.alibaba.otter.canal.protocol.Handshake} @@ -1847,9 +1997,8 @@ public final class CanalPacket { super(builder); } private Handshake() { - communicationEncoding_ = "utf8"; seeds_ = com.google.protobuf.ByteString.EMPTY; - supportedCompressions_ = java.util.Collections.emptyList(); + supportedCompressions_ = 0; } @java.lang.Override @@ -1877,53 +2026,24 @@ public final class CanalPacket { done = true; break; case 10: { - com.google.protobuf.ByteString bs = input.readBytes(); - bitField0_ |= 0x00000001; - communicationEncoding_ = bs; + java.lang.String s = input.readStringRequireUtf8(); + communicationEncodingPresentCase_ = 1; + communicationEncodingPresent_ = s; break; } case 18: { - bitField0_ |= 0x00000002; + seeds_ = input.readBytes(); break; } case 24: { int rawValue = input.readEnum(); - @SuppressWarnings("deprecation") - com.alibaba.otter.canal.protocol.CanalPacket.Compression value = com.alibaba.otter.canal.protocol.CanalPacket.Compression.valueOf(rawValue); - if (value == null) { - unknownFields.mergeVarintField(3, rawValue); - } else { - if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) { - supportedCompressions_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000004; - } - supportedCompressions_.add(rawValue); - } - break; - } - case 26: { - int length = input.readRawVarint32(); - int oldLimit = input.pushLimit(length); - while(input.getBytesUntilLimit() > 0) { - int rawValue = input.readEnum(); - @SuppressWarnings("deprecation") - com.alibaba.otter.canal.protocol.CanalPacket.Compression value = com.alibaba.otter.canal.protocol.CanalPacket.Compression.valueOf(rawValue); - if (value == null) { - unknownFields.mergeVarintField(3, rawValue); - } else { - if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) { - supportedCompressions_ = new java.util.ArrayList(); - mutable_bitField0_ |= 0x00000004; - } - supportedCompressions_.add(rawValue); - } - } - input.popLimit(oldLimit); + + supportedCompressions_ = rawValue; break; } default: { - if (!parseUnknownField( + if (!parseUnknownFieldProto3( input, unknownFields, extensionRegistry, tag)) { done = true; } @@ -1937,9 +2057,6 @@ public final class CanalPacket { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); } finally { - if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) { - supportedCompressions_ = java.util.Collections.unmodifiableList(supportedCompressions_); - } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } @@ -1957,43 +2074,79 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.Handshake.class, com.alibaba.otter.canal.protocol.CanalPacket.Handshake.Builder.class); } - private int bitField0_; - public static final int COMMUNICATION_ENCODING_FIELD_NUMBER = 1; - private volatile java.lang.Object communicationEncoding_; - /** - * optional string communication_encoding = 1 [default = "utf8"]; - */ - public boolean hasCommunicationEncoding() { - return ((bitField0_ & 0x00000001) == 0x00000001); + private int communicationEncodingPresentCase_ = 0; + private java.lang.Object communicationEncodingPresent_; + public enum CommunicationEncodingPresentCase + implements com.google.protobuf.Internal.EnumLite { + COMMUNICATION_ENCODING(1), + COMMUNICATIONENCODINGPRESENT_NOT_SET(0); + private final int value; + private CommunicationEncodingPresentCase(int value) { + this.value = value; + } + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static CommunicationEncodingPresentCase valueOf(int value) { + return forNumber(value); + } + + public static CommunicationEncodingPresentCase forNumber(int value) { + switch (value) { + case 1: return COMMUNICATION_ENCODING; + case 0: return COMMUNICATIONENCODINGPRESENT_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public CommunicationEncodingPresentCase + getCommunicationEncodingPresentCase() { + return CommunicationEncodingPresentCase.forNumber( + communicationEncodingPresentCase_); } + + public static final int COMMUNICATION_ENCODING_FIELD_NUMBER = 1; /** - * optional string communication_encoding = 1 [default = "utf8"]; + * string communication_encoding = 1; */ public java.lang.String getCommunicationEncoding() { - java.lang.Object ref = communicationEncoding_; + java.lang.Object ref = ""; + if (communicationEncodingPresentCase_ == 1) { + ref = communicationEncodingPresent_; + } if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - communicationEncoding_ = s; + if (communicationEncodingPresentCase_ == 1) { + communicationEncodingPresent_ = s; } return s; } } /** - * optional string communication_encoding = 1 [default = "utf8"]; + * string communication_encoding = 1; */ public com.google.protobuf.ByteString getCommunicationEncodingBytes() { - java.lang.Object ref = communicationEncoding_; + java.lang.Object ref = ""; + if (communicationEncodingPresentCase_ == 1) { + ref = communicationEncodingPresent_; + } if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - communicationEncoding_ = b; + if (communicationEncodingPresentCase_ == 1) { + communicationEncodingPresent_ = b; + } return b; } else { return (com.google.protobuf.ByteString) ref; @@ -2003,48 +2156,27 @@ public final class CanalPacket { public static final int SEEDS_FIELD_NUMBER = 2; private com.google.protobuf.ByteString seeds_; /** - * optional bytes seeds = 2; - */ - public boolean hasSeeds() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional bytes seeds = 2; + * bytes seeds = 2; */ public com.google.protobuf.ByteString getSeeds() { return seeds_; } public static final int SUPPORTED_COMPRESSIONS_FIELD_NUMBER = 3; - private java.util.List supportedCompressions_; - private static final com.google.protobuf.Internal.ListAdapter.Converter< - java.lang.Integer, com.alibaba.otter.canal.protocol.CanalPacket.Compression> supportedCompressions_converter_ = - new com.google.protobuf.Internal.ListAdapter.Converter< - java.lang.Integer, com.alibaba.otter.canal.protocol.CanalPacket.Compression>() { - public com.alibaba.otter.canal.protocol.CanalPacket.Compression convert(java.lang.Integer from) { - @SuppressWarnings("deprecation") - com.alibaba.otter.canal.protocol.CanalPacket.Compression result = com.alibaba.otter.canal.protocol.CanalPacket.Compression.valueOf(from); - return result == null ? com.alibaba.otter.canal.protocol.CanalPacket.Compression.NONE : result; - } - }; + private int supportedCompressions_; /** - * repeated .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; + * .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; */ - public java.util.List getSupportedCompressionsList() { - return new com.google.protobuf.Internal.ListAdapter< - java.lang.Integer, com.alibaba.otter.canal.protocol.CanalPacket.Compression>(supportedCompressions_, supportedCompressions_converter_); + public int getSupportedCompressionsValue() { + return supportedCompressions_; } /** - * repeated .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; + * .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; */ - public int getSupportedCompressionsCount() { - return supportedCompressions_.size(); - } - /** - * repeated .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; - */ - public com.alibaba.otter.canal.protocol.CanalPacket.Compression getSupportedCompressions(int index) { - return supportedCompressions_converter_.convert(supportedCompressions_.get(index)); + public com.alibaba.otter.canal.protocol.CanalPacket.Compression getSupportedCompressions() { + @SuppressWarnings("deprecation") + com.alibaba.otter.canal.protocol.CanalPacket.Compression result = com.alibaba.otter.canal.protocol.CanalPacket.Compression.valueOf(supportedCompressions_); + return result == null ? com.alibaba.otter.canal.protocol.CanalPacket.Compression.UNRECOGNIZED : result; } private byte memoizedIsInitialized = -1; @@ -2061,14 +2193,14 @@ public final class CanalPacket { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { - com.google.protobuf.GeneratedMessageV3.writeString(output, 1, communicationEncoding_); + if (communicationEncodingPresentCase_ == 1) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, communicationEncodingPresent_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!seeds_.isEmpty()) { output.writeBytes(2, seeds_); } - for (int i = 0; i < supportedCompressions_.size(); i++) { - output.writeEnum(3, supportedCompressions_.get(i)); + if (supportedCompressions_ != com.alibaba.otter.canal.protocol.CanalPacket.Compression.COMPRESSIONCOMPATIBLEPROTO2.getNumber()) { + output.writeEnum(3, supportedCompressions_); } unknownFields.writeTo(output); } @@ -2079,21 +2211,16 @@ public final class CanalPacket { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { - size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, communicationEncoding_); + if (communicationEncodingPresentCase_ == 1) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, communicationEncodingPresent_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!seeds_.isEmpty()) { size += com.google.protobuf.CodedOutputStream .computeBytesSize(2, seeds_); } - { - int dataSize = 0; - for (int i = 0; i < supportedCompressions_.size(); i++) { - dataSize += com.google.protobuf.CodedOutputStream - .computeEnumSizeNoTag(supportedCompressions_.get(i)); - } - size += dataSize; - size += 1 * supportedCompressions_.size(); + if (supportedCompressions_ != com.alibaba.otter.canal.protocol.CanalPacket.Compression.COMPRESSIONCOMPATIBLEPROTO2.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(3, supportedCompressions_); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -2111,17 +2238,20 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.Handshake other = (com.alibaba.otter.canal.protocol.CanalPacket.Handshake) obj; boolean result = true; - result = result && (hasCommunicationEncoding() == other.hasCommunicationEncoding()); - if (hasCommunicationEncoding()) { - result = result && getCommunicationEncoding() - .equals(other.getCommunicationEncoding()); + result = result && getSeeds() + .equals(other.getSeeds()); + result = result && supportedCompressions_ == other.supportedCompressions_; + result = result && getCommunicationEncodingPresentCase().equals( + other.getCommunicationEncodingPresentCase()); + if (!result) return false; + switch (communicationEncodingPresentCase_) { + case 1: + result = result && getCommunicationEncoding() + .equals(other.getCommunicationEncoding()); + break; + case 0: + default: } - result = result && (hasSeeds() == other.hasSeeds()); - if (hasSeeds()) { - result = result && getSeeds() - .equals(other.getSeeds()); - } - result = result && supportedCompressions_.equals(other.supportedCompressions_); result = result && unknownFields.equals(other.unknownFields); return result; } @@ -2133,17 +2263,17 @@ public final class CanalPacket { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasCommunicationEncoding()) { - hash = (37 * hash) + COMMUNICATION_ENCODING_FIELD_NUMBER; - hash = (53 * hash) + getCommunicationEncoding().hashCode(); - } - if (hasSeeds()) { - hash = (37 * hash) + SEEDS_FIELD_NUMBER; - hash = (53 * hash) + getSeeds().hashCode(); - } - if (getSupportedCompressionsCount() > 0) { - hash = (37 * hash) + SUPPORTED_COMPRESSIONS_FIELD_NUMBER; - hash = (53 * hash) + supportedCompressions_.hashCode(); + hash = (37 * hash) + SEEDS_FIELD_NUMBER; + hash = (53 * hash) + getSeeds().hashCode(); + hash = (37 * hash) + SUPPORTED_COMPRESSIONS_FIELD_NUMBER; + hash = (53 * hash) + supportedCompressions_; + switch (communicationEncodingPresentCase_) { + case 1: + hash = (37 * hash) + COMMUNICATION_ENCODING_FIELD_NUMBER; + hash = (53 * hash) + getCommunicationEncoding().hashCode(); + break; + case 0: + default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; @@ -2278,12 +2408,12 @@ public final class CanalPacket { @java.lang.Override public Builder clear() { super.clear(); - communicationEncoding_ = "utf8"; - bitField0_ = (bitField0_ & ~0x00000001); seeds_ = com.google.protobuf.ByteString.EMPTY; - bitField0_ = (bitField0_ & ~0x00000002); - supportedCompressions_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); + + supportedCompressions_ = 0; + + communicationEncodingPresentCase_ = 0; + communicationEncodingPresent_ = null; return this; } @@ -2310,22 +2440,12 @@ public final class CanalPacket { @java.lang.Override public com.alibaba.otter.canal.protocol.CanalPacket.Handshake buildPartial() { com.alibaba.otter.canal.protocol.CanalPacket.Handshake result = new com.alibaba.otter.canal.protocol.CanalPacket.Handshake(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } - result.communicationEncoding_ = communicationEncoding_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; + if (communicationEncodingPresentCase_ == 1) { + result.communicationEncodingPresent_ = communicationEncodingPresent_; } result.seeds_ = seeds_; - if (((bitField0_ & 0x00000004) == 0x00000004)) { - supportedCompressions_ = java.util.Collections.unmodifiableList(supportedCompressions_); - bitField0_ = (bitField0_ & ~0x00000004); - } result.supportedCompressions_ = supportedCompressions_; - result.bitField0_ = to_bitField0_; + result.communicationEncodingPresentCase_ = communicationEncodingPresentCase_; onBuilt(); return result; } @@ -2374,23 +2494,22 @@ public final class CanalPacket { public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalPacket.Handshake other) { if (other == com.alibaba.otter.canal.protocol.CanalPacket.Handshake.getDefaultInstance()) return this; - if (other.hasCommunicationEncoding()) { - bitField0_ |= 0x00000001; - communicationEncoding_ = other.communicationEncoding_; - onChanged(); - } - if (other.hasSeeds()) { + if (other.getSeeds() != com.google.protobuf.ByteString.EMPTY) { setSeeds(other.getSeeds()); } - if (!other.supportedCompressions_.isEmpty()) { - if (supportedCompressions_.isEmpty()) { - supportedCompressions_ = other.supportedCompressions_; - bitField0_ = (bitField0_ & ~0x00000004); - } else { - ensureSupportedCompressionsIsMutable(); - supportedCompressions_.addAll(other.supportedCompressions_); + if (other.supportedCompressions_ != 0) { + setSupportedCompressionsValue(other.getSupportedCompressionsValue()); + } + switch (other.getCommunicationEncodingPresentCase()) { + case COMMUNICATION_ENCODING: { + communicationEncodingPresentCase_ = 1; + communicationEncodingPresent_ = other.communicationEncodingPresent_; + onChanged(); + break; + } + case COMMUNICATIONENCODINGPRESENT_NOT_SET: { + break; } - onChanged(); } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -2420,26 +2539,36 @@ public final class CanalPacket { } return this; } - private int bitField0_; - - private java.lang.Object communicationEncoding_ = "utf8"; - /** - * optional string communication_encoding = 1 [default = "utf8"]; - */ - public boolean hasCommunicationEncoding() { - return ((bitField0_ & 0x00000001) == 0x00000001); + private int communicationEncodingPresentCase_ = 0; + private java.lang.Object communicationEncodingPresent_; + public CommunicationEncodingPresentCase + getCommunicationEncodingPresentCase() { + return CommunicationEncodingPresentCase.forNumber( + communicationEncodingPresentCase_); } + + public Builder clearCommunicationEncodingPresent() { + communicationEncodingPresentCase_ = 0; + communicationEncodingPresent_ = null; + onChanged(); + return this; + } + + /** - * optional string communication_encoding = 1 [default = "utf8"]; + * string communication_encoding = 1; */ public java.lang.String getCommunicationEncoding() { - java.lang.Object ref = communicationEncoding_; + java.lang.Object ref = ""; + if (communicationEncodingPresentCase_ == 1) { + ref = communicationEncodingPresent_; + } if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - communicationEncoding_ = s; + if (communicationEncodingPresentCase_ == 1) { + communicationEncodingPresent_ = s; } return s; } else { @@ -2447,169 +2576,142 @@ public final class CanalPacket { } } /** - * optional string communication_encoding = 1 [default = "utf8"]; + * string communication_encoding = 1; */ public com.google.protobuf.ByteString getCommunicationEncodingBytes() { - java.lang.Object ref = communicationEncoding_; + java.lang.Object ref = ""; + if (communicationEncodingPresentCase_ == 1) { + ref = communicationEncodingPresent_; + } if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); - communicationEncoding_ = b; + if (communicationEncodingPresentCase_ == 1) { + communicationEncodingPresent_ = b; + } return b; } else { return (com.google.protobuf.ByteString) ref; } } /** - * optional string communication_encoding = 1 [default = "utf8"]; + * string communication_encoding = 1; */ public Builder setCommunicationEncoding( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; - communicationEncoding_ = value; + communicationEncodingPresentCase_ = 1; + communicationEncodingPresent_ = value; onChanged(); return this; } /** - * optional string communication_encoding = 1 [default = "utf8"]; + * string communication_encoding = 1; */ public Builder clearCommunicationEncoding() { - bitField0_ = (bitField0_ & ~0x00000001); - communicationEncoding_ = getDefaultInstance().getCommunicationEncoding(); - onChanged(); + if (communicationEncodingPresentCase_ == 1) { + communicationEncodingPresentCase_ = 0; + communicationEncodingPresent_ = null; + onChanged(); + } return this; } /** - * optional string communication_encoding = 1 [default = "utf8"]; + * string communication_encoding = 1; */ public Builder setCommunicationEncodingBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; - communicationEncoding_ = value; + checkByteStringIsUtf8(value); + communicationEncodingPresentCase_ = 1; + communicationEncodingPresent_ = value; onChanged(); return this; } private com.google.protobuf.ByteString seeds_ = com.google.protobuf.ByteString.EMPTY; /** - * optional bytes seeds = 2; - */ - public boolean hasSeeds() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional bytes seeds = 2; + * bytes seeds = 2; */ public com.google.protobuf.ByteString getSeeds() { return seeds_; } /** - * optional bytes seeds = 2; + * bytes seeds = 2; */ public Builder setSeeds(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + seeds_ = value; onChanged(); return this; } /** - * optional bytes seeds = 2; + * bytes seeds = 2; */ public Builder clearSeeds() { - bitField0_ = (bitField0_ & ~0x00000002); + seeds_ = getDefaultInstance().getSeeds(); onChanged(); return this; } - private java.util.List supportedCompressions_ = - java.util.Collections.emptyList(); - private void ensureSupportedCompressionsIsMutable() { - if (!((bitField0_ & 0x00000004) == 0x00000004)) { - supportedCompressions_ = new java.util.ArrayList(supportedCompressions_); - bitField0_ |= 0x00000004; - } + private int supportedCompressions_ = 0; + /** + * .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; + */ + public int getSupportedCompressionsValue() { + return supportedCompressions_; } /** - * repeated .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; + * .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; */ - public java.util.List getSupportedCompressionsList() { - return new com.google.protobuf.Internal.ListAdapter< - java.lang.Integer, com.alibaba.otter.canal.protocol.CanalPacket.Compression>(supportedCompressions_, supportedCompressions_converter_); + public Builder setSupportedCompressionsValue(int value) { + supportedCompressions_ = value; + onChanged(); + return this; } /** - * repeated .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; + * .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; */ - public int getSupportedCompressionsCount() { - return supportedCompressions_.size(); + public com.alibaba.otter.canal.protocol.CanalPacket.Compression getSupportedCompressions() { + @SuppressWarnings("deprecation") + com.alibaba.otter.canal.protocol.CanalPacket.Compression result = com.alibaba.otter.canal.protocol.CanalPacket.Compression.valueOf(supportedCompressions_); + return result == null ? com.alibaba.otter.canal.protocol.CanalPacket.Compression.UNRECOGNIZED : result; } /** - * repeated .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; + * .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; */ - public com.alibaba.otter.canal.protocol.CanalPacket.Compression getSupportedCompressions(int index) { - return supportedCompressions_converter_.convert(supportedCompressions_.get(index)); - } - /** - * repeated .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; - */ - public Builder setSupportedCompressions( - int index, com.alibaba.otter.canal.protocol.CanalPacket.Compression value) { + public Builder setSupportedCompressions(com.alibaba.otter.canal.protocol.CanalPacket.Compression value) { if (value == null) { throw new NullPointerException(); } - ensureSupportedCompressionsIsMutable(); - supportedCompressions_.set(index, value.getNumber()); + + supportedCompressions_ = value.getNumber(); onChanged(); return this; } /** - * repeated .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; - */ - public Builder addSupportedCompressions(com.alibaba.otter.canal.protocol.CanalPacket.Compression value) { - if (value == null) { - throw new NullPointerException(); - } - ensureSupportedCompressionsIsMutable(); - supportedCompressions_.add(value.getNumber()); - onChanged(); - return this; - } - /** - * repeated .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; - */ - public Builder addAllSupportedCompressions( - java.lang.Iterable values) { - ensureSupportedCompressionsIsMutable(); - for (com.alibaba.otter.canal.protocol.CanalPacket.Compression value : values) { - supportedCompressions_.add(value.getNumber()); - } - onChanged(); - return this; - } - /** - * repeated .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; + * .com.alibaba.otter.canal.protocol.Compression supported_compressions = 3; */ public Builder clearSupportedCompressions() { - supportedCompressions_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); + + supportedCompressions_ = 0; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -2632,7 +2734,7 @@ public final class CanalPacket { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Handshake parsePartialFrom( @@ -2664,15 +2766,11 @@ public final class CanalPacket { com.google.protobuf.MessageOrBuilder { /** - * optional string username = 1; - */ - boolean hasUsername(); - /** - * optional string username = 1; + * string username = 1; */ java.lang.String getUsername(); /** - * optional string username = 1; + * string username = 1; */ com.google.protobuf.ByteString getUsernameBytes(); @@ -2682,15 +2780,7 @@ public final class CanalPacket { * hashed password with seeds from Handshake message * * - * optional bytes password = 2; - */ - boolean hasPassword(); - /** - *
-     * hashed password with seeds from Handshake message
-     * 
- * - * optional bytes password = 2; + * bytes password = 2; */ com.google.protobuf.ByteString getPassword(); @@ -2699,15 +2789,7 @@ public final class CanalPacket { * in seconds * * - * optional int32 net_read_timeout = 3 [default = 0]; - */ - boolean hasNetReadTimeout(); - /** - *
-     * in seconds
-     * 
- * - * optional int32 net_read_timeout = 3 [default = 0]; + * int32 net_read_timeout = 3; */ int getNetReadTimeout(); @@ -2716,68 +2798,48 @@ public final class CanalPacket { * in seconds * * - * optional int32 net_write_timeout = 4 [default = 0]; - */ - boolean hasNetWriteTimeout(); - /** - *
-     * in seconds
-     * 
- * - * optional int32 net_write_timeout = 4 [default = 0]; + * int32 net_write_timeout = 4; */ int getNetWriteTimeout(); /** - * optional string destination = 5; - */ - boolean hasDestination(); - /** - * optional string destination = 5; + * string destination = 5; */ java.lang.String getDestination(); /** - * optional string destination = 5; + * string destination = 5; */ com.google.protobuf.ByteString getDestinationBytes(); /** - * optional string client_id = 6; - */ - boolean hasClientId(); - /** - * optional string client_id = 6; + * string client_id = 6; */ java.lang.String getClientId(); /** - * optional string client_id = 6; + * string client_id = 6; */ com.google.protobuf.ByteString getClientIdBytes(); /** - * optional string filter = 7; - */ - boolean hasFilter(); - /** - * optional string filter = 7; + * string filter = 7; */ java.lang.String getFilter(); /** - * optional string filter = 7; + * string filter = 7; */ com.google.protobuf.ByteString getFilterBytes(); /** - * optional int64 start_timestamp = 8; - */ - boolean hasStartTimestamp(); - /** - * optional int64 start_timestamp = 8; + * int64 start_timestamp = 8; */ long getStartTimestamp(); + + public com.alibaba.otter.canal.protocol.CanalPacket.ClientAuth.NetReadTimeoutPresentCase getNetReadTimeoutPresentCase(); + + public com.alibaba.otter.canal.protocol.CanalPacket.ClientAuth.NetWriteTimeoutPresentCase getNetWriteTimeoutPresentCase(); } /** *
@@ -2798,8 +2860,6 @@ public final class CanalPacket {
     private ClientAuth() {
       username_ = "";
       password_ = com.google.protobuf.ByteString.EMPTY;
-      netReadTimeout_ = 0;
-      netWriteTimeout_ = 0;
       destination_ = "";
       clientId_ = "";
       filter_ = "";
@@ -2831,51 +2891,51 @@ public final class CanalPacket {
               done = true;
               break;
             case 10: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000001;
-              username_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              username_ = s;
               break;
             }
             case 18: {
-              bitField0_ |= 0x00000002;
+
               password_ = input.readBytes();
               break;
             }
             case 24: {
-              bitField0_ |= 0x00000004;
-              netReadTimeout_ = input.readInt32();
+              netReadTimeoutPresentCase_ = 3;
+              netReadTimeoutPresent_ = input.readInt32();
               break;
             }
             case 32: {
-              bitField0_ |= 0x00000008;
-              netWriteTimeout_ = input.readInt32();
+              netWriteTimeoutPresentCase_ = 4;
+              netWriteTimeoutPresent_ = input.readInt32();
               break;
             }
             case 42: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000010;
-              destination_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              destination_ = s;
               break;
             }
             case 50: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000020;
-              clientId_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              clientId_ = s;
               break;
             }
             case 58: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000040;
-              filter_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              filter_ = s;
               break;
             }
             case 64: {
-              bitField0_ |= 0x00000080;
+
               startTimestamp_ = input.readInt64();
               break;
             }
             default: {
-              if (!parseUnknownField(
+              if (!parseUnknownFieldProto3(
                   input, unknownFields, extensionRegistry, tag)) {
                 done = true;
               }
@@ -2906,17 +2966,82 @@ public final class CanalPacket {
               com.alibaba.otter.canal.protocol.CanalPacket.ClientAuth.class, com.alibaba.otter.canal.protocol.CanalPacket.ClientAuth.Builder.class);
     }
 
-    private int bitField0_;
+    private int netReadTimeoutPresentCase_ = 0;
+    private java.lang.Object netReadTimeoutPresent_;
+    public enum NetReadTimeoutPresentCase
+        implements com.google.protobuf.Internal.EnumLite {
+      NET_READ_TIMEOUT(3),
+      NETREADTIMEOUTPRESENT_NOT_SET(0);
+      private final int value;
+      private NetReadTimeoutPresentCase(int value) {
+        this.value = value;
+      }
+      /**
+       * @deprecated Use {@link #forNumber(int)} instead.
+       */
+      @java.lang.Deprecated
+      public static NetReadTimeoutPresentCase valueOf(int value) {
+        return forNumber(value);
+      }
+
+      public static NetReadTimeoutPresentCase forNumber(int value) {
+        switch (value) {
+          case 3: return NET_READ_TIMEOUT;
+          case 0: return NETREADTIMEOUTPRESENT_NOT_SET;
+          default: return null;
+        }
+      }
+      public int getNumber() {
+        return this.value;
+      }
+    };
+
+    public NetReadTimeoutPresentCase
+    getNetReadTimeoutPresentCase() {
+      return NetReadTimeoutPresentCase.forNumber(
+          netReadTimeoutPresentCase_);
+    }
+
+    private int netWriteTimeoutPresentCase_ = 0;
+    private java.lang.Object netWriteTimeoutPresent_;
+    public enum NetWriteTimeoutPresentCase
+        implements com.google.protobuf.Internal.EnumLite {
+      NET_WRITE_TIMEOUT(4),
+      NETWRITETIMEOUTPRESENT_NOT_SET(0);
+      private final int value;
+      private NetWriteTimeoutPresentCase(int value) {
+        this.value = value;
+      }
+      /**
+       * @deprecated Use {@link #forNumber(int)} instead.
+       */
+      @java.lang.Deprecated
+      public static NetWriteTimeoutPresentCase valueOf(int value) {
+        return forNumber(value);
+      }
+
+      public static NetWriteTimeoutPresentCase forNumber(int value) {
+        switch (value) {
+          case 4: return NET_WRITE_TIMEOUT;
+          case 0: return NETWRITETIMEOUTPRESENT_NOT_SET;
+          default: return null;
+        }
+      }
+      public int getNumber() {
+        return this.value;
+      }
+    };
+
+    public NetWriteTimeoutPresentCase
+    getNetWriteTimeoutPresentCase() {
+      return NetWriteTimeoutPresentCase.forNumber(
+          netWriteTimeoutPresentCase_);
+    }
+
     public static final int USERNAME_FIELD_NUMBER = 1;
     private volatile java.lang.Object username_;
     /**
-     * optional string username = 1;
-     */
-    public boolean hasUsername() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * optional string username = 1;
+     * string username = 1;
      */
     public java.lang.String getUsername() {
       java.lang.Object ref = username_;
@@ -2926,14 +3051,12 @@ public final class CanalPacket {
         com.google.protobuf.ByteString bs = 
             (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
-        if (bs.isValidUtf8()) {
-          username_ = s;
-        }
+        username_ = s;
         return s;
       }
     }
     /**
-     * optional string username = 1;
+     * string username = 1;
      */
     public com.google.protobuf.ByteString
         getUsernameBytes() {
@@ -2956,78 +3079,46 @@ public final class CanalPacket {
      * hashed password with seeds from Handshake message
      * 
* - * optional bytes password = 2; - */ - public boolean hasPassword() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - *
-     * hashed password with seeds from Handshake message
-     * 
- * - * optional bytes password = 2; + * bytes password = 2; */ public com.google.protobuf.ByteString getPassword() { return password_; } public static final int NET_READ_TIMEOUT_FIELD_NUMBER = 3; - private int netReadTimeout_; /** *
      * in seconds
      * 
* - * optional int32 net_read_timeout = 3 [default = 0]; - */ - public boolean hasNetReadTimeout() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - *
-     * in seconds
-     * 
- * - * optional int32 net_read_timeout = 3 [default = 0]; + * int32 net_read_timeout = 3; */ public int getNetReadTimeout() { - return netReadTimeout_; + if (netReadTimeoutPresentCase_ == 3) { + return (java.lang.Integer) netReadTimeoutPresent_; + } + return 0; } public static final int NET_WRITE_TIMEOUT_FIELD_NUMBER = 4; - private int netWriteTimeout_; /** *
      * in seconds
      * 
* - * optional int32 net_write_timeout = 4 [default = 0]; - */ - public boolean hasNetWriteTimeout() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - *
-     * in seconds
-     * 
- * - * optional int32 net_write_timeout = 4 [default = 0]; + * int32 net_write_timeout = 4; */ public int getNetWriteTimeout() { - return netWriteTimeout_; + if (netWriteTimeoutPresentCase_ == 4) { + return (java.lang.Integer) netWriteTimeoutPresent_; + } + return 0; } public static final int DESTINATION_FIELD_NUMBER = 5; private volatile java.lang.Object destination_; /** - * optional string destination = 5; - */ - public boolean hasDestination() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - * optional string destination = 5; + * string destination = 5; */ public java.lang.String getDestination() { java.lang.Object ref = destination_; @@ -3037,14 +3128,12 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - destination_ = s; - } + destination_ = s; return s; } } /** - * optional string destination = 5; + * string destination = 5; */ public com.google.protobuf.ByteString getDestinationBytes() { @@ -3063,13 +3152,7 @@ public final class CanalPacket { public static final int CLIENT_ID_FIELD_NUMBER = 6; private volatile java.lang.Object clientId_; /** - * optional string client_id = 6; - */ - public boolean hasClientId() { - return ((bitField0_ & 0x00000020) == 0x00000020); - } - /** - * optional string client_id = 6; + * string client_id = 6; */ public java.lang.String getClientId() { java.lang.Object ref = clientId_; @@ -3079,14 +3162,12 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - clientId_ = s; - } + clientId_ = s; return s; } } /** - * optional string client_id = 6; + * string client_id = 6; */ public com.google.protobuf.ByteString getClientIdBytes() { @@ -3105,13 +3186,7 @@ public final class CanalPacket { public static final int FILTER_FIELD_NUMBER = 7; private volatile java.lang.Object filter_; /** - * optional string filter = 7; - */ - public boolean hasFilter() { - return ((bitField0_ & 0x00000040) == 0x00000040); - } - /** - * optional string filter = 7; + * string filter = 7; */ public java.lang.String getFilter() { java.lang.Object ref = filter_; @@ -3121,14 +3196,12 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - filter_ = s; - } + filter_ = s; return s; } } /** - * optional string filter = 7; + * string filter = 7; */ public com.google.protobuf.ByteString getFilterBytes() { @@ -3147,13 +3220,7 @@ public final class CanalPacket { public static final int START_TIMESTAMP_FIELD_NUMBER = 8; private long startTimestamp_; /** - * optional int64 start_timestamp = 8; - */ - public boolean hasStartTimestamp() { - return ((bitField0_ & 0x00000080) == 0x00000080); - } - /** - * optional int64 start_timestamp = 8; + * int64 start_timestamp = 8; */ public long getStartTimestamp() { return startTimestamp_; @@ -3173,28 +3240,30 @@ public final class CanalPacket { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (!getUsernameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, username_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!password_.isEmpty()) { output.writeBytes(2, password_); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { - output.writeInt32(3, netReadTimeout_); + if (netReadTimeoutPresentCase_ == 3) { + output.writeInt32( + 3, (int)((java.lang.Integer) netReadTimeoutPresent_)); } - if (((bitField0_ & 0x00000008) == 0x00000008)) { - output.writeInt32(4, netWriteTimeout_); + if (netWriteTimeoutPresentCase_ == 4) { + output.writeInt32( + 4, (int)((java.lang.Integer) netWriteTimeoutPresent_)); } - if (((bitField0_ & 0x00000010) == 0x00000010)) { + if (!getDestinationBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 5, destination_); } - if (((bitField0_ & 0x00000020) == 0x00000020)) { + if (!getClientIdBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 6, clientId_); } - if (((bitField0_ & 0x00000040) == 0x00000040)) { + if (!getFilterBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 7, filter_); } - if (((bitField0_ & 0x00000080) == 0x00000080)) { + if (startTimestamp_ != 0L) { output.writeInt64(8, startTimestamp_); } unknownFields.writeTo(output); @@ -3206,31 +3275,33 @@ public final class CanalPacket { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (!getUsernameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, username_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!password_.isEmpty()) { size += com.google.protobuf.CodedOutputStream .computeBytesSize(2, password_); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (netReadTimeoutPresentCase_ == 3) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(3, netReadTimeout_); + .computeInt32Size( + 3, (int)((java.lang.Integer) netReadTimeoutPresent_)); } - if (((bitField0_ & 0x00000008) == 0x00000008)) { + if (netWriteTimeoutPresentCase_ == 4) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(4, netWriteTimeout_); + .computeInt32Size( + 4, (int)((java.lang.Integer) netWriteTimeoutPresent_)); } - if (((bitField0_ & 0x00000010) == 0x00000010)) { + if (!getDestinationBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, destination_); } - if (((bitField0_ & 0x00000020) == 0x00000020)) { + if (!getClientIdBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, clientId_); } - if (((bitField0_ & 0x00000040) == 0x00000040)) { + if (!getFilterBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, filter_); } - if (((bitField0_ & 0x00000080) == 0x00000080)) { + if (startTimestamp_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(8, startTimestamp_); } @@ -3250,45 +3321,39 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.ClientAuth other = (com.alibaba.otter.canal.protocol.CanalPacket.ClientAuth) obj; boolean result = true; - result = result && (hasUsername() == other.hasUsername()); - if (hasUsername()) { - result = result && getUsername() - .equals(other.getUsername()); + result = result && getUsername() + .equals(other.getUsername()); + result = result && getPassword() + .equals(other.getPassword()); + result = result && getDestination() + .equals(other.getDestination()); + result = result && getClientId() + .equals(other.getClientId()); + result = result && getFilter() + .equals(other.getFilter()); + result = result && (getStartTimestamp() + == other.getStartTimestamp()); + result = result && getNetReadTimeoutPresentCase().equals( + other.getNetReadTimeoutPresentCase()); + if (!result) return false; + switch (netReadTimeoutPresentCase_) { + case 3: + result = result && (getNetReadTimeout() + == other.getNetReadTimeout()); + break; + case 0: + default: } - result = result && (hasPassword() == other.hasPassword()); - if (hasPassword()) { - result = result && getPassword() - .equals(other.getPassword()); - } - result = result && (hasNetReadTimeout() == other.hasNetReadTimeout()); - if (hasNetReadTimeout()) { - result = result && (getNetReadTimeout() - == other.getNetReadTimeout()); - } - result = result && (hasNetWriteTimeout() == other.hasNetWriteTimeout()); - if (hasNetWriteTimeout()) { - result = result && (getNetWriteTimeout() - == other.getNetWriteTimeout()); - } - result = result && (hasDestination() == other.hasDestination()); - if (hasDestination()) { - result = result && getDestination() - .equals(other.getDestination()); - } - result = result && (hasClientId() == other.hasClientId()); - if (hasClientId()) { - result = result && getClientId() - .equals(other.getClientId()); - } - result = result && (hasFilter() == other.hasFilter()); - if (hasFilter()) { - result = result && getFilter() - .equals(other.getFilter()); - } - result = result && (hasStartTimestamp() == other.hasStartTimestamp()); - if (hasStartTimestamp()) { - result = result && (getStartTimestamp() - == other.getStartTimestamp()); + result = result && getNetWriteTimeoutPresentCase().equals( + other.getNetWriteTimeoutPresentCase()); + if (!result) return false; + switch (netWriteTimeoutPresentCase_) { + case 4: + result = result && (getNetWriteTimeout() + == other.getNetWriteTimeout()); + break; + case 0: + default: } result = result && unknownFields.equals(other.unknownFields); return result; @@ -3301,38 +3366,34 @@ public final class CanalPacket { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasUsername()) { - hash = (37 * hash) + USERNAME_FIELD_NUMBER; - hash = (53 * hash) + getUsername().hashCode(); + hash = (37 * hash) + USERNAME_FIELD_NUMBER; + hash = (53 * hash) + getUsername().hashCode(); + hash = (37 * hash) + PASSWORD_FIELD_NUMBER; + hash = (53 * hash) + getPassword().hashCode(); + hash = (37 * hash) + DESTINATION_FIELD_NUMBER; + hash = (53 * hash) + getDestination().hashCode(); + hash = (37 * hash) + CLIENT_ID_FIELD_NUMBER; + hash = (53 * hash) + getClientId().hashCode(); + hash = (37 * hash) + FILTER_FIELD_NUMBER; + hash = (53 * hash) + getFilter().hashCode(); + hash = (37 * hash) + START_TIMESTAMP_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getStartTimestamp()); + switch (netReadTimeoutPresentCase_) { + case 3: + hash = (37 * hash) + NET_READ_TIMEOUT_FIELD_NUMBER; + hash = (53 * hash) + getNetReadTimeout(); + break; + case 0: + default: } - if (hasPassword()) { - hash = (37 * hash) + PASSWORD_FIELD_NUMBER; - hash = (53 * hash) + getPassword().hashCode(); - } - if (hasNetReadTimeout()) { - hash = (37 * hash) + NET_READ_TIMEOUT_FIELD_NUMBER; - hash = (53 * hash) + getNetReadTimeout(); - } - if (hasNetWriteTimeout()) { - hash = (37 * hash) + NET_WRITE_TIMEOUT_FIELD_NUMBER; - hash = (53 * hash) + getNetWriteTimeout(); - } - if (hasDestination()) { - hash = (37 * hash) + DESTINATION_FIELD_NUMBER; - hash = (53 * hash) + getDestination().hashCode(); - } - if (hasClientId()) { - hash = (37 * hash) + CLIENT_ID_FIELD_NUMBER; - hash = (53 * hash) + getClientId().hashCode(); - } - if (hasFilter()) { - hash = (37 * hash) + FILTER_FIELD_NUMBER; - hash = (53 * hash) + getFilter().hashCode(); - } - if (hasStartTimestamp()) { - hash = (37 * hash) + START_TIMESTAMP_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getStartTimestamp()); + switch (netWriteTimeoutPresentCase_) { + case 4: + hash = (37 * hash) + NET_WRITE_TIMEOUT_FIELD_NUMBER; + hash = (53 * hash) + getNetWriteTimeout(); + break; + case 0: + default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; @@ -3472,21 +3533,21 @@ public final class CanalPacket { public Builder clear() { super.clear(); username_ = ""; - bitField0_ = (bitField0_ & ~0x00000001); + password_ = com.google.protobuf.ByteString.EMPTY; - bitField0_ = (bitField0_ & ~0x00000002); - netReadTimeout_ = 0; - bitField0_ = (bitField0_ & ~0x00000004); - netWriteTimeout_ = 0; - bitField0_ = (bitField0_ & ~0x00000008); + destination_ = ""; - bitField0_ = (bitField0_ & ~0x00000010); + clientId_ = ""; - bitField0_ = (bitField0_ & ~0x00000020); + filter_ = ""; - bitField0_ = (bitField0_ & ~0x00000040); + startTimestamp_ = 0L; - bitField0_ = (bitField0_ & ~0x00000080); + + netReadTimeoutPresentCase_ = 0; + netReadTimeoutPresent_ = null; + netWriteTimeoutPresentCase_ = 0; + netWriteTimeoutPresent_ = null; return this; } @@ -3513,41 +3574,20 @@ public final class CanalPacket { @java.lang.Override public com.alibaba.otter.canal.protocol.CanalPacket.ClientAuth buildPartial() { com.alibaba.otter.canal.protocol.CanalPacket.ClientAuth result = new com.alibaba.otter.canal.protocol.CanalPacket.ClientAuth(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } result.username_ = username_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } result.password_ = password_; - if (((from_bitField0_ & 0x00000004) == 0x00000004)) { - to_bitField0_ |= 0x00000004; + if (netReadTimeoutPresentCase_ == 3) { + result.netReadTimeoutPresent_ = netReadTimeoutPresent_; } - result.netReadTimeout_ = netReadTimeout_; - if (((from_bitField0_ & 0x00000008) == 0x00000008)) { - to_bitField0_ |= 0x00000008; - } - result.netWriteTimeout_ = netWriteTimeout_; - if (((from_bitField0_ & 0x00000010) == 0x00000010)) { - to_bitField0_ |= 0x00000010; + if (netWriteTimeoutPresentCase_ == 4) { + result.netWriteTimeoutPresent_ = netWriteTimeoutPresent_; } result.destination_ = destination_; - if (((from_bitField0_ & 0x00000020) == 0x00000020)) { - to_bitField0_ |= 0x00000020; - } result.clientId_ = clientId_; - if (((from_bitField0_ & 0x00000040) == 0x00000040)) { - to_bitField0_ |= 0x00000040; - } result.filter_ = filter_; - if (((from_bitField0_ & 0x00000080) == 0x00000080)) { - to_bitField0_ |= 0x00000080; - } result.startTimestamp_ = startTimestamp_; - result.bitField0_ = to_bitField0_; + result.netReadTimeoutPresentCase_ = netReadTimeoutPresentCase_; + result.netWriteTimeoutPresentCase_ = netWriteTimeoutPresentCase_; onBuilt(); return result; } @@ -3596,38 +3636,46 @@ public final class CanalPacket { public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalPacket.ClientAuth other) { if (other == com.alibaba.otter.canal.protocol.CanalPacket.ClientAuth.getDefaultInstance()) return this; - if (other.hasUsername()) { - bitField0_ |= 0x00000001; + if (!other.getUsername().isEmpty()) { username_ = other.username_; onChanged(); } - if (other.hasPassword()) { + if (other.getPassword() != com.google.protobuf.ByteString.EMPTY) { setPassword(other.getPassword()); } - if (other.hasNetReadTimeout()) { - setNetReadTimeout(other.getNetReadTimeout()); - } - if (other.hasNetWriteTimeout()) { - setNetWriteTimeout(other.getNetWriteTimeout()); - } - if (other.hasDestination()) { - bitField0_ |= 0x00000010; + if (!other.getDestination().isEmpty()) { destination_ = other.destination_; onChanged(); } - if (other.hasClientId()) { - bitField0_ |= 0x00000020; + if (!other.getClientId().isEmpty()) { clientId_ = other.clientId_; onChanged(); } - if (other.hasFilter()) { - bitField0_ |= 0x00000040; + if (!other.getFilter().isEmpty()) { filter_ = other.filter_; onChanged(); } - if (other.hasStartTimestamp()) { + if (other.getStartTimestamp() != 0L) { setStartTimestamp(other.getStartTimestamp()); } + switch (other.getNetReadTimeoutPresentCase()) { + case NET_READ_TIMEOUT: { + setNetReadTimeout(other.getNetReadTimeout()); + break; + } + case NETREADTIMEOUTPRESENT_NOT_SET: { + break; + } + } + switch (other.getNetWriteTimeoutPresentCase()) { + case NET_WRITE_TIMEOUT: { + setNetWriteTimeout(other.getNetWriteTimeout()); + break; + } + case NETWRITETIMEOUTPRESENT_NOT_SET: { + break; + } + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -3656,17 +3704,40 @@ public final class CanalPacket { } return this; } - private int bitField0_; + private int netReadTimeoutPresentCase_ = 0; + private java.lang.Object netReadTimeoutPresent_; + public NetReadTimeoutPresentCase + getNetReadTimeoutPresentCase() { + return NetReadTimeoutPresentCase.forNumber( + netReadTimeoutPresentCase_); + } + + public Builder clearNetReadTimeoutPresent() { + netReadTimeoutPresentCase_ = 0; + netReadTimeoutPresent_ = null; + onChanged(); + return this; + } + + private int netWriteTimeoutPresentCase_ = 0; + private java.lang.Object netWriteTimeoutPresent_; + public NetWriteTimeoutPresentCase + getNetWriteTimeoutPresentCase() { + return NetWriteTimeoutPresentCase.forNumber( + netWriteTimeoutPresentCase_); + } + + public Builder clearNetWriteTimeoutPresent() { + netWriteTimeoutPresentCase_ = 0; + netWriteTimeoutPresent_ = null; + onChanged(); + return this; + } + private java.lang.Object username_ = ""; /** - * optional string username = 1; - */ - public boolean hasUsername() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional string username = 1; + * string username = 1; */ public java.lang.String getUsername() { java.lang.Object ref = username_; @@ -3674,16 +3745,14 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - username_ = s; - } + username_ = s; return s; } else { return (java.lang.String) ref; } } /** - * optional string username = 1; + * string username = 1; */ public com.google.protobuf.ByteString getUsernameBytes() { @@ -3699,36 +3768,37 @@ public final class CanalPacket { } } /** - * optional string username = 1; + * string username = 1; */ public Builder setUsername( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; + username_ = value; onChanged(); return this; } /** - * optional string username = 1; + * string username = 1; */ public Builder clearUsername() { - bitField0_ = (bitField0_ & ~0x00000001); + username_ = getDefaultInstance().getUsername(); onChanged(); return this; } /** - * optional string username = 1; + * string username = 1; */ public Builder setUsernameBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; + checkByteStringIsUtf8(value); + username_ = value; onChanged(); return this; @@ -3740,17 +3810,7 @@ public final class CanalPacket { * hashed password with seeds from Handshake message * * - * optional bytes password = 2; - */ - public boolean hasPassword() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - *
-       * hashed password with seeds from Handshake message
-       * 
- * - * optional bytes password = 2; + * bytes password = 2; */ public com.google.protobuf.ByteString getPassword() { return password_; @@ -3760,13 +3820,13 @@ public final class CanalPacket { * hashed password with seeds from Handshake message * * - * optional bytes password = 2; + * bytes password = 2; */ public Builder setPassword(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + password_ = value; onChanged(); return this; @@ -3776,46 +3836,38 @@ public final class CanalPacket { * hashed password with seeds from Handshake message * * - * optional bytes password = 2; + * bytes password = 2; */ public Builder clearPassword() { - bitField0_ = (bitField0_ & ~0x00000002); + password_ = getDefaultInstance().getPassword(); onChanged(); return this; } - private int netReadTimeout_ ; /** *
        * in seconds
        * 
* - * optional int32 net_read_timeout = 3 [default = 0]; - */ - public boolean hasNetReadTimeout() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - *
-       * in seconds
-       * 
- * - * optional int32 net_read_timeout = 3 [default = 0]; + * int32 net_read_timeout = 3; */ public int getNetReadTimeout() { - return netReadTimeout_; + if (netReadTimeoutPresentCase_ == 3) { + return (java.lang.Integer) netReadTimeoutPresent_; + } + return 0; } /** *
        * in seconds
        * 
* - * optional int32 net_read_timeout = 3 [default = 0]; + * int32 net_read_timeout = 3; */ public Builder setNetReadTimeout(int value) { - bitField0_ |= 0x00000004; - netReadTimeout_ = value; + netReadTimeoutPresentCase_ = 3; + netReadTimeoutPresent_ = value; onChanged(); return this; } @@ -3824,46 +3876,40 @@ public final class CanalPacket { * in seconds * * - * optional int32 net_read_timeout = 3 [default = 0]; + * int32 net_read_timeout = 3; */ public Builder clearNetReadTimeout() { - bitField0_ = (bitField0_ & ~0x00000004); - netReadTimeout_ = 0; - onChanged(); + if (netReadTimeoutPresentCase_ == 3) { + netReadTimeoutPresentCase_ = 0; + netReadTimeoutPresent_ = null; + onChanged(); + } return this; } - private int netWriteTimeout_ ; /** *
        * in seconds
        * 
* - * optional int32 net_write_timeout = 4 [default = 0]; - */ - public boolean hasNetWriteTimeout() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - *
-       * in seconds
-       * 
- * - * optional int32 net_write_timeout = 4 [default = 0]; + * int32 net_write_timeout = 4; */ public int getNetWriteTimeout() { - return netWriteTimeout_; + if (netWriteTimeoutPresentCase_ == 4) { + return (java.lang.Integer) netWriteTimeoutPresent_; + } + return 0; } /** *
        * in seconds
        * 
* - * optional int32 net_write_timeout = 4 [default = 0]; + * int32 net_write_timeout = 4; */ public Builder setNetWriteTimeout(int value) { - bitField0_ |= 0x00000008; - netWriteTimeout_ = value; + netWriteTimeoutPresentCase_ = 4; + netWriteTimeoutPresent_ = value; onChanged(); return this; } @@ -3872,24 +3918,20 @@ public final class CanalPacket { * in seconds * * - * optional int32 net_write_timeout = 4 [default = 0]; + * int32 net_write_timeout = 4; */ public Builder clearNetWriteTimeout() { - bitField0_ = (bitField0_ & ~0x00000008); - netWriteTimeout_ = 0; - onChanged(); + if (netWriteTimeoutPresentCase_ == 4) { + netWriteTimeoutPresentCase_ = 0; + netWriteTimeoutPresent_ = null; + onChanged(); + } return this; } private java.lang.Object destination_ = ""; /** - * optional string destination = 5; - */ - public boolean hasDestination() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - * optional string destination = 5; + * string destination = 5; */ public java.lang.String getDestination() { java.lang.Object ref = destination_; @@ -3897,16 +3939,14 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - destination_ = s; - } + destination_ = s; return s; } else { return (java.lang.String) ref; } } /** - * optional string destination = 5; + * string destination = 5; */ public com.google.protobuf.ByteString getDestinationBytes() { @@ -3922,36 +3962,37 @@ public final class CanalPacket { } } /** - * optional string destination = 5; + * string destination = 5; */ public Builder setDestination( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000010; + destination_ = value; onChanged(); return this; } /** - * optional string destination = 5; + * string destination = 5; */ public Builder clearDestination() { - bitField0_ = (bitField0_ & ~0x00000010); + destination_ = getDefaultInstance().getDestination(); onChanged(); return this; } /** - * optional string destination = 5; + * string destination = 5; */ public Builder setDestinationBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000010; + checkByteStringIsUtf8(value); + destination_ = value; onChanged(); return this; @@ -3959,13 +4000,7 @@ public final class CanalPacket { private java.lang.Object clientId_ = ""; /** - * optional string client_id = 6; - */ - public boolean hasClientId() { - return ((bitField0_ & 0x00000020) == 0x00000020); - } - /** - * optional string client_id = 6; + * string client_id = 6; */ public java.lang.String getClientId() { java.lang.Object ref = clientId_; @@ -3973,16 +4008,14 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - clientId_ = s; - } + clientId_ = s; return s; } else { return (java.lang.String) ref; } } /** - * optional string client_id = 6; + * string client_id = 6; */ public com.google.protobuf.ByteString getClientIdBytes() { @@ -3998,36 +4031,37 @@ public final class CanalPacket { } } /** - * optional string client_id = 6; + * string client_id = 6; */ public Builder setClientId( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000020; + clientId_ = value; onChanged(); return this; } /** - * optional string client_id = 6; + * string client_id = 6; */ public Builder clearClientId() { - bitField0_ = (bitField0_ & ~0x00000020); + clientId_ = getDefaultInstance().getClientId(); onChanged(); return this; } /** - * optional string client_id = 6; + * string client_id = 6; */ public Builder setClientIdBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000020; + checkByteStringIsUtf8(value); + clientId_ = value; onChanged(); return this; @@ -4035,13 +4069,7 @@ public final class CanalPacket { private java.lang.Object filter_ = ""; /** - * optional string filter = 7; - */ - public boolean hasFilter() { - return ((bitField0_ & 0x00000040) == 0x00000040); - } - /** - * optional string filter = 7; + * string filter = 7; */ public java.lang.String getFilter() { java.lang.Object ref = filter_; @@ -4049,16 +4077,14 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - filter_ = s; - } + filter_ = s; return s; } else { return (java.lang.String) ref; } } /** - * optional string filter = 7; + * string filter = 7; */ public com.google.protobuf.ByteString getFilterBytes() { @@ -4074,36 +4100,37 @@ public final class CanalPacket { } } /** - * optional string filter = 7; + * string filter = 7; */ public Builder setFilter( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000040; + filter_ = value; onChanged(); return this; } /** - * optional string filter = 7; + * string filter = 7; */ public Builder clearFilter() { - bitField0_ = (bitField0_ & ~0x00000040); + filter_ = getDefaultInstance().getFilter(); onChanged(); return this; } /** - * optional string filter = 7; + * string filter = 7; */ public Builder setFilterBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000040; + checkByteStringIsUtf8(value); + filter_ = value; onChanged(); return this; @@ -4111,31 +4138,25 @@ public final class CanalPacket { private long startTimestamp_ ; /** - * optional int64 start_timestamp = 8; - */ - public boolean hasStartTimestamp() { - return ((bitField0_ & 0x00000080) == 0x00000080); - } - /** - * optional int64 start_timestamp = 8; + * int64 start_timestamp = 8; */ public long getStartTimestamp() { return startTimestamp_; } /** - * optional int64 start_timestamp = 8; + * int64 start_timestamp = 8; */ public Builder setStartTimestamp(long value) { - bitField0_ |= 0x00000080; + startTimestamp_ = value; onChanged(); return this; } /** - * optional int64 start_timestamp = 8; + * int64 start_timestamp = 8; */ public Builder clearStartTimestamp() { - bitField0_ = (bitField0_ & ~0x00000080); + startTimestamp_ = 0L; onChanged(); return this; @@ -4143,7 +4164,7 @@ public final class CanalPacket { @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -4166,7 +4187,7 @@ public final class CanalPacket { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public ClientAuth parsePartialFrom( @@ -4198,11 +4219,7 @@ public final class CanalPacket { com.google.protobuf.MessageOrBuilder { /** - * optional int32 error_code = 1 [default = 0]; - */ - boolean hasErrorCode(); - /** - * optional int32 error_code = 1 [default = 0]; + * int32 error_code = 1; */ int getErrorCode(); @@ -4211,15 +4228,7 @@ public final class CanalPacket { * if something like compression is not supported, erorr_message will tell about it. * * - * optional string error_message = 2; - */ - boolean hasErrorMessage(); - /** - *
-     * if something like compression is not supported, erorr_message will tell about it.
-     * 
- * - * optional string error_message = 2; + * string error_message = 2; */ java.lang.String getErrorMessage(); /** @@ -4227,10 +4236,12 @@ public final class CanalPacket { * if something like compression is not supported, erorr_message will tell about it. * * - * optional string error_message = 2; + * string error_message = 2; */ com.google.protobuf.ByteString getErrorMessageBytes(); + + public com.alibaba.otter.canal.protocol.CanalPacket.Ack.ErrorCodePresentCase getErrorCodePresentCase(); } /** * Protobuf type {@code com.alibaba.otter.canal.protocol.Ack} @@ -4245,7 +4256,6 @@ public final class CanalPacket { super(builder); } private Ack() { - errorCode_ = 0; errorMessage_ = ""; } @@ -4274,18 +4284,18 @@ public final class CanalPacket { done = true; break; case 8: { - bitField0_ |= 0x00000001; - errorCode_ = input.readInt32(); + errorCodePresentCase_ = 1; + errorCodePresent_ = input.readInt32(); break; } case 18: { - com.google.protobuf.ByteString bs = input.readBytes(); - bitField0_ |= 0x00000002; - errorMessage_ = bs; + java.lang.String s = input.readStringRequireUtf8(); + + errorMessage_ = s; break; } default: { - if (!parseUnknownField( + if (!parseUnknownFieldProto3( input, unknownFields, extensionRegistry, tag)) { done = true; } @@ -4316,20 +4326,51 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.Ack.class, com.alibaba.otter.canal.protocol.CanalPacket.Ack.Builder.class); } - private int bitField0_; - public static final int ERROR_CODE_FIELD_NUMBER = 1; - private int errorCode_; - /** - * optional int32 error_code = 1 [default = 0]; - */ - public boolean hasErrorCode() { - return ((bitField0_ & 0x00000001) == 0x00000001); + private int errorCodePresentCase_ = 0; + private java.lang.Object errorCodePresent_; + public enum ErrorCodePresentCase + implements com.google.protobuf.Internal.EnumLite { + ERROR_CODE(1), + ERRORCODEPRESENT_NOT_SET(0); + private final int value; + private ErrorCodePresentCase(int value) { + this.value = value; + } + /** + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static ErrorCodePresentCase valueOf(int value) { + return forNumber(value); + } + + public static ErrorCodePresentCase forNumber(int value) { + switch (value) { + case 1: return ERROR_CODE; + case 0: return ERRORCODEPRESENT_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } + }; + + public ErrorCodePresentCase + getErrorCodePresentCase() { + return ErrorCodePresentCase.forNumber( + errorCodePresentCase_); } + + public static final int ERROR_CODE_FIELD_NUMBER = 1; /** - * optional int32 error_code = 1 [default = 0]; + * int32 error_code = 1; */ public int getErrorCode() { - return errorCode_; + if (errorCodePresentCase_ == 1) { + return (java.lang.Integer) errorCodePresent_; + } + return 0; } public static final int ERROR_MESSAGE_FIELD_NUMBER = 2; @@ -4339,17 +4380,7 @@ public final class CanalPacket { * if something like compression is not supported, erorr_message will tell about it. * * - * optional string error_message = 2; - */ - public boolean hasErrorMessage() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - *
-     * if something like compression is not supported, erorr_message will tell about it.
-     * 
- * - * optional string error_message = 2; + * string error_message = 2; */ public java.lang.String getErrorMessage() { java.lang.Object ref = errorMessage_; @@ -4359,9 +4390,7 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - errorMessage_ = s; - } + errorMessage_ = s; return s; } } @@ -4370,7 +4399,7 @@ public final class CanalPacket { * if something like compression is not supported, erorr_message will tell about it. * * - * optional string error_message = 2; + * string error_message = 2; */ public com.google.protobuf.ByteString getErrorMessageBytes() { @@ -4400,10 +4429,11 @@ public final class CanalPacket { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { - output.writeInt32(1, errorCode_); + if (errorCodePresentCase_ == 1) { + output.writeInt32( + 1, (int)((java.lang.Integer) errorCodePresent_)); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getErrorMessageBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, errorMessage_); } unknownFields.writeTo(output); @@ -4415,11 +4445,12 @@ public final class CanalPacket { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (errorCodePresentCase_ == 1) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(1, errorCode_); + .computeInt32Size( + 1, (int)((java.lang.Integer) errorCodePresent_)); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getErrorMessageBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, errorMessage_); } size += unknownFields.getSerializedSize(); @@ -4438,15 +4469,18 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.Ack other = (com.alibaba.otter.canal.protocol.CanalPacket.Ack) obj; boolean result = true; - result = result && (hasErrorCode() == other.hasErrorCode()); - if (hasErrorCode()) { - result = result && (getErrorCode() - == other.getErrorCode()); - } - result = result && (hasErrorMessage() == other.hasErrorMessage()); - if (hasErrorMessage()) { - result = result && getErrorMessage() - .equals(other.getErrorMessage()); + result = result && getErrorMessage() + .equals(other.getErrorMessage()); + result = result && getErrorCodePresentCase().equals( + other.getErrorCodePresentCase()); + if (!result) return false; + switch (errorCodePresentCase_) { + case 1: + result = result && (getErrorCode() + == other.getErrorCode()); + break; + case 0: + default: } result = result && unknownFields.equals(other.unknownFields); return result; @@ -4459,13 +4493,15 @@ public final class CanalPacket { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasErrorCode()) { - hash = (37 * hash) + ERROR_CODE_FIELD_NUMBER; - hash = (53 * hash) + getErrorCode(); - } - if (hasErrorMessage()) { - hash = (37 * hash) + ERROR_MESSAGE_FIELD_NUMBER; - hash = (53 * hash) + getErrorMessage().hashCode(); + hash = (37 * hash) + ERROR_MESSAGE_FIELD_NUMBER; + hash = (53 * hash) + getErrorMessage().hashCode(); + switch (errorCodePresentCase_) { + case 1: + hash = (37 * hash) + ERROR_CODE_FIELD_NUMBER; + hash = (53 * hash) + getErrorCode(); + break; + case 0: + default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; @@ -4600,10 +4636,10 @@ public final class CanalPacket { @java.lang.Override public Builder clear() { super.clear(); - errorCode_ = 0; - bitField0_ = (bitField0_ & ~0x00000001); errorMessage_ = ""; - bitField0_ = (bitField0_ & ~0x00000002); + + errorCodePresentCase_ = 0; + errorCodePresent_ = null; return this; } @@ -4630,17 +4666,11 @@ public final class CanalPacket { @java.lang.Override public com.alibaba.otter.canal.protocol.CanalPacket.Ack buildPartial() { com.alibaba.otter.canal.protocol.CanalPacket.Ack result = new com.alibaba.otter.canal.protocol.CanalPacket.Ack(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } - result.errorCode_ = errorCode_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; + if (errorCodePresentCase_ == 1) { + result.errorCodePresent_ = errorCodePresent_; } result.errorMessage_ = errorMessage_; - result.bitField0_ = to_bitField0_; + result.errorCodePresentCase_ = errorCodePresentCase_; onBuilt(); return result; } @@ -4689,14 +4719,19 @@ public final class CanalPacket { public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalPacket.Ack other) { if (other == com.alibaba.otter.canal.protocol.CanalPacket.Ack.getDefaultInstance()) return this; - if (other.hasErrorCode()) { - setErrorCode(other.getErrorCode()); - } - if (other.hasErrorMessage()) { - bitField0_ |= 0x00000002; + if (!other.getErrorMessage().isEmpty()) { errorMessage_ = other.errorMessage_; onChanged(); } + switch (other.getErrorCodePresentCase()) { + case ERROR_CODE: { + setErrorCode(other.getErrorCode()); + break; + } + case ERRORCODEPRESENT_NOT_SET: { + break; + } + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; @@ -4725,37 +4760,49 @@ public final class CanalPacket { } return this; } - private int bitField0_; - - private int errorCode_ ; - /** - * optional int32 error_code = 1 [default = 0]; - */ - public boolean hasErrorCode() { - return ((bitField0_ & 0x00000001) == 0x00000001); + private int errorCodePresentCase_ = 0; + private java.lang.Object errorCodePresent_; + public ErrorCodePresentCase + getErrorCodePresentCase() { + return ErrorCodePresentCase.forNumber( + errorCodePresentCase_); } + + public Builder clearErrorCodePresent() { + errorCodePresentCase_ = 0; + errorCodePresent_ = null; + onChanged(); + return this; + } + + /** - * optional int32 error_code = 1 [default = 0]; + * int32 error_code = 1; */ public int getErrorCode() { - return errorCode_; + if (errorCodePresentCase_ == 1) { + return (java.lang.Integer) errorCodePresent_; + } + return 0; } /** - * optional int32 error_code = 1 [default = 0]; + * int32 error_code = 1; */ public Builder setErrorCode(int value) { - bitField0_ |= 0x00000001; - errorCode_ = value; + errorCodePresentCase_ = 1; + errorCodePresent_ = value; onChanged(); return this; } /** - * optional int32 error_code = 1 [default = 0]; + * int32 error_code = 1; */ public Builder clearErrorCode() { - bitField0_ = (bitField0_ & ~0x00000001); - errorCode_ = 0; - onChanged(); + if (errorCodePresentCase_ == 1) { + errorCodePresentCase_ = 0; + errorCodePresent_ = null; + onChanged(); + } return this; } @@ -4765,17 +4812,7 @@ public final class CanalPacket { * if something like compression is not supported, erorr_message will tell about it. * * - * optional string error_message = 2; - */ - public boolean hasErrorMessage() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - *
-       * if something like compression is not supported, erorr_message will tell about it.
-       * 
- * - * optional string error_message = 2; + * string error_message = 2; */ public java.lang.String getErrorMessage() { java.lang.Object ref = errorMessage_; @@ -4783,9 +4820,7 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - errorMessage_ = s; - } + errorMessage_ = s; return s; } else { return (java.lang.String) ref; @@ -4796,7 +4831,7 @@ public final class CanalPacket { * if something like compression is not supported, erorr_message will tell about it. * * - * optional string error_message = 2; + * string error_message = 2; */ public com.google.protobuf.ByteString getErrorMessageBytes() { @@ -4816,14 +4851,14 @@ public final class CanalPacket { * if something like compression is not supported, erorr_message will tell about it. * * - * optional string error_message = 2; + * string error_message = 2; */ public Builder setErrorMessage( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + errorMessage_ = value; onChanged(); return this; @@ -4833,10 +4868,10 @@ public final class CanalPacket { * if something like compression is not supported, erorr_message will tell about it. * * - * optional string error_message = 2; + * string error_message = 2; */ public Builder clearErrorMessage() { - bitField0_ = (bitField0_ & ~0x00000002); + errorMessage_ = getDefaultInstance().getErrorMessage(); onChanged(); return this; @@ -4846,14 +4881,15 @@ public final class CanalPacket { * if something like compression is not supported, erorr_message will tell about it. * * - * optional string error_message = 2; + * string error_message = 2; */ public Builder setErrorMessageBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + checkByteStringIsUtf8(value); + errorMessage_ = value; onChanged(); return this; @@ -4861,7 +4897,7 @@ public final class CanalPacket { @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -4884,7 +4920,7 @@ public final class CanalPacket { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Ack parsePartialFrom( @@ -4916,39 +4952,27 @@ public final class CanalPacket { com.google.protobuf.MessageOrBuilder { /** - * optional string destination = 1; - */ - boolean hasDestination(); - /** - * optional string destination = 1; + * string destination = 1; */ java.lang.String getDestination(); /** - * optional string destination = 1; + * string destination = 1; */ com.google.protobuf.ByteString getDestinationBytes(); /** - * optional string client_id = 2; - */ - boolean hasClientId(); - /** - * optional string client_id = 2; + * string client_id = 2; */ java.lang.String getClientId(); /** - * optional string client_id = 2; + * string client_id = 2; */ com.google.protobuf.ByteString getClientIdBytes(); /** - * optional int64 batch_id = 3; - */ - boolean hasBatchId(); - /** - * optional int64 batch_id = 3; + * int64 batch_id = 3; */ long getBatchId(); } @@ -4995,24 +5019,24 @@ public final class CanalPacket { done = true; break; case 10: { - com.google.protobuf.ByteString bs = input.readBytes(); - bitField0_ |= 0x00000001; - destination_ = bs; + java.lang.String s = input.readStringRequireUtf8(); + + destination_ = s; break; } case 18: { - com.google.protobuf.ByteString bs = input.readBytes(); - bitField0_ |= 0x00000002; - clientId_ = bs; + java.lang.String s = input.readStringRequireUtf8(); + + clientId_ = s; break; } case 24: { - bitField0_ |= 0x00000004; + batchId_ = input.readInt64(); break; } default: { - if (!parseUnknownField( + if (!parseUnknownFieldProto3( input, unknownFields, extensionRegistry, tag)) { done = true; } @@ -5043,17 +5067,10 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.ClientAck.class, com.alibaba.otter.canal.protocol.CanalPacket.ClientAck.Builder.class); } - private int bitField0_; public static final int DESTINATION_FIELD_NUMBER = 1; private volatile java.lang.Object destination_; /** - * optional string destination = 1; - */ - public boolean hasDestination() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional string destination = 1; + * string destination = 1; */ public java.lang.String getDestination() { java.lang.Object ref = destination_; @@ -5063,14 +5080,12 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - destination_ = s; - } + destination_ = s; return s; } } /** - * optional string destination = 1; + * string destination = 1; */ public com.google.protobuf.ByteString getDestinationBytes() { @@ -5089,13 +5104,7 @@ public final class CanalPacket { public static final int CLIENT_ID_FIELD_NUMBER = 2; private volatile java.lang.Object clientId_; /** - * optional string client_id = 2; - */ - public boolean hasClientId() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional string client_id = 2; + * string client_id = 2; */ public java.lang.String getClientId() { java.lang.Object ref = clientId_; @@ -5105,14 +5114,12 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - clientId_ = s; - } + clientId_ = s; return s; } } /** - * optional string client_id = 2; + * string client_id = 2; */ public com.google.protobuf.ByteString getClientIdBytes() { @@ -5131,13 +5138,7 @@ public final class CanalPacket { public static final int BATCH_ID_FIELD_NUMBER = 3; private long batchId_; /** - * optional int64 batch_id = 3; - */ - public boolean hasBatchId() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional int64 batch_id = 3; + * int64 batch_id = 3; */ public long getBatchId() { return batchId_; @@ -5157,13 +5158,13 @@ public final class CanalPacket { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (!getDestinationBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, destination_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getClientIdBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, clientId_); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (batchId_ != 0L) { output.writeInt64(3, batchId_); } unknownFields.writeTo(output); @@ -5175,13 +5176,13 @@ public final class CanalPacket { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (!getDestinationBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, destination_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getClientIdBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, clientId_); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (batchId_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(3, batchId_); } @@ -5201,21 +5202,12 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.ClientAck other = (com.alibaba.otter.canal.protocol.CanalPacket.ClientAck) obj; boolean result = true; - result = result && (hasDestination() == other.hasDestination()); - if (hasDestination()) { - result = result && getDestination() - .equals(other.getDestination()); - } - result = result && (hasClientId() == other.hasClientId()); - if (hasClientId()) { - result = result && getClientId() - .equals(other.getClientId()); - } - result = result && (hasBatchId() == other.hasBatchId()); - if (hasBatchId()) { - result = result && (getBatchId() - == other.getBatchId()); - } + result = result && getDestination() + .equals(other.getDestination()); + result = result && getClientId() + .equals(other.getClientId()); + result = result && (getBatchId() + == other.getBatchId()); result = result && unknownFields.equals(other.unknownFields); return result; } @@ -5227,19 +5219,13 @@ public final class CanalPacket { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasDestination()) { - hash = (37 * hash) + DESTINATION_FIELD_NUMBER; - hash = (53 * hash) + getDestination().hashCode(); - } - if (hasClientId()) { - hash = (37 * hash) + CLIENT_ID_FIELD_NUMBER; - hash = (53 * hash) + getClientId().hashCode(); - } - if (hasBatchId()) { - hash = (37 * hash) + BATCH_ID_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getBatchId()); - } + hash = (37 * hash) + DESTINATION_FIELD_NUMBER; + hash = (53 * hash) + getDestination().hashCode(); + hash = (37 * hash) + CLIENT_ID_FIELD_NUMBER; + hash = (53 * hash) + getClientId().hashCode(); + hash = (37 * hash) + BATCH_ID_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getBatchId()); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -5374,11 +5360,11 @@ public final class CanalPacket { public Builder clear() { super.clear(); destination_ = ""; - bitField0_ = (bitField0_ & ~0x00000001); + clientId_ = ""; - bitField0_ = (bitField0_ & ~0x00000002); + batchId_ = 0L; - bitField0_ = (bitField0_ & ~0x00000004); + return this; } @@ -5405,21 +5391,9 @@ public final class CanalPacket { @java.lang.Override public com.alibaba.otter.canal.protocol.CanalPacket.ClientAck buildPartial() { com.alibaba.otter.canal.protocol.CanalPacket.ClientAck result = new com.alibaba.otter.canal.protocol.CanalPacket.ClientAck(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } result.destination_ = destination_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } result.clientId_ = clientId_; - if (((from_bitField0_ & 0x00000004) == 0x00000004)) { - to_bitField0_ |= 0x00000004; - } result.batchId_ = batchId_; - result.bitField0_ = to_bitField0_; onBuilt(); return result; } @@ -5468,17 +5442,15 @@ public final class CanalPacket { public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalPacket.ClientAck other) { if (other == com.alibaba.otter.canal.protocol.CanalPacket.ClientAck.getDefaultInstance()) return this; - if (other.hasDestination()) { - bitField0_ |= 0x00000001; + if (!other.getDestination().isEmpty()) { destination_ = other.destination_; onChanged(); } - if (other.hasClientId()) { - bitField0_ |= 0x00000002; + if (!other.getClientId().isEmpty()) { clientId_ = other.clientId_; onChanged(); } - if (other.hasBatchId()) { + if (other.getBatchId() != 0L) { setBatchId(other.getBatchId()); } this.mergeUnknownFields(other.unknownFields); @@ -5509,17 +5481,10 @@ public final class CanalPacket { } return this; } - private int bitField0_; private java.lang.Object destination_ = ""; /** - * optional string destination = 1; - */ - public boolean hasDestination() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional string destination = 1; + * string destination = 1; */ public java.lang.String getDestination() { java.lang.Object ref = destination_; @@ -5527,16 +5492,14 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - destination_ = s; - } + destination_ = s; return s; } else { return (java.lang.String) ref; } } /** - * optional string destination = 1; + * string destination = 1; */ public com.google.protobuf.ByteString getDestinationBytes() { @@ -5552,36 +5515,37 @@ public final class CanalPacket { } } /** - * optional string destination = 1; + * string destination = 1; */ public Builder setDestination( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; + destination_ = value; onChanged(); return this; } /** - * optional string destination = 1; + * string destination = 1; */ public Builder clearDestination() { - bitField0_ = (bitField0_ & ~0x00000001); + destination_ = getDefaultInstance().getDestination(); onChanged(); return this; } /** - * optional string destination = 1; + * string destination = 1; */ public Builder setDestinationBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; + checkByteStringIsUtf8(value); + destination_ = value; onChanged(); return this; @@ -5589,13 +5553,7 @@ public final class CanalPacket { private java.lang.Object clientId_ = ""; /** - * optional string client_id = 2; - */ - public boolean hasClientId() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional string client_id = 2; + * string client_id = 2; */ public java.lang.String getClientId() { java.lang.Object ref = clientId_; @@ -5603,16 +5561,14 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - clientId_ = s; - } + clientId_ = s; return s; } else { return (java.lang.String) ref; } } /** - * optional string client_id = 2; + * string client_id = 2; */ public com.google.protobuf.ByteString getClientIdBytes() { @@ -5628,36 +5584,37 @@ public final class CanalPacket { } } /** - * optional string client_id = 2; + * string client_id = 2; */ public Builder setClientId( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + clientId_ = value; onChanged(); return this; } /** - * optional string client_id = 2; + * string client_id = 2; */ public Builder clearClientId() { - bitField0_ = (bitField0_ & ~0x00000002); + clientId_ = getDefaultInstance().getClientId(); onChanged(); return this; } /** - * optional string client_id = 2; + * string client_id = 2; */ public Builder setClientIdBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + checkByteStringIsUtf8(value); + clientId_ = value; onChanged(); return this; @@ -5665,31 +5622,25 @@ public final class CanalPacket { private long batchId_ ; /** - * optional int64 batch_id = 3; - */ - public boolean hasBatchId() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional int64 batch_id = 3; + * int64 batch_id = 3; */ public long getBatchId() { return batchId_; } /** - * optional int64 batch_id = 3; + * int64 batch_id = 3; */ public Builder setBatchId(long value) { - bitField0_ |= 0x00000004; + batchId_ = value; onChanged(); return this; } /** - * optional int64 batch_id = 3; + * int64 batch_id = 3; */ public Builder clearBatchId() { - bitField0_ = (bitField0_ & ~0x00000004); + batchId_ = 0L; onChanged(); return this; @@ -5697,7 +5648,7 @@ public final class CanalPacket { @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -5720,7 +5671,7 @@ public final class CanalPacket { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public ClientAck parsePartialFrom( @@ -5752,43 +5703,31 @@ public final class CanalPacket { com.google.protobuf.MessageOrBuilder { /** - * optional string destination = 1; - */ - boolean hasDestination(); - /** - * optional string destination = 1; + * string destination = 1; */ java.lang.String getDestination(); /** - * optional string destination = 1; + * string destination = 1; */ com.google.protobuf.ByteString getDestinationBytes(); /** - * optional string client_id = 2; - */ - boolean hasClientId(); - /** - * optional string client_id = 2; + * string client_id = 2; */ java.lang.String getClientId(); /** - * optional string client_id = 2; + * string client_id = 2; */ com.google.protobuf.ByteString getClientIdBytes(); /** - * optional string filter = 7; - */ - boolean hasFilter(); - /** - * optional string filter = 7; + * string filter = 7; */ java.lang.String getFilter(); /** - * optional string filter = 7; + * string filter = 7; */ com.google.protobuf.ByteString getFilterBytes(); @@ -5840,25 +5779,25 @@ public final class CanalPacket { done = true; break; case 10: { - com.google.protobuf.ByteString bs = input.readBytes(); - bitField0_ |= 0x00000001; - destination_ = bs; + java.lang.String s = input.readStringRequireUtf8(); + + destination_ = s; break; } case 18: { - com.google.protobuf.ByteString bs = input.readBytes(); - bitField0_ |= 0x00000002; - clientId_ = bs; + java.lang.String s = input.readStringRequireUtf8(); + + clientId_ = s; break; } case 58: { - com.google.protobuf.ByteString bs = input.readBytes(); - bitField0_ |= 0x00000004; - filter_ = bs; + java.lang.String s = input.readStringRequireUtf8(); + + filter_ = s; break; } default: { - if (!parseUnknownField( + if (!parseUnknownFieldProto3( input, unknownFields, extensionRegistry, tag)) { done = true; } @@ -5889,17 +5828,10 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.Sub.class, com.alibaba.otter.canal.protocol.CanalPacket.Sub.Builder.class); } - private int bitField0_; public static final int DESTINATION_FIELD_NUMBER = 1; private volatile java.lang.Object destination_; /** - * optional string destination = 1; - */ - public boolean hasDestination() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional string destination = 1; + * string destination = 1; */ public java.lang.String getDestination() { java.lang.Object ref = destination_; @@ -5909,14 +5841,12 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - destination_ = s; - } + destination_ = s; return s; } } /** - * optional string destination = 1; + * string destination = 1; */ public com.google.protobuf.ByteString getDestinationBytes() { @@ -5935,13 +5865,7 @@ public final class CanalPacket { public static final int CLIENT_ID_FIELD_NUMBER = 2; private volatile java.lang.Object clientId_; /** - * optional string client_id = 2; - */ - public boolean hasClientId() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional string client_id = 2; + * string client_id = 2; */ public java.lang.String getClientId() { java.lang.Object ref = clientId_; @@ -5951,14 +5875,12 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - clientId_ = s; - } + clientId_ = s; return s; } } /** - * optional string client_id = 2; + * string client_id = 2; */ public com.google.protobuf.ByteString getClientIdBytes() { @@ -5977,13 +5899,7 @@ public final class CanalPacket { public static final int FILTER_FIELD_NUMBER = 7; private volatile java.lang.Object filter_; /** - * optional string filter = 7; - */ - public boolean hasFilter() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional string filter = 7; + * string filter = 7; */ public java.lang.String getFilter() { java.lang.Object ref = filter_; @@ -5993,14 +5909,12 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - filter_ = s; - } + filter_ = s; return s; } } /** - * optional string filter = 7; + * string filter = 7; */ public com.google.protobuf.ByteString getFilterBytes() { @@ -6030,13 +5944,13 @@ public final class CanalPacket { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (!getDestinationBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, destination_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getClientIdBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, clientId_); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (!getFilterBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 7, filter_); } unknownFields.writeTo(output); @@ -6048,13 +5962,13 @@ public final class CanalPacket { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (!getDestinationBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, destination_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getClientIdBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, clientId_); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (!getFilterBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, filter_); } size += unknownFields.getSerializedSize(); @@ -6073,21 +5987,12 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.Sub other = (com.alibaba.otter.canal.protocol.CanalPacket.Sub) obj; boolean result = true; - result = result && (hasDestination() == other.hasDestination()); - if (hasDestination()) { - result = result && getDestination() - .equals(other.getDestination()); - } - result = result && (hasClientId() == other.hasClientId()); - if (hasClientId()) { - result = result && getClientId() - .equals(other.getClientId()); - } - result = result && (hasFilter() == other.hasFilter()); - if (hasFilter()) { - result = result && getFilter() - .equals(other.getFilter()); - } + result = result && getDestination() + .equals(other.getDestination()); + result = result && getClientId() + .equals(other.getClientId()); + result = result && getFilter() + .equals(other.getFilter()); result = result && unknownFields.equals(other.unknownFields); return result; } @@ -6099,18 +6004,12 @@ public final class CanalPacket { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasDestination()) { - hash = (37 * hash) + DESTINATION_FIELD_NUMBER; - hash = (53 * hash) + getDestination().hashCode(); - } - if (hasClientId()) { - hash = (37 * hash) + CLIENT_ID_FIELD_NUMBER; - hash = (53 * hash) + getClientId().hashCode(); - } - if (hasFilter()) { - hash = (37 * hash) + FILTER_FIELD_NUMBER; - hash = (53 * hash) + getFilter().hashCode(); - } + hash = (37 * hash) + DESTINATION_FIELD_NUMBER; + hash = (53 * hash) + getDestination().hashCode(); + hash = (37 * hash) + CLIENT_ID_FIELD_NUMBER; + hash = (53 * hash) + getClientId().hashCode(); + hash = (37 * hash) + FILTER_FIELD_NUMBER; + hash = (53 * hash) + getFilter().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -6249,11 +6148,11 @@ public final class CanalPacket { public Builder clear() { super.clear(); destination_ = ""; - bitField0_ = (bitField0_ & ~0x00000001); + clientId_ = ""; - bitField0_ = (bitField0_ & ~0x00000002); + filter_ = ""; - bitField0_ = (bitField0_ & ~0x00000004); + return this; } @@ -6280,21 +6179,9 @@ public final class CanalPacket { @java.lang.Override public com.alibaba.otter.canal.protocol.CanalPacket.Sub buildPartial() { com.alibaba.otter.canal.protocol.CanalPacket.Sub result = new com.alibaba.otter.canal.protocol.CanalPacket.Sub(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } result.destination_ = destination_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } result.clientId_ = clientId_; - if (((from_bitField0_ & 0x00000004) == 0x00000004)) { - to_bitField0_ |= 0x00000004; - } result.filter_ = filter_; - result.bitField0_ = to_bitField0_; onBuilt(); return result; } @@ -6343,18 +6230,15 @@ public final class CanalPacket { public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalPacket.Sub other) { if (other == com.alibaba.otter.canal.protocol.CanalPacket.Sub.getDefaultInstance()) return this; - if (other.hasDestination()) { - bitField0_ |= 0x00000001; + if (!other.getDestination().isEmpty()) { destination_ = other.destination_; onChanged(); } - if (other.hasClientId()) { - bitField0_ |= 0x00000002; + if (!other.getClientId().isEmpty()) { clientId_ = other.clientId_; onChanged(); } - if (other.hasFilter()) { - bitField0_ |= 0x00000004; + if (!other.getFilter().isEmpty()) { filter_ = other.filter_; onChanged(); } @@ -6386,17 +6270,10 @@ public final class CanalPacket { } return this; } - private int bitField0_; private java.lang.Object destination_ = ""; /** - * optional string destination = 1; - */ - public boolean hasDestination() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional string destination = 1; + * string destination = 1; */ public java.lang.String getDestination() { java.lang.Object ref = destination_; @@ -6404,16 +6281,14 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - destination_ = s; - } + destination_ = s; return s; } else { return (java.lang.String) ref; } } /** - * optional string destination = 1; + * string destination = 1; */ public com.google.protobuf.ByteString getDestinationBytes() { @@ -6429,36 +6304,37 @@ public final class CanalPacket { } } /** - * optional string destination = 1; + * string destination = 1; */ public Builder setDestination( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; + destination_ = value; onChanged(); return this; } /** - * optional string destination = 1; + * string destination = 1; */ public Builder clearDestination() { - bitField0_ = (bitField0_ & ~0x00000001); + destination_ = getDefaultInstance().getDestination(); onChanged(); return this; } /** - * optional string destination = 1; + * string destination = 1; */ public Builder setDestinationBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; + checkByteStringIsUtf8(value); + destination_ = value; onChanged(); return this; @@ -6466,13 +6342,7 @@ public final class CanalPacket { private java.lang.Object clientId_ = ""; /** - * optional string client_id = 2; - */ - public boolean hasClientId() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional string client_id = 2; + * string client_id = 2; */ public java.lang.String getClientId() { java.lang.Object ref = clientId_; @@ -6480,16 +6350,14 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - clientId_ = s; - } + clientId_ = s; return s; } else { return (java.lang.String) ref; } } /** - * optional string client_id = 2; + * string client_id = 2; */ public com.google.protobuf.ByteString getClientIdBytes() { @@ -6505,36 +6373,37 @@ public final class CanalPacket { } } /** - * optional string client_id = 2; + * string client_id = 2; */ public Builder setClientId( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + clientId_ = value; onChanged(); return this; } /** - * optional string client_id = 2; + * string client_id = 2; */ public Builder clearClientId() { - bitField0_ = (bitField0_ & ~0x00000002); + clientId_ = getDefaultInstance().getClientId(); onChanged(); return this; } /** - * optional string client_id = 2; + * string client_id = 2; */ public Builder setClientIdBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + checkByteStringIsUtf8(value); + clientId_ = value; onChanged(); return this; @@ -6542,13 +6411,7 @@ public final class CanalPacket { private java.lang.Object filter_ = ""; /** - * optional string filter = 7; - */ - public boolean hasFilter() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional string filter = 7; + * string filter = 7; */ public java.lang.String getFilter() { java.lang.Object ref = filter_; @@ -6556,16 +6419,14 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - filter_ = s; - } + filter_ = s; return s; } else { return (java.lang.String) ref; } } /** - * optional string filter = 7; + * string filter = 7; */ public com.google.protobuf.ByteString getFilterBytes() { @@ -6581,36 +6442,37 @@ public final class CanalPacket { } } /** - * optional string filter = 7; + * string filter = 7; */ public Builder setFilter( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000004; + filter_ = value; onChanged(); return this; } /** - * optional string filter = 7; + * string filter = 7; */ public Builder clearFilter() { - bitField0_ = (bitField0_ & ~0x00000004); + filter_ = getDefaultInstance().getFilter(); onChanged(); return this; } /** - * optional string filter = 7; + * string filter = 7; */ public Builder setFilterBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000004; + checkByteStringIsUtf8(value); + filter_ = value; onChanged(); return this; @@ -6618,7 +6480,7 @@ public final class CanalPacket { @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -6641,7 +6503,7 @@ public final class CanalPacket { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Sub parsePartialFrom( @@ -6673,43 +6535,31 @@ public final class CanalPacket { com.google.protobuf.MessageOrBuilder { /** - * optional string destination = 1; - */ - boolean hasDestination(); - /** - * optional string destination = 1; + * string destination = 1; */ java.lang.String getDestination(); /** - * optional string destination = 1; + * string destination = 1; */ com.google.protobuf.ByteString getDestinationBytes(); /** - * optional string client_id = 2; - */ - boolean hasClientId(); - /** - * optional string client_id = 2; + * string client_id = 2; */ java.lang.String getClientId(); /** - * optional string client_id = 2; + * string client_id = 2; */ com.google.protobuf.ByteString getClientIdBytes(); /** - * optional string filter = 7; - */ - boolean hasFilter(); - /** - * optional string filter = 7; + * string filter = 7; */ java.lang.String getFilter(); /** - * optional string filter = 7; + * string filter = 7; */ com.google.protobuf.ByteString getFilterBytes(); @@ -6761,25 +6611,25 @@ public final class CanalPacket { done = true; break; case 10: { - com.google.protobuf.ByteString bs = input.readBytes(); - bitField0_ |= 0x00000001; - destination_ = bs; + java.lang.String s = input.readStringRequireUtf8(); + + destination_ = s; break; } case 18: { - com.google.protobuf.ByteString bs = input.readBytes(); - bitField0_ |= 0x00000002; - clientId_ = bs; + java.lang.String s = input.readStringRequireUtf8(); + + clientId_ = s; break; } case 58: { - com.google.protobuf.ByteString bs = input.readBytes(); - bitField0_ |= 0x00000004; - filter_ = bs; + java.lang.String s = input.readStringRequireUtf8(); + + filter_ = s; break; } default: { - if (!parseUnknownField( + if (!parseUnknownFieldProto3( input, unknownFields, extensionRegistry, tag)) { done = true; } @@ -6810,17 +6660,10 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.Unsub.class, com.alibaba.otter.canal.protocol.CanalPacket.Unsub.Builder.class); } - private int bitField0_; public static final int DESTINATION_FIELD_NUMBER = 1; private volatile java.lang.Object destination_; /** - * optional string destination = 1; - */ - public boolean hasDestination() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional string destination = 1; + * string destination = 1; */ public java.lang.String getDestination() { java.lang.Object ref = destination_; @@ -6830,14 +6673,12 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - destination_ = s; - } + destination_ = s; return s; } } /** - * optional string destination = 1; + * string destination = 1; */ public com.google.protobuf.ByteString getDestinationBytes() { @@ -6856,13 +6697,7 @@ public final class CanalPacket { public static final int CLIENT_ID_FIELD_NUMBER = 2; private volatile java.lang.Object clientId_; /** - * optional string client_id = 2; - */ - public boolean hasClientId() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional string client_id = 2; + * string client_id = 2; */ public java.lang.String getClientId() { java.lang.Object ref = clientId_; @@ -6872,14 +6707,12 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - clientId_ = s; - } + clientId_ = s; return s; } } /** - * optional string client_id = 2; + * string client_id = 2; */ public com.google.protobuf.ByteString getClientIdBytes() { @@ -6898,13 +6731,7 @@ public final class CanalPacket { public static final int FILTER_FIELD_NUMBER = 7; private volatile java.lang.Object filter_; /** - * optional string filter = 7; - */ - public boolean hasFilter() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional string filter = 7; + * string filter = 7; */ public java.lang.String getFilter() { java.lang.Object ref = filter_; @@ -6914,14 +6741,12 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - filter_ = s; - } + filter_ = s; return s; } } /** - * optional string filter = 7; + * string filter = 7; */ public com.google.protobuf.ByteString getFilterBytes() { @@ -6951,13 +6776,13 @@ public final class CanalPacket { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (!getDestinationBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, destination_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getClientIdBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, clientId_); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (!getFilterBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 7, filter_); } unknownFields.writeTo(output); @@ -6969,13 +6794,13 @@ public final class CanalPacket { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (!getDestinationBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, destination_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getClientIdBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, clientId_); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (!getFilterBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, filter_); } size += unknownFields.getSerializedSize(); @@ -6994,21 +6819,12 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.Unsub other = (com.alibaba.otter.canal.protocol.CanalPacket.Unsub) obj; boolean result = true; - result = result && (hasDestination() == other.hasDestination()); - if (hasDestination()) { - result = result && getDestination() - .equals(other.getDestination()); - } - result = result && (hasClientId() == other.hasClientId()); - if (hasClientId()) { - result = result && getClientId() - .equals(other.getClientId()); - } - result = result && (hasFilter() == other.hasFilter()); - if (hasFilter()) { - result = result && getFilter() - .equals(other.getFilter()); - } + result = result && getDestination() + .equals(other.getDestination()); + result = result && getClientId() + .equals(other.getClientId()); + result = result && getFilter() + .equals(other.getFilter()); result = result && unknownFields.equals(other.unknownFields); return result; } @@ -7020,18 +6836,12 @@ public final class CanalPacket { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasDestination()) { - hash = (37 * hash) + DESTINATION_FIELD_NUMBER; - hash = (53 * hash) + getDestination().hashCode(); - } - if (hasClientId()) { - hash = (37 * hash) + CLIENT_ID_FIELD_NUMBER; - hash = (53 * hash) + getClientId().hashCode(); - } - if (hasFilter()) { - hash = (37 * hash) + FILTER_FIELD_NUMBER; - hash = (53 * hash) + getFilter().hashCode(); - } + hash = (37 * hash) + DESTINATION_FIELD_NUMBER; + hash = (53 * hash) + getDestination().hashCode(); + hash = (37 * hash) + CLIENT_ID_FIELD_NUMBER; + hash = (53 * hash) + getClientId().hashCode(); + hash = (37 * hash) + FILTER_FIELD_NUMBER; + hash = (53 * hash) + getFilter().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -7170,11 +6980,11 @@ public final class CanalPacket { public Builder clear() { super.clear(); destination_ = ""; - bitField0_ = (bitField0_ & ~0x00000001); + clientId_ = ""; - bitField0_ = (bitField0_ & ~0x00000002); + filter_ = ""; - bitField0_ = (bitField0_ & ~0x00000004); + return this; } @@ -7201,21 +7011,9 @@ public final class CanalPacket { @java.lang.Override public com.alibaba.otter.canal.protocol.CanalPacket.Unsub buildPartial() { com.alibaba.otter.canal.protocol.CanalPacket.Unsub result = new com.alibaba.otter.canal.protocol.CanalPacket.Unsub(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } result.destination_ = destination_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } result.clientId_ = clientId_; - if (((from_bitField0_ & 0x00000004) == 0x00000004)) { - to_bitField0_ |= 0x00000004; - } result.filter_ = filter_; - result.bitField0_ = to_bitField0_; onBuilt(); return result; } @@ -7264,18 +7062,15 @@ public final class CanalPacket { public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalPacket.Unsub other) { if (other == com.alibaba.otter.canal.protocol.CanalPacket.Unsub.getDefaultInstance()) return this; - if (other.hasDestination()) { - bitField0_ |= 0x00000001; + if (!other.getDestination().isEmpty()) { destination_ = other.destination_; onChanged(); } - if (other.hasClientId()) { - bitField0_ |= 0x00000002; + if (!other.getClientId().isEmpty()) { clientId_ = other.clientId_; onChanged(); } - if (other.hasFilter()) { - bitField0_ |= 0x00000004; + if (!other.getFilter().isEmpty()) { filter_ = other.filter_; onChanged(); } @@ -7307,17 +7102,10 @@ public final class CanalPacket { } return this; } - private int bitField0_; private java.lang.Object destination_ = ""; /** - * optional string destination = 1; - */ - public boolean hasDestination() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional string destination = 1; + * string destination = 1; */ public java.lang.String getDestination() { java.lang.Object ref = destination_; @@ -7325,16 +7113,14 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - destination_ = s; - } + destination_ = s; return s; } else { return (java.lang.String) ref; } } /** - * optional string destination = 1; + * string destination = 1; */ public com.google.protobuf.ByteString getDestinationBytes() { @@ -7350,36 +7136,37 @@ public final class CanalPacket { } } /** - * optional string destination = 1; + * string destination = 1; */ public Builder setDestination( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; + destination_ = value; onChanged(); return this; } /** - * optional string destination = 1; + * string destination = 1; */ public Builder clearDestination() { - bitField0_ = (bitField0_ & ~0x00000001); + destination_ = getDefaultInstance().getDestination(); onChanged(); return this; } /** - * optional string destination = 1; + * string destination = 1; */ public Builder setDestinationBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; + checkByteStringIsUtf8(value); + destination_ = value; onChanged(); return this; @@ -7387,13 +7174,7 @@ public final class CanalPacket { private java.lang.Object clientId_ = ""; /** - * optional string client_id = 2; - */ - public boolean hasClientId() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional string client_id = 2; + * string client_id = 2; */ public java.lang.String getClientId() { java.lang.Object ref = clientId_; @@ -7401,16 +7182,14 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - clientId_ = s; - } + clientId_ = s; return s; } else { return (java.lang.String) ref; } } /** - * optional string client_id = 2; + * string client_id = 2; */ public com.google.protobuf.ByteString getClientIdBytes() { @@ -7426,36 +7205,37 @@ public final class CanalPacket { } } /** - * optional string client_id = 2; + * string client_id = 2; */ public Builder setClientId( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + clientId_ = value; onChanged(); return this; } /** - * optional string client_id = 2; + * string client_id = 2; */ public Builder clearClientId() { - bitField0_ = (bitField0_ & ~0x00000002); + clientId_ = getDefaultInstance().getClientId(); onChanged(); return this; } /** - * optional string client_id = 2; + * string client_id = 2; */ public Builder setClientIdBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + checkByteStringIsUtf8(value); + clientId_ = value; onChanged(); return this; @@ -7463,13 +7243,7 @@ public final class CanalPacket { private java.lang.Object filter_ = ""; /** - * optional string filter = 7; - */ - public boolean hasFilter() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional string filter = 7; + * string filter = 7; */ public java.lang.String getFilter() { java.lang.Object ref = filter_; @@ -7477,16 +7251,14 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - filter_ = s; - } + filter_ = s; return s; } else { return (java.lang.String) ref; } } /** - * optional string filter = 7; + * string filter = 7; */ public com.google.protobuf.ByteString getFilterBytes() { @@ -7502,36 +7274,37 @@ public final class CanalPacket { } } /** - * optional string filter = 7; + * string filter = 7; */ public Builder setFilter( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000004; + filter_ = value; onChanged(); return this; } /** - * optional string filter = 7; + * string filter = 7; */ public Builder clearFilter() { - bitField0_ = (bitField0_ & ~0x00000004); + filter_ = getDefaultInstance().getFilter(); onChanged(); return this; } /** - * optional string filter = 7; + * string filter = 7; */ public Builder setFilterBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000004; + checkByteStringIsUtf8(value); + filter_ = value; onChanged(); return this; @@ -7539,7 +7312,7 @@ public final class CanalPacket { @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -7562,7 +7335,7 @@ public final class CanalPacket { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Unsub parsePartialFrom( @@ -7594,39 +7367,27 @@ public final class CanalPacket { com.google.protobuf.MessageOrBuilder { /** - * optional string destination = 1; - */ - boolean hasDestination(); - /** - * optional string destination = 1; + * string destination = 1; */ java.lang.String getDestination(); /** - * optional string destination = 1; + * string destination = 1; */ com.google.protobuf.ByteString getDestinationBytes(); /** - * optional string client_id = 2; - */ - boolean hasClientId(); - /** - * optional string client_id = 2; + * string client_id = 2; */ java.lang.String getClientId(); /** - * optional string client_id = 2; + * string client_id = 2; */ com.google.protobuf.ByteString getClientIdBytes(); /** - * optional int32 fetch_size = 3; - */ - boolean hasFetchSize(); - /** - * optional int32 fetch_size = 3; + * int32 fetch_size = 3; */ int getFetchSize(); @@ -7635,15 +7396,7 @@ public final class CanalPacket { * 默认-1时代表不控制 * * - * optional int64 timeout = 4 [default = -1]; - */ - boolean hasTimeout(); - /** - *
-     * 默认-1时代表不控制
-     * 
- * - * optional int64 timeout = 4 [default = -1]; + * int64 timeout = 4; */ long getTimeout(); @@ -7652,15 +7405,7 @@ public final class CanalPacket { * 数字类型,0:纳秒,1:毫秒,2:微秒,3:秒,4:分钟,5:小时,6:天 * * - * optional int32 unit = 5 [default = 2]; - */ - boolean hasUnit(); - /** - *
-     * 数字类型,0:纳秒,1:毫秒,2:微秒,3:秒,4:分钟,5:小时,6:天
-     * 
- * - * optional int32 unit = 5 [default = 2]; + * int32 unit = 5; */ int getUnit(); @@ -7669,17 +7414,15 @@ public final class CanalPacket { * 是否自动ack * * - * optional bool auto_ack = 6 [default = false]; - */ - boolean hasAutoAck(); - /** - *
-     * 是否自动ack
-     * 
- * - * optional bool auto_ack = 6 [default = false]; + * bool auto_ack = 6; */ boolean getAutoAck(); + + public com.alibaba.otter.canal.protocol.CanalPacket.Get.TimeoutPresentCase getTimeoutPresentCase(); + + public com.alibaba.otter.canal.protocol.CanalPacket.Get.UnitPresentCase getUnitPresentCase(); + + public com.alibaba.otter.canal.protocol.CanalPacket.Get.AutoAckPresentCase getAutoAckPresentCase(); } /** *
@@ -7701,9 +7444,6 @@ public final class CanalPacket {
       destination_ = "";
       clientId_ = "";
       fetchSize_ = 0;
-      timeout_ = -1L;
-      unit_ = 2;
-      autoAck_ = false;
     }
 
     @java.lang.Override
@@ -7731,39 +7471,39 @@ public final class CanalPacket {
               done = true;
               break;
             case 10: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000001;
-              destination_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              destination_ = s;
               break;
             }
             case 18: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000002;
-              clientId_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              clientId_ = s;
               break;
             }
             case 24: {
-              bitField0_ |= 0x00000004;
+
               fetchSize_ = input.readInt32();
               break;
             }
             case 32: {
-              bitField0_ |= 0x00000008;
-              timeout_ = input.readInt64();
+              timeoutPresentCase_ = 4;
+              timeoutPresent_ = input.readInt64();
               break;
             }
             case 40: {
-              bitField0_ |= 0x00000010;
-              unit_ = input.readInt32();
+              unitPresentCase_ = 5;
+              unitPresent_ = input.readInt32();
               break;
             }
             case 48: {
-              bitField0_ |= 0x00000020;
-              autoAck_ = input.readBool();
+              autoAckPresentCase_ = 6;
+              autoAckPresent_ = input.readBool();
               break;
             }
             default: {
-              if (!parseUnknownField(
+              if (!parseUnknownFieldProto3(
                   input, unknownFields, extensionRegistry, tag)) {
                 done = true;
               }
@@ -7794,17 +7534,118 @@ public final class CanalPacket {
               com.alibaba.otter.canal.protocol.CanalPacket.Get.class, com.alibaba.otter.canal.protocol.CanalPacket.Get.Builder.class);
     }
 
-    private int bitField0_;
+    private int timeoutPresentCase_ = 0;
+    private java.lang.Object timeoutPresent_;
+    public enum TimeoutPresentCase
+        implements com.google.protobuf.Internal.EnumLite {
+      TIMEOUT(4),
+      TIMEOUTPRESENT_NOT_SET(0);
+      private final int value;
+      private TimeoutPresentCase(int value) {
+        this.value = value;
+      }
+      /**
+       * @deprecated Use {@link #forNumber(int)} instead.
+       */
+      @java.lang.Deprecated
+      public static TimeoutPresentCase valueOf(int value) {
+        return forNumber(value);
+      }
+
+      public static TimeoutPresentCase forNumber(int value) {
+        switch (value) {
+          case 4: return TIMEOUT;
+          case 0: return TIMEOUTPRESENT_NOT_SET;
+          default: return null;
+        }
+      }
+      public int getNumber() {
+        return this.value;
+      }
+    };
+
+    public TimeoutPresentCase
+    getTimeoutPresentCase() {
+      return TimeoutPresentCase.forNumber(
+          timeoutPresentCase_);
+    }
+
+    private int unitPresentCase_ = 0;
+    private java.lang.Object unitPresent_;
+    public enum UnitPresentCase
+        implements com.google.protobuf.Internal.EnumLite {
+      UNIT(5),
+      UNITPRESENT_NOT_SET(0);
+      private final int value;
+      private UnitPresentCase(int value) {
+        this.value = value;
+      }
+      /**
+       * @deprecated Use {@link #forNumber(int)} instead.
+       */
+      @java.lang.Deprecated
+      public static UnitPresentCase valueOf(int value) {
+        return forNumber(value);
+      }
+
+      public static UnitPresentCase forNumber(int value) {
+        switch (value) {
+          case 5: return UNIT;
+          case 0: return UNITPRESENT_NOT_SET;
+          default: return null;
+        }
+      }
+      public int getNumber() {
+        return this.value;
+      }
+    };
+
+    public UnitPresentCase
+    getUnitPresentCase() {
+      return UnitPresentCase.forNumber(
+          unitPresentCase_);
+    }
+
+    private int autoAckPresentCase_ = 0;
+    private java.lang.Object autoAckPresent_;
+    public enum AutoAckPresentCase
+        implements com.google.protobuf.Internal.EnumLite {
+      AUTO_ACK(6),
+      AUTOACKPRESENT_NOT_SET(0);
+      private final int value;
+      private AutoAckPresentCase(int value) {
+        this.value = value;
+      }
+      /**
+       * @deprecated Use {@link #forNumber(int)} instead.
+       */
+      @java.lang.Deprecated
+      public static AutoAckPresentCase valueOf(int value) {
+        return forNumber(value);
+      }
+
+      public static AutoAckPresentCase forNumber(int value) {
+        switch (value) {
+          case 6: return AUTO_ACK;
+          case 0: return AUTOACKPRESENT_NOT_SET;
+          default: return null;
+        }
+      }
+      public int getNumber() {
+        return this.value;
+      }
+    };
+
+    public AutoAckPresentCase
+    getAutoAckPresentCase() {
+      return AutoAckPresentCase.forNumber(
+          autoAckPresentCase_);
+    }
+
     public static final int DESTINATION_FIELD_NUMBER = 1;
     private volatile java.lang.Object destination_;
     /**
-     * optional string destination = 1;
-     */
-    public boolean hasDestination() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * optional string destination = 1;
+     * string destination = 1;
      */
     public java.lang.String getDestination() {
       java.lang.Object ref = destination_;
@@ -7814,14 +7655,12 @@ public final class CanalPacket {
         com.google.protobuf.ByteString bs = 
             (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
-        if (bs.isValidUtf8()) {
-          destination_ = s;
-        }
+        destination_ = s;
         return s;
       }
     }
     /**
-     * optional string destination = 1;
+     * string destination = 1;
      */
     public com.google.protobuf.ByteString
         getDestinationBytes() {
@@ -7840,13 +7679,7 @@ public final class CanalPacket {
     public static final int CLIENT_ID_FIELD_NUMBER = 2;
     private volatile java.lang.Object clientId_;
     /**
-     * optional string client_id = 2;
-     */
-    public boolean hasClientId() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * optional string client_id = 2;
+     * string client_id = 2;
      */
     public java.lang.String getClientId() {
       java.lang.Object ref = clientId_;
@@ -7856,14 +7689,12 @@ public final class CanalPacket {
         com.google.protobuf.ByteString bs = 
             (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
-        if (bs.isValidUtf8()) {
-          clientId_ = s;
-        }
+        clientId_ = s;
         return s;
       }
     }
     /**
-     * optional string client_id = 2;
+     * string client_id = 2;
      */
     public com.google.protobuf.ByteString
         getClientIdBytes() {
@@ -7882,85 +7713,55 @@ public final class CanalPacket {
     public static final int FETCH_SIZE_FIELD_NUMBER = 3;
     private int fetchSize_;
     /**
-     * optional int32 fetch_size = 3;
-     */
-    public boolean hasFetchSize() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    /**
-     * optional int32 fetch_size = 3;
+     * int32 fetch_size = 3;
      */
     public int getFetchSize() {
       return fetchSize_;
     }
 
     public static final int TIMEOUT_FIELD_NUMBER = 4;
-    private long timeout_;
     /**
      * 
      * 默认-1时代表不控制
      * 
* - * optional int64 timeout = 4 [default = -1]; - */ - public boolean hasTimeout() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - *
-     * 默认-1时代表不控制
-     * 
- * - * optional int64 timeout = 4 [default = -1]; + * int64 timeout = 4; */ public long getTimeout() { - return timeout_; + if (timeoutPresentCase_ == 4) { + return (java.lang.Long) timeoutPresent_; + } + return -1L; } public static final int UNIT_FIELD_NUMBER = 5; - private int unit_; /** *
      * 数字类型,0:纳秒,1:毫秒,2:微秒,3:秒,4:分钟,5:小时,6:天
      * 
* - * optional int32 unit = 5 [default = 2]; - */ - public boolean hasUnit() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - *
-     * 数字类型,0:纳秒,1:毫秒,2:微秒,3:秒,4:分钟,5:小时,6:天
-     * 
- * - * optional int32 unit = 5 [default = 2]; + * int32 unit = 5; */ public int getUnit() { - return unit_; + if (unitPresentCase_ == 5) { + return (java.lang.Integer) unitPresent_; + } + return 2; } public static final int AUTO_ACK_FIELD_NUMBER = 6; - private boolean autoAck_; /** *
      * 是否自动ack
      * 
* - * optional bool auto_ack = 6 [default = false]; - */ - public boolean hasAutoAck() { - return ((bitField0_ & 0x00000020) == 0x00000020); - } - /** - *
-     * 是否自动ack
-     * 
- * - * optional bool auto_ack = 6 [default = false]; + * bool auto_ack = 6; */ public boolean getAutoAck() { - return autoAck_; + if (autoAckPresentCase_ == 6) { + return (java.lang.Boolean) autoAckPresent_; + } + return false; } private byte memoizedIsInitialized = -1; @@ -7977,23 +7778,26 @@ public final class CanalPacket { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (!getDestinationBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, destination_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getClientIdBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, clientId_); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (fetchSize_ != 0) { output.writeInt32(3, fetchSize_); } - if (((bitField0_ & 0x00000008) == 0x00000008)) { - output.writeInt64(4, timeout_); + if (timeoutPresentCase_ == 4) { + output.writeInt64( + 4, (long)((java.lang.Long) timeoutPresent_)); } - if (((bitField0_ & 0x00000010) == 0x00000010)) { - output.writeInt32(5, unit_); + if (unitPresentCase_ == 5) { + output.writeInt32( + 5, (int)((java.lang.Integer) unitPresent_)); } - if (((bitField0_ & 0x00000020) == 0x00000020)) { - output.writeBool(6, autoAck_); + if (autoAckPresentCase_ == 6) { + output.writeBool( + 6, (boolean)((java.lang.Boolean) autoAckPresent_)); } unknownFields.writeTo(output); } @@ -8004,27 +7808,30 @@ public final class CanalPacket { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (!getDestinationBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, destination_); } - if (((bitField0_ & 0x00000002) == 0x00000002)) { + if (!getClientIdBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, clientId_); } - if (((bitField0_ & 0x00000004) == 0x00000004)) { + if (fetchSize_ != 0) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(3, fetchSize_); } - if (((bitField0_ & 0x00000008) == 0x00000008)) { + if (timeoutPresentCase_ == 4) { size += com.google.protobuf.CodedOutputStream - .computeInt64Size(4, timeout_); + .computeInt64Size( + 4, (long)((java.lang.Long) timeoutPresent_)); } - if (((bitField0_ & 0x00000010) == 0x00000010)) { + if (unitPresentCase_ == 5) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(5, unit_); + .computeInt32Size( + 5, (int)((java.lang.Integer) unitPresent_)); } - if (((bitField0_ & 0x00000020) == 0x00000020)) { + if (autoAckPresentCase_ == 6) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(6, autoAck_); + .computeBoolSize( + 6, (boolean)((java.lang.Boolean) autoAckPresent_)); } size += unknownFields.getSerializedSize(); memoizedSize = size; @@ -8042,35 +7849,44 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.Get other = (com.alibaba.otter.canal.protocol.CanalPacket.Get) obj; boolean result = true; - result = result && (hasDestination() == other.hasDestination()); - if (hasDestination()) { - result = result && getDestination() - .equals(other.getDestination()); + result = result && getDestination() + .equals(other.getDestination()); + result = result && getClientId() + .equals(other.getClientId()); + result = result && (getFetchSize() + == other.getFetchSize()); + result = result && getTimeoutPresentCase().equals( + other.getTimeoutPresentCase()); + if (!result) return false; + switch (timeoutPresentCase_) { + case 4: + result = result && (getTimeout() + == other.getTimeout()); + break; + case 0: + default: } - result = result && (hasClientId() == other.hasClientId()); - if (hasClientId()) { - result = result && getClientId() - .equals(other.getClientId()); + result = result && getUnitPresentCase().equals( + other.getUnitPresentCase()); + if (!result) return false; + switch (unitPresentCase_) { + case 5: + result = result && (getUnit() + == other.getUnit()); + break; + case 0: + default: } - result = result && (hasFetchSize() == other.hasFetchSize()); - if (hasFetchSize()) { - result = result && (getFetchSize() - == other.getFetchSize()); - } - result = result && (hasTimeout() == other.hasTimeout()); - if (hasTimeout()) { - result = result && (getTimeout() - == other.getTimeout()); - } - result = result && (hasUnit() == other.hasUnit()); - if (hasUnit()) { - result = result && (getUnit() - == other.getUnit()); - } - result = result && (hasAutoAck() == other.hasAutoAck()); - if (hasAutoAck()) { - result = result && (getAutoAck() - == other.getAutoAck()); + result = result && getAutoAckPresentCase().equals( + other.getAutoAckPresentCase()); + if (!result) return false; + switch (autoAckPresentCase_) { + case 6: + result = result && (getAutoAck() + == other.getAutoAck()); + break; + case 0: + default: } result = result && unknownFields.equals(other.unknownFields); return result; @@ -8083,31 +7899,37 @@ public final class CanalPacket { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasDestination()) { - hash = (37 * hash) + DESTINATION_FIELD_NUMBER; - hash = (53 * hash) + getDestination().hashCode(); + hash = (37 * hash) + DESTINATION_FIELD_NUMBER; + hash = (53 * hash) + getDestination().hashCode(); + hash = (37 * hash) + CLIENT_ID_FIELD_NUMBER; + hash = (53 * hash) + getClientId().hashCode(); + hash = (37 * hash) + FETCH_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getFetchSize(); + switch (timeoutPresentCase_) { + case 4: + hash = (37 * hash) + TIMEOUT_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getTimeout()); + break; + case 0: + default: } - if (hasClientId()) { - hash = (37 * hash) + CLIENT_ID_FIELD_NUMBER; - hash = (53 * hash) + getClientId().hashCode(); + switch (unitPresentCase_) { + case 5: + hash = (37 * hash) + UNIT_FIELD_NUMBER; + hash = (53 * hash) + getUnit(); + break; + case 0: + default: } - if (hasFetchSize()) { - hash = (37 * hash) + FETCH_SIZE_FIELD_NUMBER; - hash = (53 * hash) + getFetchSize(); - } - if (hasTimeout()) { - hash = (37 * hash) + TIMEOUT_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getTimeout()); - } - if (hasUnit()) { - hash = (37 * hash) + UNIT_FIELD_NUMBER; - hash = (53 * hash) + getUnit(); - } - if (hasAutoAck()) { - hash = (37 * hash) + AUTO_ACK_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( - getAutoAck()); + switch (autoAckPresentCase_) { + case 6: + hash = (37 * hash) + AUTO_ACK_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( + getAutoAck()); + break; + case 0: + default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; @@ -8247,17 +8069,17 @@ public final class CanalPacket { public Builder clear() { super.clear(); destination_ = ""; - bitField0_ = (bitField0_ & ~0x00000001); + clientId_ = ""; - bitField0_ = (bitField0_ & ~0x00000002); + fetchSize_ = 0; - bitField0_ = (bitField0_ & ~0x00000004); - timeout_ = -1L; - bitField0_ = (bitField0_ & ~0x00000008); - unit_ = 2; - bitField0_ = (bitField0_ & ~0x00000010); - autoAck_ = false; - bitField0_ = (bitField0_ & ~0x00000020); + + timeoutPresentCase_ = 0; + timeoutPresent_ = null; + unitPresentCase_ = 0; + unitPresent_ = null; + autoAckPresentCase_ = 0; + autoAckPresent_ = null; return this; } @@ -8284,33 +8106,21 @@ public final class CanalPacket { @java.lang.Override public com.alibaba.otter.canal.protocol.CanalPacket.Get buildPartial() { com.alibaba.otter.canal.protocol.CanalPacket.Get result = new com.alibaba.otter.canal.protocol.CanalPacket.Get(this); - int from_bitField0_ = bitField0_; - int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } result.destination_ = destination_; - if (((from_bitField0_ & 0x00000002) == 0x00000002)) { - to_bitField0_ |= 0x00000002; - } result.clientId_ = clientId_; - if (((from_bitField0_ & 0x00000004) == 0x00000004)) { - to_bitField0_ |= 0x00000004; - } result.fetchSize_ = fetchSize_; - if (((from_bitField0_ & 0x00000008) == 0x00000008)) { - to_bitField0_ |= 0x00000008; + if (timeoutPresentCase_ == 4) { + result.timeoutPresent_ = timeoutPresent_; } - result.timeout_ = timeout_; - if (((from_bitField0_ & 0x00000010) == 0x00000010)) { - to_bitField0_ |= 0x00000010; + if (unitPresentCase_ == 5) { + result.unitPresent_ = unitPresent_; } - result.unit_ = unit_; - if (((from_bitField0_ & 0x00000020) == 0x00000020)) { - to_bitField0_ |= 0x00000020; + if (autoAckPresentCase_ == 6) { + result.autoAckPresent_ = autoAckPresent_; } - result.autoAck_ = autoAck_; - result.bitField0_ = to_bitField0_; + result.timeoutPresentCase_ = timeoutPresentCase_; + result.unitPresentCase_ = unitPresentCase_; + result.autoAckPresentCase_ = autoAckPresentCase_; onBuilt(); return result; } @@ -8359,27 +8169,43 @@ public final class CanalPacket { public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalPacket.Get other) { if (other == com.alibaba.otter.canal.protocol.CanalPacket.Get.getDefaultInstance()) return this; - if (other.hasDestination()) { - bitField0_ |= 0x00000001; + if (!other.getDestination().isEmpty()) { destination_ = other.destination_; onChanged(); } - if (other.hasClientId()) { - bitField0_ |= 0x00000002; + if (!other.getClientId().isEmpty()) { clientId_ = other.clientId_; onChanged(); } - if (other.hasFetchSize()) { + if (other.getFetchSize() != 0) { setFetchSize(other.getFetchSize()); } - if (other.hasTimeout()) { - setTimeout(other.getTimeout()); + switch (other.getTimeoutPresentCase()) { + case TIMEOUT: { + setTimeout(other.getTimeout()); + break; + } + case TIMEOUTPRESENT_NOT_SET: { + break; + } } - if (other.hasUnit()) { - setUnit(other.getUnit()); + switch (other.getUnitPresentCase()) { + case UNIT: { + setUnit(other.getUnit()); + break; + } + case UNITPRESENT_NOT_SET: { + break; + } } - if (other.hasAutoAck()) { - setAutoAck(other.getAutoAck()); + switch (other.getAutoAckPresentCase()) { + case AUTO_ACK: { + setAutoAck(other.getAutoAck()); + break; + } + case AUTOACKPRESENT_NOT_SET: { + break; + } } this.mergeUnknownFields(other.unknownFields); onChanged(); @@ -8409,17 +8235,55 @@ public final class CanalPacket { } return this; } - private int bitField0_; + private int timeoutPresentCase_ = 0; + private java.lang.Object timeoutPresent_; + public TimeoutPresentCase + getTimeoutPresentCase() { + return TimeoutPresentCase.forNumber( + timeoutPresentCase_); + } + + public Builder clearTimeoutPresent() { + timeoutPresentCase_ = 0; + timeoutPresent_ = null; + onChanged(); + return this; + } + + private int unitPresentCase_ = 0; + private java.lang.Object unitPresent_; + public UnitPresentCase + getUnitPresentCase() { + return UnitPresentCase.forNumber( + unitPresentCase_); + } + + public Builder clearUnitPresent() { + unitPresentCase_ = 0; + unitPresent_ = null; + onChanged(); + return this; + } + + private int autoAckPresentCase_ = 0; + private java.lang.Object autoAckPresent_; + public AutoAckPresentCase + getAutoAckPresentCase() { + return AutoAckPresentCase.forNumber( + autoAckPresentCase_); + } + + public Builder clearAutoAckPresent() { + autoAckPresentCase_ = 0; + autoAckPresent_ = null; + onChanged(); + return this; + } + private java.lang.Object destination_ = ""; /** - * optional string destination = 1; - */ - public boolean hasDestination() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional string destination = 1; + * string destination = 1; */ public java.lang.String getDestination() { java.lang.Object ref = destination_; @@ -8427,16 +8291,14 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - destination_ = s; - } + destination_ = s; return s; } else { return (java.lang.String) ref; } } /** - * optional string destination = 1; + * string destination = 1; */ public com.google.protobuf.ByteString getDestinationBytes() { @@ -8452,36 +8314,37 @@ public final class CanalPacket { } } /** - * optional string destination = 1; + * string destination = 1; */ public Builder setDestination( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; + destination_ = value; onChanged(); return this; } /** - * optional string destination = 1; + * string destination = 1; */ public Builder clearDestination() { - bitField0_ = (bitField0_ & ~0x00000001); + destination_ = getDefaultInstance().getDestination(); onChanged(); return this; } /** - * optional string destination = 1; + * string destination = 1; */ public Builder setDestinationBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; + checkByteStringIsUtf8(value); + destination_ = value; onChanged(); return this; @@ -8489,13 +8352,7 @@ public final class CanalPacket { private java.lang.Object clientId_ = ""; /** - * optional string client_id = 2; - */ - public boolean hasClientId() { - return ((bitField0_ & 0x00000002) == 0x00000002); - } - /** - * optional string client_id = 2; + * string client_id = 2; */ public java.lang.String getClientId() { java.lang.Object ref = clientId_; @@ -8503,16 +8360,14 @@ public final class CanalPacket { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); - if (bs.isValidUtf8()) { - clientId_ = s; - } + clientId_ = s; return s; } else { return (java.lang.String) ref; } } /** - * optional string client_id = 2; + * string client_id = 2; */ public com.google.protobuf.ByteString getClientIdBytes() { @@ -8528,36 +8383,37 @@ public final class CanalPacket { } } /** - * optional string client_id = 2; + * string client_id = 2; */ public Builder setClientId( java.lang.String value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + clientId_ = value; onChanged(); return this; } /** - * optional string client_id = 2; + * string client_id = 2; */ public Builder clearClientId() { - bitField0_ = (bitField0_ & ~0x00000002); + clientId_ = getDefaultInstance().getClientId(); onChanged(); return this; } /** - * optional string client_id = 2; + * string client_id = 2; */ public Builder setClientIdBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; + checkByteStringIsUtf8(value); + clientId_ = value; onChanged(); return this; @@ -8565,67 +8421,53 @@ public final class CanalPacket { private int fetchSize_ ; /** - * optional int32 fetch_size = 3; - */ - public boolean hasFetchSize() { - return ((bitField0_ & 0x00000004) == 0x00000004); - } - /** - * optional int32 fetch_size = 3; + * int32 fetch_size = 3; */ public int getFetchSize() { return fetchSize_; } /** - * optional int32 fetch_size = 3; + * int32 fetch_size = 3; */ public Builder setFetchSize(int value) { - bitField0_ |= 0x00000004; + fetchSize_ = value; onChanged(); return this; } /** - * optional int32 fetch_size = 3; + * int32 fetch_size = 3; */ public Builder clearFetchSize() { - bitField0_ = (bitField0_ & ~0x00000004); + fetchSize_ = 0; onChanged(); return this; } - private long timeout_ = -1L; /** *
        * 默认-1时代表不控制
        * 
* - * optional int64 timeout = 4 [default = -1]; - */ - public boolean hasTimeout() { - return ((bitField0_ & 0x00000008) == 0x00000008); - } - /** - *
-       * 默认-1时代表不控制
-       * 
- * - * optional int64 timeout = 4 [default = -1]; + * int64 timeout = 4; */ public long getTimeout() { - return timeout_; + if (timeoutPresentCase_ == 4) { + return (java.lang.Long) timeoutPresent_; + } + return 0L; } /** *
        * 默认-1时代表不控制
        * 
* - * optional int64 timeout = 4 [default = -1]; + * int64 timeout = 4; */ public Builder setTimeout(long value) { - bitField0_ |= 0x00000008; - timeout_ = value; + timeoutPresentCase_ = 4; + timeoutPresent_ = value; onChanged(); return this; } @@ -8634,46 +8476,40 @@ public final class CanalPacket { * 默认-1时代表不控制 *
* - * optional int64 timeout = 4 [default = -1]; + * int64 timeout = 4; */ public Builder clearTimeout() { - bitField0_ = (bitField0_ & ~0x00000008); - timeout_ = -1L; - onChanged(); + if (timeoutPresentCase_ == 4) { + timeoutPresentCase_ = 0; + timeoutPresent_ = null; + onChanged(); + } return this; } - private int unit_ = 2; /** *
        * 数字类型,0:纳秒,1:毫秒,2:微秒,3:秒,4:分钟,5:小时,6:天
        * 
* - * optional int32 unit = 5 [default = 2]; - */ - public boolean hasUnit() { - return ((bitField0_ & 0x00000010) == 0x00000010); - } - /** - *
-       * 数字类型,0:纳秒,1:毫秒,2:微秒,3:秒,4:分钟,5:小时,6:天
-       * 
- * - * optional int32 unit = 5 [default = 2]; + * int32 unit = 5; */ public int getUnit() { - return unit_; + if (unitPresentCase_ == 5) { + return (java.lang.Integer) unitPresent_; + } + return 0; } /** *
        * 数字类型,0:纳秒,1:毫秒,2:微秒,3:秒,4:分钟,5:小时,6:天
        * 
* - * optional int32 unit = 5 [default = 2]; + * int32 unit = 5; */ public Builder setUnit(int value) { - bitField0_ |= 0x00000010; - unit_ = value; + unitPresentCase_ = 5; + unitPresent_ = value; onChanged(); return this; } @@ -8682,46 +8518,40 @@ public final class CanalPacket { * 数字类型,0:纳秒,1:毫秒,2:微秒,3:秒,4:分钟,5:小时,6:天 * * - * optional int32 unit = 5 [default = 2]; + * int32 unit = 5; */ public Builder clearUnit() { - bitField0_ = (bitField0_ & ~0x00000010); - unit_ = 2; - onChanged(); + if (unitPresentCase_ == 5) { + unitPresentCase_ = 0; + unitPresent_ = null; + onChanged(); + } return this; } - private boolean autoAck_ ; /** *
        * 是否自动ack
        * 
* - * optional bool auto_ack = 6 [default = false]; - */ - public boolean hasAutoAck() { - return ((bitField0_ & 0x00000020) == 0x00000020); - } - /** - *
-       * 是否自动ack
-       * 
- * - * optional bool auto_ack = 6 [default = false]; + * bool auto_ack = 6; */ public boolean getAutoAck() { - return autoAck_; + if (autoAckPresentCase_ == 6) { + return (java.lang.Boolean) autoAckPresent_; + } + return false; } /** *
        * 是否自动ack
        * 
* - * optional bool auto_ack = 6 [default = false]; + * bool auto_ack = 6; */ public Builder setAutoAck(boolean value) { - bitField0_ |= 0x00000020; - autoAck_ = value; + autoAckPresentCase_ = 6; + autoAckPresent_ = value; onChanged(); return this; } @@ -8730,18 +8560,20 @@ public final class CanalPacket { * 是否自动ack * * - * optional bool auto_ack = 6 [default = false]; + * bool auto_ack = 6; */ public Builder clearAutoAck() { - bitField0_ = (bitField0_ & ~0x00000020); - autoAck_ = false; - onChanged(); + if (autoAckPresentCase_ == 6) { + autoAckPresentCase_ = 0; + autoAckPresent_ = null; + onChanged(); + } return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -8764,7 +8596,7 @@ public final class CanalPacket { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Get parsePartialFrom( @@ -8796,11 +8628,7 @@ public final class CanalPacket { com.google.protobuf.MessageOrBuilder { /** - * optional int64 batch_id = 1; - */ - boolean hasBatchId(); - /** - * optional int64 batch_id = 1; + * int64 batch_id = 1; */ long getBatchId(); @@ -8862,7 +8690,7 @@ public final class CanalPacket { done = true; break; case 8: { - bitField0_ |= 0x00000001; + batchId_ = input.readInt64(); break; } @@ -8875,7 +8703,7 @@ public final class CanalPacket { break; } default: { - if (!parseUnknownField( + if (!parseUnknownFieldProto3( input, unknownFields, extensionRegistry, tag)) { done = true; } @@ -8913,13 +8741,7 @@ public final class CanalPacket { public static final int BATCH_ID_FIELD_NUMBER = 1; private long batchId_; /** - * optional int64 batch_id = 1; - */ - public boolean hasBatchId() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional int64 batch_id = 1; + * int64 batch_id = 1; */ public long getBatchId() { return batchId_; @@ -8961,7 +8783,7 @@ public final class CanalPacket { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (batchId_ != 0L) { output.writeInt64(1, batchId_); } for (int i = 0; i < messages_.size(); i++) { @@ -8976,7 +8798,7 @@ public final class CanalPacket { if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) == 0x00000001)) { + if (batchId_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(1, batchId_); } @@ -9005,11 +8827,8 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.Messages other = (com.alibaba.otter.canal.protocol.CanalPacket.Messages) obj; boolean result = true; - result = result && (hasBatchId() == other.hasBatchId()); - if (hasBatchId()) { - result = result && (getBatchId() - == other.getBatchId()); - } + result = result && (getBatchId() + == other.getBatchId()); result = result && getMessagesList() .equals(other.getMessagesList()); result = result && unknownFields.equals(other.unknownFields); @@ -9023,11 +8842,9 @@ public final class CanalPacket { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasBatchId()) { - hash = (37 * hash) + BATCH_ID_FIELD_NUMBER; - hash = (53 * hash) + com.google.protobuf.Internal.hashLong( - getBatchId()); - } + hash = (37 * hash) + BATCH_ID_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + getBatchId()); if (getMessagesCount() > 0) { hash = (37 * hash) + MESSAGES_FIELD_NUMBER; hash = (53 * hash) + getMessagesList().hashCode(); @@ -9169,7 +8986,7 @@ public final class CanalPacket { public Builder clear() { super.clear(); batchId_ = 0L; - bitField0_ = (bitField0_ & ~0x00000001); + messages_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); return this; @@ -9200,9 +9017,6 @@ public final class CanalPacket { com.alibaba.otter.canal.protocol.CanalPacket.Messages result = new com.alibaba.otter.canal.protocol.CanalPacket.Messages(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; - if (((from_bitField0_ & 0x00000001) == 0x00000001)) { - to_bitField0_ |= 0x00000001; - } result.batchId_ = batchId_; if (((bitField0_ & 0x00000002) == 0x00000002)) { messages_ = java.util.Collections.unmodifiableList(messages_); @@ -9258,7 +9072,7 @@ public final class CanalPacket { public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalPacket.Messages other) { if (other == com.alibaba.otter.canal.protocol.CanalPacket.Messages.getDefaultInstance()) return this; - if (other.hasBatchId()) { + if (other.getBatchId() != 0L) { setBatchId(other.getBatchId()); } if (!other.messages_.isEmpty()) { @@ -9303,31 +9117,25 @@ public final class CanalPacket { private long batchId_ ; /** - * optional int64 batch_id = 1; - */ - public boolean hasBatchId() { - return ((bitField0_ & 0x00000001) == 0x00000001); - } - /** - * optional int64 batch_id = 1; + * int64 batch_id = 1; */ public long getBatchId() { return batchId_; } /** - * optional int64 batch_id = 1; + * int64 batch_id = 1; */ public Builder setBatchId(long value) { - bitField0_ |= 0x00000001; + batchId_ = value; onChanged(); return this; } /** - * optional int64 batch_id = 1; + * int64 batch_id = 1; */ public Builder clearBatchId() { - bitField0_ = (bitField0_ & ~0x00000001); + batchId_ = 0L; onChanged(); return this; @@ -9407,7 +9215,7 @@ public final class CanalPacket { @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { - return super.setUnknownFields(unknownFields); + return super.setUnknownFieldsProto3(unknownFields); } @java.lang.Override @@ -9430,7 +9238,7 @@ public final class CanalPacket { return DEFAULT_INSTANCE; } - @java.lang.Deprecated public static final com.google.protobuf.Parser + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Messages parsePartialFrom( @@ -9462,36 +9270,26 @@ public final class CanalPacket { com.google.protobuf.MessageOrBuilder { /** - * optional string journal = 1; - */ - boolean hasJournal(); - /** - * optional string journal = 1; + * string journal = 1; */ java.lang.String getJournal(); /** - * optional string journal = 1; + * string journal = 1; */ com.google.protobuf.ByteString getJournalBytes(); /** - * optional int64 position = 2; - */ - boolean hasPosition(); - /** - * optional int64 position = 2; + * int64 position = 2; */ long getPosition(); /** - * optional int64 timestamp = 3 [default = 0]; - */ - boolean hasTimestamp(); - /** - * optional int64 timestamp = 3 [default = 0]; + * int64 timestamp = 3; */ long getTimestamp(); + + public com.alibaba.otter.canal.protocol.CanalPacket.Dump.TimestampPresentCase getTimestampPresentCase(); } /** *
@@ -9512,7 +9310,6 @@ public final class CanalPacket {
     private Dump() {
       journal_ = "";
       position_ = 0L;
-      timestamp_ = 0L;
     }
 
     @java.lang.Override
@@ -9540,23 +9337,23 @@ public final class CanalPacket {
               done = true;
               break;
             case 10: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000001;
-              journal_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              journal_ = s;
               break;
             }
             case 16: {
-              bitField0_ |= 0x00000002;
+
               position_ = input.readInt64();
               break;
             }
             case 24: {
-              bitField0_ |= 0x00000004;
-              timestamp_ = input.readInt64();
+              timestampPresentCase_ = 3;
+              timestampPresent_ = input.readInt64();
               break;
             }
             default: {
-              if (!parseUnknownField(
+              if (!parseUnknownFieldProto3(
                   input, unknownFields, extensionRegistry, tag)) {
                 done = true;
               }
@@ -9587,17 +9384,46 @@ public final class CanalPacket {
               com.alibaba.otter.canal.protocol.CanalPacket.Dump.class, com.alibaba.otter.canal.protocol.CanalPacket.Dump.Builder.class);
     }
 
-    private int bitField0_;
+    private int timestampPresentCase_ = 0;
+    private java.lang.Object timestampPresent_;
+    public enum TimestampPresentCase
+        implements com.google.protobuf.Internal.EnumLite {
+      TIMESTAMP(3),
+      TIMESTAMPPRESENT_NOT_SET(0);
+      private final int value;
+      private TimestampPresentCase(int value) {
+        this.value = value;
+      }
+      /**
+       * @deprecated Use {@link #forNumber(int)} instead.
+       */
+      @java.lang.Deprecated
+      public static TimestampPresentCase valueOf(int value) {
+        return forNumber(value);
+      }
+
+      public static TimestampPresentCase forNumber(int value) {
+        switch (value) {
+          case 3: return TIMESTAMP;
+          case 0: return TIMESTAMPPRESENT_NOT_SET;
+          default: return null;
+        }
+      }
+      public int getNumber() {
+        return this.value;
+      }
+    };
+
+    public TimestampPresentCase
+    getTimestampPresentCase() {
+      return TimestampPresentCase.forNumber(
+          timestampPresentCase_);
+    }
+
     public static final int JOURNAL_FIELD_NUMBER = 1;
     private volatile java.lang.Object journal_;
     /**
-     * optional string journal = 1;
-     */
-    public boolean hasJournal() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * optional string journal = 1;
+     * string journal = 1;
      */
     public java.lang.String getJournal() {
       java.lang.Object ref = journal_;
@@ -9607,14 +9433,12 @@ public final class CanalPacket {
         com.google.protobuf.ByteString bs = 
             (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
-        if (bs.isValidUtf8()) {
-          journal_ = s;
-        }
+        journal_ = s;
         return s;
       }
     }
     /**
-     * optional string journal = 1;
+     * string journal = 1;
      */
     public com.google.protobuf.ByteString
         getJournalBytes() {
@@ -9633,31 +9457,21 @@ public final class CanalPacket {
     public static final int POSITION_FIELD_NUMBER = 2;
     private long position_;
     /**
-     * optional int64 position = 2;
-     */
-    public boolean hasPosition() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * optional int64 position = 2;
+     * int64 position = 2;
      */
     public long getPosition() {
       return position_;
     }
 
     public static final int TIMESTAMP_FIELD_NUMBER = 3;
-    private long timestamp_;
     /**
-     * optional int64 timestamp = 3 [default = 0];
-     */
-    public boolean hasTimestamp() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    /**
-     * optional int64 timestamp = 3 [default = 0];
+     * int64 timestamp = 3;
      */
     public long getTimestamp() {
-      return timestamp_;
+      if (timestampPresentCase_ == 3) {
+        return (java.lang.Long) timestampPresent_;
+      }
+      return 0L;
     }
 
     private byte memoizedIsInitialized = -1;
@@ -9674,14 +9488,15 @@ public final class CanalPacket {
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+      if (!getJournalBytes().isEmpty()) {
         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, journal_);
       }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
+      if (position_ != 0L) {
         output.writeInt64(2, position_);
       }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
-        output.writeInt64(3, timestamp_);
+      if (timestampPresentCase_ == 3) {
+        output.writeInt64(
+            3, (long)((java.lang.Long) timestampPresent_));
       }
       unknownFields.writeTo(output);
     }
@@ -9692,16 +9507,17 @@ public final class CanalPacket {
       if (size != -1) return size;
 
       size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+      if (!getJournalBytes().isEmpty()) {
         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, journal_);
       }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
+      if (position_ != 0L) {
         size += com.google.protobuf.CodedOutputStream
           .computeInt64Size(2, position_);
       }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
+      if (timestampPresentCase_ == 3) {
         size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(3, timestamp_);
+          .computeInt64Size(
+              3, (long)((java.lang.Long) timestampPresent_));
       }
       size += unknownFields.getSerializedSize();
       memoizedSize = size;
@@ -9719,20 +9535,20 @@ public final class CanalPacket {
       com.alibaba.otter.canal.protocol.CanalPacket.Dump other = (com.alibaba.otter.canal.protocol.CanalPacket.Dump) obj;
 
       boolean result = true;
-      result = result && (hasJournal() == other.hasJournal());
-      if (hasJournal()) {
-        result = result && getJournal()
-            .equals(other.getJournal());
-      }
-      result = result && (hasPosition() == other.hasPosition());
-      if (hasPosition()) {
-        result = result && (getPosition()
-            == other.getPosition());
-      }
-      result = result && (hasTimestamp() == other.hasTimestamp());
-      if (hasTimestamp()) {
-        result = result && (getTimestamp()
-            == other.getTimestamp());
+      result = result && getJournal()
+          .equals(other.getJournal());
+      result = result && (getPosition()
+          == other.getPosition());
+      result = result && getTimestampPresentCase().equals(
+          other.getTimestampPresentCase());
+      if (!result) return false;
+      switch (timestampPresentCase_) {
+        case 3:
+          result = result && (getTimestamp()
+              == other.getTimestamp());
+          break;
+        case 0:
+        default:
       }
       result = result && unknownFields.equals(other.unknownFields);
       return result;
@@ -9745,19 +9561,19 @@ public final class CanalPacket {
       }
       int hash = 41;
       hash = (19 * hash) + getDescriptor().hashCode();
-      if (hasJournal()) {
-        hash = (37 * hash) + JOURNAL_FIELD_NUMBER;
-        hash = (53 * hash) + getJournal().hashCode();
-      }
-      if (hasPosition()) {
-        hash = (37 * hash) + POSITION_FIELD_NUMBER;
-        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-            getPosition());
-      }
-      if (hasTimestamp()) {
-        hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
-        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-            getTimestamp());
+      hash = (37 * hash) + JOURNAL_FIELD_NUMBER;
+      hash = (53 * hash) + getJournal().hashCode();
+      hash = (37 * hash) + POSITION_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+          getPosition());
+      switch (timestampPresentCase_) {
+        case 3:
+          hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
+          hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+              getTimestamp());
+          break;
+        case 0:
+        default:
       }
       hash = (29 * hash) + unknownFields.hashCode();
       memoizedHashCode = hash;
@@ -9897,11 +9713,11 @@ public final class CanalPacket {
       public Builder clear() {
         super.clear();
         journal_ = "";
-        bitField0_ = (bitField0_ & ~0x00000001);
+
         position_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000002);
-        timestamp_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000004);
+
+        timestampPresentCase_ = 0;
+        timestampPresent_ = null;
         return this;
       }
 
@@ -9928,21 +9744,12 @@ public final class CanalPacket {
       @java.lang.Override
       public com.alibaba.otter.canal.protocol.CanalPacket.Dump buildPartial() {
         com.alibaba.otter.canal.protocol.CanalPacket.Dump result = new com.alibaba.otter.canal.protocol.CanalPacket.Dump(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
         result.journal_ = journal_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
         result.position_ = position_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
+        if (timestampPresentCase_ == 3) {
+          result.timestampPresent_ = timestampPresent_;
         }
-        result.timestamp_ = timestamp_;
-        result.bitField0_ = to_bitField0_;
+        result.timestampPresentCase_ = timestampPresentCase_;
         onBuilt();
         return result;
       }
@@ -9991,16 +9798,21 @@ public final class CanalPacket {
 
       public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalPacket.Dump other) {
         if (other == com.alibaba.otter.canal.protocol.CanalPacket.Dump.getDefaultInstance()) return this;
-        if (other.hasJournal()) {
-          bitField0_ |= 0x00000001;
+        if (!other.getJournal().isEmpty()) {
           journal_ = other.journal_;
           onChanged();
         }
-        if (other.hasPosition()) {
+        if (other.getPosition() != 0L) {
           setPosition(other.getPosition());
         }
-        if (other.hasTimestamp()) {
-          setTimestamp(other.getTimestamp());
+        switch (other.getTimestampPresentCase()) {
+          case TIMESTAMP: {
+            setTimestamp(other.getTimestamp());
+            break;
+          }
+          case TIMESTAMPPRESENT_NOT_SET: {
+            break;
+          }
         }
         this.mergeUnknownFields(other.unknownFields);
         onChanged();
@@ -10030,17 +9842,25 @@ public final class CanalPacket {
         }
         return this;
       }
-      private int bitField0_;
+      private int timestampPresentCase_ = 0;
+      private java.lang.Object timestampPresent_;
+      public TimestampPresentCase
+          getTimestampPresentCase() {
+        return TimestampPresentCase.forNumber(
+            timestampPresentCase_);
+      }
+
+      public Builder clearTimestampPresent() {
+        timestampPresentCase_ = 0;
+        timestampPresent_ = null;
+        onChanged();
+        return this;
+      }
+
 
       private java.lang.Object journal_ = "";
       /**
-       * optional string journal = 1;
-       */
-      public boolean hasJournal() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * optional string journal = 1;
+       * string journal = 1;
        */
       public java.lang.String getJournal() {
         java.lang.Object ref = journal_;
@@ -10048,16 +9868,14 @@ public final class CanalPacket {
           com.google.protobuf.ByteString bs =
               (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            journal_ = s;
-          }
+          journal_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
         }
       }
       /**
-       * optional string journal = 1;
+       * string journal = 1;
        */
       public com.google.protobuf.ByteString
           getJournalBytes() {
@@ -10073,36 +9891,37 @@ public final class CanalPacket {
         }
       }
       /**
-       * optional string journal = 1;
+       * string journal = 1;
        */
       public Builder setJournal(
           java.lang.String value) {
         if (value == null) {
     throw new NullPointerException();
   }
-  bitField0_ |= 0x00000001;
+  
         journal_ = value;
         onChanged();
         return this;
       }
       /**
-       * optional string journal = 1;
+       * string journal = 1;
        */
       public Builder clearJournal() {
-        bitField0_ = (bitField0_ & ~0x00000001);
+        
         journal_ = getDefaultInstance().getJournal();
         onChanged();
         return this;
       }
       /**
-       * optional string journal = 1;
+       * string journal = 1;
        */
       public Builder setJournalBytes(
           com.google.protobuf.ByteString value) {
         if (value == null) {
     throw new NullPointerException();
   }
-  bitField0_ |= 0x00000001;
+  checkByteStringIsUtf8(value);
+        
         journal_ = value;
         onChanged();
         return this;
@@ -10110,71 +9929,63 @@ public final class CanalPacket {
 
       private long position_ ;
       /**
-       * optional int64 position = 2;
-       */
-      public boolean hasPosition() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * optional int64 position = 2;
+       * int64 position = 2;
        */
       public long getPosition() {
         return position_;
       }
       /**
-       * optional int64 position = 2;
+       * int64 position = 2;
        */
       public Builder setPosition(long value) {
-        bitField0_ |= 0x00000002;
+        
         position_ = value;
         onChanged();
         return this;
       }
       /**
-       * optional int64 position = 2;
+       * int64 position = 2;
        */
       public Builder clearPosition() {
-        bitField0_ = (bitField0_ & ~0x00000002);
+        
         position_ = 0L;
         onChanged();
         return this;
       }
 
-      private long timestamp_ ;
       /**
-       * optional int64 timestamp = 3 [default = 0];
-       */
-      public boolean hasTimestamp() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      /**
-       * optional int64 timestamp = 3 [default = 0];
+       * int64 timestamp = 3;
        */
       public long getTimestamp() {
-        return timestamp_;
+        if (timestampPresentCase_ == 3) {
+          return (java.lang.Long) timestampPresent_;
+        }
+        return 0L;
       }
       /**
-       * optional int64 timestamp = 3 [default = 0];
+       * int64 timestamp = 3;
        */
       public Builder setTimestamp(long value) {
-        bitField0_ |= 0x00000004;
-        timestamp_ = value;
+        timestampPresentCase_ = 3;
+        timestampPresent_ = value;
         onChanged();
         return this;
       }
       /**
-       * optional int64 timestamp = 3 [default = 0];
+       * int64 timestamp = 3;
        */
       public Builder clearTimestamp() {
-        bitField0_ = (bitField0_ & ~0x00000004);
-        timestamp_ = 0L;
-        onChanged();
+        if (timestampPresentCase_ == 3) {
+          timestampPresentCase_ = 0;
+          timestampPresent_ = null;
+          onChanged();
+        }
         return this;
       }
       @java.lang.Override
       public final Builder setUnknownFields(
           final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
+        return super.setUnknownFieldsProto3(unknownFields);
       }
 
       @java.lang.Override
@@ -10197,7 +10008,7 @@ public final class CanalPacket {
       return DEFAULT_INSTANCE;
     }
 
-    @java.lang.Deprecated public static final com.google.protobuf.Parser
+    private static final com.google.protobuf.Parser
         PARSER = new com.google.protobuf.AbstractParser() {
       @java.lang.Override
       public Dump parsePartialFrom(
@@ -10229,39 +10040,27 @@ public final class CanalPacket {
       com.google.protobuf.MessageOrBuilder {
 
     /**
-     * optional string destination = 1;
-     */
-    boolean hasDestination();
-    /**
-     * optional string destination = 1;
+     * string destination = 1;
      */
     java.lang.String getDestination();
     /**
-     * optional string destination = 1;
+     * string destination = 1;
      */
     com.google.protobuf.ByteString
         getDestinationBytes();
 
     /**
-     * optional string client_id = 2;
-     */
-    boolean hasClientId();
-    /**
-     * optional string client_id = 2;
+     * string client_id = 2;
      */
     java.lang.String getClientId();
     /**
-     * optional string client_id = 2;
+     * string client_id = 2;
      */
     com.google.protobuf.ByteString
         getClientIdBytes();
 
     /**
-     * optional int64 batch_id = 3;
-     */
-    boolean hasBatchId();
-    /**
-     * optional int64 batch_id = 3;
+     * int64 batch_id = 3;
      */
     long getBatchId();
   }
@@ -10308,24 +10107,24 @@ public final class CanalPacket {
               done = true;
               break;
             case 10: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000001;
-              destination_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              destination_ = s;
               break;
             }
             case 18: {
-              com.google.protobuf.ByteString bs = input.readBytes();
-              bitField0_ |= 0x00000002;
-              clientId_ = bs;
+              java.lang.String s = input.readStringRequireUtf8();
+
+              clientId_ = s;
               break;
             }
             case 24: {
-              bitField0_ |= 0x00000004;
+
               batchId_ = input.readInt64();
               break;
             }
             default: {
-              if (!parseUnknownField(
+              if (!parseUnknownFieldProto3(
                   input, unknownFields, extensionRegistry, tag)) {
                 done = true;
               }
@@ -10356,17 +10155,10 @@ public final class CanalPacket {
               com.alibaba.otter.canal.protocol.CanalPacket.ClientRollback.class, com.alibaba.otter.canal.protocol.CanalPacket.ClientRollback.Builder.class);
     }
 
-    private int bitField0_;
     public static final int DESTINATION_FIELD_NUMBER = 1;
     private volatile java.lang.Object destination_;
     /**
-     * optional string destination = 1;
-     */
-    public boolean hasDestination() {
-      return ((bitField0_ & 0x00000001) == 0x00000001);
-    }
-    /**
-     * optional string destination = 1;
+     * string destination = 1;
      */
     public java.lang.String getDestination() {
       java.lang.Object ref = destination_;
@@ -10376,14 +10168,12 @@ public final class CanalPacket {
         com.google.protobuf.ByteString bs = 
             (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
-        if (bs.isValidUtf8()) {
-          destination_ = s;
-        }
+        destination_ = s;
         return s;
       }
     }
     /**
-     * optional string destination = 1;
+     * string destination = 1;
      */
     public com.google.protobuf.ByteString
         getDestinationBytes() {
@@ -10402,13 +10192,7 @@ public final class CanalPacket {
     public static final int CLIENT_ID_FIELD_NUMBER = 2;
     private volatile java.lang.Object clientId_;
     /**
-     * optional string client_id = 2;
-     */
-    public boolean hasClientId() {
-      return ((bitField0_ & 0x00000002) == 0x00000002);
-    }
-    /**
-     * optional string client_id = 2;
+     * string client_id = 2;
      */
     public java.lang.String getClientId() {
       java.lang.Object ref = clientId_;
@@ -10418,14 +10202,12 @@ public final class CanalPacket {
         com.google.protobuf.ByteString bs = 
             (com.google.protobuf.ByteString) ref;
         java.lang.String s = bs.toStringUtf8();
-        if (bs.isValidUtf8()) {
-          clientId_ = s;
-        }
+        clientId_ = s;
         return s;
       }
     }
     /**
-     * optional string client_id = 2;
+     * string client_id = 2;
      */
     public com.google.protobuf.ByteString
         getClientIdBytes() {
@@ -10444,13 +10226,7 @@ public final class CanalPacket {
     public static final int BATCH_ID_FIELD_NUMBER = 3;
     private long batchId_;
     /**
-     * optional int64 batch_id = 3;
-     */
-    public boolean hasBatchId() {
-      return ((bitField0_ & 0x00000004) == 0x00000004);
-    }
-    /**
-     * optional int64 batch_id = 3;
+     * int64 batch_id = 3;
      */
     public long getBatchId() {
       return batchId_;
@@ -10470,13 +10246,13 @@ public final class CanalPacket {
     @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+      if (!getDestinationBytes().isEmpty()) {
         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, destination_);
       }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
+      if (!getClientIdBytes().isEmpty()) {
         com.google.protobuf.GeneratedMessageV3.writeString(output, 2, clientId_);
       }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
+      if (batchId_ != 0L) {
         output.writeInt64(3, batchId_);
       }
       unknownFields.writeTo(output);
@@ -10488,13 +10264,13 @@ public final class CanalPacket {
       if (size != -1) return size;
 
       size = 0;
-      if (((bitField0_ & 0x00000001) == 0x00000001)) {
+      if (!getDestinationBytes().isEmpty()) {
         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, destination_);
       }
-      if (((bitField0_ & 0x00000002) == 0x00000002)) {
+      if (!getClientIdBytes().isEmpty()) {
         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, clientId_);
       }
-      if (((bitField0_ & 0x00000004) == 0x00000004)) {
+      if (batchId_ != 0L) {
         size += com.google.protobuf.CodedOutputStream
           .computeInt64Size(3, batchId_);
       }
@@ -10514,21 +10290,12 @@ public final class CanalPacket {
       com.alibaba.otter.canal.protocol.CanalPacket.ClientRollback other = (com.alibaba.otter.canal.protocol.CanalPacket.ClientRollback) obj;
 
       boolean result = true;
-      result = result && (hasDestination() == other.hasDestination());
-      if (hasDestination()) {
-        result = result && getDestination()
-            .equals(other.getDestination());
-      }
-      result = result && (hasClientId() == other.hasClientId());
-      if (hasClientId()) {
-        result = result && getClientId()
-            .equals(other.getClientId());
-      }
-      result = result && (hasBatchId() == other.hasBatchId());
-      if (hasBatchId()) {
-        result = result && (getBatchId()
-            == other.getBatchId());
-      }
+      result = result && getDestination()
+          .equals(other.getDestination());
+      result = result && getClientId()
+          .equals(other.getClientId());
+      result = result && (getBatchId()
+          == other.getBatchId());
       result = result && unknownFields.equals(other.unknownFields);
       return result;
     }
@@ -10540,19 +10307,13 @@ public final class CanalPacket {
       }
       int hash = 41;
       hash = (19 * hash) + getDescriptor().hashCode();
-      if (hasDestination()) {
-        hash = (37 * hash) + DESTINATION_FIELD_NUMBER;
-        hash = (53 * hash) + getDestination().hashCode();
-      }
-      if (hasClientId()) {
-        hash = (37 * hash) + CLIENT_ID_FIELD_NUMBER;
-        hash = (53 * hash) + getClientId().hashCode();
-      }
-      if (hasBatchId()) {
-        hash = (37 * hash) + BATCH_ID_FIELD_NUMBER;
-        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-            getBatchId());
-      }
+      hash = (37 * hash) + DESTINATION_FIELD_NUMBER;
+      hash = (53 * hash) + getDestination().hashCode();
+      hash = (37 * hash) + CLIENT_ID_FIELD_NUMBER;
+      hash = (53 * hash) + getClientId().hashCode();
+      hash = (37 * hash) + BATCH_ID_FIELD_NUMBER;
+      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
+          getBatchId());
       hash = (29 * hash) + unknownFields.hashCode();
       memoizedHashCode = hash;
       return hash;
@@ -10687,11 +10448,11 @@ public final class CanalPacket {
       public Builder clear() {
         super.clear();
         destination_ = "";
-        bitField0_ = (bitField0_ & ~0x00000001);
+
         clientId_ = "";
-        bitField0_ = (bitField0_ & ~0x00000002);
+
         batchId_ = 0L;
-        bitField0_ = (bitField0_ & ~0x00000004);
+
         return this;
       }
 
@@ -10718,21 +10479,9 @@ public final class CanalPacket {
       @java.lang.Override
       public com.alibaba.otter.canal.protocol.CanalPacket.ClientRollback buildPartial() {
         com.alibaba.otter.canal.protocol.CanalPacket.ClientRollback result = new com.alibaba.otter.canal.protocol.CanalPacket.ClientRollback(this);
-        int from_bitField0_ = bitField0_;
-        int to_bitField0_ = 0;
-        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
-          to_bitField0_ |= 0x00000001;
-        }
         result.destination_ = destination_;
-        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
-          to_bitField0_ |= 0x00000002;
-        }
         result.clientId_ = clientId_;
-        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
-          to_bitField0_ |= 0x00000004;
-        }
         result.batchId_ = batchId_;
-        result.bitField0_ = to_bitField0_;
         onBuilt();
         return result;
       }
@@ -10781,17 +10530,15 @@ public final class CanalPacket {
 
       public Builder mergeFrom(com.alibaba.otter.canal.protocol.CanalPacket.ClientRollback other) {
         if (other == com.alibaba.otter.canal.protocol.CanalPacket.ClientRollback.getDefaultInstance()) return this;
-        if (other.hasDestination()) {
-          bitField0_ |= 0x00000001;
+        if (!other.getDestination().isEmpty()) {
           destination_ = other.destination_;
           onChanged();
         }
-        if (other.hasClientId()) {
-          bitField0_ |= 0x00000002;
+        if (!other.getClientId().isEmpty()) {
           clientId_ = other.clientId_;
           onChanged();
         }
-        if (other.hasBatchId()) {
+        if (other.getBatchId() != 0L) {
           setBatchId(other.getBatchId());
         }
         this.mergeUnknownFields(other.unknownFields);
@@ -10822,17 +10569,10 @@ public final class CanalPacket {
         }
         return this;
       }
-      private int bitField0_;
 
       private java.lang.Object destination_ = "";
       /**
-       * optional string destination = 1;
-       */
-      public boolean hasDestination() {
-        return ((bitField0_ & 0x00000001) == 0x00000001);
-      }
-      /**
-       * optional string destination = 1;
+       * string destination = 1;
        */
       public java.lang.String getDestination() {
         java.lang.Object ref = destination_;
@@ -10840,16 +10580,14 @@ public final class CanalPacket {
           com.google.protobuf.ByteString bs =
               (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            destination_ = s;
-          }
+          destination_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
         }
       }
       /**
-       * optional string destination = 1;
+       * string destination = 1;
        */
       public com.google.protobuf.ByteString
           getDestinationBytes() {
@@ -10865,36 +10603,37 @@ public final class CanalPacket {
         }
       }
       /**
-       * optional string destination = 1;
+       * string destination = 1;
        */
       public Builder setDestination(
           java.lang.String value) {
         if (value == null) {
     throw new NullPointerException();
   }
-  bitField0_ |= 0x00000001;
+  
         destination_ = value;
         onChanged();
         return this;
       }
       /**
-       * optional string destination = 1;
+       * string destination = 1;
        */
       public Builder clearDestination() {
-        bitField0_ = (bitField0_ & ~0x00000001);
+        
         destination_ = getDefaultInstance().getDestination();
         onChanged();
         return this;
       }
       /**
-       * optional string destination = 1;
+       * string destination = 1;
        */
       public Builder setDestinationBytes(
           com.google.protobuf.ByteString value) {
         if (value == null) {
     throw new NullPointerException();
   }
-  bitField0_ |= 0x00000001;
+  checkByteStringIsUtf8(value);
+        
         destination_ = value;
         onChanged();
         return this;
@@ -10902,13 +10641,7 @@ public final class CanalPacket {
 
       private java.lang.Object clientId_ = "";
       /**
-       * optional string client_id = 2;
-       */
-      public boolean hasClientId() {
-        return ((bitField0_ & 0x00000002) == 0x00000002);
-      }
-      /**
-       * optional string client_id = 2;
+       * string client_id = 2;
        */
       public java.lang.String getClientId() {
         java.lang.Object ref = clientId_;
@@ -10916,16 +10649,14 @@ public final class CanalPacket {
           com.google.protobuf.ByteString bs =
               (com.google.protobuf.ByteString) ref;
           java.lang.String s = bs.toStringUtf8();
-          if (bs.isValidUtf8()) {
-            clientId_ = s;
-          }
+          clientId_ = s;
           return s;
         } else {
           return (java.lang.String) ref;
         }
       }
       /**
-       * optional string client_id = 2;
+       * string client_id = 2;
        */
       public com.google.protobuf.ByteString
           getClientIdBytes() {
@@ -10941,36 +10672,37 @@ public final class CanalPacket {
         }
       }
       /**
-       * optional string client_id = 2;
+       * string client_id = 2;
        */
       public Builder setClientId(
           java.lang.String value) {
         if (value == null) {
     throw new NullPointerException();
   }
-  bitField0_ |= 0x00000002;
+  
         clientId_ = value;
         onChanged();
         return this;
       }
       /**
-       * optional string client_id = 2;
+       * string client_id = 2;
        */
       public Builder clearClientId() {
-        bitField0_ = (bitField0_ & ~0x00000002);
+        
         clientId_ = getDefaultInstance().getClientId();
         onChanged();
         return this;
       }
       /**
-       * optional string client_id = 2;
+       * string client_id = 2;
        */
       public Builder setClientIdBytes(
           com.google.protobuf.ByteString value) {
         if (value == null) {
     throw new NullPointerException();
   }
-  bitField0_ |= 0x00000002;
+  checkByteStringIsUtf8(value);
+        
         clientId_ = value;
         onChanged();
         return this;
@@ -10978,31 +10710,25 @@ public final class CanalPacket {
 
       private long batchId_ ;
       /**
-       * optional int64 batch_id = 3;
-       */
-      public boolean hasBatchId() {
-        return ((bitField0_ & 0x00000004) == 0x00000004);
-      }
-      /**
-       * optional int64 batch_id = 3;
+       * int64 batch_id = 3;
        */
       public long getBatchId() {
         return batchId_;
       }
       /**
-       * optional int64 batch_id = 3;
+       * int64 batch_id = 3;
        */
       public Builder setBatchId(long value) {
-        bitField0_ |= 0x00000004;
+        
         batchId_ = value;
         onChanged();
         return this;
       }
       /**
-       * optional int64 batch_id = 3;
+       * int64 batch_id = 3;
        */
       public Builder clearBatchId() {
-        bitField0_ = (bitField0_ & ~0x00000004);
+        
         batchId_ = 0L;
         onChanged();
         return this;
@@ -11010,7 +10736,7 @@ public final class CanalPacket {
       @java.lang.Override
       public final Builder setUnknownFields(
           final com.google.protobuf.UnknownFieldSet unknownFields) {
-        return super.setUnknownFields(unknownFields);
+        return super.setUnknownFieldsProto3(unknownFields);
       }
 
       @java.lang.Override
@@ -11033,7 +10759,7 @@ public final class CanalPacket {
       return DEFAULT_INSTANCE;
     }
 
-    @java.lang.Deprecated public static final com.google.protobuf.Parser
+    private static final com.google.protobuf.Parser
         PARSER = new com.google.protobuf.AbstractParser() {
       @java.lang.Override
       public ClientRollback parsePartialFrom(
@@ -11130,44 +10856,52 @@ public final class CanalPacket {
   static {
     java.lang.String[] descriptorData = {
       "\n\023CanalProtocol.proto\022 com.alibaba.otter" +
-      ".canal.protocol\"\312\001\n\006Packet\022\030\n\014magic_numb" +
-      "er\030\001 \001(\005:\00217\022\022\n\007version\030\002 \001(\005:\0011\022:\n\004type" +
-      "\030\003 \001(\0162,.com.alibaba.otter.canal.protoco" +
-      "l.PacketType\022H\n\013compression\030\004 \001(\0162-.com." +
-      "alibaba.otter.canal.protocol.Compression" +
-      ":\004NONE\022\014\n\004body\030\005 \001(\014\"<\n\tHeartBeat\022\026\n\016sen" +
-      "d_timestamp\030\001 \001(\003\022\027\n\017start_timestamp\030\002 \001" +
-      "(\003\"\217\001\n\tHandshake\022$\n\026communication_encodi" +
-      "ng\030\001 \001(\t:\004utf8\022\r\n\005seeds\030\002 \001(\014\022M\n\026support" +
-      "ed_compressions\030\003 \003(\0162-.com.alibaba.otte" +
-      "r.canal.protocol.Compression\"\274\001\n\nClientA" +
-      "uth\022\020\n\010username\030\001 \001(\t\022\020\n\010password\030\002 \001(\014\022" +
-      "\033\n\020net_read_timeout\030\003 \001(\005:\0010\022\034\n\021net_writ" +
-      "e_timeout\030\004 \001(\005:\0010\022\023\n\013destination\030\005 \001(\t\022" +
-      "\021\n\tclient_id\030\006 \001(\t\022\016\n\006filter\030\007 \001(\t\022\027\n\017st" +
-      "art_timestamp\030\010 \001(\003\"3\n\003Ack\022\025\n\nerror_code" +
-      "\030\001 \001(\005:\0010\022\025\n\rerror_message\030\002 \001(\t\"E\n\tClie" +
-      "ntAck\022\023\n\013destination\030\001 \001(\t\022\021\n\tclient_id\030" +
-      "\002 \001(\t\022\020\n\010batch_id\030\003 \001(\003\"=\n\003Sub\022\023\n\013destin" +
-      "ation\030\001 \001(\t\022\021\n\tclient_id\030\002 \001(\t\022\016\n\006filter" +
-      "\030\007 \001(\t\"?\n\005Unsub\022\023\n\013destination\030\001 \001(\t\022\021\n\t" +
-      "client_id\030\002 \001(\t\022\016\n\006filter\030\007 \001(\t\"\200\001\n\003Get\022" +
-      "\023\n\013destination\030\001 \001(\t\022\021\n\tclient_id\030\002 \001(\t\022" +
-      "\022\n\nfetch_size\030\003 \001(\005\022\023\n\007timeout\030\004 \001(\003:\002-1" +
-      "\022\017\n\004unit\030\005 \001(\005:\0012\022\027\n\010auto_ack\030\006 \001(\010:\005fal" +
-      "se\".\n\010Messages\022\020\n\010batch_id\030\001 \001(\003\022\020\n\010mess" +
-      "ages\030\002 \003(\014\"?\n\004Dump\022\017\n\007journal\030\001 \001(\t\022\020\n\010p" +
-      "osition\030\002 \001(\003\022\024\n\ttimestamp\030\003 \001(\003:\0010\"J\n\016C" +
-      "lientRollback\022\023\n\013destination\030\001 \001(\t\022\021\n\tcl" +
-      "ient_id\030\002 \001(\t\022\020\n\010batch_id\030\003 \001(\003*4\n\013Compr" +
-      "ession\022\010\n\004NONE\020\001\022\010\n\004ZLIB\020\002\022\010\n\004GZIP\020\003\022\007\n\003" +
-      "LZF\020\004*\305\001\n\nPacketType\022\r\n\tHANDSHAKE\020\001\022\030\n\024C" +
-      "LIENTAUTHENTICATION\020\002\022\007\n\003ACK\020\003\022\020\n\014SUBSCR" +
-      "IPTION\020\004\022\022\n\016UNSUBSCRIPTION\020\005\022\007\n\003GET\020\006\022\014\n" +
-      "\010MESSAGES\020\007\022\r\n\tCLIENTACK\020\010\022\014\n\010SHUTDOWN\020\t" +
-      "\022\010\n\004DUMP\020\n\022\r\n\tHEARTBEAT\020\013\022\022\n\016CLIENTROLLB" +
-      "ACK\020\014B1\n com.alibaba.otter.canal.protoco" +
-      "lB\013CanalPacketH\001"
+      ".canal.protocol\"\205\002\n\006Packet\022\026\n\014magic_numb" +
+      "er\030\001 \001(\005H\000\022\021\n\007version\030\002 \001(\005H\001\022:\n\004type\030\003 " +
+      "\001(\0162,.com.alibaba.otter.canal.protocol.P" +
+      "acketType\022D\n\013compression\030\004 \001(\0162-.com.ali" +
+      "baba.otter.canal.protocol.CompressionH\002\022" +
+      "\014\n\004body\030\005 \001(\014B\026\n\024magic_number_presentB\021\n" +
+      "\017version_presentB\025\n\023compression_present\"" +
+      "<\n\tHeartBeat\022\026\n\016send_timestamp\030\001 \001(\003\022\027\n\017" +
+      "start_timestamp\030\002 \001(\003\"\255\001\n\tHandshake\022 \n\026c" +
+      "ommunication_encoding\030\001 \001(\tH\000\022\r\n\005seeds\030\002" +
+      " \001(\014\022M\n\026supported_compressions\030\003 \001(\0162-.c" +
+      "om.alibaba.otter.canal.protocol.Compress" +
+      "ionB \n\036communication_encoding_present\"\363\001" +
+      "\n\nClientAuth\022\020\n\010username\030\001 \001(\t\022\020\n\010passwo" +
+      "rd\030\002 \001(\014\022\032\n\020net_read_timeout\030\003 \001(\005H\000\022\033\n\021" +
+      "net_write_timeout\030\004 \001(\005H\001\022\023\n\013destination" +
+      "\030\005 \001(\t\022\021\n\tclient_id\030\006 \001(\t\022\016\n\006filter\030\007 \001(" +
+      "\t\022\027\n\017start_timestamp\030\010 \001(\003B\032\n\030net_read_t" +
+      "imeout_presentB\033\n\031net_write_timeout_pres" +
+      "ent\"H\n\003Ack\022\024\n\nerror_code\030\001 \001(\005H\000\022\025\n\rerro" +
+      "r_message\030\002 \001(\tB\024\n\022error_code_present\"E\n" +
+      "\tClientAck\022\023\n\013destination\030\001 \001(\t\022\021\n\tclien" +
+      "t_id\030\002 \001(\t\022\020\n\010batch_id\030\003 \001(\003\"=\n\003Sub\022\023\n\013d" +
+      "estination\030\001 \001(\t\022\021\n\tclient_id\030\002 \001(\t\022\016\n\006f" +
+      "ilter\030\007 \001(\t\"?\n\005Unsub\022\023\n\013destination\030\001 \001(" +
+      "\t\022\021\n\tclient_id\030\002 \001(\t\022\016\n\006filter\030\007 \001(\t\"\257\001\n" +
+      "\003Get\022\023\n\013destination\030\001 \001(\t\022\021\n\tclient_id\030\002" +
+      " \001(\t\022\022\n\nfetch_size\030\003 \001(\005\022\021\n\007timeout\030\004 \001(" +
+      "\003H\000\022\016\n\004unit\030\005 \001(\005H\001\022\022\n\010auto_ack\030\006 \001(\010H\002B" +
+      "\021\n\017timeout_presentB\016\n\014unit_presentB\022\n\020au" +
+      "to_ack_present\".\n\010Messages\022\020\n\010batch_id\030\001" +
+      " \001(\003\022\020\n\010messages\030\002 \003(\014\"S\n\004Dump\022\017\n\007journa" +
+      "l\030\001 \001(\t\022\020\n\010position\030\002 \001(\003\022\023\n\ttimestamp\030\003" +
+      " \001(\003H\000B\023\n\021timestamp_present\"J\n\016ClientRol" +
+      "lback\022\023\n\013destination\030\001 \001(\t\022\021\n\tclient_id\030" +
+      "\002 \001(\t\022\020\n\010batch_id\030\003 \001(\003*U\n\013Compression\022\037" +
+      "\n\033COMPRESSIONCOMPATIBLEPROTO2\020\000\022\010\n\004NONE\020" +
+      "\001\022\010\n\004ZLIB\020\002\022\010\n\004GZIP\020\003\022\007\n\003LZF\020\004*\346\001\n\nPacke" +
+      "tType\022\037\n\033PACKAGETYPECOMPATIBLEPROTO2\020\000\022\r" +
+      "\n\tHANDSHAKE\020\001\022\030\n\024CLIENTAUTHENTICATION\020\002\022" +
+      "\007\n\003ACK\020\003\022\020\n\014SUBSCRIPTION\020\004\022\022\n\016UNSUBSCRIP" +
+      "TION\020\005\022\007\n\003GET\020\006\022\014\n\010MESSAGES\020\007\022\r\n\tCLIENTA" +
+      "CK\020\010\022\014\n\010SHUTDOWN\020\t\022\010\n\004DUMP\020\n\022\r\n\tHEARTBEA" +
+      "T\020\013\022\022\n\016CLIENTROLLBACK\020\014B1\n com.alibaba.o" +
+      "tter.canal.protocolB\013CanalPacketH\001b\006prot" +
+      "o3"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
         new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
@@ -11186,7 +10920,7 @@ public final class CanalPacket {
     internal_static_com_alibaba_otter_canal_protocol_Packet_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_com_alibaba_otter_canal_protocol_Packet_descriptor,
-        new java.lang.String[] { "MagicNumber", "Version", "Type", "Compression", "Body", });
+        new java.lang.String[] { "MagicNumber", "Version", "Type", "Compression", "Body", "MagicNumberPresent", "VersionPresent", "CompressionPresent", });
     internal_static_com_alibaba_otter_canal_protocol_HeartBeat_descriptor =
       getDescriptor().getMessageTypes().get(1);
     internal_static_com_alibaba_otter_canal_protocol_HeartBeat_fieldAccessorTable = new
@@ -11198,19 +10932,19 @@ public final class CanalPacket {
     internal_static_com_alibaba_otter_canal_protocol_Handshake_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_com_alibaba_otter_canal_protocol_Handshake_descriptor,
-        new java.lang.String[] { "CommunicationEncoding", "Seeds", "SupportedCompressions", });
+        new java.lang.String[] { "CommunicationEncoding", "Seeds", "SupportedCompressions", "CommunicationEncodingPresent", });
     internal_static_com_alibaba_otter_canal_protocol_ClientAuth_descriptor =
       getDescriptor().getMessageTypes().get(3);
     internal_static_com_alibaba_otter_canal_protocol_ClientAuth_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_com_alibaba_otter_canal_protocol_ClientAuth_descriptor,
-        new java.lang.String[] { "Username", "Password", "NetReadTimeout", "NetWriteTimeout", "Destination", "ClientId", "Filter", "StartTimestamp", });
+        new java.lang.String[] { "Username", "Password", "NetReadTimeout", "NetWriteTimeout", "Destination", "ClientId", "Filter", "StartTimestamp", "NetReadTimeoutPresent", "NetWriteTimeoutPresent", });
     internal_static_com_alibaba_otter_canal_protocol_Ack_descriptor =
       getDescriptor().getMessageTypes().get(4);
     internal_static_com_alibaba_otter_canal_protocol_Ack_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_com_alibaba_otter_canal_protocol_Ack_descriptor,
-        new java.lang.String[] { "ErrorCode", "ErrorMessage", });
+        new java.lang.String[] { "ErrorCode", "ErrorMessage", "ErrorCodePresent", });
     internal_static_com_alibaba_otter_canal_protocol_ClientAck_descriptor =
       getDescriptor().getMessageTypes().get(5);
     internal_static_com_alibaba_otter_canal_protocol_ClientAck_fieldAccessorTable = new
@@ -11234,7 +10968,7 @@ public final class CanalPacket {
     internal_static_com_alibaba_otter_canal_protocol_Get_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_com_alibaba_otter_canal_protocol_Get_descriptor,
-        new java.lang.String[] { "Destination", "ClientId", "FetchSize", "Timeout", "Unit", "AutoAck", });
+        new java.lang.String[] { "Destination", "ClientId", "FetchSize", "Timeout", "Unit", "AutoAck", "TimeoutPresent", "UnitPresent", "AutoAckPresent", });
     internal_static_com_alibaba_otter_canal_protocol_Messages_descriptor =
       getDescriptor().getMessageTypes().get(9);
     internal_static_com_alibaba_otter_canal_protocol_Messages_fieldAccessorTable = new
@@ -11246,7 +10980,7 @@ public final class CanalPacket {
     internal_static_com_alibaba_otter_canal_protocol_Dump_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_com_alibaba_otter_canal_protocol_Dump_descriptor,
-        new java.lang.String[] { "Journal", "Position", "Timestamp", });
+        new java.lang.String[] { "Journal", "Position", "Timestamp", "TimestampPresent", });
     internal_static_com_alibaba_otter_canal_protocol_ClientRollback_descriptor =
       getDescriptor().getMessageTypes().get(11);
     internal_static_com_alibaba_otter_canal_protocol_ClientRollback_fieldAccessorTable = new
diff --git a/protocol/src/main/java/com/alibaba/otter/canal/protocol/CanalProtocol.proto b/protocol/src/main/java/com/alibaba/otter/canal/protocol/CanalProtocol.proto
index 9de91150..e4e35b6d 100644
--- a/protocol/src/main/java/com/alibaba/otter/canal/protocol/CanalProtocol.proto
+++ b/protocol/src/main/java/com/alibaba/otter/canal/protocol/CanalProtocol.proto
@@ -1,4 +1,4 @@
-syntax = "proto2";
+syntax = "proto3";
 package com.alibaba.otter.canal.protocol;
 
 option java_package = "com.alibaba.otter.canal.protocol";
@@ -6,6 +6,7 @@ option java_outer_classname = "CanalPacket";
 option optimize_for = SPEED;
 
 enum Compression {
+    COMPRESSIONCOMPATIBLEPROTO2 = 0;
     NONE = 1;
     ZLIB = 2;
     GZIP = 3;
@@ -13,6 +14,8 @@ enum Compression {
 }
 
 enum PacketType {
+    //compatible
+    PACKAGETYPECOMPATIBLEPROTO2 = 0;
     HANDSHAKE = 1;
     CLIENTAUTHENTICATION = 2;
     ACK = 3;
@@ -30,86 +33,122 @@ enum PacketType {
 }
 
 message Packet {
-    optional int32 magic_number = 1 [default = 17];
-    optional int32 version = 2 [default = 1];
-    optional PacketType type = 3;
-    optional Compression compression = 4 [default = NONE];
-    optional bytes body = 5;
+     //[default = 17];
+     oneof magic_number_present {
+         int32 magic_number = 1;
+     }
+     //[default = 1];
+     oneof version_present {
+          int32 version = 2;
+     };
+     PacketType type = 3;
+     //[default = NONE];
+     oneof compression_present {
+          Compression compression = 4;
+     }
+
+     bytes body = 5;
 }
 
 message HeartBeat {
-    optional int64 send_timestamp = 1;
-    optional int64 start_timestamp = 2;
+     int64 send_timestamp = 1;
+     int64 start_timestamp = 2;
 }
 
 message Handshake {
-    optional string communication_encoding = 1 [default = "utf8"];
-    optional bytes seeds = 2;
-    repeated Compression supported_compressions = 3;
+    //  [default = "utf8"];
+    oneof communication_encoding_present {
+        string communication_encoding = 1;
+    }
+     bytes seeds = 2;
+     Compression supported_compressions = 3;
 }
 
 // client authentication
 message ClientAuth {
-    optional string username = 1;
-    optional bytes password = 2; // hashed password with seeds from Handshake message
-    optional int32 net_read_timeout = 3 [default = 0]; // in seconds
-    optional int32 net_write_timeout = 4 [default = 0]; // in seconds
-    optional string destination = 5;
-    optional string client_id = 6;
-    optional string filter = 7;
-    optional int64 start_timestamp = 8;
+    string username = 1;
+    bytes password = 2; // hashed password with seeds from Handshake message
+    // [default = 0]
+    oneof net_read_timeout_present {
+         int32 net_read_timeout = 3; // in seconds
+    }
+    // [default = 0];
+    oneof net_write_timeout_present {
+        int32 net_write_timeout = 4; // in seconds
+    }
+    string destination = 5;
+    string client_id = 6;
+    string filter = 7;
+    int64 start_timestamp = 8;
 }
 
 message Ack {
-    optional int32 error_code = 1 [default = 0];
-    optional string error_message = 2; // if something like compression is not supported, erorr_message will tell about it.
+    //[default = 0]
+    oneof error_code_present {
+        int32 error_code = 1;
+    }
+    string error_message = 2; // if something like compression is not supported, erorr_message will tell about it.
 }
 
 message ClientAck {
-    optional string destination = 1;
-    optional string client_id = 2;
-    optional int64 batch_id = 3;
+    string destination = 1;
+    string client_id = 2;
+    int64 batch_id = 3;
 }
 
 // subscription
 message Sub {
-    optional string destination = 1;
-    optional string client_id = 2;
-    optional string filter = 7;
+    string destination = 1;
+    string client_id = 2;
+    string filter = 7;
 }
 
 // Unsubscription
 message Unsub {
-    optional string destination = 1;
-    optional string client_id = 2;
-    optional string filter = 7;
+    string destination = 1;
+    string client_id = 2;
+    string filter = 7;
 }
 
 //  PullRequest
 message Get {
-    optional string destination = 1;
-    optional string client_id = 2;
-    optional int32 fetch_size = 3;
-    optional int64 timeout = 4 [default = -1]; // 默认-1时代表不控制
-    optional int32 unit = 5 [default = 2];// 数字类型,0:纳秒,1:毫秒,2:微秒,3:秒,4:分钟,5:小时,6:天
-    optional bool auto_ack = 6 [default = false]; // 是否自动ack
+    string destination = 1;
+    string client_id = 2;
+    int32 fetch_size = 3;
+    //[default = -1]
+    oneof timeout_present {
+        int64 timeout = 4; // 默认-1时代表不控制
+    }
+    //[default = 2]
+    oneof unit_present {
+        int32 unit = 5;// 数字类型,0:纳秒,1:毫秒,2:微秒,3:秒,4:分钟,5:小时,6:天
+    }
+    //[default = false]
+    oneof auto_ack_present {
+        bool auto_ack = 6; // 是否自动ack
+    }
+
 }
 
 //
 message Messages {
-	optional int64 batch_id = 1;
+	int64 batch_id = 1;
     repeated bytes messages = 2;
 }
 
 // TBD when new packets are required
 message Dump{
-    optional string journal = 1;
-    optional int64  position = 2;
-    optional int64 timestamp = 3 [default = 0];
+    string journal = 1;
+    int64  position = 2;
+    // [default = 0]
+    oneof timestamp_present {
+        int64 timestamp = 3;
+    }
+
 }
 
 message ClientRollback{
-    optional string destination = 1;
-    optional string client_id = 2;
-    optional int64 batch_id = 3;
+    string destination = 1;
+    string client_id = 2;
+    int64 batch_id = 3;
 }
\ No newline at end of file
diff --git a/protocol/src/main/java/com/alibaba/otter/canal/protocol/EntryProtocol.proto b/protocol/src/main/java/com/alibaba/otter/canal/protocol/EntryProtocol.proto
index c755921d..1330bbc7 100644
--- a/protocol/src/main/java/com/alibaba/otter/canal/protocol/EntryProtocol.proto
+++ b/protocol/src/main/java/com/alibaba/otter/canal/protocol/EntryProtocol.proto
@@ -1,4 +1,4 @@
-syntax = "proto2";
+syntax = "proto3";
 package com.alibaba.otter.canal.protocol;
 
 option java_package = "com.alibaba.otter.canal.protocol";
@@ -11,88 +11,101 @@ option optimize_for = SPEED;
  ****************************************************************/
 message Entry {
 	/**协议头部信息**/
-	optional Header						header 				= 1;
-	
-	/**打散后的事件类型**/
-	optional EntryType					entryType			= 2 [default = ROWDATA];
-	
+     Header						header 				= 1;
+	///**打散后的事件类型**/ [default = ROWDATA]
+	oneof entryType_present{
+		EntryType					entryType			= 2;
+	}
+
 	/**传输的二进制数组**/
-	optional bytes						storeValue			= 3;
+	bytes						storeValue			= 3;
 }
 
 /**message Header**/
 message Header {
-	/**协议的版本号**/
-	optional int32 					version				= 1 [default = 1];	
-	
+	/**协议的版本号**/  //[default = 1]
+	oneof version_present {
+		int32 					version				= 1;
+	}
+
+
 	/**binlog/redolog 文件名**/
-	optional string					logfileName			= 2;
-	
+	string					logfileName			= 2;
+
 	/**binlog/redolog 文件的偏移位置**/
-	optional int64 					logfileOffset		= 3;
-	
+	int64 					logfileOffset		= 3;
+
 	/**服务端serverId**/
-	optional 	int64				serverId         	= 4;	
-	
+	int64				serverId         	= 4;
+
 	/** 变更数据的编码 **/
-	optional string					serverenCode		= 5;
-	
+	string					serverenCode		= 5;
+
 	/**变更数据的执行时间 **/
-	optional int64					executeTime			= 6;
-	
-	/** 变更数据的来源**/
-	optional Type					sourceType			= 7 [default = MYSQL];
-	
+	int64					executeTime			= 6;
+
+	/** 变更数据的来源**/ //[default = MYSQL]
+	oneof sourceType_present {
+		Type					sourceType			= 7;
+	}
+
+
 	/** 变更数据的schemaname**/
-	optional string					schemaName			= 8;
-	
+	string					schemaName			= 8;
+
 	/**变更数据的tablename**/
-	optional string					tableName			= 9;	
-	
+	string					tableName			= 9;
+
 	/**每个event的长度**/
-	optional int64					eventLength         = 10;
-	
-	/**数据变更类型**/
-	optional EventType 				eventType			= 11 [default = UPDATE];
-	
+	int64					eventLength         = 10;
+
+	/**数据变更类型**/  // [default = UPDATE]
+	oneof eventType_present {
+		EventType 				eventType			= 11;
+	}
+
+
 	/**预留扩展**/
 	repeated Pair					props				= 12;
 
     /**当前事务的gitd**/
-	optional string                 gtid                = 13;
+	string                 gtid                = 13;
 }
 
 /**每个字段的数据结构**/
 message Column {
 	/**字段下标**/
-	optional int32		index			= 		1;
-	
+	int32		index			= 		1;
+
 	/**字段java中类型**/
-	optional int32 		sqlType			= 		2;
-	
+	int32 		sqlType			= 		2;
+
 	/**字段名称(忽略大小写),在mysql中是没有的**/
-	optional string		name			=		3;
-	
+	string		name			=		3;
+
 	/**是否是主键**/
-	optional bool 		isKey			= 		4;
-	
+	bool 		isKey			= 		4;
+
 	/**如果EventType=UPDATE,用于标识这个字段值是否有修改**/
-	optional bool		updated			= 		5;
-	
-	/** 标识是否为空  **/
-	optional bool		isNull			= 		6 [default = false];
-	
+	bool		updated			= 		5;
+
+	/** 标识是否为空  **/ //[default = false]
+	oneof isNull_present {
+		bool		isNull			= 		6;
+	}
+
+
 	/**预留扩展**/
-	repeated Pair		props			=		7;	
-	
+	repeated Pair		props			=		7;
+
 	/** 字段值,timestamp,Datetime是一个时间格式的文本 **/
-	optional string		value			= 		8;
-	
+	string		value			= 		8;
+
 	/** 对应数据对象原始长度 **/
-	optional int32		length			= 		9;
-	
+	int32		length			= 		9;
+
 	/**字段mysql类型**/
-	optional string		mysqlType		= 		10;
+	string		mysqlType		= 		10;
 }
 
 message RowData {
@@ -102,73 +115,81 @@ message RowData {
 
 	/** 字段信息,增量数据(修改后,新增后)  **/
 	repeated Column			afterColumns	= 		2;
-	
+
 	/**预留扩展**/
-	repeated Pair			props			=		3;	
+	repeated Pair			props			=		3;
 }
 
 /**message row 每行变更数据的数据结构**/
 message RowChange {
 
 	/**tableId,由数据库产生**/
-	optional int64	 		tableId			=		1;
-	
-	/**数据变更类型**/
-	optional EventType 		eventType		= 		2 [default = UPDATE];
-	
-	/** 标识是否是ddl语句  **/
-	optional bool			isDdl			= 		10 [default = false];
+	int64	 		tableId			=		1;
+
+
+	/**数据变更类型**/ //[default = UPDATE]
+	oneof eventType_present {
+		EventType 		eventType		= 		2;
+	}
+
+
+	/** 标识是否是ddl语句  **/ // [default = false]
+	oneof isDdl_present {
+		bool			isDdl			= 		10;
+	}
+
 
 	/** ddl/query的sql语句  **/
-	optional string			sql 			= 		11;
-	
+	string			sql 			= 		11;
+
 	/** 一次数据库变更可能存在多行  **/
 	repeated RowData		rowDatas		= 		12;
-	
+
 	/**预留扩展**/
-	repeated Pair			props			=		13;	
-	
+	repeated Pair			props			=		13;
+
 	/** ddl/query的schemaName,会存在跨库ddl,需要保留执行ddl的当前schemaName  **/
-	optional string			ddlSchemaName 	= 		14;
+	string			ddlSchemaName 	= 		14;
 }
 
 /**开始事务的一些信息**/
 message TransactionBegin{
-	
+
 	/**已废弃,请使用header里的executeTime**/
-	optional int64			executeTime		=		1;
-	
+	int64			executeTime		=		1;
+
 	/**已废弃,Begin里不提供事务id**/
-	optional string			transactionId	=		2;
-	
+	string			transactionId	=		2;
+
 	/**预留扩展**/
-	repeated Pair			props			=		3;	
-	
+	repeated Pair			props			=		3;
+
 	/**执行的thread Id**/
-	optional int64			threadId		=		4;
+	int64			threadId		=		4;
 }
 
 /**结束事务的一些信息**/
 message TransactionEnd{
-	
+
 	/**已废弃,请使用header里的executeTime**/
-	optional int64			executeTime		=		1;
-	
+	int64			executeTime		=		1;
+
 	/**事务号**/
-	optional string			transactionId	=		2;
-	
+	string			transactionId	=		2;
+
 	/**预留扩展**/
-	repeated Pair			props			=		3;	
+	repeated Pair			props			=		3;
 }
 
 /**预留扩展**/
 message Pair{
-	optional string 		key				= 			1;	
-	optional string 		value			= 			2;	
+	string 		key				= 			1;
+	string 		value			= 			2;
 }
 
 /**打散后的事件类型,主要用于标识事务的开始,变更数据,结束**/
 enum EntryType{
+	ENTRYTYPECOMPATIBLEPROTO2 = 0;
 	TRANSACTIONBEGIN 		=		1;
 	ROWDATA					=		2;
 	TRANSACTIONEND			=		3;
@@ -179,6 +200,7 @@ enum EntryType{
 
 /** 事件类型 **/
 enum EventType {
+	EVENTTYPECOMPATIBLEPROTO2 = 0;
     INSERT 		= 		1;
     UPDATE 		= 		2;
     DELETE 		= 		3;
@@ -201,6 +223,7 @@ enum EventType {
 
 /**数据库类型**/
 enum Type {
+	TYPECOMPATIBLEPROTO2 = 0;
     ORACLE		= 		1;
     MYSQL		= 		2;
     PGSQL		= 		3;
diff --git a/server/src/test/java/com/alibaba/otter/canal/server/CanalServerWithNettyTest.java b/server/src/test/java/com/alibaba/otter/canal/server/CanalServerWithNettyTest.java
index 3b3c0ee0..673918fe 100644
--- a/server/src/test/java/com/alibaba/otter/canal/server/CanalServerWithNettyTest.java
+++ b/server/src/test/java/com/alibaba/otter/canal/server/CanalServerWithNettyTest.java
@@ -66,6 +66,8 @@ public class CanalServerWithNettyTest {
 
     @Test
     public void testAuth() {
+
+
         try {
             SocketChannel channel = SocketChannel.open();
             channel.connect(new InetSocketAddress("127.0.0.1", 1088));
@@ -80,7 +82,7 @@ public class CanalServerWithNettyTest {
             }
             //
             Handshake handshake = Handshake.parseFrom(p.getBody());
-            System.out.println(handshake.getSupportedCompressionsList());
+            System.out.println(handshake.getSupportedCompressions());
             //
             ClientAuth ca = ClientAuth.newBuilder()
                 .setUsername("")