All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aliyun.openservices.ots.protocol.OtsProtocol2 Maven / Gradle / Ivy

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

package com.aliyun.openservices.ots.protocol;

public final class OtsProtocol2 {
  private OtsProtocol2() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  public enum ColumnType
      implements com.google.protobuf.ProtocolMessageEnum {
    INF_MIN(0, 0),
    INF_MAX(1, 1),
    INTEGER(2, 2),
    STRING(3, 3),
    BOOLEAN(4, 4),
    DOUBLE(5, 5),
    BINARY(6, 6),
    ;
    
    public static final int INF_MIN_VALUE = 0;
    public static final int INF_MAX_VALUE = 1;
    public static final int INTEGER_VALUE = 2;
    public static final int STRING_VALUE = 3;
    public static final int BOOLEAN_VALUE = 4;
    public static final int DOUBLE_VALUE = 5;
    public static final int BINARY_VALUE = 6;
    
    
    public final int getNumber() { return value; }
    
    public static ColumnType valueOf(int value) {
      switch (value) {
        case 0: return INF_MIN;
        case 1: return INF_MAX;
        case 2: return INTEGER;
        case 3: return STRING;
        case 4: return BOOLEAN;
        case 5: return DOUBLE;
        case 6: return BINARY;
        default: return null;
      }
    }
    
    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public ColumnType findValueByNumber(int number) {
              return ColumnType.valueOf(number);
            }
          };
    
    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.getDescriptor().getEnumTypes().get(0);
    }
    
    private static final ColumnType[] VALUES = {
      INF_MIN, INF_MAX, INTEGER, STRING, BOOLEAN, DOUBLE, BINARY, 
    };
    
    public static ColumnType valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }
    
    private final int index;
    private final int value;
    
    private ColumnType(int index, int value) {
      this.index = index;
      this.value = value;
    }
    
    // @@protoc_insertion_point(enum_scope:com.aliyun.openservices.ots.protocol.ColumnType)
  }
  
  public enum RowExistenceExpectation
      implements com.google.protobuf.ProtocolMessageEnum {
    IGNORE(0, 0),
    EXPECT_EXIST(1, 1),
    EXPECT_NOT_EXIST(2, 2),
    ;
    
    public static final int IGNORE_VALUE = 0;
    public static final int EXPECT_EXIST_VALUE = 1;
    public static final int EXPECT_NOT_EXIST_VALUE = 2;
    
    
    public final int getNumber() { return value; }
    
    public static RowExistenceExpectation valueOf(int value) {
      switch (value) {
        case 0: return IGNORE;
        case 1: return EXPECT_EXIST;
        case 2: return EXPECT_NOT_EXIST;
        default: return null;
      }
    }
    
    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public RowExistenceExpectation findValueByNumber(int number) {
              return RowExistenceExpectation.valueOf(number);
            }
          };
    
    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.getDescriptor().getEnumTypes().get(1);
    }
    
    private static final RowExistenceExpectation[] VALUES = {
      IGNORE, EXPECT_EXIST, EXPECT_NOT_EXIST, 
    };
    
    public static RowExistenceExpectation valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }
    
    private final int index;
    private final int value;
    
    private RowExistenceExpectation(int index, int value) {
      this.index = index;
      this.value = value;
    }
    
    // @@protoc_insertion_point(enum_scope:com.aliyun.openservices.ots.protocol.RowExistenceExpectation)
  }
  
  public enum ColumnConditionType
      implements com.google.protobuf.ProtocolMessageEnum {
    CCT_RELATION(0, 1),
    CCT_COMPOSITE(1, 2),
    ;
    
    public static final int CCT_RELATION_VALUE = 1;
    public static final int CCT_COMPOSITE_VALUE = 2;
    
    
    public final int getNumber() { return value; }
    
    public static ColumnConditionType valueOf(int value) {
      switch (value) {
        case 1: return CCT_RELATION;
        case 2: return CCT_COMPOSITE;
        default: return null;
      }
    }
    
    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public ColumnConditionType findValueByNumber(int number) {
              return ColumnConditionType.valueOf(number);
            }
          };
    
    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.getDescriptor().getEnumTypes().get(2);
    }
    
    private static final ColumnConditionType[] VALUES = {
      CCT_RELATION, CCT_COMPOSITE, 
    };
    
    public static ColumnConditionType valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }
    
    private final int index;
    private final int value;
    
    private ColumnConditionType(int index, int value) {
      this.index = index;
      this.value = value;
    }
    
    // @@protoc_insertion_point(enum_scope:com.aliyun.openservices.ots.protocol.ColumnConditionType)
  }
  
  public enum ComparatorType
      implements com.google.protobuf.ProtocolMessageEnum {
    CT_EQUAL(0, 1),
    CT_NOT_EQUAL(1, 2),
    CT_GREATER_THAN(2, 3),
    CT_GREATER_EQUAL(3, 4),
    CT_LESS_THAN(4, 5),
    CT_LESS_EQUAL(5, 6),
    ;
    
    public static final int CT_EQUAL_VALUE = 1;
    public static final int CT_NOT_EQUAL_VALUE = 2;
    public static final int CT_GREATER_THAN_VALUE = 3;
    public static final int CT_GREATER_EQUAL_VALUE = 4;
    public static final int CT_LESS_THAN_VALUE = 5;
    public static final int CT_LESS_EQUAL_VALUE = 6;
    
    
    public final int getNumber() { return value; }
    
    public static ComparatorType valueOf(int value) {
      switch (value) {
        case 1: return CT_EQUAL;
        case 2: return CT_NOT_EQUAL;
        case 3: return CT_GREATER_THAN;
        case 4: return CT_GREATER_EQUAL;
        case 5: return CT_LESS_THAN;
        case 6: return CT_LESS_EQUAL;
        default: return null;
      }
    }
    
    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public ComparatorType findValueByNumber(int number) {
              return ComparatorType.valueOf(number);
            }
          };
    
    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.getDescriptor().getEnumTypes().get(3);
    }
    
    private static final ComparatorType[] VALUES = {
      CT_EQUAL, CT_NOT_EQUAL, CT_GREATER_THAN, CT_GREATER_EQUAL, CT_LESS_THAN, CT_LESS_EQUAL, 
    };
    
    public static ComparatorType valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }
    
    private final int index;
    private final int value;
    
    private ComparatorType(int index, int value) {
      this.index = index;
      this.value = value;
    }
    
    // @@protoc_insertion_point(enum_scope:com.aliyun.openservices.ots.protocol.ComparatorType)
  }
  
  public enum LogicalOperator
      implements com.google.protobuf.ProtocolMessageEnum {
    LO_NOT(0, 1),
    LO_AND(1, 2),
    LO_OR(2, 3),
    ;
    
    public static final int LO_NOT_VALUE = 1;
    public static final int LO_AND_VALUE = 2;
    public static final int LO_OR_VALUE = 3;
    
    
    public final int getNumber() { return value; }
    
    public static LogicalOperator valueOf(int value) {
      switch (value) {
        case 1: return LO_NOT;
        case 2: return LO_AND;
        case 3: return LO_OR;
        default: return null;
      }
    }
    
    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public LogicalOperator findValueByNumber(int number) {
              return LogicalOperator.valueOf(number);
            }
          };
    
    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.getDescriptor().getEnumTypes().get(4);
    }
    
    private static final LogicalOperator[] VALUES = {
      LO_NOT, LO_AND, LO_OR, 
    };
    
    public static LogicalOperator valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }
    
    private final int index;
    private final int value;
    
    private LogicalOperator(int index, int value) {
      this.index = index;
      this.value = value;
    }
    
    // @@protoc_insertion_point(enum_scope:com.aliyun.openservices.ots.protocol.LogicalOperator)
  }
  
  public enum OperationType
      implements com.google.protobuf.ProtocolMessageEnum {
    PUT(0, 1),
    DELETE(1, 2),
    ;
    
    public static final int PUT_VALUE = 1;
    public static final int DELETE_VALUE = 2;
    
    
    public final int getNumber() { return value; }
    
    public static OperationType valueOf(int value) {
      switch (value) {
        case 1: return PUT;
        case 2: return DELETE;
        default: return null;
      }
    }
    
    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public OperationType findValueByNumber(int number) {
              return OperationType.valueOf(number);
            }
          };
    
    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.getDescriptor().getEnumTypes().get(5);
    }
    
    private static final OperationType[] VALUES = {
      PUT, DELETE, 
    };
    
    public static OperationType valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }
    
    private final int index;
    private final int value;
    
    private OperationType(int index, int value) {
      this.index = index;
      this.value = value;
    }
    
    // @@protoc_insertion_point(enum_scope:com.aliyun.openservices.ots.protocol.OperationType)
  }
  
  public enum Direction
      implements com.google.protobuf.ProtocolMessageEnum {
    FORWARD(0, 0),
    BACKWARD(1, 1),
    ;
    
    public static final int FORWARD_VALUE = 0;
    public static final int BACKWARD_VALUE = 1;
    
    
    public final int getNumber() { return value; }
    
    public static Direction valueOf(int value) {
      switch (value) {
        case 0: return FORWARD;
        case 1: return BACKWARD;
        default: return null;
      }
    }
    
    public static com.google.protobuf.Internal.EnumLiteMap
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap() {
            public Direction findValueByNumber(int number) {
              return Direction.valueOf(number);
            }
          };
    
    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.getDescriptor().getEnumTypes().get(6);
    }
    
    private static final Direction[] VALUES = {
      FORWARD, BACKWARD, 
    };
    
    public static Direction valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }
    
    private final int index;
    private final int value;
    
    private Direction(int index, int value) {
      this.index = index;
      this.value = value;
    }
    
    // @@protoc_insertion_point(enum_scope:com.aliyun.openservices.ots.protocol.Direction)
  }
  
  public interface ErrorOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required string code = 1;
    boolean hasCode();
    String getCode();
    
    // optional string message = 2;
    boolean hasMessage();
    String getMessage();
  }
  public static final class Error extends
      com.google.protobuf.GeneratedMessage
      implements ErrorOrBuilder {
    // Use Error.newBuilder() to construct.
    private Error(Builder builder) {
      super(builder);
    }
    private Error(boolean noInit) {}
    
    private static final Error defaultInstance;
    public static Error getDefaultInstance() {
      return defaultInstance;
    }
    
    public Error getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_Error_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_Error_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string code = 1;
    public static final int CODE_FIELD_NUMBER = 1;
    private java.lang.Object code_;
    public boolean hasCode() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getCode() {
      java.lang.Object ref = code_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          code_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getCodeBytes() {
      java.lang.Object ref = code_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        code_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // optional string message = 2;
    public static final int MESSAGE_FIELD_NUMBER = 2;
    private java.lang.Object message_;
    public boolean hasMessage() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public String getMessage() {
      java.lang.Object ref = message_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          message_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getMessageBytes() {
      java.lang.Object ref = message_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        message_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    private void initFields() {
      code_ = "";
      message_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasCode()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getCodeBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getMessageBytes());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getCodeBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getMessageBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Error parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Error parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Error parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Error parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Error parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Error parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Error parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Error parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Error parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Error parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.Error prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.ErrorOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_Error_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_Error_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        code_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        message_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Error getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Error build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.Error result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.Error buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.Error result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Error buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.Error result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.Error(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.code_ = code_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.message_ = message_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.Error) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.Error)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.Error other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.getDefaultInstance()) return this;
        if (other.hasCode()) {
          setCode(other.getCode());
        }
        if (other.hasMessage()) {
          setMessage(other.getMessage());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasCode()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              code_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              message_ = input.readBytes();
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string code = 1;
      private java.lang.Object code_ = "";
      public boolean hasCode() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getCode() {
        java.lang.Object ref = code_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          code_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setCode(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        code_ = value;
        onChanged();
        return this;
      }
      public Builder clearCode() {
        bitField0_ = (bitField0_ & ~0x00000001);
        code_ = getDefaultInstance().getCode();
        onChanged();
        return this;
      }
      void setCode(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        code_ = value;
        onChanged();
      }
      
      // optional string message = 2;
      private java.lang.Object message_ = "";
      public boolean hasMessage() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public String getMessage() {
        java.lang.Object ref = message_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          message_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setMessage(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        message_ = value;
        onChanged();
        return this;
      }
      public Builder clearMessage() {
        bitField0_ = (bitField0_ & ~0x00000002);
        message_ = getDefaultInstance().getMessage();
        onChanged();
        return this;
      }
      void setMessage(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000002;
        message_ = value;
        onChanged();
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.Error)
    }
    
    static {
      defaultInstance = new Error(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.Error)
  }
  
  public interface ColumnSchemaOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required string name = 1;
    boolean hasName();
    String getName();
    
    // required .com.aliyun.openservices.ots.protocol.ColumnType type = 2;
    boolean hasType();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType getType();
  }
  public static final class ColumnSchema extends
      com.google.protobuf.GeneratedMessage
      implements ColumnSchemaOrBuilder {
    // Use ColumnSchema.newBuilder() to construct.
    private ColumnSchema(Builder builder) {
      super(builder);
    }
    private ColumnSchema(boolean noInit) {}
    
    private static final ColumnSchema defaultInstance;
    public static ColumnSchema getDefaultInstance() {
      return defaultInstance;
    }
    
    public ColumnSchema getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ColumnSchema_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ColumnSchema_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string name = 1;
    public static final int NAME_FIELD_NUMBER = 1;
    private java.lang.Object name_;
    public boolean hasName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          name_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // required .com.aliyun.openservices.ots.protocol.ColumnType type = 2;
    public static final int TYPE_FIELD_NUMBER = 2;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType type_;
    public boolean hasType() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType getType() {
      return type_;
    }
    
    private void initFields() {
      name_ = "";
      type_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType.INF_MIN;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasType()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeEnum(2, type_.getNumber());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(2, type_.getNumber());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchemaOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ColumnSchema_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ColumnSchema_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        name_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        type_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType.INF_MIN;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.name_ = name_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.type_ = type_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.getDefaultInstance()) return this;
        if (other.hasName()) {
          setName(other.getName());
        }
        if (other.hasType()) {
          setType(other.getType());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasName()) {
          
          return false;
        }
        if (!hasType()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              name_ = input.readBytes();
              break;
            }
            case 16: {
              int rawValue = input.readEnum();
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType value = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(2, rawValue);
              } else {
                bitField0_ |= 0x00000002;
                type_ = value;
              }
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string name = 1;
      private java.lang.Object name_ = "";
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        name_ = value;
        onChanged();
        return this;
      }
      public Builder clearName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      void setName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        name_ = value;
        onChanged();
      }
      
      // required .com.aliyun.openservices.ots.protocol.ColumnType type = 2;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType type_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType.INF_MIN;
      public boolean hasType() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType getType() {
        return type_;
      }
      public Builder setType(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000002;
        type_ = value;
        onChanged();
        return this;
      }
      public Builder clearType() {
        bitField0_ = (bitField0_ & ~0x00000002);
        type_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType.INF_MIN;
        onChanged();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.ColumnSchema)
    }
    
    static {
      defaultInstance = new ColumnSchema(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.ColumnSchema)
  }
  
  public interface ColumnValueOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.ColumnType type = 1;
    boolean hasType();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType getType();
    
    // optional int64 v_int = 2;
    boolean hasVInt();
    long getVInt();
    
    // optional string v_string = 3;
    boolean hasVString();
    String getVString();
    
    // optional bool v_bool = 4;
    boolean hasVBool();
    boolean getVBool();
    
    // optional double v_double = 5;
    boolean hasVDouble();
    double getVDouble();
    
    // optional bytes v_binary = 6;
    boolean hasVBinary();
    com.google.protobuf.ByteString getVBinary();
  }
  public static final class ColumnValue extends
      com.google.protobuf.GeneratedMessage
      implements ColumnValueOrBuilder {
    // Use ColumnValue.newBuilder() to construct.
    private ColumnValue(Builder builder) {
      super(builder);
    }
    private ColumnValue(boolean noInit) {}
    
    private static final ColumnValue defaultInstance;
    public static ColumnValue getDefaultInstance() {
      return defaultInstance;
    }
    
    public ColumnValue getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ColumnValue_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ColumnValue_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.ColumnType type = 1;
    public static final int TYPE_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType type_;
    public boolean hasType() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType getType() {
      return type_;
    }
    
    // optional int64 v_int = 2;
    public static final int V_INT_FIELD_NUMBER = 2;
    private long vInt_;
    public boolean hasVInt() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public long getVInt() {
      return vInt_;
    }
    
    // optional string v_string = 3;
    public static final int V_STRING_FIELD_NUMBER = 3;
    private java.lang.Object vString_;
    public boolean hasVString() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    public String getVString() {
      java.lang.Object ref = vString_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          vString_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getVStringBytes() {
      java.lang.Object ref = vString_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        vString_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // optional bool v_bool = 4;
    public static final int V_BOOL_FIELD_NUMBER = 4;
    private boolean vBool_;
    public boolean hasVBool() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    public boolean getVBool() {
      return vBool_;
    }
    
    // optional double v_double = 5;
    public static final int V_DOUBLE_FIELD_NUMBER = 5;
    private double vDouble_;
    public boolean hasVDouble() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    public double getVDouble() {
      return vDouble_;
    }
    
    // optional bytes v_binary = 6;
    public static final int V_BINARY_FIELD_NUMBER = 6;
    private com.google.protobuf.ByteString vBinary_;
    public boolean hasVBinary() {
      return ((bitField0_ & 0x00000020) == 0x00000020);
    }
    public com.google.protobuf.ByteString getVBinary() {
      return vBinary_;
    }
    
    private void initFields() {
      type_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType.INF_MIN;
      vInt_ = 0L;
      vString_ = "";
      vBool_ = false;
      vDouble_ = 0D;
      vBinary_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasType()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeEnum(1, type_.getNumber());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt64(2, vInt_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, getVStringBytes());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBool(4, vBool_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeDouble(5, vDouble_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        output.writeBytes(6, vBinary_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, type_.getNumber());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, vInt_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getVStringBytes());
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, vBool_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeDoubleSize(5, vDouble_);
      }
      if (((bitField0_ & 0x00000020) == 0x00000020)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(6, vBinary_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ColumnValue_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ColumnValue_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        type_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType.INF_MIN;
        bitField0_ = (bitField0_ & ~0x00000001);
        vInt_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000002);
        vString_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        vBool_ = false;
        bitField0_ = (bitField0_ & ~0x00000008);
        vDouble_ = 0D;
        bitField0_ = (bitField0_ & ~0x00000010);
        vBinary_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.type_ = type_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.vInt_ = vInt_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.vString_ = vString_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.vBool_ = vBool_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.vDouble_ = vDouble_;
        if (((from_bitField0_ & 0x00000020) == 0x00000020)) {
          to_bitField0_ |= 0x00000020;
        }
        result.vBinary_ = vBinary_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance()) return this;
        if (other.hasType()) {
          setType(other.getType());
        }
        if (other.hasVInt()) {
          setVInt(other.getVInt());
        }
        if (other.hasVString()) {
          setVString(other.getVString());
        }
        if (other.hasVBool()) {
          setVBool(other.getVBool());
        }
        if (other.hasVDouble()) {
          setVDouble(other.getVDouble());
        }
        if (other.hasVBinary()) {
          setVBinary(other.getVBinary());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasType()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 8: {
              int rawValue = input.readEnum();
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType value = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                bitField0_ |= 0x00000001;
                type_ = value;
              }
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              vInt_ = input.readInt64();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              vString_ = input.readBytes();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              vBool_ = input.readBool();
              break;
            }
            case 41: {
              bitField0_ |= 0x00000010;
              vDouble_ = input.readDouble();
              break;
            }
            case 50: {
              bitField0_ |= 0x00000020;
              vBinary_ = input.readBytes();
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.ColumnType type = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType type_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType.INF_MIN;
      public boolean hasType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType getType() {
        return type_;
      }
      public Builder setType(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        type_ = value;
        onChanged();
        return this;
      }
      public Builder clearType() {
        bitField0_ = (bitField0_ & ~0x00000001);
        type_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnType.INF_MIN;
        onChanged();
        return this;
      }
      
      // optional int64 v_int = 2;
      private long vInt_ ;
      public boolean hasVInt() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public long getVInt() {
        return vInt_;
      }
      public Builder setVInt(long value) {
        bitField0_ |= 0x00000002;
        vInt_ = value;
        onChanged();
        return this;
      }
      public Builder clearVInt() {
        bitField0_ = (bitField0_ & ~0x00000002);
        vInt_ = 0L;
        onChanged();
        return this;
      }
      
      // optional string v_string = 3;
      private java.lang.Object vString_ = "";
      public boolean hasVString() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public String getVString() {
        java.lang.Object ref = vString_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          vString_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setVString(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        vString_ = value;
        onChanged();
        return this;
      }
      public Builder clearVString() {
        bitField0_ = (bitField0_ & ~0x00000004);
        vString_ = getDefaultInstance().getVString();
        onChanged();
        return this;
      }
      void setVString(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000004;
        vString_ = value;
        onChanged();
      }
      
      // optional bool v_bool = 4;
      private boolean vBool_ ;
      public boolean hasVBool() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public boolean getVBool() {
        return vBool_;
      }
      public Builder setVBool(boolean value) {
        bitField0_ |= 0x00000008;
        vBool_ = value;
        onChanged();
        return this;
      }
      public Builder clearVBool() {
        bitField0_ = (bitField0_ & ~0x00000008);
        vBool_ = false;
        onChanged();
        return this;
      }
      
      // optional double v_double = 5;
      private double vDouble_ ;
      public boolean hasVDouble() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      public double getVDouble() {
        return vDouble_;
      }
      public Builder setVDouble(double value) {
        bitField0_ |= 0x00000010;
        vDouble_ = value;
        onChanged();
        return this;
      }
      public Builder clearVDouble() {
        bitField0_ = (bitField0_ & ~0x00000010);
        vDouble_ = 0D;
        onChanged();
        return this;
      }
      
      // optional bytes v_binary = 6;
      private com.google.protobuf.ByteString vBinary_ = com.google.protobuf.ByteString.EMPTY;
      public boolean hasVBinary() {
        return ((bitField0_ & 0x00000020) == 0x00000020);
      }
      public com.google.protobuf.ByteString getVBinary() {
        return vBinary_;
      }
      public Builder setVBinary(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000020;
        vBinary_ = value;
        onChanged();
        return this;
      }
      public Builder clearVBinary() {
        bitField0_ = (bitField0_ & ~0x00000020);
        vBinary_ = getDefaultInstance().getVBinary();
        onChanged();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.ColumnValue)
    }
    
    static {
      defaultInstance = new ColumnValue(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.ColumnValue)
  }
  
  public interface ColumnOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required string name = 1;
    boolean hasName();
    String getName();
    
    // required .com.aliyun.openservices.ots.protocol.ColumnValue value = 2;
    boolean hasValue();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue getValue();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder getValueOrBuilder();
  }
  public static final class Column extends
      com.google.protobuf.GeneratedMessage
      implements ColumnOrBuilder {
    // Use Column.newBuilder() to construct.
    private Column(Builder builder) {
      super(builder);
    }
    private Column(boolean noInit) {}
    
    private static final Column defaultInstance;
    public static Column getDefaultInstance() {
      return defaultInstance;
    }
    
    public Column getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_Column_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_Column_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string name = 1;
    public static final int NAME_FIELD_NUMBER = 1;
    private java.lang.Object name_;
    public boolean hasName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          name_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // required .com.aliyun.openservices.ots.protocol.ColumnValue value = 2;
    public static final int VALUE_FIELD_NUMBER = 2;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue value_;
    public boolean hasValue() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue getValue() {
      return value_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder getValueOrBuilder() {
      return value_;
    }
    
    private void initFields() {
      name_ = "";
      value_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasValue()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getValue().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, value_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, value_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Column parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Column parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Column parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Column parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Column parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Column parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Column parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Column parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Column parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Column parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_Column_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_Column_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getValueFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        name_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (valueBuilder_ == null) {
          value_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance();
        } else {
          valueBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.Column result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.Column buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.Column result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.Column result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.Column(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.name_ = name_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (valueBuilder_ == null) {
          result.value_ = value_;
        } else {
          result.value_ = valueBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.Column) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.Column)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance()) return this;
        if (other.hasName()) {
          setName(other.getName());
        }
        if (other.hasValue()) {
          mergeValue(other.getValue());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasName()) {
          
          return false;
        }
        if (!hasValue()) {
          
          return false;
        }
        if (!getValue().isInitialized()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              name_ = input.readBytes();
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.newBuilder();
              if (hasValue()) {
                subBuilder.mergeFrom(getValue());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setValue(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string name = 1;
      private java.lang.Object name_ = "";
      public boolean hasName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        name_ = value;
        onChanged();
        return this;
      }
      public Builder clearName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      void setName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        name_ = value;
        onChanged();
      }
      
      // required .com.aliyun.openservices.ots.protocol.ColumnValue value = 2;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue value_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder> valueBuilder_;
      public boolean hasValue() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue getValue() {
        if (valueBuilder_ == null) {
          return value_;
        } else {
          return valueBuilder_.getMessage();
        }
      }
      public Builder setValue(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue value) {
        if (valueBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          valueBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder setValue(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder builderForValue) {
        if (valueBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          valueBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder mergeValue(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue value) {
        if (valueBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              value_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance()) {
            value_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.newBuilder(value_).mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          valueBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder clearValue() {
        if (valueBuilder_ == null) {
          value_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance();
          onChanged();
        } else {
          valueBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder getValueBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getValueFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder getValueOrBuilder() {
        if (valueBuilder_ != null) {
          return valueBuilder_.getMessageOrBuilder();
        } else {
          return value_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder> 
          getValueFieldBuilder() {
        if (valueBuilder_ == null) {
          valueBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder>(
                  value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        return valueBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.Column)
    }
    
    static {
      defaultInstance = new Column(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.Column)
  }
  
  public interface RowOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key_columns = 1;
    java.util.List 
        getPrimaryKeyColumnsList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKeyColumns(int index);
    int getPrimaryKeyColumnsCount();
    java.util.List 
        getPrimaryKeyColumnsOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyColumnsOrBuilder(
        int index);
    
    // repeated .com.aliyun.openservices.ots.protocol.Column attribute_columns = 2;
    java.util.List 
        getAttributeColumnsList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getAttributeColumns(int index);
    int getAttributeColumnsCount();
    java.util.List 
        getAttributeColumnsOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getAttributeColumnsOrBuilder(
        int index);
  }
  public static final class Row extends
      com.google.protobuf.GeneratedMessage
      implements RowOrBuilder {
    // Use Row.newBuilder() to construct.
    private Row(Builder builder) {
      super(builder);
    }
    private Row(boolean noInit) {}
    
    private static final Row defaultInstance;
    public static Row getDefaultInstance() {
      return defaultInstance;
    }
    
    public Row getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_Row_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_Row_fieldAccessorTable;
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key_columns = 1;
    public static final int PRIMARY_KEY_COLUMNS_FIELD_NUMBER = 1;
    private java.util.List primaryKeyColumns_;
    public java.util.List getPrimaryKeyColumnsList() {
      return primaryKeyColumns_;
    }
    public java.util.List 
        getPrimaryKeyColumnsOrBuilderList() {
      return primaryKeyColumns_;
    }
    public int getPrimaryKeyColumnsCount() {
      return primaryKeyColumns_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKeyColumns(int index) {
      return primaryKeyColumns_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyColumnsOrBuilder(
        int index) {
      return primaryKeyColumns_.get(index);
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.Column attribute_columns = 2;
    public static final int ATTRIBUTE_COLUMNS_FIELD_NUMBER = 2;
    private java.util.List attributeColumns_;
    public java.util.List getAttributeColumnsList() {
      return attributeColumns_;
    }
    public java.util.List 
        getAttributeColumnsOrBuilderList() {
      return attributeColumns_;
    }
    public int getAttributeColumnsCount() {
      return attributeColumns_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getAttributeColumns(int index) {
      return attributeColumns_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getAttributeColumnsOrBuilder(
        int index) {
      return attributeColumns_.get(index);
    }
    
    private void initFields() {
      primaryKeyColumns_ = java.util.Collections.emptyList();
      attributeColumns_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      for (int i = 0; i < getPrimaryKeyColumnsCount(); i++) {
        if (!getPrimaryKeyColumns(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getAttributeColumnsCount(); i++) {
        if (!getAttributeColumns(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < primaryKeyColumns_.size(); i++) {
        output.writeMessage(1, primaryKeyColumns_.get(i));
      }
      for (int i = 0; i < attributeColumns_.size(); i++) {
        output.writeMessage(2, attributeColumns_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      for (int i = 0; i < primaryKeyColumns_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, primaryKeyColumns_.get(i));
      }
      for (int i = 0; i < attributeColumns_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, attributeColumns_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Row parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Row parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Row parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Row parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Row parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Row parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Row parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Row parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Row parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Row parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.Row prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_Row_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_Row_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getPrimaryKeyColumnsFieldBuilder();
          getAttributeColumnsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (primaryKeyColumnsBuilder_ == null) {
          primaryKeyColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          primaryKeyColumnsBuilder_.clear();
        }
        if (attributeColumnsBuilder_ == null) {
          attributeColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          attributeColumnsBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Row getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Row build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.Row result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.Row buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.Row result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Row buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.Row result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.Row(this);
        int from_bitField0_ = bitField0_;
        if (primaryKeyColumnsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            primaryKeyColumns_ = java.util.Collections.unmodifiableList(primaryKeyColumns_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.primaryKeyColumns_ = primaryKeyColumns_;
        } else {
          result.primaryKeyColumns_ = primaryKeyColumnsBuilder_.build();
        }
        if (attributeColumnsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            attributeColumns_ = java.util.Collections.unmodifiableList(attributeColumns_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.attributeColumns_ = attributeColumns_;
        } else {
          result.attributeColumns_ = attributeColumnsBuilder_.build();
        }
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.Row) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.Row)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.Row other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.getDefaultInstance()) return this;
        if (primaryKeyColumnsBuilder_ == null) {
          if (!other.primaryKeyColumns_.isEmpty()) {
            if (primaryKeyColumns_.isEmpty()) {
              primaryKeyColumns_ = other.primaryKeyColumns_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensurePrimaryKeyColumnsIsMutable();
              primaryKeyColumns_.addAll(other.primaryKeyColumns_);
            }
            onChanged();
          }
        } else {
          if (!other.primaryKeyColumns_.isEmpty()) {
            if (primaryKeyColumnsBuilder_.isEmpty()) {
              primaryKeyColumnsBuilder_.dispose();
              primaryKeyColumnsBuilder_ = null;
              primaryKeyColumns_ = other.primaryKeyColumns_;
              bitField0_ = (bitField0_ & ~0x00000001);
              primaryKeyColumnsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getPrimaryKeyColumnsFieldBuilder() : null;
            } else {
              primaryKeyColumnsBuilder_.addAllMessages(other.primaryKeyColumns_);
            }
          }
        }
        if (attributeColumnsBuilder_ == null) {
          if (!other.attributeColumns_.isEmpty()) {
            if (attributeColumns_.isEmpty()) {
              attributeColumns_ = other.attributeColumns_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureAttributeColumnsIsMutable();
              attributeColumns_.addAll(other.attributeColumns_);
            }
            onChanged();
          }
        } else {
          if (!other.attributeColumns_.isEmpty()) {
            if (attributeColumnsBuilder_.isEmpty()) {
              attributeColumnsBuilder_.dispose();
              attributeColumnsBuilder_ = null;
              attributeColumns_ = other.attributeColumns_;
              bitField0_ = (bitField0_ & ~0x00000002);
              attributeColumnsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getAttributeColumnsFieldBuilder() : null;
            } else {
              attributeColumnsBuilder_.addAllMessages(other.attributeColumns_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        for (int i = 0; i < getPrimaryKeyColumnsCount(); i++) {
          if (!getPrimaryKeyColumns(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getAttributeColumnsCount(); i++) {
          if (!getAttributeColumns(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addPrimaryKeyColumns(subBuilder.buildPartial());
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addAttributeColumns(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // repeated .com.aliyun.openservices.ots.protocol.Column primary_key_columns = 1;
      private java.util.List primaryKeyColumns_ =
        java.util.Collections.emptyList();
      private void ensurePrimaryKeyColumnsIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          primaryKeyColumns_ = new java.util.ArrayList(primaryKeyColumns_);
          bitField0_ |= 0x00000001;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> primaryKeyColumnsBuilder_;
      
      public java.util.List getPrimaryKeyColumnsList() {
        if (primaryKeyColumnsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(primaryKeyColumns_);
        } else {
          return primaryKeyColumnsBuilder_.getMessageList();
        }
      }
      public int getPrimaryKeyColumnsCount() {
        if (primaryKeyColumnsBuilder_ == null) {
          return primaryKeyColumns_.size();
        } else {
          return primaryKeyColumnsBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKeyColumns(int index) {
        if (primaryKeyColumnsBuilder_ == null) {
          return primaryKeyColumns_.get(index);
        } else {
          return primaryKeyColumnsBuilder_.getMessage(index);
        }
      }
      public Builder setPrimaryKeyColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyColumnsIsMutable();
          primaryKeyColumns_.set(index, value);
          onChanged();
        } else {
          primaryKeyColumnsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setPrimaryKeyColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyColumnsBuilder_ == null) {
          ensurePrimaryKeyColumnsIsMutable();
          primaryKeyColumns_.set(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyColumnsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKeyColumns(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyColumnsIsMutable();
          primaryKeyColumns_.add(value);
          onChanged();
        } else {
          primaryKeyColumnsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addPrimaryKeyColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyColumnsIsMutable();
          primaryKeyColumns_.add(index, value);
          onChanged();
        } else {
          primaryKeyColumnsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addPrimaryKeyColumns(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyColumnsBuilder_ == null) {
          ensurePrimaryKeyColumnsIsMutable();
          primaryKeyColumns_.add(builderForValue.build());
          onChanged();
        } else {
          primaryKeyColumnsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKeyColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyColumnsBuilder_ == null) {
          ensurePrimaryKeyColumnsIsMutable();
          primaryKeyColumns_.add(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyColumnsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllPrimaryKeyColumns(
          java.lang.Iterable values) {
        if (primaryKeyColumnsBuilder_ == null) {
          ensurePrimaryKeyColumnsIsMutable();
          super.addAll(values, primaryKeyColumns_);
          onChanged();
        } else {
          primaryKeyColumnsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearPrimaryKeyColumns() {
        if (primaryKeyColumnsBuilder_ == null) {
          primaryKeyColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          primaryKeyColumnsBuilder_.clear();
        }
        return this;
      }
      public Builder removePrimaryKeyColumns(int index) {
        if (primaryKeyColumnsBuilder_ == null) {
          ensurePrimaryKeyColumnsIsMutable();
          primaryKeyColumns_.remove(index);
          onChanged();
        } else {
          primaryKeyColumnsBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder getPrimaryKeyColumnsBuilder(
          int index) {
        return getPrimaryKeyColumnsFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyColumnsOrBuilder(
          int index) {
        if (primaryKeyColumnsBuilder_ == null) {
          return primaryKeyColumns_.get(index);  } else {
          return primaryKeyColumnsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getPrimaryKeyColumnsOrBuilderList() {
        if (primaryKeyColumnsBuilder_ != null) {
          return primaryKeyColumnsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(primaryKeyColumns_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyColumnsBuilder() {
        return getPrimaryKeyColumnsFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyColumnsBuilder(
          int index) {
        return getPrimaryKeyColumnsFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public java.util.List 
           getPrimaryKeyColumnsBuilderList() {
        return getPrimaryKeyColumnsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> 
          getPrimaryKeyColumnsFieldBuilder() {
        if (primaryKeyColumnsBuilder_ == null) {
          primaryKeyColumnsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder>(
                  primaryKeyColumns_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          primaryKeyColumns_ = null;
        }
        return primaryKeyColumnsBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.Column attribute_columns = 2;
      private java.util.List attributeColumns_ =
        java.util.Collections.emptyList();
      private void ensureAttributeColumnsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          attributeColumns_ = new java.util.ArrayList(attributeColumns_);
          bitField0_ |= 0x00000002;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> attributeColumnsBuilder_;
      
      public java.util.List getAttributeColumnsList() {
        if (attributeColumnsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(attributeColumns_);
        } else {
          return attributeColumnsBuilder_.getMessageList();
        }
      }
      public int getAttributeColumnsCount() {
        if (attributeColumnsBuilder_ == null) {
          return attributeColumns_.size();
        } else {
          return attributeColumnsBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getAttributeColumns(int index) {
        if (attributeColumnsBuilder_ == null) {
          return attributeColumns_.get(index);
        } else {
          return attributeColumnsBuilder_.getMessage(index);
        }
      }
      public Builder setAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (attributeColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeColumnsIsMutable();
          attributeColumns_.set(index, value);
          onChanged();
        } else {
          attributeColumnsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.set(index, builderForValue.build());
          onChanged();
        } else {
          attributeColumnsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAttributeColumns(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (attributeColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(value);
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (attributeColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(index, value);
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addAttributeColumns(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(builderForValue.build());
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(index, builderForValue.build());
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllAttributeColumns(
          java.lang.Iterable values) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          super.addAll(values, attributeColumns_);
          onChanged();
        } else {
          attributeColumnsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearAttributeColumns() {
        if (attributeColumnsBuilder_ == null) {
          attributeColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          attributeColumnsBuilder_.clear();
        }
        return this;
      }
      public Builder removeAttributeColumns(int index) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.remove(index);
          onChanged();
        } else {
          attributeColumnsBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder getAttributeColumnsBuilder(
          int index) {
        return getAttributeColumnsFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getAttributeColumnsOrBuilder(
          int index) {
        if (attributeColumnsBuilder_ == null) {
          return attributeColumns_.get(index);  } else {
          return attributeColumnsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getAttributeColumnsOrBuilderList() {
        if (attributeColumnsBuilder_ != null) {
          return attributeColumnsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(attributeColumns_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addAttributeColumnsBuilder() {
        return getAttributeColumnsFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addAttributeColumnsBuilder(
          int index) {
        return getAttributeColumnsFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public java.util.List 
           getAttributeColumnsBuilderList() {
        return getAttributeColumnsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> 
          getAttributeColumnsFieldBuilder() {
        if (attributeColumnsBuilder_ == null) {
          attributeColumnsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder>(
                  attributeColumns_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          attributeColumns_ = null;
        }
        return attributeColumnsBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.Row)
    }
    
    static {
      defaultInstance = new Row(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.Row)
  }
  
  public interface TableMetaOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required string table_name = 1;
    boolean hasTableName();
    String getTableName();
    
    // repeated .com.aliyun.openservices.ots.protocol.ColumnSchema primary_key = 2;
    java.util.List 
        getPrimaryKeyList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema getPrimaryKey(int index);
    int getPrimaryKeyCount();
    java.util.List 
        getPrimaryKeyOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchemaOrBuilder getPrimaryKeyOrBuilder(
        int index);
  }
  public static final class TableMeta extends
      com.google.protobuf.GeneratedMessage
      implements TableMetaOrBuilder {
    // Use TableMeta.newBuilder() to construct.
    private TableMeta(Builder builder) {
      super(builder);
    }
    private TableMeta(boolean noInit) {}
    
    private static final TableMeta defaultInstance;
    public static TableMeta getDefaultInstance() {
      return defaultInstance;
    }
    
    public TableMeta getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableMeta_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableMeta_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string table_name = 1;
    public static final int TABLE_NAME_FIELD_NUMBER = 1;
    private java.lang.Object tableName_;
    public boolean hasTableName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getTableName() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          tableName_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getTableNameBytes() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        tableName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.ColumnSchema primary_key = 2;
    public static final int PRIMARY_KEY_FIELD_NUMBER = 2;
    private java.util.List primaryKey_;
    public java.util.List getPrimaryKeyList() {
      return primaryKey_;
    }
    public java.util.List 
        getPrimaryKeyOrBuilderList() {
      return primaryKey_;
    }
    public int getPrimaryKeyCount() {
      return primaryKey_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema getPrimaryKey(int index) {
      return primaryKey_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchemaOrBuilder getPrimaryKeyOrBuilder(
        int index) {
      return primaryKey_.get(index);
    }
    
    private void initFields() {
      tableName_ = "";
      primaryKey_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasTableName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getPrimaryKeyCount(); i++) {
        if (!getPrimaryKey(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getTableNameBytes());
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        output.writeMessage(2, primaryKey_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getTableNameBytes());
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, primaryKey_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMetaOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableMeta_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableMeta_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getPrimaryKeyFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        tableName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          primaryKeyBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tableName_ = tableName_;
        if (primaryKeyBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            primaryKey_ = java.util.Collections.unmodifiableList(primaryKey_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.primaryKey_ = primaryKey_;
        } else {
          result.primaryKey_ = primaryKeyBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.getDefaultInstance()) return this;
        if (other.hasTableName()) {
          setTableName(other.getTableName());
        }
        if (primaryKeyBuilder_ == null) {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKey_.isEmpty()) {
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensurePrimaryKeyIsMutable();
              primaryKey_.addAll(other.primaryKey_);
            }
            onChanged();
          }
        } else {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKeyBuilder_.isEmpty()) {
              primaryKeyBuilder_.dispose();
              primaryKeyBuilder_ = null;
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000002);
              primaryKeyBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getPrimaryKeyFieldBuilder() : null;
            } else {
              primaryKeyBuilder_.addAllMessages(other.primaryKey_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasTableName()) {
          
          return false;
        }
        for (int i = 0; i < getPrimaryKeyCount(); i++) {
          if (!getPrimaryKey(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              tableName_ = input.readBytes();
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addPrimaryKey(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string table_name = 1;
      private java.lang.Object tableName_ = "";
      public boolean hasTableName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getTableName() {
        java.lang.Object ref = tableName_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          tableName_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setTableName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
        return this;
      }
      public Builder clearTableName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tableName_ = getDefaultInstance().getTableName();
        onChanged();
        return this;
      }
      void setTableName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.ColumnSchema primary_key = 2;
      private java.util.List primaryKey_ =
        java.util.Collections.emptyList();
      private void ensurePrimaryKeyIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          primaryKey_ = new java.util.ArrayList(primaryKey_);
          bitField0_ |= 0x00000002;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchemaOrBuilder> primaryKeyBuilder_;
      
      public java.util.List getPrimaryKeyList() {
        if (primaryKeyBuilder_ == null) {
          return java.util.Collections.unmodifiableList(primaryKey_);
        } else {
          return primaryKeyBuilder_.getMessageList();
        }
      }
      public int getPrimaryKeyCount() {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.size();
        } else {
          return primaryKeyBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema getPrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);
        } else {
          return primaryKeyBuilder_.getMessage(index);
        }
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllPrimaryKey(
          java.lang.Iterable values) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          super.addAll(values, primaryKey_);
          onChanged();
        } else {
          primaryKeyBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearPrimaryKey() {
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          primaryKeyBuilder_.clear();
        }
        return this;
      }
      public Builder removePrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.remove(index);
          onChanged();
        } else {
          primaryKeyBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.Builder getPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchemaOrBuilder getPrimaryKeyOrBuilder(
          int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);  } else {
          return primaryKeyBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getPrimaryKeyOrBuilderList() {
        if (primaryKeyBuilder_ != null) {
          return primaryKeyBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(primaryKey_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.Builder addPrimaryKeyBuilder() {
        return getPrimaryKeyFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.Builder addPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.getDefaultInstance());
      }
      public java.util.List 
           getPrimaryKeyBuilderList() {
        return getPrimaryKeyFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchemaOrBuilder> 
          getPrimaryKeyFieldBuilder() {
        if (primaryKeyBuilder_ == null) {
          primaryKeyBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchemaOrBuilder>(
                  primaryKey_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          primaryKey_ = null;
        }
        return primaryKeyBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.TableMeta)
    }
    
    static {
      defaultInstance = new TableMeta(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.TableMeta)
  }
  
  public interface RelationConditionOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.ComparatorType comparator = 1;
    boolean hasComparator();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ComparatorType getComparator();
    
    // required string column_name = 2;
    boolean hasColumnName();
    String getColumnName();
    
    // required .com.aliyun.openservices.ots.protocol.ColumnValue column_value = 3;
    boolean hasColumnValue();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue getColumnValue();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder getColumnValueOrBuilder();
    
    // required bool pass_if_missing = 4;
    boolean hasPassIfMissing();
    boolean getPassIfMissing();
  }
  public static final class RelationCondition extends
      com.google.protobuf.GeneratedMessage
      implements RelationConditionOrBuilder {
    // Use RelationCondition.newBuilder() to construct.
    private RelationCondition(Builder builder) {
      super(builder);
    }
    private RelationCondition(boolean noInit) {}
    
    private static final RelationCondition defaultInstance;
    public static RelationCondition getDefaultInstance() {
      return defaultInstance;
    }
    
    public RelationCondition getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_RelationCondition_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_RelationCondition_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.ComparatorType comparator = 1;
    public static final int COMPARATOR_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ComparatorType comparator_;
    public boolean hasComparator() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ComparatorType getComparator() {
      return comparator_;
    }
    
    // required string column_name = 2;
    public static final int COLUMN_NAME_FIELD_NUMBER = 2;
    private java.lang.Object columnName_;
    public boolean hasColumnName() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public String getColumnName() {
      java.lang.Object ref = columnName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          columnName_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getColumnNameBytes() {
      java.lang.Object ref = columnName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        columnName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // required .com.aliyun.openservices.ots.protocol.ColumnValue column_value = 3;
    public static final int COLUMN_VALUE_FIELD_NUMBER = 3;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue columnValue_;
    public boolean hasColumnValue() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue getColumnValue() {
      return columnValue_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder getColumnValueOrBuilder() {
      return columnValue_;
    }
    
    // required bool pass_if_missing = 4;
    public static final int PASS_IF_MISSING_FIELD_NUMBER = 4;
    private boolean passIfMissing_;
    public boolean hasPassIfMissing() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    public boolean getPassIfMissing() {
      return passIfMissing_;
    }
    
    private void initFields() {
      comparator_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ComparatorType.CT_EQUAL;
      columnName_ = "";
      columnValue_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance();
      passIfMissing_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasComparator()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasColumnName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasColumnValue()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasPassIfMissing()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getColumnValue().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeEnum(1, comparator_.getNumber());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getColumnNameBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, columnValue_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBool(4, passIfMissing_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, comparator_.getNumber());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getColumnNameBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, columnValue_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, passIfMissing_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationConditionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_RelationCondition_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_RelationCondition_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getColumnValueFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        comparator_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ComparatorType.CT_EQUAL;
        bitField0_ = (bitField0_ & ~0x00000001);
        columnName_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        if (columnValueBuilder_ == null) {
          columnValue_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance();
        } else {
          columnValueBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        passIfMissing_ = false;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.comparator_ = comparator_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.columnName_ = columnName_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (columnValueBuilder_ == null) {
          result.columnValue_ = columnValue_;
        } else {
          result.columnValue_ = columnValueBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.passIfMissing_ = passIfMissing_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition.getDefaultInstance()) return this;
        if (other.hasComparator()) {
          setComparator(other.getComparator());
        }
        if (other.hasColumnName()) {
          setColumnName(other.getColumnName());
        }
        if (other.hasColumnValue()) {
          mergeColumnValue(other.getColumnValue());
        }
        if (other.hasPassIfMissing()) {
          setPassIfMissing(other.getPassIfMissing());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasComparator()) {
          
          return false;
        }
        if (!hasColumnName()) {
          
          return false;
        }
        if (!hasColumnValue()) {
          
          return false;
        }
        if (!hasPassIfMissing()) {
          
          return false;
        }
        if (!getColumnValue().isInitialized()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 8: {
              int rawValue = input.readEnum();
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ComparatorType value = com.aliyun.openservices.ots.protocol.OtsProtocol2.ComparatorType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                bitField0_ |= 0x00000001;
                comparator_ = value;
              }
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              columnName_ = input.readBytes();
              break;
            }
            case 26: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.newBuilder();
              if (hasColumnValue()) {
                subBuilder.mergeFrom(getColumnValue());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setColumnValue(subBuilder.buildPartial());
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              passIfMissing_ = input.readBool();
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.ComparatorType comparator = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ComparatorType comparator_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ComparatorType.CT_EQUAL;
      public boolean hasComparator() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ComparatorType getComparator() {
        return comparator_;
      }
      public Builder setComparator(com.aliyun.openservices.ots.protocol.OtsProtocol2.ComparatorType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        comparator_ = value;
        onChanged();
        return this;
      }
      public Builder clearComparator() {
        bitField0_ = (bitField0_ & ~0x00000001);
        comparator_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ComparatorType.CT_EQUAL;
        onChanged();
        return this;
      }
      
      // required string column_name = 2;
      private java.lang.Object columnName_ = "";
      public boolean hasColumnName() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public String getColumnName() {
        java.lang.Object ref = columnName_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          columnName_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setColumnName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        columnName_ = value;
        onChanged();
        return this;
      }
      public Builder clearColumnName() {
        bitField0_ = (bitField0_ & ~0x00000002);
        columnName_ = getDefaultInstance().getColumnName();
        onChanged();
        return this;
      }
      void setColumnName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000002;
        columnName_ = value;
        onChanged();
      }
      
      // required .com.aliyun.openservices.ots.protocol.ColumnValue column_value = 3;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue columnValue_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder> columnValueBuilder_;
      public boolean hasColumnValue() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue getColumnValue() {
        if (columnValueBuilder_ == null) {
          return columnValue_;
        } else {
          return columnValueBuilder_.getMessage();
        }
      }
      public Builder setColumnValue(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue value) {
        if (columnValueBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          columnValue_ = value;
          onChanged();
        } else {
          columnValueBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      public Builder setColumnValue(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder builderForValue) {
        if (columnValueBuilder_ == null) {
          columnValue_ = builderForValue.build();
          onChanged();
        } else {
          columnValueBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      public Builder mergeColumnValue(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue value) {
        if (columnValueBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              columnValue_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance()) {
            columnValue_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.newBuilder(columnValue_).mergeFrom(value).buildPartial();
          } else {
            columnValue_ = value;
          }
          onChanged();
        } else {
          columnValueBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      public Builder clearColumnValue() {
        if (columnValueBuilder_ == null) {
          columnValue_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance();
          onChanged();
        } else {
          columnValueBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder getColumnValueBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getColumnValueFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder getColumnValueOrBuilder() {
        if (columnValueBuilder_ != null) {
          return columnValueBuilder_.getMessageOrBuilder();
        } else {
          return columnValue_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder> 
          getColumnValueFieldBuilder() {
        if (columnValueBuilder_ == null) {
          columnValueBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder>(
                  columnValue_,
                  getParentForChildren(),
                  isClean());
          columnValue_ = null;
        }
        return columnValueBuilder_;
      }
      
      // required bool pass_if_missing = 4;
      private boolean passIfMissing_ ;
      public boolean hasPassIfMissing() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public boolean getPassIfMissing() {
        return passIfMissing_;
      }
      public Builder setPassIfMissing(boolean value) {
        bitField0_ |= 0x00000008;
        passIfMissing_ = value;
        onChanged();
        return this;
      }
      public Builder clearPassIfMissing() {
        bitField0_ = (bitField0_ & ~0x00000008);
        passIfMissing_ = false;
        onChanged();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.RelationCondition)
    }
    
    static {
      defaultInstance = new RelationCondition(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.RelationCondition)
  }
  
  public interface CompositeConditionOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.LogicalOperator combinator = 1;
    boolean hasCombinator();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.LogicalOperator getCombinator();
    
    // repeated .com.aliyun.openservices.ots.protocol.ColumnCondition sub_conditions = 2;
    java.util.List 
        getSubConditionsList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition getSubConditions(int index);
    int getSubConditionsCount();
    java.util.List 
        getSubConditionsOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder getSubConditionsOrBuilder(
        int index);
  }
  public static final class CompositeCondition extends
      com.google.protobuf.GeneratedMessage
      implements CompositeConditionOrBuilder {
    // Use CompositeCondition.newBuilder() to construct.
    private CompositeCondition(Builder builder) {
      super(builder);
    }
    private CompositeCondition(boolean noInit) {}
    
    private static final CompositeCondition defaultInstance;
    public static CompositeCondition getDefaultInstance() {
      return defaultInstance;
    }
    
    public CompositeCondition getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_CompositeCondition_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_CompositeCondition_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.LogicalOperator combinator = 1;
    public static final int COMBINATOR_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.LogicalOperator combinator_;
    public boolean hasCombinator() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.LogicalOperator getCombinator() {
      return combinator_;
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.ColumnCondition sub_conditions = 2;
    public static final int SUB_CONDITIONS_FIELD_NUMBER = 2;
    private java.util.List subConditions_;
    public java.util.List getSubConditionsList() {
      return subConditions_;
    }
    public java.util.List 
        getSubConditionsOrBuilderList() {
      return subConditions_;
    }
    public int getSubConditionsCount() {
      return subConditions_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition getSubConditions(int index) {
      return subConditions_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder getSubConditionsOrBuilder(
        int index) {
      return subConditions_.get(index);
    }
    
    private void initFields() {
      combinator_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.LogicalOperator.LO_NOT;
      subConditions_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasCombinator()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getSubConditionsCount(); i++) {
        if (!getSubConditions(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeEnum(1, combinator_.getNumber());
      }
      for (int i = 0; i < subConditions_.size(); i++) {
        output.writeMessage(2, subConditions_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, combinator_.getNumber());
      }
      for (int i = 0; i < subConditions_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, subConditions_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeConditionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_CompositeCondition_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_CompositeCondition_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getSubConditionsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        combinator_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.LogicalOperator.LO_NOT;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (subConditionsBuilder_ == null) {
          subConditions_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          subConditionsBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.combinator_ = combinator_;
        if (subConditionsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            subConditions_ = java.util.Collections.unmodifiableList(subConditions_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.subConditions_ = subConditions_;
        } else {
          result.subConditions_ = subConditionsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition.getDefaultInstance()) return this;
        if (other.hasCombinator()) {
          setCombinator(other.getCombinator());
        }
        if (subConditionsBuilder_ == null) {
          if (!other.subConditions_.isEmpty()) {
            if (subConditions_.isEmpty()) {
              subConditions_ = other.subConditions_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureSubConditionsIsMutable();
              subConditions_.addAll(other.subConditions_);
            }
            onChanged();
          }
        } else {
          if (!other.subConditions_.isEmpty()) {
            if (subConditionsBuilder_.isEmpty()) {
              subConditionsBuilder_.dispose();
              subConditionsBuilder_ = null;
              subConditions_ = other.subConditions_;
              bitField0_ = (bitField0_ & ~0x00000002);
              subConditionsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getSubConditionsFieldBuilder() : null;
            } else {
              subConditionsBuilder_.addAllMessages(other.subConditions_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasCombinator()) {
          
          return false;
        }
        for (int i = 0; i < getSubConditionsCount(); i++) {
          if (!getSubConditions(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 8: {
              int rawValue = input.readEnum();
              com.aliyun.openservices.ots.protocol.OtsProtocol2.LogicalOperator value = com.aliyun.openservices.ots.protocol.OtsProtocol2.LogicalOperator.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                bitField0_ |= 0x00000001;
                combinator_ = value;
              }
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addSubConditions(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.LogicalOperator combinator = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.LogicalOperator combinator_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.LogicalOperator.LO_NOT;
      public boolean hasCombinator() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.LogicalOperator getCombinator() {
        return combinator_;
      }
      public Builder setCombinator(com.aliyun.openservices.ots.protocol.OtsProtocol2.LogicalOperator value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        combinator_ = value;
        onChanged();
        return this;
      }
      public Builder clearCombinator() {
        bitField0_ = (bitField0_ & ~0x00000001);
        combinator_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.LogicalOperator.LO_NOT;
        onChanged();
        return this;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.ColumnCondition sub_conditions = 2;
      private java.util.List subConditions_ =
        java.util.Collections.emptyList();
      private void ensureSubConditionsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          subConditions_ = new java.util.ArrayList(subConditions_);
          bitField0_ |= 0x00000002;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder> subConditionsBuilder_;
      
      public java.util.List getSubConditionsList() {
        if (subConditionsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(subConditions_);
        } else {
          return subConditionsBuilder_.getMessageList();
        }
      }
      public int getSubConditionsCount() {
        if (subConditionsBuilder_ == null) {
          return subConditions_.size();
        } else {
          return subConditionsBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition getSubConditions(int index) {
        if (subConditionsBuilder_ == null) {
          return subConditions_.get(index);
        } else {
          return subConditionsBuilder_.getMessage(index);
        }
      }
      public Builder setSubConditions(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition value) {
        if (subConditionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSubConditionsIsMutable();
          subConditions_.set(index, value);
          onChanged();
        } else {
          subConditionsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setSubConditions(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder builderForValue) {
        if (subConditionsBuilder_ == null) {
          ensureSubConditionsIsMutable();
          subConditions_.set(index, builderForValue.build());
          onChanged();
        } else {
          subConditionsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addSubConditions(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition value) {
        if (subConditionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSubConditionsIsMutable();
          subConditions_.add(value);
          onChanged();
        } else {
          subConditionsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addSubConditions(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition value) {
        if (subConditionsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSubConditionsIsMutable();
          subConditions_.add(index, value);
          onChanged();
        } else {
          subConditionsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addSubConditions(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder builderForValue) {
        if (subConditionsBuilder_ == null) {
          ensureSubConditionsIsMutable();
          subConditions_.add(builderForValue.build());
          onChanged();
        } else {
          subConditionsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addSubConditions(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder builderForValue) {
        if (subConditionsBuilder_ == null) {
          ensureSubConditionsIsMutable();
          subConditions_.add(index, builderForValue.build());
          onChanged();
        } else {
          subConditionsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllSubConditions(
          java.lang.Iterable values) {
        if (subConditionsBuilder_ == null) {
          ensureSubConditionsIsMutable();
          super.addAll(values, subConditions_);
          onChanged();
        } else {
          subConditionsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearSubConditions() {
        if (subConditionsBuilder_ == null) {
          subConditions_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          subConditionsBuilder_.clear();
        }
        return this;
      }
      public Builder removeSubConditions(int index) {
        if (subConditionsBuilder_ == null) {
          ensureSubConditionsIsMutable();
          subConditions_.remove(index);
          onChanged();
        } else {
          subConditionsBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder getSubConditionsBuilder(
          int index) {
        return getSubConditionsFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder getSubConditionsOrBuilder(
          int index) {
        if (subConditionsBuilder_ == null) {
          return subConditions_.get(index);  } else {
          return subConditionsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getSubConditionsOrBuilderList() {
        if (subConditionsBuilder_ != null) {
          return subConditionsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(subConditions_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder addSubConditionsBuilder() {
        return getSubConditionsFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder addSubConditionsBuilder(
          int index) {
        return getSubConditionsFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance());
      }
      public java.util.List 
           getSubConditionsBuilderList() {
        return getSubConditionsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder> 
          getSubConditionsFieldBuilder() {
        if (subConditionsBuilder_ == null) {
          subConditionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder>(
                  subConditions_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          subConditions_ = null;
        }
        return subConditionsBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.CompositeCondition)
    }
    
    static {
      defaultInstance = new CompositeCondition(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.CompositeCondition)
  }
  
  public interface ColumnConditionOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.ColumnConditionType type = 1;
    boolean hasType();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionType getType();
    
    // required bytes condition = 2;
    boolean hasCondition();
    com.google.protobuf.ByteString getCondition();
  }
  public static final class ColumnCondition extends
      com.google.protobuf.GeneratedMessage
      implements ColumnConditionOrBuilder {
    // Use ColumnCondition.newBuilder() to construct.
    private ColumnCondition(Builder builder) {
      super(builder);
    }
    private ColumnCondition(boolean noInit) {}
    
    private static final ColumnCondition defaultInstance;
    public static ColumnCondition getDefaultInstance() {
      return defaultInstance;
    }
    
    public ColumnCondition getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ColumnCondition_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ColumnCondition_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.ColumnConditionType type = 1;
    public static final int TYPE_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionType type_;
    public boolean hasType() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionType getType() {
      return type_;
    }
    
    // required bytes condition = 2;
    public static final int CONDITION_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString condition_;
    public boolean hasCondition() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public com.google.protobuf.ByteString getCondition() {
      return condition_;
    }
    
    private void initFields() {
      type_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionType.CCT_RELATION;
      condition_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasType()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasCondition()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeEnum(1, type_.getNumber());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, condition_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, type_.getNumber());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, condition_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ColumnCondition_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ColumnCondition_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        type_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionType.CCT_RELATION;
        bitField0_ = (bitField0_ & ~0x00000001);
        condition_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.type_ = type_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.condition_ = condition_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance()) return this;
        if (other.hasType()) {
          setType(other.getType());
        }
        if (other.hasCondition()) {
          setCondition(other.getCondition());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasType()) {
          
          return false;
        }
        if (!hasCondition()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 8: {
              int rawValue = input.readEnum();
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionType value = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                bitField0_ |= 0x00000001;
                type_ = value;
              }
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              condition_ = input.readBytes();
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.ColumnConditionType type = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionType type_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionType.CCT_RELATION;
      public boolean hasType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionType getType() {
        return type_;
      }
      public Builder setType(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        type_ = value;
        onChanged();
        return this;
      }
      public Builder clearType() {
        bitField0_ = (bitField0_ & ~0x00000001);
        type_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionType.CCT_RELATION;
        onChanged();
        return this;
      }
      
      // required bytes condition = 2;
      private com.google.protobuf.ByteString condition_ = com.google.protobuf.ByteString.EMPTY;
      public boolean hasCondition() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.google.protobuf.ByteString getCondition() {
        return condition_;
      }
      public Builder setCondition(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        condition_ = value;
        onChanged();
        return this;
      }
      public Builder clearCondition() {
        bitField0_ = (bitField0_ & ~0x00000002);
        condition_ = getDefaultInstance().getCondition();
        onChanged();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.ColumnCondition)
    }
    
    static {
      defaultInstance = new ColumnCondition(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.ColumnCondition)
  }
  
  public interface ConditionOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.RowExistenceExpectation row_existence = 1;
    boolean hasRowExistence();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.RowExistenceExpectation getRowExistence();
    
    // optional .com.aliyun.openservices.ots.protocol.ColumnCondition column_condition = 2;
    boolean hasColumnCondition();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition getColumnCondition();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder getColumnConditionOrBuilder();
  }
  public static final class Condition extends
      com.google.protobuf.GeneratedMessage
      implements ConditionOrBuilder {
    // Use Condition.newBuilder() to construct.
    private Condition(Builder builder) {
      super(builder);
    }
    private Condition(boolean noInit) {}
    
    private static final Condition defaultInstance;
    public static Condition getDefaultInstance() {
      return defaultInstance;
    }
    
    public Condition getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_Condition_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_Condition_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.RowExistenceExpectation row_existence = 1;
    public static final int ROW_EXISTENCE_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.RowExistenceExpectation rowExistence_;
    public boolean hasRowExistence() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowExistenceExpectation getRowExistence() {
      return rowExistence_;
    }
    
    // optional .com.aliyun.openservices.ots.protocol.ColumnCondition column_condition = 2;
    public static final int COLUMN_CONDITION_FIELD_NUMBER = 2;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition columnCondition_;
    public boolean hasColumnCondition() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition getColumnCondition() {
      return columnCondition_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder getColumnConditionOrBuilder() {
      return columnCondition_;
    }
    
    private void initFields() {
      rowExistence_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.RowExistenceExpectation.IGNORE;
      columnCondition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasRowExistence()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasColumnCondition()) {
        if (!getColumnCondition().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeEnum(1, rowExistence_.getNumber());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, columnCondition_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, rowExistence_.getNumber());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, columnCondition_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_Condition_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_Condition_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getColumnConditionFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        rowExistence_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.RowExistenceExpectation.IGNORE;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (columnConditionBuilder_ == null) {
          columnCondition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
        } else {
          columnConditionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.rowExistence_ = rowExistence_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (columnConditionBuilder_ == null) {
          result.columnCondition_ = columnCondition_;
        } else {
          result.columnCondition_ = columnConditionBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance()) return this;
        if (other.hasRowExistence()) {
          setRowExistence(other.getRowExistence());
        }
        if (other.hasColumnCondition()) {
          mergeColumnCondition(other.getColumnCondition());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasRowExistence()) {
          
          return false;
        }
        if (hasColumnCondition()) {
          if (!getColumnCondition().isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 8: {
              int rawValue = input.readEnum();
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowExistenceExpectation value = com.aliyun.openservices.ots.protocol.OtsProtocol2.RowExistenceExpectation.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                bitField0_ |= 0x00000001;
                rowExistence_ = value;
              }
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.newBuilder();
              if (hasColumnCondition()) {
                subBuilder.mergeFrom(getColumnCondition());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setColumnCondition(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.RowExistenceExpectation row_existence = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.RowExistenceExpectation rowExistence_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.RowExistenceExpectation.IGNORE;
      public boolean hasRowExistence() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowExistenceExpectation getRowExistence() {
        return rowExistence_;
      }
      public Builder setRowExistence(com.aliyun.openservices.ots.protocol.OtsProtocol2.RowExistenceExpectation value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        rowExistence_ = value;
        onChanged();
        return this;
      }
      public Builder clearRowExistence() {
        bitField0_ = (bitField0_ & ~0x00000001);
        rowExistence_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.RowExistenceExpectation.IGNORE;
        onChanged();
        return this;
      }
      
      // optional .com.aliyun.openservices.ots.protocol.ColumnCondition column_condition = 2;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition columnCondition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder> columnConditionBuilder_;
      public boolean hasColumnCondition() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition getColumnCondition() {
        if (columnConditionBuilder_ == null) {
          return columnCondition_;
        } else {
          return columnConditionBuilder_.getMessage();
        }
      }
      public Builder setColumnCondition(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition value) {
        if (columnConditionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          columnCondition_ = value;
          onChanged();
        } else {
          columnConditionBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder setColumnCondition(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder builderForValue) {
        if (columnConditionBuilder_ == null) {
          columnCondition_ = builderForValue.build();
          onChanged();
        } else {
          columnConditionBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder mergeColumnCondition(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition value) {
        if (columnConditionBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              columnCondition_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance()) {
            columnCondition_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.newBuilder(columnCondition_).mergeFrom(value).buildPartial();
          } else {
            columnCondition_ = value;
          }
          onChanged();
        } else {
          columnConditionBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder clearColumnCondition() {
        if (columnConditionBuilder_ == null) {
          columnCondition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
          onChanged();
        } else {
          columnConditionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder getColumnConditionBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getColumnConditionFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder getColumnConditionOrBuilder() {
        if (columnConditionBuilder_ != null) {
          return columnConditionBuilder_.getMessageOrBuilder();
        } else {
          return columnCondition_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder> 
          getColumnConditionFieldBuilder() {
        if (columnConditionBuilder_ == null) {
          columnConditionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder>(
                  columnCondition_,
                  getParentForChildren(),
                  isClean());
          columnCondition_ = null;
        }
        return columnConditionBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.Condition)
    }
    
    static {
      defaultInstance = new Condition(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.Condition)
  }
  
  public interface CapacityUnitOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // optional int32 read = 1;
    boolean hasRead();
    int getRead();
    
    // optional int32 write = 2;
    boolean hasWrite();
    int getWrite();
  }
  public static final class CapacityUnit extends
      com.google.protobuf.GeneratedMessage
      implements CapacityUnitOrBuilder {
    // Use CapacityUnit.newBuilder() to construct.
    private CapacityUnit(Builder builder) {
      super(builder);
    }
    private CapacityUnit(boolean noInit) {}
    
    private static final CapacityUnit defaultInstance;
    public static CapacityUnit getDefaultInstance() {
      return defaultInstance;
    }
    
    public CapacityUnit getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_CapacityUnit_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_CapacityUnit_fieldAccessorTable;
    }
    
    private int bitField0_;
    // optional int32 read = 1;
    public static final int READ_FIELD_NUMBER = 1;
    private int read_;
    public boolean hasRead() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public int getRead() {
      return read_;
    }
    
    // optional int32 write = 2;
    public static final int WRITE_FIELD_NUMBER = 2;
    private int write_;
    public boolean hasWrite() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public int getWrite() {
      return write_;
    }
    
    private void initFields() {
      read_ = 0;
      write_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, read_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, write_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, read_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, write_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_CapacityUnit_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_CapacityUnit_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        read_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        write_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.read_ = read_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.write_ = write_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance()) return this;
        if (other.hasRead()) {
          setRead(other.getRead());
        }
        if (other.hasWrite()) {
          setWrite(other.getWrite());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              read_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              write_ = input.readInt32();
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // optional int32 read = 1;
      private int read_ ;
      public boolean hasRead() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public int getRead() {
        return read_;
      }
      public Builder setRead(int value) {
        bitField0_ |= 0x00000001;
        read_ = value;
        onChanged();
        return this;
      }
      public Builder clearRead() {
        bitField0_ = (bitField0_ & ~0x00000001);
        read_ = 0;
        onChanged();
        return this;
      }
      
      // optional int32 write = 2;
      private int write_ ;
      public boolean hasWrite() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public int getWrite() {
        return write_;
      }
      public Builder setWrite(int value) {
        bitField0_ |= 0x00000002;
        write_ = value;
        onChanged();
        return this;
      }
      public Builder clearWrite() {
        bitField0_ = (bitField0_ & ~0x00000002);
        write_ = 0;
        onChanged();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.CapacityUnit)
    }
    
    static {
      defaultInstance = new CapacityUnit(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.CapacityUnit)
  }
  
  public interface ReservedThroughputDetailsOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.CapacityUnit capacity_unit = 1;
    boolean hasCapacityUnit();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit getCapacityUnit();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder getCapacityUnitOrBuilder();
    
    // required int64 last_increase_time = 2;
    boolean hasLastIncreaseTime();
    long getLastIncreaseTime();
    
    // optional int64 last_decrease_time = 3;
    boolean hasLastDecreaseTime();
    long getLastDecreaseTime();
    
    // required int32 number_of_decreases_today = 4;
    boolean hasNumberOfDecreasesToday();
    int getNumberOfDecreasesToday();
  }
  public static final class ReservedThroughputDetails extends
      com.google.protobuf.GeneratedMessage
      implements ReservedThroughputDetailsOrBuilder {
    // Use ReservedThroughputDetails.newBuilder() to construct.
    private ReservedThroughputDetails(Builder builder) {
      super(builder);
    }
    private ReservedThroughputDetails(boolean noInit) {}
    
    private static final ReservedThroughputDetails defaultInstance;
    public static ReservedThroughputDetails getDefaultInstance() {
      return defaultInstance;
    }
    
    public ReservedThroughputDetails getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughputDetails_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughputDetails_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.CapacityUnit capacity_unit = 1;
    public static final int CAPACITY_UNIT_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit capacityUnit_;
    public boolean hasCapacityUnit() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit getCapacityUnit() {
      return capacityUnit_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder getCapacityUnitOrBuilder() {
      return capacityUnit_;
    }
    
    // required int64 last_increase_time = 2;
    public static final int LAST_INCREASE_TIME_FIELD_NUMBER = 2;
    private long lastIncreaseTime_;
    public boolean hasLastIncreaseTime() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public long getLastIncreaseTime() {
      return lastIncreaseTime_;
    }
    
    // optional int64 last_decrease_time = 3;
    public static final int LAST_DECREASE_TIME_FIELD_NUMBER = 3;
    private long lastDecreaseTime_;
    public boolean hasLastDecreaseTime() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    public long getLastDecreaseTime() {
      return lastDecreaseTime_;
    }
    
    // required int32 number_of_decreases_today = 4;
    public static final int NUMBER_OF_DECREASES_TODAY_FIELD_NUMBER = 4;
    private int numberOfDecreasesToday_;
    public boolean hasNumberOfDecreasesToday() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    public int getNumberOfDecreasesToday() {
      return numberOfDecreasesToday_;
    }
    
    private void initFields() {
      capacityUnit_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance();
      lastIncreaseTime_ = 0L;
      lastDecreaseTime_ = 0L;
      numberOfDecreasesToday_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasCapacityUnit()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasLastIncreaseTime()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasNumberOfDecreasesToday()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, capacityUnit_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt64(2, lastIncreaseTime_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt64(3, lastDecreaseTime_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeInt32(4, numberOfDecreasesToday_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, capacityUnit_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, lastIncreaseTime_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, lastDecreaseTime_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, numberOfDecreasesToday_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetailsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughputDetails_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughputDetails_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getCapacityUnitFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (capacityUnitBuilder_ == null) {
          capacityUnit_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance();
        } else {
          capacityUnitBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        lastIncreaseTime_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000002);
        lastDecreaseTime_ = 0L;
        bitField0_ = (bitField0_ & ~0x00000004);
        numberOfDecreasesToday_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (capacityUnitBuilder_ == null) {
          result.capacityUnit_ = capacityUnit_;
        } else {
          result.capacityUnit_ = capacityUnitBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.lastIncreaseTime_ = lastIncreaseTime_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.lastDecreaseTime_ = lastDecreaseTime_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.numberOfDecreasesToday_ = numberOfDecreasesToday_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.getDefaultInstance()) return this;
        if (other.hasCapacityUnit()) {
          mergeCapacityUnit(other.getCapacityUnit());
        }
        if (other.hasLastIncreaseTime()) {
          setLastIncreaseTime(other.getLastIncreaseTime());
        }
        if (other.hasLastDecreaseTime()) {
          setLastDecreaseTime(other.getLastDecreaseTime());
        }
        if (other.hasNumberOfDecreasesToday()) {
          setNumberOfDecreasesToday(other.getNumberOfDecreasesToday());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasCapacityUnit()) {
          
          return false;
        }
        if (!hasLastIncreaseTime()) {
          
          return false;
        }
        if (!hasNumberOfDecreasesToday()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.newBuilder();
              if (hasCapacityUnit()) {
                subBuilder.mergeFrom(getCapacityUnit());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setCapacityUnit(subBuilder.buildPartial());
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              lastIncreaseTime_ = input.readInt64();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              lastDecreaseTime_ = input.readInt64();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              numberOfDecreasesToday_ = input.readInt32();
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.CapacityUnit capacity_unit = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit capacityUnit_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder> capacityUnitBuilder_;
      public boolean hasCapacityUnit() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit getCapacityUnit() {
        if (capacityUnitBuilder_ == null) {
          return capacityUnit_;
        } else {
          return capacityUnitBuilder_.getMessage();
        }
      }
      public Builder setCapacityUnit(com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit value) {
        if (capacityUnitBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          capacityUnit_ = value;
          onChanged();
        } else {
          capacityUnitBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder setCapacityUnit(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder builderForValue) {
        if (capacityUnitBuilder_ == null) {
          capacityUnit_ = builderForValue.build();
          onChanged();
        } else {
          capacityUnitBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder mergeCapacityUnit(com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit value) {
        if (capacityUnitBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              capacityUnit_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance()) {
            capacityUnit_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.newBuilder(capacityUnit_).mergeFrom(value).buildPartial();
          } else {
            capacityUnit_ = value;
          }
          onChanged();
        } else {
          capacityUnitBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder clearCapacityUnit() {
        if (capacityUnitBuilder_ == null) {
          capacityUnit_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance();
          onChanged();
        } else {
          capacityUnitBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder getCapacityUnitBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getCapacityUnitFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder getCapacityUnitOrBuilder() {
        if (capacityUnitBuilder_ != null) {
          return capacityUnitBuilder_.getMessageOrBuilder();
        } else {
          return capacityUnit_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder> 
          getCapacityUnitFieldBuilder() {
        if (capacityUnitBuilder_ == null) {
          capacityUnitBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder>(
                  capacityUnit_,
                  getParentForChildren(),
                  isClean());
          capacityUnit_ = null;
        }
        return capacityUnitBuilder_;
      }
      
      // required int64 last_increase_time = 2;
      private long lastIncreaseTime_ ;
      public boolean hasLastIncreaseTime() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public long getLastIncreaseTime() {
        return lastIncreaseTime_;
      }
      public Builder setLastIncreaseTime(long value) {
        bitField0_ |= 0x00000002;
        lastIncreaseTime_ = value;
        onChanged();
        return this;
      }
      public Builder clearLastIncreaseTime() {
        bitField0_ = (bitField0_ & ~0x00000002);
        lastIncreaseTime_ = 0L;
        onChanged();
        return this;
      }
      
      // optional int64 last_decrease_time = 3;
      private long lastDecreaseTime_ ;
      public boolean hasLastDecreaseTime() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public long getLastDecreaseTime() {
        return lastDecreaseTime_;
      }
      public Builder setLastDecreaseTime(long value) {
        bitField0_ |= 0x00000004;
        lastDecreaseTime_ = value;
        onChanged();
        return this;
      }
      public Builder clearLastDecreaseTime() {
        bitField0_ = (bitField0_ & ~0x00000004);
        lastDecreaseTime_ = 0L;
        onChanged();
        return this;
      }
      
      // required int32 number_of_decreases_today = 4;
      private int numberOfDecreasesToday_ ;
      public boolean hasNumberOfDecreasesToday() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public int getNumberOfDecreasesToday() {
        return numberOfDecreasesToday_;
      }
      public Builder setNumberOfDecreasesToday(int value) {
        bitField0_ |= 0x00000008;
        numberOfDecreasesToday_ = value;
        onChanged();
        return this;
      }
      public Builder clearNumberOfDecreasesToday() {
        bitField0_ = (bitField0_ & ~0x00000008);
        numberOfDecreasesToday_ = 0;
        onChanged();
        return this;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.ReservedThroughputDetails)
    }
    
    static {
      defaultInstance = new ReservedThroughputDetails(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.ReservedThroughputDetails)
  }
  
  public interface ReservedThroughputOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.CapacityUnit capacity_unit = 1;
    boolean hasCapacityUnit();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit getCapacityUnit();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder getCapacityUnitOrBuilder();
  }
  public static final class ReservedThroughput extends
      com.google.protobuf.GeneratedMessage
      implements ReservedThroughputOrBuilder {
    // Use ReservedThroughput.newBuilder() to construct.
    private ReservedThroughput(Builder builder) {
      super(builder);
    }
    private ReservedThroughput(boolean noInit) {}
    
    private static final ReservedThroughput defaultInstance;
    public static ReservedThroughput getDefaultInstance() {
      return defaultInstance;
    }
    
    public ReservedThroughput getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughput_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughput_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.CapacityUnit capacity_unit = 1;
    public static final int CAPACITY_UNIT_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit capacityUnit_;
    public boolean hasCapacityUnit() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit getCapacityUnit() {
      return capacityUnit_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder getCapacityUnitOrBuilder() {
      return capacityUnit_;
    }
    
    private void initFields() {
      capacityUnit_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasCapacityUnit()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, capacityUnit_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, capacityUnit_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughput_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughput_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getCapacityUnitFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (capacityUnitBuilder_ == null) {
          capacityUnit_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance();
        } else {
          capacityUnitBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (capacityUnitBuilder_ == null) {
          result.capacityUnit_ = capacityUnit_;
        } else {
          result.capacityUnit_ = capacityUnitBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.getDefaultInstance()) return this;
        if (other.hasCapacityUnit()) {
          mergeCapacityUnit(other.getCapacityUnit());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasCapacityUnit()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.newBuilder();
              if (hasCapacityUnit()) {
                subBuilder.mergeFrom(getCapacityUnit());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setCapacityUnit(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.CapacityUnit capacity_unit = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit capacityUnit_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder> capacityUnitBuilder_;
      public boolean hasCapacityUnit() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit getCapacityUnit() {
        if (capacityUnitBuilder_ == null) {
          return capacityUnit_;
        } else {
          return capacityUnitBuilder_.getMessage();
        }
      }
      public Builder setCapacityUnit(com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit value) {
        if (capacityUnitBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          capacityUnit_ = value;
          onChanged();
        } else {
          capacityUnitBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder setCapacityUnit(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder builderForValue) {
        if (capacityUnitBuilder_ == null) {
          capacityUnit_ = builderForValue.build();
          onChanged();
        } else {
          capacityUnitBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder mergeCapacityUnit(com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit value) {
        if (capacityUnitBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              capacityUnit_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance()) {
            capacityUnit_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.newBuilder(capacityUnit_).mergeFrom(value).buildPartial();
          } else {
            capacityUnit_ = value;
          }
          onChanged();
        } else {
          capacityUnitBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder clearCapacityUnit() {
        if (capacityUnitBuilder_ == null) {
          capacityUnit_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance();
          onChanged();
        } else {
          capacityUnitBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder getCapacityUnitBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getCapacityUnitFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder getCapacityUnitOrBuilder() {
        if (capacityUnitBuilder_ != null) {
          return capacityUnitBuilder_.getMessageOrBuilder();
        } else {
          return capacityUnit_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder> 
          getCapacityUnitFieldBuilder() {
        if (capacityUnitBuilder_ == null) {
          capacityUnitBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder>(
                  capacityUnit_,
                  getParentForChildren(),
                  isClean());
          capacityUnit_ = null;
        }
        return capacityUnitBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.ReservedThroughput)
    }
    
    static {
      defaultInstance = new ReservedThroughput(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.ReservedThroughput)
  }
  
  public interface ConsumedCapacityOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.CapacityUnit capacity_unit = 1;
    boolean hasCapacityUnit();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit getCapacityUnit();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder getCapacityUnitOrBuilder();
  }
  public static final class ConsumedCapacity extends
      com.google.protobuf.GeneratedMessage
      implements ConsumedCapacityOrBuilder {
    // Use ConsumedCapacity.newBuilder() to construct.
    private ConsumedCapacity(Builder builder) {
      super(builder);
    }
    private ConsumedCapacity(boolean noInit) {}
    
    private static final ConsumedCapacity defaultInstance;
    public static ConsumedCapacity getDefaultInstance() {
      return defaultInstance;
    }
    
    public ConsumedCapacity getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ConsumedCapacity_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ConsumedCapacity_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.CapacityUnit capacity_unit = 1;
    public static final int CAPACITY_UNIT_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit capacityUnit_;
    public boolean hasCapacityUnit() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit getCapacityUnit() {
      return capacityUnit_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder getCapacityUnitOrBuilder() {
      return capacityUnit_;
    }
    
    private void initFields() {
      capacityUnit_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasCapacityUnit()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, capacityUnit_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, capacityUnit_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ConsumedCapacity_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ConsumedCapacity_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getCapacityUnitFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (capacityUnitBuilder_ == null) {
          capacityUnit_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance();
        } else {
          capacityUnitBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (capacityUnitBuilder_ == null) {
          result.capacityUnit_ = capacityUnit_;
        } else {
          result.capacityUnit_ = capacityUnitBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance()) return this;
        if (other.hasCapacityUnit()) {
          mergeCapacityUnit(other.getCapacityUnit());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasCapacityUnit()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.newBuilder();
              if (hasCapacityUnit()) {
                subBuilder.mergeFrom(getCapacityUnit());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setCapacityUnit(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.CapacityUnit capacity_unit = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit capacityUnit_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder> capacityUnitBuilder_;
      public boolean hasCapacityUnit() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit getCapacityUnit() {
        if (capacityUnitBuilder_ == null) {
          return capacityUnit_;
        } else {
          return capacityUnitBuilder_.getMessage();
        }
      }
      public Builder setCapacityUnit(com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit value) {
        if (capacityUnitBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          capacityUnit_ = value;
          onChanged();
        } else {
          capacityUnitBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder setCapacityUnit(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder builderForValue) {
        if (capacityUnitBuilder_ == null) {
          capacityUnit_ = builderForValue.build();
          onChanged();
        } else {
          capacityUnitBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder mergeCapacityUnit(com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit value) {
        if (capacityUnitBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              capacityUnit_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance()) {
            capacityUnit_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.newBuilder(capacityUnit_).mergeFrom(value).buildPartial();
          } else {
            capacityUnit_ = value;
          }
          onChanged();
        } else {
          capacityUnitBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder clearCapacityUnit() {
        if (capacityUnitBuilder_ == null) {
          capacityUnit_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.getDefaultInstance();
          onChanged();
        } else {
          capacityUnitBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder getCapacityUnitBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getCapacityUnitFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder getCapacityUnitOrBuilder() {
        if (capacityUnitBuilder_ != null) {
          return capacityUnitBuilder_.getMessageOrBuilder();
        } else {
          return capacityUnit_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder> 
          getCapacityUnitFieldBuilder() {
        if (capacityUnitBuilder_ == null) {
          capacityUnitBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnitOrBuilder>(
                  capacityUnit_,
                  getParentForChildren(),
                  isClean());
          capacityUnit_ = null;
        }
        return capacityUnitBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.ConsumedCapacity)
    }
    
    static {
      defaultInstance = new ConsumedCapacity(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.ConsumedCapacity)
  }
  
  public interface CreateTableRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.TableMeta table_meta = 1;
    boolean hasTableMeta();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta getTableMeta();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMetaOrBuilder getTableMetaOrBuilder();
    
    // required .com.aliyun.openservices.ots.protocol.ReservedThroughput reserved_throughput = 2;
    boolean hasReservedThroughput();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput getReservedThroughput();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputOrBuilder getReservedThroughputOrBuilder();
  }
  public static final class CreateTableRequest extends
      com.google.protobuf.GeneratedMessage
      implements CreateTableRequestOrBuilder {
    // Use CreateTableRequest.newBuilder() to construct.
    private CreateTableRequest(Builder builder) {
      super(builder);
    }
    private CreateTableRequest(boolean noInit) {}
    
    private static final CreateTableRequest defaultInstance;
    public static CreateTableRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public CreateTableRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_CreateTableRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_CreateTableRequest_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.TableMeta table_meta = 1;
    public static final int TABLE_META_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta tableMeta_;
    public boolean hasTableMeta() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta getTableMeta() {
      return tableMeta_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMetaOrBuilder getTableMetaOrBuilder() {
      return tableMeta_;
    }
    
    // required .com.aliyun.openservices.ots.protocol.ReservedThroughput reserved_throughput = 2;
    public static final int RESERVED_THROUGHPUT_FIELD_NUMBER = 2;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput reservedThroughput_;
    public boolean hasReservedThroughput() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput getReservedThroughput() {
      return reservedThroughput_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputOrBuilder getReservedThroughputOrBuilder() {
      return reservedThroughput_;
    }
    
    private void initFields() {
      tableMeta_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.getDefaultInstance();
      reservedThroughput_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasTableMeta()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasReservedThroughput()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getTableMeta().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getReservedThroughput().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, tableMeta_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, reservedThroughput_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, tableMeta_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, reservedThroughput_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_CreateTableRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_CreateTableRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getTableMetaFieldBuilder();
          getReservedThroughputFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (tableMetaBuilder_ == null) {
          tableMeta_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.getDefaultInstance();
        } else {
          tableMetaBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (reservedThroughputBuilder_ == null) {
          reservedThroughput_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.getDefaultInstance();
        } else {
          reservedThroughputBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (tableMetaBuilder_ == null) {
          result.tableMeta_ = tableMeta_;
        } else {
          result.tableMeta_ = tableMetaBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (reservedThroughputBuilder_ == null) {
          result.reservedThroughput_ = reservedThroughput_;
        } else {
          result.reservedThroughput_ = reservedThroughputBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest.getDefaultInstance()) return this;
        if (other.hasTableMeta()) {
          mergeTableMeta(other.getTableMeta());
        }
        if (other.hasReservedThroughput()) {
          mergeReservedThroughput(other.getReservedThroughput());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasTableMeta()) {
          
          return false;
        }
        if (!hasReservedThroughput()) {
          
          return false;
        }
        if (!getTableMeta().isInitialized()) {
          
          return false;
        }
        if (!getReservedThroughput().isInitialized()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.newBuilder();
              if (hasTableMeta()) {
                subBuilder.mergeFrom(getTableMeta());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setTableMeta(subBuilder.buildPartial());
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.newBuilder();
              if (hasReservedThroughput()) {
                subBuilder.mergeFrom(getReservedThroughput());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setReservedThroughput(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.TableMeta table_meta = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta tableMeta_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMetaOrBuilder> tableMetaBuilder_;
      public boolean hasTableMeta() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta getTableMeta() {
        if (tableMetaBuilder_ == null) {
          return tableMeta_;
        } else {
          return tableMetaBuilder_.getMessage();
        }
      }
      public Builder setTableMeta(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta value) {
        if (tableMetaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          tableMeta_ = value;
          onChanged();
        } else {
          tableMetaBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder setTableMeta(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.Builder builderForValue) {
        if (tableMetaBuilder_ == null) {
          tableMeta_ = builderForValue.build();
          onChanged();
        } else {
          tableMetaBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder mergeTableMeta(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta value) {
        if (tableMetaBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              tableMeta_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.getDefaultInstance()) {
            tableMeta_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.newBuilder(tableMeta_).mergeFrom(value).buildPartial();
          } else {
            tableMeta_ = value;
          }
          onChanged();
        } else {
          tableMetaBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder clearTableMeta() {
        if (tableMetaBuilder_ == null) {
          tableMeta_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.getDefaultInstance();
          onChanged();
        } else {
          tableMetaBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.Builder getTableMetaBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getTableMetaFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMetaOrBuilder getTableMetaOrBuilder() {
        if (tableMetaBuilder_ != null) {
          return tableMetaBuilder_.getMessageOrBuilder();
        } else {
          return tableMeta_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMetaOrBuilder> 
          getTableMetaFieldBuilder() {
        if (tableMetaBuilder_ == null) {
          tableMetaBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMetaOrBuilder>(
                  tableMeta_,
                  getParentForChildren(),
                  isClean());
          tableMeta_ = null;
        }
        return tableMetaBuilder_;
      }
      
      // required .com.aliyun.openservices.ots.protocol.ReservedThroughput reserved_throughput = 2;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput reservedThroughput_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputOrBuilder> reservedThroughputBuilder_;
      public boolean hasReservedThroughput() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput getReservedThroughput() {
        if (reservedThroughputBuilder_ == null) {
          return reservedThroughput_;
        } else {
          return reservedThroughputBuilder_.getMessage();
        }
      }
      public Builder setReservedThroughput(com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput value) {
        if (reservedThroughputBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          reservedThroughput_ = value;
          onChanged();
        } else {
          reservedThroughputBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder setReservedThroughput(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.Builder builderForValue) {
        if (reservedThroughputBuilder_ == null) {
          reservedThroughput_ = builderForValue.build();
          onChanged();
        } else {
          reservedThroughputBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder mergeReservedThroughput(com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput value) {
        if (reservedThroughputBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              reservedThroughput_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.getDefaultInstance()) {
            reservedThroughput_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.newBuilder(reservedThroughput_).mergeFrom(value).buildPartial();
          } else {
            reservedThroughput_ = value;
          }
          onChanged();
        } else {
          reservedThroughputBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder clearReservedThroughput() {
        if (reservedThroughputBuilder_ == null) {
          reservedThroughput_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.getDefaultInstance();
          onChanged();
        } else {
          reservedThroughputBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.Builder getReservedThroughputBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getReservedThroughputFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputOrBuilder getReservedThroughputOrBuilder() {
        if (reservedThroughputBuilder_ != null) {
          return reservedThroughputBuilder_.getMessageOrBuilder();
        } else {
          return reservedThroughput_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputOrBuilder> 
          getReservedThroughputFieldBuilder() {
        if (reservedThroughputBuilder_ == null) {
          reservedThroughputBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputOrBuilder>(
                  reservedThroughput_,
                  getParentForChildren(),
                  isClean());
          reservedThroughput_ = null;
        }
        return reservedThroughputBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.CreateTableRequest)
    }
    
    static {
      defaultInstance = new CreateTableRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.CreateTableRequest)
  }
  
  public interface CreateTableResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
  }
  public static final class CreateTableResponse extends
      com.google.protobuf.GeneratedMessage
      implements CreateTableResponseOrBuilder {
    // Use CreateTableResponse.newBuilder() to construct.
    private CreateTableResponse(Builder builder) {
      super(builder);
    }
    private CreateTableResponse(boolean noInit) {}
    
    private static final CreateTableResponse defaultInstance;
    public static CreateTableResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public CreateTableResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_CreateTableResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_CreateTableResponse_fieldAccessorTable;
    }
    
    private void initFields() {
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_CreateTableResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_CreateTableResponse_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse(this);
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
          }
        }
      }
      
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.CreateTableResponse)
    }
    
    static {
      defaultInstance = new CreateTableResponse(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.CreateTableResponse)
  }
  
  public interface UpdateTableRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required string table_name = 1;
    boolean hasTableName();
    String getTableName();
    
    // required .com.aliyun.openservices.ots.protocol.ReservedThroughput reserved_throughput = 2;
    boolean hasReservedThroughput();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput getReservedThroughput();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputOrBuilder getReservedThroughputOrBuilder();
  }
  public static final class UpdateTableRequest extends
      com.google.protobuf.GeneratedMessage
      implements UpdateTableRequestOrBuilder {
    // Use UpdateTableRequest.newBuilder() to construct.
    private UpdateTableRequest(Builder builder) {
      super(builder);
    }
    private UpdateTableRequest(boolean noInit) {}
    
    private static final UpdateTableRequest defaultInstance;
    public static UpdateTableRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public UpdateTableRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateTableRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateTableRequest_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string table_name = 1;
    public static final int TABLE_NAME_FIELD_NUMBER = 1;
    private java.lang.Object tableName_;
    public boolean hasTableName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getTableName() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          tableName_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getTableNameBytes() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        tableName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // required .com.aliyun.openservices.ots.protocol.ReservedThroughput reserved_throughput = 2;
    public static final int RESERVED_THROUGHPUT_FIELD_NUMBER = 2;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput reservedThroughput_;
    public boolean hasReservedThroughput() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput getReservedThroughput() {
      return reservedThroughput_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputOrBuilder getReservedThroughputOrBuilder() {
      return reservedThroughput_;
    }
    
    private void initFields() {
      tableName_ = "";
      reservedThroughput_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasTableName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasReservedThroughput()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getReservedThroughput().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getTableNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, reservedThroughput_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getTableNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, reservedThroughput_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateTableRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateTableRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getReservedThroughputFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        tableName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (reservedThroughputBuilder_ == null) {
          reservedThroughput_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.getDefaultInstance();
        } else {
          reservedThroughputBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tableName_ = tableName_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (reservedThroughputBuilder_ == null) {
          result.reservedThroughput_ = reservedThroughput_;
        } else {
          result.reservedThroughput_ = reservedThroughputBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest.getDefaultInstance()) return this;
        if (other.hasTableName()) {
          setTableName(other.getTableName());
        }
        if (other.hasReservedThroughput()) {
          mergeReservedThroughput(other.getReservedThroughput());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasTableName()) {
          
          return false;
        }
        if (!hasReservedThroughput()) {
          
          return false;
        }
        if (!getReservedThroughput().isInitialized()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              tableName_ = input.readBytes();
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.newBuilder();
              if (hasReservedThroughput()) {
                subBuilder.mergeFrom(getReservedThroughput());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setReservedThroughput(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string table_name = 1;
      private java.lang.Object tableName_ = "";
      public boolean hasTableName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getTableName() {
        java.lang.Object ref = tableName_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          tableName_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setTableName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
        return this;
      }
      public Builder clearTableName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tableName_ = getDefaultInstance().getTableName();
        onChanged();
        return this;
      }
      void setTableName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
      }
      
      // required .com.aliyun.openservices.ots.protocol.ReservedThroughput reserved_throughput = 2;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput reservedThroughput_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputOrBuilder> reservedThroughputBuilder_;
      public boolean hasReservedThroughput() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput getReservedThroughput() {
        if (reservedThroughputBuilder_ == null) {
          return reservedThroughput_;
        } else {
          return reservedThroughputBuilder_.getMessage();
        }
      }
      public Builder setReservedThroughput(com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput value) {
        if (reservedThroughputBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          reservedThroughput_ = value;
          onChanged();
        } else {
          reservedThroughputBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder setReservedThroughput(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.Builder builderForValue) {
        if (reservedThroughputBuilder_ == null) {
          reservedThroughput_ = builderForValue.build();
          onChanged();
        } else {
          reservedThroughputBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder mergeReservedThroughput(com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput value) {
        if (reservedThroughputBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              reservedThroughput_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.getDefaultInstance()) {
            reservedThroughput_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.newBuilder(reservedThroughput_).mergeFrom(value).buildPartial();
          } else {
            reservedThroughput_ = value;
          }
          onChanged();
        } else {
          reservedThroughputBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder clearReservedThroughput() {
        if (reservedThroughputBuilder_ == null) {
          reservedThroughput_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.getDefaultInstance();
          onChanged();
        } else {
          reservedThroughputBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.Builder getReservedThroughputBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getReservedThroughputFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputOrBuilder getReservedThroughputOrBuilder() {
        if (reservedThroughputBuilder_ != null) {
          return reservedThroughputBuilder_.getMessageOrBuilder();
        } else {
          return reservedThroughput_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputOrBuilder> 
          getReservedThroughputFieldBuilder() {
        if (reservedThroughputBuilder_ == null) {
          reservedThroughputBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputOrBuilder>(
                  reservedThroughput_,
                  getParentForChildren(),
                  isClean());
          reservedThroughput_ = null;
        }
        return reservedThroughputBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.UpdateTableRequest)
    }
    
    static {
      defaultInstance = new UpdateTableRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.UpdateTableRequest)
  }
  
  public interface UpdateTableResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.ReservedThroughputDetails reserved_throughput_details = 1;
    boolean hasReservedThroughputDetails();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails getReservedThroughputDetails();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetailsOrBuilder getReservedThroughputDetailsOrBuilder();
  }
  public static final class UpdateTableResponse extends
      com.google.protobuf.GeneratedMessage
      implements UpdateTableResponseOrBuilder {
    // Use UpdateTableResponse.newBuilder() to construct.
    private UpdateTableResponse(Builder builder) {
      super(builder);
    }
    private UpdateTableResponse(boolean noInit) {}
    
    private static final UpdateTableResponse defaultInstance;
    public static UpdateTableResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public UpdateTableResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateTableResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateTableResponse_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.ReservedThroughputDetails reserved_throughput_details = 1;
    public static final int RESERVED_THROUGHPUT_DETAILS_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails reservedThroughputDetails_;
    public boolean hasReservedThroughputDetails() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails getReservedThroughputDetails() {
      return reservedThroughputDetails_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetailsOrBuilder getReservedThroughputDetailsOrBuilder() {
      return reservedThroughputDetails_;
    }
    
    private void initFields() {
      reservedThroughputDetails_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasReservedThroughputDetails()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getReservedThroughputDetails().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, reservedThroughputDetails_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, reservedThroughputDetails_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateTableResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateTableResponse_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getReservedThroughputDetailsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (reservedThroughputDetailsBuilder_ == null) {
          reservedThroughputDetails_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.getDefaultInstance();
        } else {
          reservedThroughputDetailsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (reservedThroughputDetailsBuilder_ == null) {
          result.reservedThroughputDetails_ = reservedThroughputDetails_;
        } else {
          result.reservedThroughputDetails_ = reservedThroughputDetailsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse.getDefaultInstance()) return this;
        if (other.hasReservedThroughputDetails()) {
          mergeReservedThroughputDetails(other.getReservedThroughputDetails());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasReservedThroughputDetails()) {
          
          return false;
        }
        if (!getReservedThroughputDetails().isInitialized()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.newBuilder();
              if (hasReservedThroughputDetails()) {
                subBuilder.mergeFrom(getReservedThroughputDetails());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setReservedThroughputDetails(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.ReservedThroughputDetails reserved_throughput_details = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails reservedThroughputDetails_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetailsOrBuilder> reservedThroughputDetailsBuilder_;
      public boolean hasReservedThroughputDetails() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails getReservedThroughputDetails() {
        if (reservedThroughputDetailsBuilder_ == null) {
          return reservedThroughputDetails_;
        } else {
          return reservedThroughputDetailsBuilder_.getMessage();
        }
      }
      public Builder setReservedThroughputDetails(com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails value) {
        if (reservedThroughputDetailsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          reservedThroughputDetails_ = value;
          onChanged();
        } else {
          reservedThroughputDetailsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder setReservedThroughputDetails(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.Builder builderForValue) {
        if (reservedThroughputDetailsBuilder_ == null) {
          reservedThroughputDetails_ = builderForValue.build();
          onChanged();
        } else {
          reservedThroughputDetailsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder mergeReservedThroughputDetails(com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails value) {
        if (reservedThroughputDetailsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              reservedThroughputDetails_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.getDefaultInstance()) {
            reservedThroughputDetails_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.newBuilder(reservedThroughputDetails_).mergeFrom(value).buildPartial();
          } else {
            reservedThroughputDetails_ = value;
          }
          onChanged();
        } else {
          reservedThroughputDetailsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder clearReservedThroughputDetails() {
        if (reservedThroughputDetailsBuilder_ == null) {
          reservedThroughputDetails_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.getDefaultInstance();
          onChanged();
        } else {
          reservedThroughputDetailsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.Builder getReservedThroughputDetailsBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getReservedThroughputDetailsFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetailsOrBuilder getReservedThroughputDetailsOrBuilder() {
        if (reservedThroughputDetailsBuilder_ != null) {
          return reservedThroughputDetailsBuilder_.getMessageOrBuilder();
        } else {
          return reservedThroughputDetails_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetailsOrBuilder> 
          getReservedThroughputDetailsFieldBuilder() {
        if (reservedThroughputDetailsBuilder_ == null) {
          reservedThroughputDetailsBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetailsOrBuilder>(
                  reservedThroughputDetails_,
                  getParentForChildren(),
                  isClean());
          reservedThroughputDetails_ = null;
        }
        return reservedThroughputDetailsBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.UpdateTableResponse)
    }
    
    static {
      defaultInstance = new UpdateTableResponse(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.UpdateTableResponse)
  }
  
  public interface DescribeTableRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required string table_name = 1;
    boolean hasTableName();
    String getTableName();
  }
  public static final class DescribeTableRequest extends
      com.google.protobuf.GeneratedMessage
      implements DescribeTableRequestOrBuilder {
    // Use DescribeTableRequest.newBuilder() to construct.
    private DescribeTableRequest(Builder builder) {
      super(builder);
    }
    private DescribeTableRequest(boolean noInit) {}
    
    private static final DescribeTableRequest defaultInstance;
    public static DescribeTableRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public DescribeTableRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DescribeTableRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DescribeTableRequest_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string table_name = 1;
    public static final int TABLE_NAME_FIELD_NUMBER = 1;
    private java.lang.Object tableName_;
    public boolean hasTableName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getTableName() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          tableName_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getTableNameBytes() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        tableName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    private void initFields() {
      tableName_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasTableName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getTableNameBytes());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getTableNameBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DescribeTableRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DescribeTableRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        tableName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tableName_ = tableName_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest.getDefaultInstance()) return this;
        if (other.hasTableName()) {
          setTableName(other.getTableName());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasTableName()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              tableName_ = input.readBytes();
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string table_name = 1;
      private java.lang.Object tableName_ = "";
      public boolean hasTableName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getTableName() {
        java.lang.Object ref = tableName_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          tableName_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setTableName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
        return this;
      }
      public Builder clearTableName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tableName_ = getDefaultInstance().getTableName();
        onChanged();
        return this;
      }
      void setTableName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.DescribeTableRequest)
    }
    
    static {
      defaultInstance = new DescribeTableRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.DescribeTableRequest)
  }
  
  public interface DescribeTableResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.TableMeta table_meta = 1;
    boolean hasTableMeta();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta getTableMeta();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMetaOrBuilder getTableMetaOrBuilder();
    
    // required .com.aliyun.openservices.ots.protocol.ReservedThroughputDetails reserved_throughput_details = 2;
    boolean hasReservedThroughputDetails();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails getReservedThroughputDetails();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetailsOrBuilder getReservedThroughputDetailsOrBuilder();
  }
  public static final class DescribeTableResponse extends
      com.google.protobuf.GeneratedMessage
      implements DescribeTableResponseOrBuilder {
    // Use DescribeTableResponse.newBuilder() to construct.
    private DescribeTableResponse(Builder builder) {
      super(builder);
    }
    private DescribeTableResponse(boolean noInit) {}
    
    private static final DescribeTableResponse defaultInstance;
    public static DescribeTableResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public DescribeTableResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DescribeTableResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DescribeTableResponse_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.TableMeta table_meta = 1;
    public static final int TABLE_META_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta tableMeta_;
    public boolean hasTableMeta() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta getTableMeta() {
      return tableMeta_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMetaOrBuilder getTableMetaOrBuilder() {
      return tableMeta_;
    }
    
    // required .com.aliyun.openservices.ots.protocol.ReservedThroughputDetails reserved_throughput_details = 2;
    public static final int RESERVED_THROUGHPUT_DETAILS_FIELD_NUMBER = 2;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails reservedThroughputDetails_;
    public boolean hasReservedThroughputDetails() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails getReservedThroughputDetails() {
      return reservedThroughputDetails_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetailsOrBuilder getReservedThroughputDetailsOrBuilder() {
      return reservedThroughputDetails_;
    }
    
    private void initFields() {
      tableMeta_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.getDefaultInstance();
      reservedThroughputDetails_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasTableMeta()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasReservedThroughputDetails()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getTableMeta().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getReservedThroughputDetails().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, tableMeta_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, reservedThroughputDetails_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, tableMeta_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, reservedThroughputDetails_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DescribeTableResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DescribeTableResponse_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getTableMetaFieldBuilder();
          getReservedThroughputDetailsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (tableMetaBuilder_ == null) {
          tableMeta_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.getDefaultInstance();
        } else {
          tableMetaBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (reservedThroughputDetailsBuilder_ == null) {
          reservedThroughputDetails_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.getDefaultInstance();
        } else {
          reservedThroughputDetailsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (tableMetaBuilder_ == null) {
          result.tableMeta_ = tableMeta_;
        } else {
          result.tableMeta_ = tableMetaBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (reservedThroughputDetailsBuilder_ == null) {
          result.reservedThroughputDetails_ = reservedThroughputDetails_;
        } else {
          result.reservedThroughputDetails_ = reservedThroughputDetailsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse.getDefaultInstance()) return this;
        if (other.hasTableMeta()) {
          mergeTableMeta(other.getTableMeta());
        }
        if (other.hasReservedThroughputDetails()) {
          mergeReservedThroughputDetails(other.getReservedThroughputDetails());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasTableMeta()) {
          
          return false;
        }
        if (!hasReservedThroughputDetails()) {
          
          return false;
        }
        if (!getTableMeta().isInitialized()) {
          
          return false;
        }
        if (!getReservedThroughputDetails().isInitialized()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.newBuilder();
              if (hasTableMeta()) {
                subBuilder.mergeFrom(getTableMeta());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setTableMeta(subBuilder.buildPartial());
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.newBuilder();
              if (hasReservedThroughputDetails()) {
                subBuilder.mergeFrom(getReservedThroughputDetails());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setReservedThroughputDetails(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.TableMeta table_meta = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta tableMeta_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMetaOrBuilder> tableMetaBuilder_;
      public boolean hasTableMeta() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta getTableMeta() {
        if (tableMetaBuilder_ == null) {
          return tableMeta_;
        } else {
          return tableMetaBuilder_.getMessage();
        }
      }
      public Builder setTableMeta(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta value) {
        if (tableMetaBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          tableMeta_ = value;
          onChanged();
        } else {
          tableMetaBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder setTableMeta(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.Builder builderForValue) {
        if (tableMetaBuilder_ == null) {
          tableMeta_ = builderForValue.build();
          onChanged();
        } else {
          tableMetaBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder mergeTableMeta(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta value) {
        if (tableMetaBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              tableMeta_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.getDefaultInstance()) {
            tableMeta_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.newBuilder(tableMeta_).mergeFrom(value).buildPartial();
          } else {
            tableMeta_ = value;
          }
          onChanged();
        } else {
          tableMetaBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder clearTableMeta() {
        if (tableMetaBuilder_ == null) {
          tableMeta_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.getDefaultInstance();
          onChanged();
        } else {
          tableMetaBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.Builder getTableMetaBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getTableMetaFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMetaOrBuilder getTableMetaOrBuilder() {
        if (tableMetaBuilder_ != null) {
          return tableMetaBuilder_.getMessageOrBuilder();
        } else {
          return tableMeta_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMetaOrBuilder> 
          getTableMetaFieldBuilder() {
        if (tableMetaBuilder_ == null) {
          tableMetaBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMetaOrBuilder>(
                  tableMeta_,
                  getParentForChildren(),
                  isClean());
          tableMeta_ = null;
        }
        return tableMetaBuilder_;
      }
      
      // required .com.aliyun.openservices.ots.protocol.ReservedThroughputDetails reserved_throughput_details = 2;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails reservedThroughputDetails_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetailsOrBuilder> reservedThroughputDetailsBuilder_;
      public boolean hasReservedThroughputDetails() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails getReservedThroughputDetails() {
        if (reservedThroughputDetailsBuilder_ == null) {
          return reservedThroughputDetails_;
        } else {
          return reservedThroughputDetailsBuilder_.getMessage();
        }
      }
      public Builder setReservedThroughputDetails(com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails value) {
        if (reservedThroughputDetailsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          reservedThroughputDetails_ = value;
          onChanged();
        } else {
          reservedThroughputDetailsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder setReservedThroughputDetails(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.Builder builderForValue) {
        if (reservedThroughputDetailsBuilder_ == null) {
          reservedThroughputDetails_ = builderForValue.build();
          onChanged();
        } else {
          reservedThroughputDetailsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder mergeReservedThroughputDetails(com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails value) {
        if (reservedThroughputDetailsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              reservedThroughputDetails_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.getDefaultInstance()) {
            reservedThroughputDetails_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.newBuilder(reservedThroughputDetails_).mergeFrom(value).buildPartial();
          } else {
            reservedThroughputDetails_ = value;
          }
          onChanged();
        } else {
          reservedThroughputDetailsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder clearReservedThroughputDetails() {
        if (reservedThroughputDetailsBuilder_ == null) {
          reservedThroughputDetails_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.getDefaultInstance();
          onChanged();
        } else {
          reservedThroughputDetailsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.Builder getReservedThroughputDetailsBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getReservedThroughputDetailsFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetailsOrBuilder getReservedThroughputDetailsOrBuilder() {
        if (reservedThroughputDetailsBuilder_ != null) {
          return reservedThroughputDetailsBuilder_.getMessageOrBuilder();
        } else {
          return reservedThroughputDetails_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetailsOrBuilder> 
          getReservedThroughputDetailsFieldBuilder() {
        if (reservedThroughputDetailsBuilder_ == null) {
          reservedThroughputDetailsBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetailsOrBuilder>(
                  reservedThroughputDetails_,
                  getParentForChildren(),
                  isClean());
          reservedThroughputDetails_ = null;
        }
        return reservedThroughputDetailsBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.DescribeTableResponse)
    }
    
    static {
      defaultInstance = new DescribeTableResponse(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.DescribeTableResponse)
  }
  
  public interface ListTableRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
  }
  public static final class ListTableRequest extends
      com.google.protobuf.GeneratedMessage
      implements ListTableRequestOrBuilder {
    // Use ListTableRequest.newBuilder() to construct.
    private ListTableRequest(Builder builder) {
      super(builder);
    }
    private ListTableRequest(boolean noInit) {}
    
    private static final ListTableRequest defaultInstance;
    public static ListTableRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public ListTableRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ListTableRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ListTableRequest_fieldAccessorTable;
    }
    
    private void initFields() {
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ListTableRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ListTableRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest(this);
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
          }
        }
      }
      
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.ListTableRequest)
    }
    
    static {
      defaultInstance = new ListTableRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.ListTableRequest)
  }
  
  public interface ListTableResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // repeated string table_names = 1;
    java.util.List getTableNamesList();
    int getTableNamesCount();
    String getTableNames(int index);
  }
  public static final class ListTableResponse extends
      com.google.protobuf.GeneratedMessage
      implements ListTableResponseOrBuilder {
    // Use ListTableResponse.newBuilder() to construct.
    private ListTableResponse(Builder builder) {
      super(builder);
    }
    private ListTableResponse(boolean noInit) {}
    
    private static final ListTableResponse defaultInstance;
    public static ListTableResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public ListTableResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ListTableResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ListTableResponse_fieldAccessorTable;
    }
    
    // repeated string table_names = 1;
    public static final int TABLE_NAMES_FIELD_NUMBER = 1;
    private com.google.protobuf.LazyStringList tableNames_;
    public java.util.List
        getTableNamesList() {
      return tableNames_;
    }
    public int getTableNamesCount() {
      return tableNames_.size();
    }
    public String getTableNames(int index) {
      return tableNames_.get(index);
    }
    
    private void initFields() {
      tableNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < tableNames_.size(); i++) {
        output.writeBytes(1, tableNames_.getByteString(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < tableNames_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(tableNames_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getTableNamesList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ListTableResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ListTableResponse_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        tableNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse(this);
        int from_bitField0_ = bitField0_;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          tableNames_ = new com.google.protobuf.UnmodifiableLazyStringList(
              tableNames_);
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.tableNames_ = tableNames_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse.getDefaultInstance()) return this;
        if (!other.tableNames_.isEmpty()) {
          if (tableNames_.isEmpty()) {
            tableNames_ = other.tableNames_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureTableNamesIsMutable();
            tableNames_.addAll(other.tableNames_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              ensureTableNamesIsMutable();
              tableNames_.add(input.readBytes());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // repeated string table_names = 1;
      private com.google.protobuf.LazyStringList tableNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureTableNamesIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          tableNames_ = new com.google.protobuf.LazyStringArrayList(tableNames_);
          bitField0_ |= 0x00000001;
         }
      }
      public java.util.List
          getTableNamesList() {
        return java.util.Collections.unmodifiableList(tableNames_);
      }
      public int getTableNamesCount() {
        return tableNames_.size();
      }
      public String getTableNames(int index) {
        return tableNames_.get(index);
      }
      public Builder setTableNames(
          int index, String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureTableNamesIsMutable();
        tableNames_.set(index, value);
        onChanged();
        return this;
      }
      public Builder addTableNames(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureTableNamesIsMutable();
        tableNames_.add(value);
        onChanged();
        return this;
      }
      public Builder addAllTableNames(
          java.lang.Iterable values) {
        ensureTableNamesIsMutable();
        super.addAll(values, tableNames_);
        onChanged();
        return this;
      }
      public Builder clearTableNames() {
        tableNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      void addTableNames(com.google.protobuf.ByteString value) {
        ensureTableNamesIsMutable();
        tableNames_.add(value);
        onChanged();
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.ListTableResponse)
    }
    
    static {
      defaultInstance = new ListTableResponse(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.ListTableResponse)
  }
  
  public interface DeleteTableRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required string table_name = 1;
    boolean hasTableName();
    String getTableName();
  }
  public static final class DeleteTableRequest extends
      com.google.protobuf.GeneratedMessage
      implements DeleteTableRequestOrBuilder {
    // Use DeleteTableRequest.newBuilder() to construct.
    private DeleteTableRequest(Builder builder) {
      super(builder);
    }
    private DeleteTableRequest(boolean noInit) {}
    
    private static final DeleteTableRequest defaultInstance;
    public static DeleteTableRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public DeleteTableRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteTableRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteTableRequest_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string table_name = 1;
    public static final int TABLE_NAME_FIELD_NUMBER = 1;
    private java.lang.Object tableName_;
    public boolean hasTableName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getTableName() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          tableName_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getTableNameBytes() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        tableName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    private void initFields() {
      tableName_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasTableName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getTableNameBytes());
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getTableNameBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteTableRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteTableRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        tableName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tableName_ = tableName_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest.getDefaultInstance()) return this;
        if (other.hasTableName()) {
          setTableName(other.getTableName());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasTableName()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              tableName_ = input.readBytes();
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string table_name = 1;
      private java.lang.Object tableName_ = "";
      public boolean hasTableName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getTableName() {
        java.lang.Object ref = tableName_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          tableName_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setTableName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
        return this;
      }
      public Builder clearTableName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tableName_ = getDefaultInstance().getTableName();
        onChanged();
        return this;
      }
      void setTableName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.DeleteTableRequest)
    }
    
    static {
      defaultInstance = new DeleteTableRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.DeleteTableRequest)
  }
  
  public interface DeleteTableResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
  }
  public static final class DeleteTableResponse extends
      com.google.protobuf.GeneratedMessage
      implements DeleteTableResponseOrBuilder {
    // Use DeleteTableResponse.newBuilder() to construct.
    private DeleteTableResponse(Builder builder) {
      super(builder);
    }
    private DeleteTableResponse(boolean noInit) {}
    
    private static final DeleteTableResponse defaultInstance;
    public static DeleteTableResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public DeleteTableResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteTableResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteTableResponse_fieldAccessorTable;
    }
    
    private void initFields() {
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteTableResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteTableResponse_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse(this);
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
          }
        }
      }
      
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.DeleteTableResponse)
    }
    
    static {
      defaultInstance = new DeleteTableResponse(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.DeleteTableResponse)
  }
  
  public interface GetRowRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required string table_name = 1;
    boolean hasTableName();
    String getTableName();
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 2;
    java.util.List 
        getPrimaryKeyList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index);
    int getPrimaryKeyCount();
    java.util.List 
        getPrimaryKeyOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
        int index);
    
    // repeated string columns_to_get = 3;
    java.util.List getColumnsToGetList();
    int getColumnsToGetCount();
    String getColumnsToGet(int index);
    
    // optional .com.aliyun.openservices.ots.protocol.ColumnCondition filter = 4;
    boolean hasFilter();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition getFilter();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder getFilterOrBuilder();
  }
  public static final class GetRowRequest extends
      com.google.protobuf.GeneratedMessage
      implements GetRowRequestOrBuilder {
    // Use GetRowRequest.newBuilder() to construct.
    private GetRowRequest(Builder builder) {
      super(builder);
    }
    private GetRowRequest(boolean noInit) {}
    
    private static final GetRowRequest defaultInstance;
    public static GetRowRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public GetRowRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_GetRowRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_GetRowRequest_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string table_name = 1;
    public static final int TABLE_NAME_FIELD_NUMBER = 1;
    private java.lang.Object tableName_;
    public boolean hasTableName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getTableName() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          tableName_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getTableNameBytes() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        tableName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 2;
    public static final int PRIMARY_KEY_FIELD_NUMBER = 2;
    private java.util.List primaryKey_;
    public java.util.List getPrimaryKeyList() {
      return primaryKey_;
    }
    public java.util.List 
        getPrimaryKeyOrBuilderList() {
      return primaryKey_;
    }
    public int getPrimaryKeyCount() {
      return primaryKey_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index) {
      return primaryKey_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
        int index) {
      return primaryKey_.get(index);
    }
    
    // repeated string columns_to_get = 3;
    public static final int COLUMNS_TO_GET_FIELD_NUMBER = 3;
    private com.google.protobuf.LazyStringList columnsToGet_;
    public java.util.List
        getColumnsToGetList() {
      return columnsToGet_;
    }
    public int getColumnsToGetCount() {
      return columnsToGet_.size();
    }
    public String getColumnsToGet(int index) {
      return columnsToGet_.get(index);
    }
    
    // optional .com.aliyun.openservices.ots.protocol.ColumnCondition filter = 4;
    public static final int FILTER_FIELD_NUMBER = 4;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition filter_;
    public boolean hasFilter() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition getFilter() {
      return filter_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder getFilterOrBuilder() {
      return filter_;
    }
    
    private void initFields() {
      tableName_ = "";
      primaryKey_ = java.util.Collections.emptyList();
      columnsToGet_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      filter_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasTableName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getPrimaryKeyCount(); i++) {
        if (!getPrimaryKey(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasFilter()) {
        if (!getFilter().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getTableNameBytes());
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        output.writeMessage(2, primaryKey_.get(i));
      }
      for (int i = 0; i < columnsToGet_.size(); i++) {
        output.writeBytes(3, columnsToGet_.getByteString(i));
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(4, filter_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getTableNameBytes());
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, primaryKey_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < columnsToGet_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(columnsToGet_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getColumnsToGetList().size();
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, filter_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_GetRowRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_GetRowRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getPrimaryKeyFieldBuilder();
          getFilterFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        tableName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          primaryKeyBuilder_.clear();
        }
        columnsToGet_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        if (filterBuilder_ == null) {
          filter_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
        } else {
          filterBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tableName_ = tableName_;
        if (primaryKeyBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            primaryKey_ = java.util.Collections.unmodifiableList(primaryKey_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.primaryKey_ = primaryKey_;
        } else {
          result.primaryKey_ = primaryKeyBuilder_.build();
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          columnsToGet_ = new com.google.protobuf.UnmodifiableLazyStringList(
              columnsToGet_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.columnsToGet_ = columnsToGet_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000002;
        }
        if (filterBuilder_ == null) {
          result.filter_ = filter_;
        } else {
          result.filter_ = filterBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest.getDefaultInstance()) return this;
        if (other.hasTableName()) {
          setTableName(other.getTableName());
        }
        if (primaryKeyBuilder_ == null) {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKey_.isEmpty()) {
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensurePrimaryKeyIsMutable();
              primaryKey_.addAll(other.primaryKey_);
            }
            onChanged();
          }
        } else {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKeyBuilder_.isEmpty()) {
              primaryKeyBuilder_.dispose();
              primaryKeyBuilder_ = null;
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000002);
              primaryKeyBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getPrimaryKeyFieldBuilder() : null;
            } else {
              primaryKeyBuilder_.addAllMessages(other.primaryKey_);
            }
          }
        }
        if (!other.columnsToGet_.isEmpty()) {
          if (columnsToGet_.isEmpty()) {
            columnsToGet_ = other.columnsToGet_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureColumnsToGetIsMutable();
            columnsToGet_.addAll(other.columnsToGet_);
          }
          onChanged();
        }
        if (other.hasFilter()) {
          mergeFilter(other.getFilter());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasTableName()) {
          
          return false;
        }
        for (int i = 0; i < getPrimaryKeyCount(); i++) {
          if (!getPrimaryKey(i).isInitialized()) {
            
            return false;
          }
        }
        if (hasFilter()) {
          if (!getFilter().isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              tableName_ = input.readBytes();
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addPrimaryKey(subBuilder.buildPartial());
              break;
            }
            case 26: {
              ensureColumnsToGetIsMutable();
              columnsToGet_.add(input.readBytes());
              break;
            }
            case 34: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.newBuilder();
              if (hasFilter()) {
                subBuilder.mergeFrom(getFilter());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setFilter(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string table_name = 1;
      private java.lang.Object tableName_ = "";
      public boolean hasTableName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getTableName() {
        java.lang.Object ref = tableName_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          tableName_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setTableName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
        return this;
      }
      public Builder clearTableName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tableName_ = getDefaultInstance().getTableName();
        onChanged();
        return this;
      }
      void setTableName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 2;
      private java.util.List primaryKey_ =
        java.util.Collections.emptyList();
      private void ensurePrimaryKeyIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          primaryKey_ = new java.util.ArrayList(primaryKey_);
          bitField0_ |= 0x00000002;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> primaryKeyBuilder_;
      
      public java.util.List getPrimaryKeyList() {
        if (primaryKeyBuilder_ == null) {
          return java.util.Collections.unmodifiableList(primaryKey_);
        } else {
          return primaryKeyBuilder_.getMessageList();
        }
      }
      public int getPrimaryKeyCount() {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.size();
        } else {
          return primaryKeyBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);
        } else {
          return primaryKeyBuilder_.getMessage(index);
        }
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllPrimaryKey(
          java.lang.Iterable values) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          super.addAll(values, primaryKey_);
          onChanged();
        } else {
          primaryKeyBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearPrimaryKey() {
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          primaryKeyBuilder_.clear();
        }
        return this;
      }
      public Builder removePrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.remove(index);
          onChanged();
        } else {
          primaryKeyBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder getPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
          int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);  } else {
          return primaryKeyBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getPrimaryKeyOrBuilderList() {
        if (primaryKeyBuilder_ != null) {
          return primaryKeyBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(primaryKey_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyBuilder() {
        return getPrimaryKeyFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public java.util.List 
           getPrimaryKeyBuilderList() {
        return getPrimaryKeyFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> 
          getPrimaryKeyFieldBuilder() {
        if (primaryKeyBuilder_ == null) {
          primaryKeyBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder>(
                  primaryKey_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          primaryKey_ = null;
        }
        return primaryKeyBuilder_;
      }
      
      // repeated string columns_to_get = 3;
      private com.google.protobuf.LazyStringList columnsToGet_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureColumnsToGetIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          columnsToGet_ = new com.google.protobuf.LazyStringArrayList(columnsToGet_);
          bitField0_ |= 0x00000004;
         }
      }
      public java.util.List
          getColumnsToGetList() {
        return java.util.Collections.unmodifiableList(columnsToGet_);
      }
      public int getColumnsToGetCount() {
        return columnsToGet_.size();
      }
      public String getColumnsToGet(int index) {
        return columnsToGet_.get(index);
      }
      public Builder setColumnsToGet(
          int index, String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureColumnsToGetIsMutable();
        columnsToGet_.set(index, value);
        onChanged();
        return this;
      }
      public Builder addColumnsToGet(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureColumnsToGetIsMutable();
        columnsToGet_.add(value);
        onChanged();
        return this;
      }
      public Builder addAllColumnsToGet(
          java.lang.Iterable values) {
        ensureColumnsToGetIsMutable();
        super.addAll(values, columnsToGet_);
        onChanged();
        return this;
      }
      public Builder clearColumnsToGet() {
        columnsToGet_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      void addColumnsToGet(com.google.protobuf.ByteString value) {
        ensureColumnsToGetIsMutable();
        columnsToGet_.add(value);
        onChanged();
      }
      
      // optional .com.aliyun.openservices.ots.protocol.ColumnCondition filter = 4;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition filter_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder> filterBuilder_;
      public boolean hasFilter() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition getFilter() {
        if (filterBuilder_ == null) {
          return filter_;
        } else {
          return filterBuilder_.getMessage();
        }
      }
      public Builder setFilter(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition value) {
        if (filterBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          filter_ = value;
          onChanged();
        } else {
          filterBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      public Builder setFilter(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder builderForValue) {
        if (filterBuilder_ == null) {
          filter_ = builderForValue.build();
          onChanged();
        } else {
          filterBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      public Builder mergeFilter(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition value) {
        if (filterBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              filter_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance()) {
            filter_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.newBuilder(filter_).mergeFrom(value).buildPartial();
          } else {
            filter_ = value;
          }
          onChanged();
        } else {
          filterBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      public Builder clearFilter() {
        if (filterBuilder_ == null) {
          filter_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
          onChanged();
        } else {
          filterBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder getFilterBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getFilterFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder getFilterOrBuilder() {
        if (filterBuilder_ != null) {
          return filterBuilder_.getMessageOrBuilder();
        } else {
          return filter_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder> 
          getFilterFieldBuilder() {
        if (filterBuilder_ == null) {
          filterBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder>(
                  filter_,
                  getParentForChildren(),
                  isClean());
          filter_ = null;
        }
        return filterBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.GetRowRequest)
    }
    
    static {
      defaultInstance = new GetRowRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.GetRowRequest)
  }
  
  public interface GetRowResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 1;
    boolean hasConsumed();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder();
    
    // required .com.aliyun.openservices.ots.protocol.Row row = 2;
    boolean hasRow();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Row getRow();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder getRowOrBuilder();
  }
  public static final class GetRowResponse extends
      com.google.protobuf.GeneratedMessage
      implements GetRowResponseOrBuilder {
    // Use GetRowResponse.newBuilder() to construct.
    private GetRowResponse(Builder builder) {
      super(builder);
    }
    private GetRowResponse(boolean noInit) {}
    
    private static final GetRowResponse defaultInstance;
    public static GetRowResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public GetRowResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_GetRowResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_GetRowResponse_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 1;
    public static final int CONSUMED_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity consumed_;
    public boolean hasConsumed() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed() {
      return consumed_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder() {
      return consumed_;
    }
    
    // required .com.aliyun.openservices.ots.protocol.Row row = 2;
    public static final int ROW_FIELD_NUMBER = 2;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.Row row_;
    public boolean hasRow() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Row getRow() {
      return row_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder getRowOrBuilder() {
      return row_;
    }
    
    private void initFields() {
      consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
      row_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasConsumed()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasRow()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getConsumed().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getRow().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, consumed_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, row_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, consumed_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, row_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_GetRowResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_GetRowResponse_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getConsumedFieldBuilder();
          getRowFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (consumedBuilder_ == null) {
          consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
        } else {
          consumedBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (rowBuilder_ == null) {
          row_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.getDefaultInstance();
        } else {
          rowBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (consumedBuilder_ == null) {
          result.consumed_ = consumed_;
        } else {
          result.consumed_ = consumedBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (rowBuilder_ == null) {
          result.row_ = row_;
        } else {
          result.row_ = rowBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse.getDefaultInstance()) return this;
        if (other.hasConsumed()) {
          mergeConsumed(other.getConsumed());
        }
        if (other.hasRow()) {
          mergeRow(other.getRow());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasConsumed()) {
          
          return false;
        }
        if (!hasRow()) {
          
          return false;
        }
        if (!getConsumed().isInitialized()) {
          
          return false;
        }
        if (!getRow().isInitialized()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.newBuilder();
              if (hasConsumed()) {
                subBuilder.mergeFrom(getConsumed());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setConsumed(subBuilder.buildPartial());
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.newBuilder();
              if (hasRow()) {
                subBuilder.mergeFrom(getRow());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setRow(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder> consumedBuilder_;
      public boolean hasConsumed() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed() {
        if (consumedBuilder_ == null) {
          return consumed_;
        } else {
          return consumedBuilder_.getMessage();
        }
      }
      public Builder setConsumed(com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity value) {
        if (consumedBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          consumed_ = value;
          onChanged();
        } else {
          consumedBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder setConsumed(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder builderForValue) {
        if (consumedBuilder_ == null) {
          consumed_ = builderForValue.build();
          onChanged();
        } else {
          consumedBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder mergeConsumed(com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity value) {
        if (consumedBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              consumed_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance()) {
            consumed_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.newBuilder(consumed_).mergeFrom(value).buildPartial();
          } else {
            consumed_ = value;
          }
          onChanged();
        } else {
          consumedBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder clearConsumed() {
        if (consumedBuilder_ == null) {
          consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
          onChanged();
        } else {
          consumedBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder getConsumedBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getConsumedFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder() {
        if (consumedBuilder_ != null) {
          return consumedBuilder_.getMessageOrBuilder();
        } else {
          return consumed_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder> 
          getConsumedFieldBuilder() {
        if (consumedBuilder_ == null) {
          consumedBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder>(
                  consumed_,
                  getParentForChildren(),
                  isClean());
          consumed_ = null;
        }
        return consumedBuilder_;
      }
      
      // required .com.aliyun.openservices.ots.protocol.Row row = 2;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.Row row_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Row, com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder> rowBuilder_;
      public boolean hasRow() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Row getRow() {
        if (rowBuilder_ == null) {
          return row_;
        } else {
          return rowBuilder_.getMessage();
        }
      }
      public Builder setRow(com.aliyun.openservices.ots.protocol.OtsProtocol2.Row value) {
        if (rowBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          row_ = value;
          onChanged();
        } else {
          rowBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder setRow(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder builderForValue) {
        if (rowBuilder_ == null) {
          row_ = builderForValue.build();
          onChanged();
        } else {
          rowBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder mergeRow(com.aliyun.openservices.ots.protocol.OtsProtocol2.Row value) {
        if (rowBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              row_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.getDefaultInstance()) {
            row_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.newBuilder(row_).mergeFrom(value).buildPartial();
          } else {
            row_ = value;
          }
          onChanged();
        } else {
          rowBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder clearRow() {
        if (rowBuilder_ == null) {
          row_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.getDefaultInstance();
          onChanged();
        } else {
          rowBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder getRowBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getRowFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder getRowOrBuilder() {
        if (rowBuilder_ != null) {
          return rowBuilder_.getMessageOrBuilder();
        } else {
          return row_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Row, com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder> 
          getRowFieldBuilder() {
        if (rowBuilder_ == null) {
          rowBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Row, com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder>(
                  row_,
                  getParentForChildren(),
                  isClean());
          row_ = null;
        }
        return rowBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.GetRowResponse)
    }
    
    static {
      defaultInstance = new GetRowResponse(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.GetRowResponse)
  }
  
  public interface ColumnUpdateOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.OperationType type = 1;
    boolean hasType();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.OperationType getType();
    
    // required string name = 2;
    boolean hasName();
    String getName();
    
    // optional .com.aliyun.openservices.ots.protocol.ColumnValue value = 3;
    boolean hasValue();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue getValue();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder getValueOrBuilder();
  }
  public static final class ColumnUpdate extends
      com.google.protobuf.GeneratedMessage
      implements ColumnUpdateOrBuilder {
    // Use ColumnUpdate.newBuilder() to construct.
    private ColumnUpdate(Builder builder) {
      super(builder);
    }
    private ColumnUpdate(boolean noInit) {}
    
    private static final ColumnUpdate defaultInstance;
    public static ColumnUpdate getDefaultInstance() {
      return defaultInstance;
    }
    
    public ColumnUpdate getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ColumnUpdate_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ColumnUpdate_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.OperationType type = 1;
    public static final int TYPE_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.OperationType type_;
    public boolean hasType() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.OperationType getType() {
      return type_;
    }
    
    // required string name = 2;
    public static final int NAME_FIELD_NUMBER = 2;
    private java.lang.Object name_;
    public boolean hasName() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public String getName() {
      java.lang.Object ref = name_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          name_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // optional .com.aliyun.openservices.ots.protocol.ColumnValue value = 3;
    public static final int VALUE_FIELD_NUMBER = 3;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue value_;
    public boolean hasValue() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue getValue() {
      return value_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder getValueOrBuilder() {
      return value_;
    }
    
    private void initFields() {
      type_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.OperationType.PUT;
      name_ = "";
      value_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasType()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasValue()) {
        if (!getValue().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeEnum(1, type_.getNumber());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, getNameBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, value_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, type_.getNumber());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, getNameBytes());
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, value_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdateOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ColumnUpdate_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_ColumnUpdate_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getValueFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        type_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.OperationType.PUT;
        bitField0_ = (bitField0_ & ~0x00000001);
        name_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        if (valueBuilder_ == null) {
          value_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance();
        } else {
          valueBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.type_ = type_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.name_ = name_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (valueBuilder_ == null) {
          result.value_ = value_;
        } else {
          result.value_ = valueBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.getDefaultInstance()) return this;
        if (other.hasType()) {
          setType(other.getType());
        }
        if (other.hasName()) {
          setName(other.getName());
        }
        if (other.hasValue()) {
          mergeValue(other.getValue());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasType()) {
          
          return false;
        }
        if (!hasName()) {
          
          return false;
        }
        if (hasValue()) {
          if (!getValue().isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 8: {
              int rawValue = input.readEnum();
              com.aliyun.openservices.ots.protocol.OtsProtocol2.OperationType value = com.aliyun.openservices.ots.protocol.OtsProtocol2.OperationType.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                bitField0_ |= 0x00000001;
                type_ = value;
              }
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              name_ = input.readBytes();
              break;
            }
            case 26: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.newBuilder();
              if (hasValue()) {
                subBuilder.mergeFrom(getValue());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setValue(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.OperationType type = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.OperationType type_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.OperationType.PUT;
      public boolean hasType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.OperationType getType() {
        return type_;
      }
      public Builder setType(com.aliyun.openservices.ots.protocol.OtsProtocol2.OperationType value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        type_ = value;
        onChanged();
        return this;
      }
      public Builder clearType() {
        bitField0_ = (bitField0_ & ~0x00000001);
        type_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.OperationType.PUT;
        onChanged();
        return this;
      }
      
      // required string name = 2;
      private java.lang.Object name_ = "";
      public boolean hasName() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        name_ = value;
        onChanged();
        return this;
      }
      public Builder clearName() {
        bitField0_ = (bitField0_ & ~0x00000002);
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      void setName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000002;
        name_ = value;
        onChanged();
      }
      
      // optional .com.aliyun.openservices.ots.protocol.ColumnValue value = 3;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue value_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder> valueBuilder_;
      public boolean hasValue() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue getValue() {
        if (valueBuilder_ == null) {
          return value_;
        } else {
          return valueBuilder_.getMessage();
        }
      }
      public Builder setValue(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue value) {
        if (valueBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          value_ = value;
          onChanged();
        } else {
          valueBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      public Builder setValue(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder builderForValue) {
        if (valueBuilder_ == null) {
          value_ = builderForValue.build();
          onChanged();
        } else {
          valueBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      public Builder mergeValue(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue value) {
        if (valueBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              value_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance()) {
            value_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.newBuilder(value_).mergeFrom(value).buildPartial();
          } else {
            value_ = value;
          }
          onChanged();
        } else {
          valueBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      public Builder clearValue() {
        if (valueBuilder_ == null) {
          value_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.getDefaultInstance();
          onChanged();
        } else {
          valueBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder getValueBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getValueFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder getValueOrBuilder() {
        if (valueBuilder_ != null) {
          return valueBuilder_.getMessageOrBuilder();
        } else {
          return value_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder> 
          getValueFieldBuilder() {
        if (valueBuilder_ == null) {
          valueBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValueOrBuilder>(
                  value_,
                  getParentForChildren(),
                  isClean());
          value_ = null;
        }
        return valueBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.ColumnUpdate)
    }
    
    static {
      defaultInstance = new ColumnUpdate(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.ColumnUpdate)
  }
  
  public interface UpdateRowRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required string table_name = 1;
    boolean hasTableName();
    String getTableName();
    
    // required .com.aliyun.openservices.ots.protocol.Condition condition = 2;
    boolean hasCondition();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder();
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 3;
    java.util.List 
        getPrimaryKeyList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index);
    int getPrimaryKeyCount();
    java.util.List 
        getPrimaryKeyOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
        int index);
    
    // repeated .com.aliyun.openservices.ots.protocol.ColumnUpdate attribute_columns = 4;
    java.util.List 
        getAttributeColumnsList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate getAttributeColumns(int index);
    int getAttributeColumnsCount();
    java.util.List 
        getAttributeColumnsOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdateOrBuilder getAttributeColumnsOrBuilder(
        int index);
  }
  public static final class UpdateRowRequest extends
      com.google.protobuf.GeneratedMessage
      implements UpdateRowRequestOrBuilder {
    // Use UpdateRowRequest.newBuilder() to construct.
    private UpdateRowRequest(Builder builder) {
      super(builder);
    }
    private UpdateRowRequest(boolean noInit) {}
    
    private static final UpdateRowRequest defaultInstance;
    public static UpdateRowRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public UpdateRowRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateRowRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateRowRequest_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string table_name = 1;
    public static final int TABLE_NAME_FIELD_NUMBER = 1;
    private java.lang.Object tableName_;
    public boolean hasTableName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getTableName() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          tableName_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getTableNameBytes() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        tableName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // required .com.aliyun.openservices.ots.protocol.Condition condition = 2;
    public static final int CONDITION_FIELD_NUMBER = 2;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition condition_;
    public boolean hasCondition() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition() {
      return condition_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder() {
      return condition_;
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 3;
    public static final int PRIMARY_KEY_FIELD_NUMBER = 3;
    private java.util.List primaryKey_;
    public java.util.List getPrimaryKeyList() {
      return primaryKey_;
    }
    public java.util.List 
        getPrimaryKeyOrBuilderList() {
      return primaryKey_;
    }
    public int getPrimaryKeyCount() {
      return primaryKey_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index) {
      return primaryKey_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
        int index) {
      return primaryKey_.get(index);
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.ColumnUpdate attribute_columns = 4;
    public static final int ATTRIBUTE_COLUMNS_FIELD_NUMBER = 4;
    private java.util.List attributeColumns_;
    public java.util.List getAttributeColumnsList() {
      return attributeColumns_;
    }
    public java.util.List 
        getAttributeColumnsOrBuilderList() {
      return attributeColumns_;
    }
    public int getAttributeColumnsCount() {
      return attributeColumns_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate getAttributeColumns(int index) {
      return attributeColumns_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdateOrBuilder getAttributeColumnsOrBuilder(
        int index) {
      return attributeColumns_.get(index);
    }
    
    private void initFields() {
      tableName_ = "";
      condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
      primaryKey_ = java.util.Collections.emptyList();
      attributeColumns_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasTableName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasCondition()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getCondition().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getPrimaryKeyCount(); i++) {
        if (!getPrimaryKey(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getAttributeColumnsCount(); i++) {
        if (!getAttributeColumns(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getTableNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, condition_);
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        output.writeMessage(3, primaryKey_.get(i));
      }
      for (int i = 0; i < attributeColumns_.size(); i++) {
        output.writeMessage(4, attributeColumns_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getTableNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, condition_);
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, primaryKey_.get(i));
      }
      for (int i = 0; i < attributeColumns_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, attributeColumns_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateRowRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateRowRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getConditionFieldBuilder();
          getPrimaryKeyFieldBuilder();
          getAttributeColumnsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        tableName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (conditionBuilder_ == null) {
          condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
        } else {
          conditionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          primaryKeyBuilder_.clear();
        }
        if (attributeColumnsBuilder_ == null) {
          attributeColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          attributeColumnsBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tableName_ = tableName_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (conditionBuilder_ == null) {
          result.condition_ = condition_;
        } else {
          result.condition_ = conditionBuilder_.build();
        }
        if (primaryKeyBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            primaryKey_ = java.util.Collections.unmodifiableList(primaryKey_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.primaryKey_ = primaryKey_;
        } else {
          result.primaryKey_ = primaryKeyBuilder_.build();
        }
        if (attributeColumnsBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            attributeColumns_ = java.util.Collections.unmodifiableList(attributeColumns_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.attributeColumns_ = attributeColumns_;
        } else {
          result.attributeColumns_ = attributeColumnsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest.getDefaultInstance()) return this;
        if (other.hasTableName()) {
          setTableName(other.getTableName());
        }
        if (other.hasCondition()) {
          mergeCondition(other.getCondition());
        }
        if (primaryKeyBuilder_ == null) {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKey_.isEmpty()) {
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensurePrimaryKeyIsMutable();
              primaryKey_.addAll(other.primaryKey_);
            }
            onChanged();
          }
        } else {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKeyBuilder_.isEmpty()) {
              primaryKeyBuilder_.dispose();
              primaryKeyBuilder_ = null;
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000004);
              primaryKeyBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getPrimaryKeyFieldBuilder() : null;
            } else {
              primaryKeyBuilder_.addAllMessages(other.primaryKey_);
            }
          }
        }
        if (attributeColumnsBuilder_ == null) {
          if (!other.attributeColumns_.isEmpty()) {
            if (attributeColumns_.isEmpty()) {
              attributeColumns_ = other.attributeColumns_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureAttributeColumnsIsMutable();
              attributeColumns_.addAll(other.attributeColumns_);
            }
            onChanged();
          }
        } else {
          if (!other.attributeColumns_.isEmpty()) {
            if (attributeColumnsBuilder_.isEmpty()) {
              attributeColumnsBuilder_.dispose();
              attributeColumnsBuilder_ = null;
              attributeColumns_ = other.attributeColumns_;
              bitField0_ = (bitField0_ & ~0x00000008);
              attributeColumnsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getAttributeColumnsFieldBuilder() : null;
            } else {
              attributeColumnsBuilder_.addAllMessages(other.attributeColumns_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasTableName()) {
          
          return false;
        }
        if (!hasCondition()) {
          
          return false;
        }
        if (!getCondition().isInitialized()) {
          
          return false;
        }
        for (int i = 0; i < getPrimaryKeyCount(); i++) {
          if (!getPrimaryKey(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getAttributeColumnsCount(); i++) {
          if (!getAttributeColumns(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              tableName_ = input.readBytes();
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.newBuilder();
              if (hasCondition()) {
                subBuilder.mergeFrom(getCondition());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setCondition(subBuilder.buildPartial());
              break;
            }
            case 26: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addPrimaryKey(subBuilder.buildPartial());
              break;
            }
            case 34: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addAttributeColumns(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string table_name = 1;
      private java.lang.Object tableName_ = "";
      public boolean hasTableName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getTableName() {
        java.lang.Object ref = tableName_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          tableName_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setTableName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
        return this;
      }
      public Builder clearTableName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tableName_ = getDefaultInstance().getTableName();
        onChanged();
        return this;
      }
      void setTableName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
      }
      
      // required .com.aliyun.openservices.ots.protocol.Condition condition = 2;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder> conditionBuilder_;
      public boolean hasCondition() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition() {
        if (conditionBuilder_ == null) {
          return condition_;
        } else {
          return conditionBuilder_.getMessage();
        }
      }
      public Builder setCondition(com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition value) {
        if (conditionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          condition_ = value;
          onChanged();
        } else {
          conditionBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder setCondition(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder builderForValue) {
        if (conditionBuilder_ == null) {
          condition_ = builderForValue.build();
          onChanged();
        } else {
          conditionBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder mergeCondition(com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition value) {
        if (conditionBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              condition_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance()) {
            condition_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.newBuilder(condition_).mergeFrom(value).buildPartial();
          } else {
            condition_ = value;
          }
          onChanged();
        } else {
          conditionBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder clearCondition() {
        if (conditionBuilder_ == null) {
          condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
          onChanged();
        } else {
          conditionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder getConditionBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getConditionFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder() {
        if (conditionBuilder_ != null) {
          return conditionBuilder_.getMessageOrBuilder();
        } else {
          return condition_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder> 
          getConditionFieldBuilder() {
        if (conditionBuilder_ == null) {
          conditionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder>(
                  condition_,
                  getParentForChildren(),
                  isClean());
          condition_ = null;
        }
        return conditionBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 3;
      private java.util.List primaryKey_ =
        java.util.Collections.emptyList();
      private void ensurePrimaryKeyIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          primaryKey_ = new java.util.ArrayList(primaryKey_);
          bitField0_ |= 0x00000004;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> primaryKeyBuilder_;
      
      public java.util.List getPrimaryKeyList() {
        if (primaryKeyBuilder_ == null) {
          return java.util.Collections.unmodifiableList(primaryKey_);
        } else {
          return primaryKeyBuilder_.getMessageList();
        }
      }
      public int getPrimaryKeyCount() {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.size();
        } else {
          return primaryKeyBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);
        } else {
          return primaryKeyBuilder_.getMessage(index);
        }
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllPrimaryKey(
          java.lang.Iterable values) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          super.addAll(values, primaryKey_);
          onChanged();
        } else {
          primaryKeyBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearPrimaryKey() {
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          primaryKeyBuilder_.clear();
        }
        return this;
      }
      public Builder removePrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.remove(index);
          onChanged();
        } else {
          primaryKeyBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder getPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
          int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);  } else {
          return primaryKeyBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getPrimaryKeyOrBuilderList() {
        if (primaryKeyBuilder_ != null) {
          return primaryKeyBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(primaryKey_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyBuilder() {
        return getPrimaryKeyFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public java.util.List 
           getPrimaryKeyBuilderList() {
        return getPrimaryKeyFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> 
          getPrimaryKeyFieldBuilder() {
        if (primaryKeyBuilder_ == null) {
          primaryKeyBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder>(
                  primaryKey_,
                  ((bitField0_ & 0x00000004) == 0x00000004),
                  getParentForChildren(),
                  isClean());
          primaryKey_ = null;
        }
        return primaryKeyBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.ColumnUpdate attribute_columns = 4;
      private java.util.List attributeColumns_ =
        java.util.Collections.emptyList();
      private void ensureAttributeColumnsIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          attributeColumns_ = new java.util.ArrayList(attributeColumns_);
          bitField0_ |= 0x00000008;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdateOrBuilder> attributeColumnsBuilder_;
      
      public java.util.List getAttributeColumnsList() {
        if (attributeColumnsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(attributeColumns_);
        } else {
          return attributeColumnsBuilder_.getMessageList();
        }
      }
      public int getAttributeColumnsCount() {
        if (attributeColumnsBuilder_ == null) {
          return attributeColumns_.size();
        } else {
          return attributeColumnsBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate getAttributeColumns(int index) {
        if (attributeColumnsBuilder_ == null) {
          return attributeColumns_.get(index);
        } else {
          return attributeColumnsBuilder_.getMessage(index);
        }
      }
      public Builder setAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate value) {
        if (attributeColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeColumnsIsMutable();
          attributeColumns_.set(index, value);
          onChanged();
        } else {
          attributeColumnsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder builderForValue) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.set(index, builderForValue.build());
          onChanged();
        } else {
          attributeColumnsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAttributeColumns(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate value) {
        if (attributeColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(value);
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate value) {
        if (attributeColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(index, value);
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addAttributeColumns(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder builderForValue) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(builderForValue.build());
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder builderForValue) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(index, builderForValue.build());
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllAttributeColumns(
          java.lang.Iterable values) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          super.addAll(values, attributeColumns_);
          onChanged();
        } else {
          attributeColumnsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearAttributeColumns() {
        if (attributeColumnsBuilder_ == null) {
          attributeColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          attributeColumnsBuilder_.clear();
        }
        return this;
      }
      public Builder removeAttributeColumns(int index) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.remove(index);
          onChanged();
        } else {
          attributeColumnsBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder getAttributeColumnsBuilder(
          int index) {
        return getAttributeColumnsFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdateOrBuilder getAttributeColumnsOrBuilder(
          int index) {
        if (attributeColumnsBuilder_ == null) {
          return attributeColumns_.get(index);  } else {
          return attributeColumnsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getAttributeColumnsOrBuilderList() {
        if (attributeColumnsBuilder_ != null) {
          return attributeColumnsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(attributeColumns_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder addAttributeColumnsBuilder() {
        return getAttributeColumnsFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder addAttributeColumnsBuilder(
          int index) {
        return getAttributeColumnsFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.getDefaultInstance());
      }
      public java.util.List 
           getAttributeColumnsBuilderList() {
        return getAttributeColumnsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdateOrBuilder> 
          getAttributeColumnsFieldBuilder() {
        if (attributeColumnsBuilder_ == null) {
          attributeColumnsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdateOrBuilder>(
                  attributeColumns_,
                  ((bitField0_ & 0x00000008) == 0x00000008),
                  getParentForChildren(),
                  isClean());
          attributeColumns_ = null;
        }
        return attributeColumnsBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.UpdateRowRequest)
    }
    
    static {
      defaultInstance = new UpdateRowRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.UpdateRowRequest)
  }
  
  public interface UpdateRowResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 1;
    boolean hasConsumed();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder();
  }
  public static final class UpdateRowResponse extends
      com.google.protobuf.GeneratedMessage
      implements UpdateRowResponseOrBuilder {
    // Use UpdateRowResponse.newBuilder() to construct.
    private UpdateRowResponse(Builder builder) {
      super(builder);
    }
    private UpdateRowResponse(boolean noInit) {}
    
    private static final UpdateRowResponse defaultInstance;
    public static UpdateRowResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public UpdateRowResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateRowResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateRowResponse_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 1;
    public static final int CONSUMED_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity consumed_;
    public boolean hasConsumed() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed() {
      return consumed_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder() {
      return consumed_;
    }
    
    private void initFields() {
      consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasConsumed()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getConsumed().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, consumed_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, consumed_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateRowResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateRowResponse_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getConsumedFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (consumedBuilder_ == null) {
          consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
        } else {
          consumedBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (consumedBuilder_ == null) {
          result.consumed_ = consumed_;
        } else {
          result.consumed_ = consumedBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse.getDefaultInstance()) return this;
        if (other.hasConsumed()) {
          mergeConsumed(other.getConsumed());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasConsumed()) {
          
          return false;
        }
        if (!getConsumed().isInitialized()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.newBuilder();
              if (hasConsumed()) {
                subBuilder.mergeFrom(getConsumed());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setConsumed(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder> consumedBuilder_;
      public boolean hasConsumed() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed() {
        if (consumedBuilder_ == null) {
          return consumed_;
        } else {
          return consumedBuilder_.getMessage();
        }
      }
      public Builder setConsumed(com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity value) {
        if (consumedBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          consumed_ = value;
          onChanged();
        } else {
          consumedBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder setConsumed(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder builderForValue) {
        if (consumedBuilder_ == null) {
          consumed_ = builderForValue.build();
          onChanged();
        } else {
          consumedBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder mergeConsumed(com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity value) {
        if (consumedBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              consumed_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance()) {
            consumed_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.newBuilder(consumed_).mergeFrom(value).buildPartial();
          } else {
            consumed_ = value;
          }
          onChanged();
        } else {
          consumedBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder clearConsumed() {
        if (consumedBuilder_ == null) {
          consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
          onChanged();
        } else {
          consumedBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder getConsumedBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getConsumedFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder() {
        if (consumedBuilder_ != null) {
          return consumedBuilder_.getMessageOrBuilder();
        } else {
          return consumed_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder> 
          getConsumedFieldBuilder() {
        if (consumedBuilder_ == null) {
          consumedBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder>(
                  consumed_,
                  getParentForChildren(),
                  isClean());
          consumed_ = null;
        }
        return consumedBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.UpdateRowResponse)
    }
    
    static {
      defaultInstance = new UpdateRowResponse(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.UpdateRowResponse)
  }
  
  public interface PutRowRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required string table_name = 1;
    boolean hasTableName();
    String getTableName();
    
    // required .com.aliyun.openservices.ots.protocol.Condition condition = 2;
    boolean hasCondition();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder();
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 3;
    java.util.List 
        getPrimaryKeyList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index);
    int getPrimaryKeyCount();
    java.util.List 
        getPrimaryKeyOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
        int index);
    
    // repeated .com.aliyun.openservices.ots.protocol.Column attribute_columns = 4;
    java.util.List 
        getAttributeColumnsList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getAttributeColumns(int index);
    int getAttributeColumnsCount();
    java.util.List 
        getAttributeColumnsOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getAttributeColumnsOrBuilder(
        int index);
  }
  public static final class PutRowRequest extends
      com.google.protobuf.GeneratedMessage
      implements PutRowRequestOrBuilder {
    // Use PutRowRequest.newBuilder() to construct.
    private PutRowRequest(Builder builder) {
      super(builder);
    }
    private PutRowRequest(boolean noInit) {}
    
    private static final PutRowRequest defaultInstance;
    public static PutRowRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public PutRowRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_PutRowRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_PutRowRequest_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string table_name = 1;
    public static final int TABLE_NAME_FIELD_NUMBER = 1;
    private java.lang.Object tableName_;
    public boolean hasTableName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getTableName() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          tableName_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getTableNameBytes() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        tableName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // required .com.aliyun.openservices.ots.protocol.Condition condition = 2;
    public static final int CONDITION_FIELD_NUMBER = 2;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition condition_;
    public boolean hasCondition() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition() {
      return condition_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder() {
      return condition_;
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 3;
    public static final int PRIMARY_KEY_FIELD_NUMBER = 3;
    private java.util.List primaryKey_;
    public java.util.List getPrimaryKeyList() {
      return primaryKey_;
    }
    public java.util.List 
        getPrimaryKeyOrBuilderList() {
      return primaryKey_;
    }
    public int getPrimaryKeyCount() {
      return primaryKey_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index) {
      return primaryKey_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
        int index) {
      return primaryKey_.get(index);
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.Column attribute_columns = 4;
    public static final int ATTRIBUTE_COLUMNS_FIELD_NUMBER = 4;
    private java.util.List attributeColumns_;
    public java.util.List getAttributeColumnsList() {
      return attributeColumns_;
    }
    public java.util.List 
        getAttributeColumnsOrBuilderList() {
      return attributeColumns_;
    }
    public int getAttributeColumnsCount() {
      return attributeColumns_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getAttributeColumns(int index) {
      return attributeColumns_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getAttributeColumnsOrBuilder(
        int index) {
      return attributeColumns_.get(index);
    }
    
    private void initFields() {
      tableName_ = "";
      condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
      primaryKey_ = java.util.Collections.emptyList();
      attributeColumns_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasTableName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasCondition()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getCondition().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getPrimaryKeyCount(); i++) {
        if (!getPrimaryKey(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getAttributeColumnsCount(); i++) {
        if (!getAttributeColumns(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getTableNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, condition_);
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        output.writeMessage(3, primaryKey_.get(i));
      }
      for (int i = 0; i < attributeColumns_.size(); i++) {
        output.writeMessage(4, attributeColumns_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getTableNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, condition_);
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, primaryKey_.get(i));
      }
      for (int i = 0; i < attributeColumns_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, attributeColumns_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_PutRowRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_PutRowRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getConditionFieldBuilder();
          getPrimaryKeyFieldBuilder();
          getAttributeColumnsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        tableName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (conditionBuilder_ == null) {
          condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
        } else {
          conditionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          primaryKeyBuilder_.clear();
        }
        if (attributeColumnsBuilder_ == null) {
          attributeColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          attributeColumnsBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tableName_ = tableName_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (conditionBuilder_ == null) {
          result.condition_ = condition_;
        } else {
          result.condition_ = conditionBuilder_.build();
        }
        if (primaryKeyBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            primaryKey_ = java.util.Collections.unmodifiableList(primaryKey_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.primaryKey_ = primaryKey_;
        } else {
          result.primaryKey_ = primaryKeyBuilder_.build();
        }
        if (attributeColumnsBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            attributeColumns_ = java.util.Collections.unmodifiableList(attributeColumns_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.attributeColumns_ = attributeColumns_;
        } else {
          result.attributeColumns_ = attributeColumnsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest.getDefaultInstance()) return this;
        if (other.hasTableName()) {
          setTableName(other.getTableName());
        }
        if (other.hasCondition()) {
          mergeCondition(other.getCondition());
        }
        if (primaryKeyBuilder_ == null) {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKey_.isEmpty()) {
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensurePrimaryKeyIsMutable();
              primaryKey_.addAll(other.primaryKey_);
            }
            onChanged();
          }
        } else {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKeyBuilder_.isEmpty()) {
              primaryKeyBuilder_.dispose();
              primaryKeyBuilder_ = null;
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000004);
              primaryKeyBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getPrimaryKeyFieldBuilder() : null;
            } else {
              primaryKeyBuilder_.addAllMessages(other.primaryKey_);
            }
          }
        }
        if (attributeColumnsBuilder_ == null) {
          if (!other.attributeColumns_.isEmpty()) {
            if (attributeColumns_.isEmpty()) {
              attributeColumns_ = other.attributeColumns_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureAttributeColumnsIsMutable();
              attributeColumns_.addAll(other.attributeColumns_);
            }
            onChanged();
          }
        } else {
          if (!other.attributeColumns_.isEmpty()) {
            if (attributeColumnsBuilder_.isEmpty()) {
              attributeColumnsBuilder_.dispose();
              attributeColumnsBuilder_ = null;
              attributeColumns_ = other.attributeColumns_;
              bitField0_ = (bitField0_ & ~0x00000008);
              attributeColumnsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getAttributeColumnsFieldBuilder() : null;
            } else {
              attributeColumnsBuilder_.addAllMessages(other.attributeColumns_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasTableName()) {
          
          return false;
        }
        if (!hasCondition()) {
          
          return false;
        }
        if (!getCondition().isInitialized()) {
          
          return false;
        }
        for (int i = 0; i < getPrimaryKeyCount(); i++) {
          if (!getPrimaryKey(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getAttributeColumnsCount(); i++) {
          if (!getAttributeColumns(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              tableName_ = input.readBytes();
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.newBuilder();
              if (hasCondition()) {
                subBuilder.mergeFrom(getCondition());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setCondition(subBuilder.buildPartial());
              break;
            }
            case 26: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addPrimaryKey(subBuilder.buildPartial());
              break;
            }
            case 34: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addAttributeColumns(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string table_name = 1;
      private java.lang.Object tableName_ = "";
      public boolean hasTableName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getTableName() {
        java.lang.Object ref = tableName_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          tableName_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setTableName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
        return this;
      }
      public Builder clearTableName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tableName_ = getDefaultInstance().getTableName();
        onChanged();
        return this;
      }
      void setTableName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
      }
      
      // required .com.aliyun.openservices.ots.protocol.Condition condition = 2;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder> conditionBuilder_;
      public boolean hasCondition() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition() {
        if (conditionBuilder_ == null) {
          return condition_;
        } else {
          return conditionBuilder_.getMessage();
        }
      }
      public Builder setCondition(com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition value) {
        if (conditionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          condition_ = value;
          onChanged();
        } else {
          conditionBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder setCondition(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder builderForValue) {
        if (conditionBuilder_ == null) {
          condition_ = builderForValue.build();
          onChanged();
        } else {
          conditionBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder mergeCondition(com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition value) {
        if (conditionBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              condition_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance()) {
            condition_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.newBuilder(condition_).mergeFrom(value).buildPartial();
          } else {
            condition_ = value;
          }
          onChanged();
        } else {
          conditionBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder clearCondition() {
        if (conditionBuilder_ == null) {
          condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
          onChanged();
        } else {
          conditionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder getConditionBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getConditionFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder() {
        if (conditionBuilder_ != null) {
          return conditionBuilder_.getMessageOrBuilder();
        } else {
          return condition_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder> 
          getConditionFieldBuilder() {
        if (conditionBuilder_ == null) {
          conditionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder>(
                  condition_,
                  getParentForChildren(),
                  isClean());
          condition_ = null;
        }
        return conditionBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 3;
      private java.util.List primaryKey_ =
        java.util.Collections.emptyList();
      private void ensurePrimaryKeyIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          primaryKey_ = new java.util.ArrayList(primaryKey_);
          bitField0_ |= 0x00000004;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> primaryKeyBuilder_;
      
      public java.util.List getPrimaryKeyList() {
        if (primaryKeyBuilder_ == null) {
          return java.util.Collections.unmodifiableList(primaryKey_);
        } else {
          return primaryKeyBuilder_.getMessageList();
        }
      }
      public int getPrimaryKeyCount() {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.size();
        } else {
          return primaryKeyBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);
        } else {
          return primaryKeyBuilder_.getMessage(index);
        }
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllPrimaryKey(
          java.lang.Iterable values) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          super.addAll(values, primaryKey_);
          onChanged();
        } else {
          primaryKeyBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearPrimaryKey() {
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          primaryKeyBuilder_.clear();
        }
        return this;
      }
      public Builder removePrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.remove(index);
          onChanged();
        } else {
          primaryKeyBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder getPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
          int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);  } else {
          return primaryKeyBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getPrimaryKeyOrBuilderList() {
        if (primaryKeyBuilder_ != null) {
          return primaryKeyBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(primaryKey_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyBuilder() {
        return getPrimaryKeyFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public java.util.List 
           getPrimaryKeyBuilderList() {
        return getPrimaryKeyFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> 
          getPrimaryKeyFieldBuilder() {
        if (primaryKeyBuilder_ == null) {
          primaryKeyBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder>(
                  primaryKey_,
                  ((bitField0_ & 0x00000004) == 0x00000004),
                  getParentForChildren(),
                  isClean());
          primaryKey_ = null;
        }
        return primaryKeyBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.Column attribute_columns = 4;
      private java.util.List attributeColumns_ =
        java.util.Collections.emptyList();
      private void ensureAttributeColumnsIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          attributeColumns_ = new java.util.ArrayList(attributeColumns_);
          bitField0_ |= 0x00000008;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> attributeColumnsBuilder_;
      
      public java.util.List getAttributeColumnsList() {
        if (attributeColumnsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(attributeColumns_);
        } else {
          return attributeColumnsBuilder_.getMessageList();
        }
      }
      public int getAttributeColumnsCount() {
        if (attributeColumnsBuilder_ == null) {
          return attributeColumns_.size();
        } else {
          return attributeColumnsBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getAttributeColumns(int index) {
        if (attributeColumnsBuilder_ == null) {
          return attributeColumns_.get(index);
        } else {
          return attributeColumnsBuilder_.getMessage(index);
        }
      }
      public Builder setAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (attributeColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeColumnsIsMutable();
          attributeColumns_.set(index, value);
          onChanged();
        } else {
          attributeColumnsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.set(index, builderForValue.build());
          onChanged();
        } else {
          attributeColumnsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAttributeColumns(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (attributeColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(value);
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (attributeColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(index, value);
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addAttributeColumns(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(builderForValue.build());
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(index, builderForValue.build());
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllAttributeColumns(
          java.lang.Iterable values) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          super.addAll(values, attributeColumns_);
          onChanged();
        } else {
          attributeColumnsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearAttributeColumns() {
        if (attributeColumnsBuilder_ == null) {
          attributeColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          attributeColumnsBuilder_.clear();
        }
        return this;
      }
      public Builder removeAttributeColumns(int index) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.remove(index);
          onChanged();
        } else {
          attributeColumnsBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder getAttributeColumnsBuilder(
          int index) {
        return getAttributeColumnsFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getAttributeColumnsOrBuilder(
          int index) {
        if (attributeColumnsBuilder_ == null) {
          return attributeColumns_.get(index);  } else {
          return attributeColumnsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getAttributeColumnsOrBuilderList() {
        if (attributeColumnsBuilder_ != null) {
          return attributeColumnsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(attributeColumns_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addAttributeColumnsBuilder() {
        return getAttributeColumnsFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addAttributeColumnsBuilder(
          int index) {
        return getAttributeColumnsFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public java.util.List 
           getAttributeColumnsBuilderList() {
        return getAttributeColumnsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> 
          getAttributeColumnsFieldBuilder() {
        if (attributeColumnsBuilder_ == null) {
          attributeColumnsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder>(
                  attributeColumns_,
                  ((bitField0_ & 0x00000008) == 0x00000008),
                  getParentForChildren(),
                  isClean());
          attributeColumns_ = null;
        }
        return attributeColumnsBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.PutRowRequest)
    }
    
    static {
      defaultInstance = new PutRowRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.PutRowRequest)
  }
  
  public interface PutRowResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 1;
    boolean hasConsumed();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder();
  }
  public static final class PutRowResponse extends
      com.google.protobuf.GeneratedMessage
      implements PutRowResponseOrBuilder {
    // Use PutRowResponse.newBuilder() to construct.
    private PutRowResponse(Builder builder) {
      super(builder);
    }
    private PutRowResponse(boolean noInit) {}
    
    private static final PutRowResponse defaultInstance;
    public static PutRowResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public PutRowResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_PutRowResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_PutRowResponse_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 1;
    public static final int CONSUMED_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity consumed_;
    public boolean hasConsumed() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed() {
      return consumed_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder() {
      return consumed_;
    }
    
    private void initFields() {
      consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasConsumed()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getConsumed().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, consumed_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, consumed_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_PutRowResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_PutRowResponse_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getConsumedFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (consumedBuilder_ == null) {
          consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
        } else {
          consumedBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (consumedBuilder_ == null) {
          result.consumed_ = consumed_;
        } else {
          result.consumed_ = consumedBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse.getDefaultInstance()) return this;
        if (other.hasConsumed()) {
          mergeConsumed(other.getConsumed());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasConsumed()) {
          
          return false;
        }
        if (!getConsumed().isInitialized()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.newBuilder();
              if (hasConsumed()) {
                subBuilder.mergeFrom(getConsumed());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setConsumed(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder> consumedBuilder_;
      public boolean hasConsumed() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed() {
        if (consumedBuilder_ == null) {
          return consumed_;
        } else {
          return consumedBuilder_.getMessage();
        }
      }
      public Builder setConsumed(com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity value) {
        if (consumedBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          consumed_ = value;
          onChanged();
        } else {
          consumedBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder setConsumed(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder builderForValue) {
        if (consumedBuilder_ == null) {
          consumed_ = builderForValue.build();
          onChanged();
        } else {
          consumedBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder mergeConsumed(com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity value) {
        if (consumedBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              consumed_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance()) {
            consumed_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.newBuilder(consumed_).mergeFrom(value).buildPartial();
          } else {
            consumed_ = value;
          }
          onChanged();
        } else {
          consumedBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder clearConsumed() {
        if (consumedBuilder_ == null) {
          consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
          onChanged();
        } else {
          consumedBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder getConsumedBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getConsumedFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder() {
        if (consumedBuilder_ != null) {
          return consumedBuilder_.getMessageOrBuilder();
        } else {
          return consumed_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder> 
          getConsumedFieldBuilder() {
        if (consumedBuilder_ == null) {
          consumedBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder>(
                  consumed_,
                  getParentForChildren(),
                  isClean());
          consumed_ = null;
        }
        return consumedBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.PutRowResponse)
    }
    
    static {
      defaultInstance = new PutRowResponse(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.PutRowResponse)
  }
  
  public interface DeleteRowRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required string table_name = 1;
    boolean hasTableName();
    String getTableName();
    
    // required .com.aliyun.openservices.ots.protocol.Condition condition = 2;
    boolean hasCondition();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder();
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 3;
    java.util.List 
        getPrimaryKeyList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index);
    int getPrimaryKeyCount();
    java.util.List 
        getPrimaryKeyOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
        int index);
  }
  public static final class DeleteRowRequest extends
      com.google.protobuf.GeneratedMessage
      implements DeleteRowRequestOrBuilder {
    // Use DeleteRowRequest.newBuilder() to construct.
    private DeleteRowRequest(Builder builder) {
      super(builder);
    }
    private DeleteRowRequest(boolean noInit) {}
    
    private static final DeleteRowRequest defaultInstance;
    public static DeleteRowRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public DeleteRowRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteRowRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteRowRequest_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string table_name = 1;
    public static final int TABLE_NAME_FIELD_NUMBER = 1;
    private java.lang.Object tableName_;
    public boolean hasTableName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getTableName() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          tableName_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getTableNameBytes() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        tableName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // required .com.aliyun.openservices.ots.protocol.Condition condition = 2;
    public static final int CONDITION_FIELD_NUMBER = 2;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition condition_;
    public boolean hasCondition() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition() {
      return condition_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder() {
      return condition_;
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 3;
    public static final int PRIMARY_KEY_FIELD_NUMBER = 3;
    private java.util.List primaryKey_;
    public java.util.List getPrimaryKeyList() {
      return primaryKey_;
    }
    public java.util.List 
        getPrimaryKeyOrBuilderList() {
      return primaryKey_;
    }
    public int getPrimaryKeyCount() {
      return primaryKey_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index) {
      return primaryKey_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
        int index) {
      return primaryKey_.get(index);
    }
    
    private void initFields() {
      tableName_ = "";
      condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
      primaryKey_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasTableName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasCondition()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getCondition().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getPrimaryKeyCount(); i++) {
        if (!getPrimaryKey(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getTableNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, condition_);
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        output.writeMessage(3, primaryKey_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getTableNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, condition_);
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, primaryKey_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteRowRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteRowRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getConditionFieldBuilder();
          getPrimaryKeyFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        tableName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (conditionBuilder_ == null) {
          condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
        } else {
          conditionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          primaryKeyBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tableName_ = tableName_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (conditionBuilder_ == null) {
          result.condition_ = condition_;
        } else {
          result.condition_ = conditionBuilder_.build();
        }
        if (primaryKeyBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            primaryKey_ = java.util.Collections.unmodifiableList(primaryKey_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.primaryKey_ = primaryKey_;
        } else {
          result.primaryKey_ = primaryKeyBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest.getDefaultInstance()) return this;
        if (other.hasTableName()) {
          setTableName(other.getTableName());
        }
        if (other.hasCondition()) {
          mergeCondition(other.getCondition());
        }
        if (primaryKeyBuilder_ == null) {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKey_.isEmpty()) {
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensurePrimaryKeyIsMutable();
              primaryKey_.addAll(other.primaryKey_);
            }
            onChanged();
          }
        } else {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKeyBuilder_.isEmpty()) {
              primaryKeyBuilder_.dispose();
              primaryKeyBuilder_ = null;
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000004);
              primaryKeyBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getPrimaryKeyFieldBuilder() : null;
            } else {
              primaryKeyBuilder_.addAllMessages(other.primaryKey_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasTableName()) {
          
          return false;
        }
        if (!hasCondition()) {
          
          return false;
        }
        if (!getCondition().isInitialized()) {
          
          return false;
        }
        for (int i = 0; i < getPrimaryKeyCount(); i++) {
          if (!getPrimaryKey(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              tableName_ = input.readBytes();
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.newBuilder();
              if (hasCondition()) {
                subBuilder.mergeFrom(getCondition());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setCondition(subBuilder.buildPartial());
              break;
            }
            case 26: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addPrimaryKey(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string table_name = 1;
      private java.lang.Object tableName_ = "";
      public boolean hasTableName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getTableName() {
        java.lang.Object ref = tableName_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          tableName_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setTableName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
        return this;
      }
      public Builder clearTableName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tableName_ = getDefaultInstance().getTableName();
        onChanged();
        return this;
      }
      void setTableName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
      }
      
      // required .com.aliyun.openservices.ots.protocol.Condition condition = 2;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder> conditionBuilder_;
      public boolean hasCondition() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition() {
        if (conditionBuilder_ == null) {
          return condition_;
        } else {
          return conditionBuilder_.getMessage();
        }
      }
      public Builder setCondition(com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition value) {
        if (conditionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          condition_ = value;
          onChanged();
        } else {
          conditionBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder setCondition(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder builderForValue) {
        if (conditionBuilder_ == null) {
          condition_ = builderForValue.build();
          onChanged();
        } else {
          conditionBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder mergeCondition(com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition value) {
        if (conditionBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              condition_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance()) {
            condition_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.newBuilder(condition_).mergeFrom(value).buildPartial();
          } else {
            condition_ = value;
          }
          onChanged();
        } else {
          conditionBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder clearCondition() {
        if (conditionBuilder_ == null) {
          condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
          onChanged();
        } else {
          conditionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder getConditionBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getConditionFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder() {
        if (conditionBuilder_ != null) {
          return conditionBuilder_.getMessageOrBuilder();
        } else {
          return condition_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder> 
          getConditionFieldBuilder() {
        if (conditionBuilder_ == null) {
          conditionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder>(
                  condition_,
                  getParentForChildren(),
                  isClean());
          condition_ = null;
        }
        return conditionBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 3;
      private java.util.List primaryKey_ =
        java.util.Collections.emptyList();
      private void ensurePrimaryKeyIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          primaryKey_ = new java.util.ArrayList(primaryKey_);
          bitField0_ |= 0x00000004;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> primaryKeyBuilder_;
      
      public java.util.List getPrimaryKeyList() {
        if (primaryKeyBuilder_ == null) {
          return java.util.Collections.unmodifiableList(primaryKey_);
        } else {
          return primaryKeyBuilder_.getMessageList();
        }
      }
      public int getPrimaryKeyCount() {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.size();
        } else {
          return primaryKeyBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);
        } else {
          return primaryKeyBuilder_.getMessage(index);
        }
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllPrimaryKey(
          java.lang.Iterable values) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          super.addAll(values, primaryKey_);
          onChanged();
        } else {
          primaryKeyBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearPrimaryKey() {
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          primaryKeyBuilder_.clear();
        }
        return this;
      }
      public Builder removePrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.remove(index);
          onChanged();
        } else {
          primaryKeyBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder getPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
          int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);  } else {
          return primaryKeyBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getPrimaryKeyOrBuilderList() {
        if (primaryKeyBuilder_ != null) {
          return primaryKeyBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(primaryKey_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyBuilder() {
        return getPrimaryKeyFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public java.util.List 
           getPrimaryKeyBuilderList() {
        return getPrimaryKeyFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> 
          getPrimaryKeyFieldBuilder() {
        if (primaryKeyBuilder_ == null) {
          primaryKeyBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder>(
                  primaryKey_,
                  ((bitField0_ & 0x00000004) == 0x00000004),
                  getParentForChildren(),
                  isClean());
          primaryKey_ = null;
        }
        return primaryKeyBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.DeleteRowRequest)
    }
    
    static {
      defaultInstance = new DeleteRowRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.DeleteRowRequest)
  }
  
  public interface DeleteRowResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 1;
    boolean hasConsumed();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder();
  }
  public static final class DeleteRowResponse extends
      com.google.protobuf.GeneratedMessage
      implements DeleteRowResponseOrBuilder {
    // Use DeleteRowResponse.newBuilder() to construct.
    private DeleteRowResponse(Builder builder) {
      super(builder);
    }
    private DeleteRowResponse(boolean noInit) {}
    
    private static final DeleteRowResponse defaultInstance;
    public static DeleteRowResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public DeleteRowResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteRowResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteRowResponse_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 1;
    public static final int CONSUMED_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity consumed_;
    public boolean hasConsumed() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed() {
      return consumed_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder() {
      return consumed_;
    }
    
    private void initFields() {
      consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasConsumed()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getConsumed().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, consumed_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, consumed_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteRowResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteRowResponse_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getConsumedFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (consumedBuilder_ == null) {
          consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
        } else {
          consumedBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (consumedBuilder_ == null) {
          result.consumed_ = consumed_;
        } else {
          result.consumed_ = consumedBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse.getDefaultInstance()) return this;
        if (other.hasConsumed()) {
          mergeConsumed(other.getConsumed());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasConsumed()) {
          
          return false;
        }
        if (!getConsumed().isInitialized()) {
          
          return false;
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.newBuilder();
              if (hasConsumed()) {
                subBuilder.mergeFrom(getConsumed());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setConsumed(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder> consumedBuilder_;
      public boolean hasConsumed() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed() {
        if (consumedBuilder_ == null) {
          return consumed_;
        } else {
          return consumedBuilder_.getMessage();
        }
      }
      public Builder setConsumed(com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity value) {
        if (consumedBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          consumed_ = value;
          onChanged();
        } else {
          consumedBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder setConsumed(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder builderForValue) {
        if (consumedBuilder_ == null) {
          consumed_ = builderForValue.build();
          onChanged();
        } else {
          consumedBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder mergeConsumed(com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity value) {
        if (consumedBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              consumed_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance()) {
            consumed_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.newBuilder(consumed_).mergeFrom(value).buildPartial();
          } else {
            consumed_ = value;
          }
          onChanged();
        } else {
          consumedBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder clearConsumed() {
        if (consumedBuilder_ == null) {
          consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
          onChanged();
        } else {
          consumedBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder getConsumedBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getConsumedFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder() {
        if (consumedBuilder_ != null) {
          return consumedBuilder_.getMessageOrBuilder();
        } else {
          return consumed_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder> 
          getConsumedFieldBuilder() {
        if (consumedBuilder_ == null) {
          consumedBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder>(
                  consumed_,
                  getParentForChildren(),
                  isClean());
          consumed_ = null;
        }
        return consumedBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.DeleteRowResponse)
    }
    
    static {
      defaultInstance = new DeleteRowResponse(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.DeleteRowResponse)
  }
  
  public interface RowInBatchGetRowRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 1;
    java.util.List 
        getPrimaryKeyList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index);
    int getPrimaryKeyCount();
    java.util.List 
        getPrimaryKeyOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
        int index);
  }
  public static final class RowInBatchGetRowRequest extends
      com.google.protobuf.GeneratedMessage
      implements RowInBatchGetRowRequestOrBuilder {
    // Use RowInBatchGetRowRequest.newBuilder() to construct.
    private RowInBatchGetRowRequest(Builder builder) {
      super(builder);
    }
    private RowInBatchGetRowRequest(boolean noInit) {}
    
    private static final RowInBatchGetRowRequest defaultInstance;
    public static RowInBatchGetRowRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public RowInBatchGetRowRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowRequest_fieldAccessorTable;
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 1;
    public static final int PRIMARY_KEY_FIELD_NUMBER = 1;
    private java.util.List primaryKey_;
    public java.util.List getPrimaryKeyList() {
      return primaryKey_;
    }
    public java.util.List 
        getPrimaryKeyOrBuilderList() {
      return primaryKey_;
    }
    public int getPrimaryKeyCount() {
      return primaryKey_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index) {
      return primaryKey_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
        int index) {
      return primaryKey_.get(index);
    }
    
    private void initFields() {
      primaryKey_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      for (int i = 0; i < getPrimaryKeyCount(); i++) {
        if (!getPrimaryKey(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < primaryKey_.size(); i++) {
        output.writeMessage(1, primaryKey_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      for (int i = 0; i < primaryKey_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, primaryKey_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getPrimaryKeyFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          primaryKeyBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest(this);
        int from_bitField0_ = bitField0_;
        if (primaryKeyBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            primaryKey_ = java.util.Collections.unmodifiableList(primaryKey_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.primaryKey_ = primaryKey_;
        } else {
          result.primaryKey_ = primaryKeyBuilder_.build();
        }
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.getDefaultInstance()) return this;
        if (primaryKeyBuilder_ == null) {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKey_.isEmpty()) {
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensurePrimaryKeyIsMutable();
              primaryKey_.addAll(other.primaryKey_);
            }
            onChanged();
          }
        } else {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKeyBuilder_.isEmpty()) {
              primaryKeyBuilder_.dispose();
              primaryKeyBuilder_ = null;
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000001);
              primaryKeyBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getPrimaryKeyFieldBuilder() : null;
            } else {
              primaryKeyBuilder_.addAllMessages(other.primaryKey_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        for (int i = 0; i < getPrimaryKeyCount(); i++) {
          if (!getPrimaryKey(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addPrimaryKey(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 1;
      private java.util.List primaryKey_ =
        java.util.Collections.emptyList();
      private void ensurePrimaryKeyIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          primaryKey_ = new java.util.ArrayList(primaryKey_);
          bitField0_ |= 0x00000001;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> primaryKeyBuilder_;
      
      public java.util.List getPrimaryKeyList() {
        if (primaryKeyBuilder_ == null) {
          return java.util.Collections.unmodifiableList(primaryKey_);
        } else {
          return primaryKeyBuilder_.getMessageList();
        }
      }
      public int getPrimaryKeyCount() {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.size();
        } else {
          return primaryKeyBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);
        } else {
          return primaryKeyBuilder_.getMessage(index);
        }
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllPrimaryKey(
          java.lang.Iterable values) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          super.addAll(values, primaryKey_);
          onChanged();
        } else {
          primaryKeyBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearPrimaryKey() {
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          primaryKeyBuilder_.clear();
        }
        return this;
      }
      public Builder removePrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.remove(index);
          onChanged();
        } else {
          primaryKeyBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder getPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
          int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);  } else {
          return primaryKeyBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getPrimaryKeyOrBuilderList() {
        if (primaryKeyBuilder_ != null) {
          return primaryKeyBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(primaryKey_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyBuilder() {
        return getPrimaryKeyFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public java.util.List 
           getPrimaryKeyBuilderList() {
        return getPrimaryKeyFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> 
          getPrimaryKeyFieldBuilder() {
        if (primaryKeyBuilder_ == null) {
          primaryKeyBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder>(
                  primaryKey_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          primaryKey_ = null;
        }
        return primaryKeyBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.RowInBatchGetRowRequest)
    }
    
    static {
      defaultInstance = new RowInBatchGetRowRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.RowInBatchGetRowRequest)
  }
  
  public interface TableInBatchGetRowRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required string table_name = 1;
    boolean hasTableName();
    String getTableName();
    
    // repeated .com.aliyun.openservices.ots.protocol.RowInBatchGetRowRequest rows = 2;
    java.util.List 
        getRowsList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest getRows(int index);
    int getRowsCount();
    java.util.List 
        getRowsOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequestOrBuilder getRowsOrBuilder(
        int index);
    
    // repeated string columns_to_get = 3;
    java.util.List getColumnsToGetList();
    int getColumnsToGetCount();
    String getColumnsToGet(int index);
    
    // optional .com.aliyun.openservices.ots.protocol.ColumnCondition filter = 4;
    boolean hasFilter();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition getFilter();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder getFilterOrBuilder();
  }
  public static final class TableInBatchGetRowRequest extends
      com.google.protobuf.GeneratedMessage
      implements TableInBatchGetRowRequestOrBuilder {
    // Use TableInBatchGetRowRequest.newBuilder() to construct.
    private TableInBatchGetRowRequest(Builder builder) {
      super(builder);
    }
    private TableInBatchGetRowRequest(boolean noInit) {}
    
    private static final TableInBatchGetRowRequest defaultInstance;
    public static TableInBatchGetRowRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public TableInBatchGetRowRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowRequest_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string table_name = 1;
    public static final int TABLE_NAME_FIELD_NUMBER = 1;
    private java.lang.Object tableName_;
    public boolean hasTableName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getTableName() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          tableName_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getTableNameBytes() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        tableName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.RowInBatchGetRowRequest rows = 2;
    public static final int ROWS_FIELD_NUMBER = 2;
    private java.util.List rows_;
    public java.util.List getRowsList() {
      return rows_;
    }
    public java.util.List 
        getRowsOrBuilderList() {
      return rows_;
    }
    public int getRowsCount() {
      return rows_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest getRows(int index) {
      return rows_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequestOrBuilder getRowsOrBuilder(
        int index) {
      return rows_.get(index);
    }
    
    // repeated string columns_to_get = 3;
    public static final int COLUMNS_TO_GET_FIELD_NUMBER = 3;
    private com.google.protobuf.LazyStringList columnsToGet_;
    public java.util.List
        getColumnsToGetList() {
      return columnsToGet_;
    }
    public int getColumnsToGetCount() {
      return columnsToGet_.size();
    }
    public String getColumnsToGet(int index) {
      return columnsToGet_.get(index);
    }
    
    // optional .com.aliyun.openservices.ots.protocol.ColumnCondition filter = 4;
    public static final int FILTER_FIELD_NUMBER = 4;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition filter_;
    public boolean hasFilter() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition getFilter() {
      return filter_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder getFilterOrBuilder() {
      return filter_;
    }
    
    private void initFields() {
      tableName_ = "";
      rows_ = java.util.Collections.emptyList();
      columnsToGet_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      filter_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasTableName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getRowsCount(); i++) {
        if (!getRows(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasFilter()) {
        if (!getFilter().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getTableNameBytes());
      }
      for (int i = 0; i < rows_.size(); i++) {
        output.writeMessage(2, rows_.get(i));
      }
      for (int i = 0; i < columnsToGet_.size(); i++) {
        output.writeBytes(3, columnsToGet_.getByteString(i));
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(4, filter_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getTableNameBytes());
      }
      for (int i = 0; i < rows_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, rows_.get(i));
      }
      {
        int dataSize = 0;
        for (int i = 0; i < columnsToGet_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(columnsToGet_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getColumnsToGetList().size();
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, filter_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getRowsFieldBuilder();
          getFilterFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        tableName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (rowsBuilder_ == null) {
          rows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          rowsBuilder_.clear();
        }
        columnsToGet_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        if (filterBuilder_ == null) {
          filter_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
        } else {
          filterBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tableName_ = tableName_;
        if (rowsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            rows_ = java.util.Collections.unmodifiableList(rows_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.rows_ = rows_;
        } else {
          result.rows_ = rowsBuilder_.build();
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          columnsToGet_ = new com.google.protobuf.UnmodifiableLazyStringList(
              columnsToGet_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.columnsToGet_ = columnsToGet_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000002;
        }
        if (filterBuilder_ == null) {
          result.filter_ = filter_;
        } else {
          result.filter_ = filterBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.getDefaultInstance()) return this;
        if (other.hasTableName()) {
          setTableName(other.getTableName());
        }
        if (rowsBuilder_ == null) {
          if (!other.rows_.isEmpty()) {
            if (rows_.isEmpty()) {
              rows_ = other.rows_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureRowsIsMutable();
              rows_.addAll(other.rows_);
            }
            onChanged();
          }
        } else {
          if (!other.rows_.isEmpty()) {
            if (rowsBuilder_.isEmpty()) {
              rowsBuilder_.dispose();
              rowsBuilder_ = null;
              rows_ = other.rows_;
              bitField0_ = (bitField0_ & ~0x00000002);
              rowsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getRowsFieldBuilder() : null;
            } else {
              rowsBuilder_.addAllMessages(other.rows_);
            }
          }
        }
        if (!other.columnsToGet_.isEmpty()) {
          if (columnsToGet_.isEmpty()) {
            columnsToGet_ = other.columnsToGet_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureColumnsToGetIsMutable();
            columnsToGet_.addAll(other.columnsToGet_);
          }
          onChanged();
        }
        if (other.hasFilter()) {
          mergeFilter(other.getFilter());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasTableName()) {
          
          return false;
        }
        for (int i = 0; i < getRowsCount(); i++) {
          if (!getRows(i).isInitialized()) {
            
            return false;
          }
        }
        if (hasFilter()) {
          if (!getFilter().isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              tableName_ = input.readBytes();
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addRows(subBuilder.buildPartial());
              break;
            }
            case 26: {
              ensureColumnsToGetIsMutable();
              columnsToGet_.add(input.readBytes());
              break;
            }
            case 34: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.newBuilder();
              if (hasFilter()) {
                subBuilder.mergeFrom(getFilter());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setFilter(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string table_name = 1;
      private java.lang.Object tableName_ = "";
      public boolean hasTableName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getTableName() {
        java.lang.Object ref = tableName_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          tableName_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setTableName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
        return this;
      }
      public Builder clearTableName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tableName_ = getDefaultInstance().getTableName();
        onChanged();
        return this;
      }
      void setTableName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.RowInBatchGetRowRequest rows = 2;
      private java.util.List rows_ =
        java.util.Collections.emptyList();
      private void ensureRowsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          rows_ = new java.util.ArrayList(rows_);
          bitField0_ |= 0x00000002;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequestOrBuilder> rowsBuilder_;
      
      public java.util.List getRowsList() {
        if (rowsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(rows_);
        } else {
          return rowsBuilder_.getMessageList();
        }
      }
      public int getRowsCount() {
        if (rowsBuilder_ == null) {
          return rows_.size();
        } else {
          return rowsBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest getRows(int index) {
        if (rowsBuilder_ == null) {
          return rows_.get(index);
        } else {
          return rowsBuilder_.getMessage(index);
        }
      }
      public Builder setRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest value) {
        if (rowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRowsIsMutable();
          rows_.set(index, value);
          onChanged();
        } else {
          rowsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.Builder builderForValue) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          rows_.set(index, builderForValue.build());
          onChanged();
        } else {
          rowsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addRows(com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest value) {
        if (rowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRowsIsMutable();
          rows_.add(value);
          onChanged();
        } else {
          rowsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest value) {
        if (rowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRowsIsMutable();
          rows_.add(index, value);
          onChanged();
        } else {
          rowsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addRows(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.Builder builderForValue) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          rows_.add(builderForValue.build());
          onChanged();
        } else {
          rowsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.Builder builderForValue) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          rows_.add(index, builderForValue.build());
          onChanged();
        } else {
          rowsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllRows(
          java.lang.Iterable values) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          super.addAll(values, rows_);
          onChanged();
        } else {
          rowsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearRows() {
        if (rowsBuilder_ == null) {
          rows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          rowsBuilder_.clear();
        }
        return this;
      }
      public Builder removeRows(int index) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          rows_.remove(index);
          onChanged();
        } else {
          rowsBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.Builder getRowsBuilder(
          int index) {
        return getRowsFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequestOrBuilder getRowsOrBuilder(
          int index) {
        if (rowsBuilder_ == null) {
          return rows_.get(index);  } else {
          return rowsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getRowsOrBuilderList() {
        if (rowsBuilder_ != null) {
          return rowsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(rows_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.Builder addRowsBuilder() {
        return getRowsFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.Builder addRowsBuilder(
          int index) {
        return getRowsFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.getDefaultInstance());
      }
      public java.util.List 
           getRowsBuilderList() {
        return getRowsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequestOrBuilder> 
          getRowsFieldBuilder() {
        if (rowsBuilder_ == null) {
          rowsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequestOrBuilder>(
                  rows_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          rows_ = null;
        }
        return rowsBuilder_;
      }
      
      // repeated string columns_to_get = 3;
      private com.google.protobuf.LazyStringList columnsToGet_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureColumnsToGetIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          columnsToGet_ = new com.google.protobuf.LazyStringArrayList(columnsToGet_);
          bitField0_ |= 0x00000004;
         }
      }
      public java.util.List
          getColumnsToGetList() {
        return java.util.Collections.unmodifiableList(columnsToGet_);
      }
      public int getColumnsToGetCount() {
        return columnsToGet_.size();
      }
      public String getColumnsToGet(int index) {
        return columnsToGet_.get(index);
      }
      public Builder setColumnsToGet(
          int index, String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureColumnsToGetIsMutable();
        columnsToGet_.set(index, value);
        onChanged();
        return this;
      }
      public Builder addColumnsToGet(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureColumnsToGetIsMutable();
        columnsToGet_.add(value);
        onChanged();
        return this;
      }
      public Builder addAllColumnsToGet(
          java.lang.Iterable values) {
        ensureColumnsToGetIsMutable();
        super.addAll(values, columnsToGet_);
        onChanged();
        return this;
      }
      public Builder clearColumnsToGet() {
        columnsToGet_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      void addColumnsToGet(com.google.protobuf.ByteString value) {
        ensureColumnsToGetIsMutable();
        columnsToGet_.add(value);
        onChanged();
      }
      
      // optional .com.aliyun.openservices.ots.protocol.ColumnCondition filter = 4;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition filter_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder> filterBuilder_;
      public boolean hasFilter() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition getFilter() {
        if (filterBuilder_ == null) {
          return filter_;
        } else {
          return filterBuilder_.getMessage();
        }
      }
      public Builder setFilter(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition value) {
        if (filterBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          filter_ = value;
          onChanged();
        } else {
          filterBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      public Builder setFilter(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder builderForValue) {
        if (filterBuilder_ == null) {
          filter_ = builderForValue.build();
          onChanged();
        } else {
          filterBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      public Builder mergeFilter(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition value) {
        if (filterBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              filter_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance()) {
            filter_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.newBuilder(filter_).mergeFrom(value).buildPartial();
          } else {
            filter_ = value;
          }
          onChanged();
        } else {
          filterBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      public Builder clearFilter() {
        if (filterBuilder_ == null) {
          filter_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
          onChanged();
        } else {
          filterBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder getFilterBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getFilterFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder getFilterOrBuilder() {
        if (filterBuilder_ != null) {
          return filterBuilder_.getMessageOrBuilder();
        } else {
          return filter_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder> 
          getFilterFieldBuilder() {
        if (filterBuilder_ == null) {
          filterBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder>(
                  filter_,
                  getParentForChildren(),
                  isClean());
          filter_ = null;
        }
        return filterBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.TableInBatchGetRowRequest)
    }
    
    static {
      defaultInstance = new TableInBatchGetRowRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.TableInBatchGetRowRequest)
  }
  
  public interface BatchGetRowRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // repeated .com.aliyun.openservices.ots.protocol.TableInBatchGetRowRequest tables = 1;
    java.util.List 
        getTablesList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest getTables(int index);
    int getTablesCount();
    java.util.List 
        getTablesOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequestOrBuilder getTablesOrBuilder(
        int index);
  }
  public static final class BatchGetRowRequest extends
      com.google.protobuf.GeneratedMessage
      implements BatchGetRowRequestOrBuilder {
    // Use BatchGetRowRequest.newBuilder() to construct.
    private BatchGetRowRequest(Builder builder) {
      super(builder);
    }
    private BatchGetRowRequest(boolean noInit) {}
    
    private static final BatchGetRowRequest defaultInstance;
    public static BatchGetRowRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public BatchGetRowRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowRequest_fieldAccessorTable;
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.TableInBatchGetRowRequest tables = 1;
    public static final int TABLES_FIELD_NUMBER = 1;
    private java.util.List tables_;
    public java.util.List getTablesList() {
      return tables_;
    }
    public java.util.List 
        getTablesOrBuilderList() {
      return tables_;
    }
    public int getTablesCount() {
      return tables_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest getTables(int index) {
      return tables_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequestOrBuilder getTablesOrBuilder(
        int index) {
      return tables_.get(index);
    }
    
    private void initFields() {
      tables_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      for (int i = 0; i < getTablesCount(); i++) {
        if (!getTables(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < tables_.size(); i++) {
        output.writeMessage(1, tables_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      for (int i = 0; i < tables_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, tables_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getTablesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (tablesBuilder_ == null) {
          tables_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          tablesBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest(this);
        int from_bitField0_ = bitField0_;
        if (tablesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            tables_ = java.util.Collections.unmodifiableList(tables_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.tables_ = tables_;
        } else {
          result.tables_ = tablesBuilder_.build();
        }
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest.getDefaultInstance()) return this;
        if (tablesBuilder_ == null) {
          if (!other.tables_.isEmpty()) {
            if (tables_.isEmpty()) {
              tables_ = other.tables_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureTablesIsMutable();
              tables_.addAll(other.tables_);
            }
            onChanged();
          }
        } else {
          if (!other.tables_.isEmpty()) {
            if (tablesBuilder_.isEmpty()) {
              tablesBuilder_.dispose();
              tablesBuilder_ = null;
              tables_ = other.tables_;
              bitField0_ = (bitField0_ & ~0x00000001);
              tablesBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getTablesFieldBuilder() : null;
            } else {
              tablesBuilder_.addAllMessages(other.tables_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        for (int i = 0; i < getTablesCount(); i++) {
          if (!getTables(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addTables(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // repeated .com.aliyun.openservices.ots.protocol.TableInBatchGetRowRequest tables = 1;
      private java.util.List tables_ =
        java.util.Collections.emptyList();
      private void ensureTablesIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          tables_ = new java.util.ArrayList(tables_);
          bitField0_ |= 0x00000001;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequestOrBuilder> tablesBuilder_;
      
      public java.util.List getTablesList() {
        if (tablesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(tables_);
        } else {
          return tablesBuilder_.getMessageList();
        }
      }
      public int getTablesCount() {
        if (tablesBuilder_ == null) {
          return tables_.size();
        } else {
          return tablesBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest getTables(int index) {
        if (tablesBuilder_ == null) {
          return tables_.get(index);
        } else {
          return tablesBuilder_.getMessage(index);
        }
      }
      public Builder setTables(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest value) {
        if (tablesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTablesIsMutable();
          tables_.set(index, value);
          onChanged();
        } else {
          tablesBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setTables(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.Builder builderForValue) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          tables_.set(index, builderForValue.build());
          onChanged();
        } else {
          tablesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addTables(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest value) {
        if (tablesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTablesIsMutable();
          tables_.add(value);
          onChanged();
        } else {
          tablesBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addTables(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest value) {
        if (tablesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTablesIsMutable();
          tables_.add(index, value);
          onChanged();
        } else {
          tablesBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addTables(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.Builder builderForValue) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          tables_.add(builderForValue.build());
          onChanged();
        } else {
          tablesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addTables(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.Builder builderForValue) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          tables_.add(index, builderForValue.build());
          onChanged();
        } else {
          tablesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllTables(
          java.lang.Iterable values) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          super.addAll(values, tables_);
          onChanged();
        } else {
          tablesBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearTables() {
        if (tablesBuilder_ == null) {
          tables_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          tablesBuilder_.clear();
        }
        return this;
      }
      public Builder removeTables(int index) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          tables_.remove(index);
          onChanged();
        } else {
          tablesBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.Builder getTablesBuilder(
          int index) {
        return getTablesFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequestOrBuilder getTablesOrBuilder(
          int index) {
        if (tablesBuilder_ == null) {
          return tables_.get(index);  } else {
          return tablesBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getTablesOrBuilderList() {
        if (tablesBuilder_ != null) {
          return tablesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(tables_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.Builder addTablesBuilder() {
        return getTablesFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.Builder addTablesBuilder(
          int index) {
        return getTablesFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.getDefaultInstance());
      }
      public java.util.List 
           getTablesBuilderList() {
        return getTablesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequestOrBuilder> 
          getTablesFieldBuilder() {
        if (tablesBuilder_ == null) {
          tablesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequestOrBuilder>(
                  tables_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          tables_ = null;
        }
        return tablesBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.BatchGetRowRequest)
    }
    
    static {
      defaultInstance = new BatchGetRowRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.BatchGetRowRequest)
  }
  
  public interface RowInBatchGetRowResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required bool is_ok = 1 [default = true];
    boolean hasIsOk();
    boolean getIsOk();
    
    // optional .com.aliyun.openservices.ots.protocol.Error error = 2;
    boolean hasError();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Error getError();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ErrorOrBuilder getErrorOrBuilder();
    
    // optional .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 3;
    boolean hasConsumed();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder();
    
    // optional .com.aliyun.openservices.ots.protocol.Row row = 4;
    boolean hasRow();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Row getRow();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder getRowOrBuilder();
  }
  public static final class RowInBatchGetRowResponse extends
      com.google.protobuf.GeneratedMessage
      implements RowInBatchGetRowResponseOrBuilder {
    // Use RowInBatchGetRowResponse.newBuilder() to construct.
    private RowInBatchGetRowResponse(Builder builder) {
      super(builder);
    }
    private RowInBatchGetRowResponse(boolean noInit) {}
    
    private static final RowInBatchGetRowResponse defaultInstance;
    public static RowInBatchGetRowResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public RowInBatchGetRowResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowResponse_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required bool is_ok = 1 [default = true];
    public static final int IS_OK_FIELD_NUMBER = 1;
    private boolean isOk_;
    public boolean hasIsOk() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public boolean getIsOk() {
      return isOk_;
    }
    
    // optional .com.aliyun.openservices.ots.protocol.Error error = 2;
    public static final int ERROR_FIELD_NUMBER = 2;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.Error error_;
    public boolean hasError() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Error getError() {
      return error_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ErrorOrBuilder getErrorOrBuilder() {
      return error_;
    }
    
    // optional .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 3;
    public static final int CONSUMED_FIELD_NUMBER = 3;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity consumed_;
    public boolean hasConsumed() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed() {
      return consumed_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder() {
      return consumed_;
    }
    
    // optional .com.aliyun.openservices.ots.protocol.Row row = 4;
    public static final int ROW_FIELD_NUMBER = 4;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.Row row_;
    public boolean hasRow() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Row getRow() {
      return row_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder getRowOrBuilder() {
      return row_;
    }
    
    private void initFields() {
      isOk_ = true;
      error_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.getDefaultInstance();
      consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
      row_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasIsOk()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasError()) {
        if (!getError().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasConsumed()) {
        if (!getConsumed().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasRow()) {
        if (!getRow().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, isOk_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, error_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, consumed_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(4, row_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, isOk_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, error_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, consumed_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, row_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowResponse_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getErrorFieldBuilder();
          getConsumedFieldBuilder();
          getRowFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        isOk_ = true;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (errorBuilder_ == null) {
          error_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.getDefaultInstance();
        } else {
          errorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (consumedBuilder_ == null) {
          consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
        } else {
          consumedBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        if (rowBuilder_ == null) {
          row_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.getDefaultInstance();
        } else {
          rowBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.isOk_ = isOk_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (errorBuilder_ == null) {
          result.error_ = error_;
        } else {
          result.error_ = errorBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (consumedBuilder_ == null) {
          result.consumed_ = consumed_;
        } else {
          result.consumed_ = consumedBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        if (rowBuilder_ == null) {
          result.row_ = row_;
        } else {
          result.row_ = rowBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.getDefaultInstance()) return this;
        if (other.hasIsOk()) {
          setIsOk(other.getIsOk());
        }
        if (other.hasError()) {
          mergeError(other.getError());
        }
        if (other.hasConsumed()) {
          mergeConsumed(other.getConsumed());
        }
        if (other.hasRow()) {
          mergeRow(other.getRow());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasIsOk()) {
          
          return false;
        }
        if (hasError()) {
          if (!getError().isInitialized()) {
            
            return false;
          }
        }
        if (hasConsumed()) {
          if (!getConsumed().isInitialized()) {
            
            return false;
          }
        }
        if (hasRow()) {
          if (!getRow().isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              isOk_ = input.readBool();
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.newBuilder();
              if (hasError()) {
                subBuilder.mergeFrom(getError());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setError(subBuilder.buildPartial());
              break;
            }
            case 26: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.newBuilder();
              if (hasConsumed()) {
                subBuilder.mergeFrom(getConsumed());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setConsumed(subBuilder.buildPartial());
              break;
            }
            case 34: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.newBuilder();
              if (hasRow()) {
                subBuilder.mergeFrom(getRow());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setRow(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required bool is_ok = 1 [default = true];
      private boolean isOk_ = true;
      public boolean hasIsOk() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public boolean getIsOk() {
        return isOk_;
      }
      public Builder setIsOk(boolean value) {
        bitField0_ |= 0x00000001;
        isOk_ = value;
        onChanged();
        return this;
      }
      public Builder clearIsOk() {
        bitField0_ = (bitField0_ & ~0x00000001);
        isOk_ = true;
        onChanged();
        return this;
      }
      
      // optional .com.aliyun.openservices.ots.protocol.Error error = 2;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.Error error_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Error, com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ErrorOrBuilder> errorBuilder_;
      public boolean hasError() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Error getError() {
        if (errorBuilder_ == null) {
          return error_;
        } else {
          return errorBuilder_.getMessage();
        }
      }
      public Builder setError(com.aliyun.openservices.ots.protocol.OtsProtocol2.Error value) {
        if (errorBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          error_ = value;
          onChanged();
        } else {
          errorBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder setError(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.Builder builderForValue) {
        if (errorBuilder_ == null) {
          error_ = builderForValue.build();
          onChanged();
        } else {
          errorBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder mergeError(com.aliyun.openservices.ots.protocol.OtsProtocol2.Error value) {
        if (errorBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              error_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.getDefaultInstance()) {
            error_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.newBuilder(error_).mergeFrom(value).buildPartial();
          } else {
            error_ = value;
          }
          onChanged();
        } else {
          errorBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder clearError() {
        if (errorBuilder_ == null) {
          error_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.getDefaultInstance();
          onChanged();
        } else {
          errorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.Builder getErrorBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getErrorFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ErrorOrBuilder getErrorOrBuilder() {
        if (errorBuilder_ != null) {
          return errorBuilder_.getMessageOrBuilder();
        } else {
          return error_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Error, com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ErrorOrBuilder> 
          getErrorFieldBuilder() {
        if (errorBuilder_ == null) {
          errorBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Error, com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ErrorOrBuilder>(
                  error_,
                  getParentForChildren(),
                  isClean());
          error_ = null;
        }
        return errorBuilder_;
      }
      
      // optional .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 3;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder> consumedBuilder_;
      public boolean hasConsumed() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed() {
        if (consumedBuilder_ == null) {
          return consumed_;
        } else {
          return consumedBuilder_.getMessage();
        }
      }
      public Builder setConsumed(com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity value) {
        if (consumedBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          consumed_ = value;
          onChanged();
        } else {
          consumedBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      public Builder setConsumed(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder builderForValue) {
        if (consumedBuilder_ == null) {
          consumed_ = builderForValue.build();
          onChanged();
        } else {
          consumedBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      public Builder mergeConsumed(com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity value) {
        if (consumedBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              consumed_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance()) {
            consumed_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.newBuilder(consumed_).mergeFrom(value).buildPartial();
          } else {
            consumed_ = value;
          }
          onChanged();
        } else {
          consumedBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      public Builder clearConsumed() {
        if (consumedBuilder_ == null) {
          consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
          onChanged();
        } else {
          consumedBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder getConsumedBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getConsumedFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder() {
        if (consumedBuilder_ != null) {
          return consumedBuilder_.getMessageOrBuilder();
        } else {
          return consumed_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder> 
          getConsumedFieldBuilder() {
        if (consumedBuilder_ == null) {
          consumedBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder>(
                  consumed_,
                  getParentForChildren(),
                  isClean());
          consumed_ = null;
        }
        return consumedBuilder_;
      }
      
      // optional .com.aliyun.openservices.ots.protocol.Row row = 4;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.Row row_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Row, com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder> rowBuilder_;
      public boolean hasRow() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Row getRow() {
        if (rowBuilder_ == null) {
          return row_;
        } else {
          return rowBuilder_.getMessage();
        }
      }
      public Builder setRow(com.aliyun.openservices.ots.protocol.OtsProtocol2.Row value) {
        if (rowBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          row_ = value;
          onChanged();
        } else {
          rowBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      public Builder setRow(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder builderForValue) {
        if (rowBuilder_ == null) {
          row_ = builderForValue.build();
          onChanged();
        } else {
          rowBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      public Builder mergeRow(com.aliyun.openservices.ots.protocol.OtsProtocol2.Row value) {
        if (rowBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008) &&
              row_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.getDefaultInstance()) {
            row_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.newBuilder(row_).mergeFrom(value).buildPartial();
          } else {
            row_ = value;
          }
          onChanged();
        } else {
          rowBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000008;
        return this;
      }
      public Builder clearRow() {
        if (rowBuilder_ == null) {
          row_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.getDefaultInstance();
          onChanged();
        } else {
          rowBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000008);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder getRowBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getRowFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder getRowOrBuilder() {
        if (rowBuilder_ != null) {
          return rowBuilder_.getMessageOrBuilder();
        } else {
          return row_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Row, com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder> 
          getRowFieldBuilder() {
        if (rowBuilder_ == null) {
          rowBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Row, com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder>(
                  row_,
                  getParentForChildren(),
                  isClean());
          row_ = null;
        }
        return rowBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.RowInBatchGetRowResponse)
    }
    
    static {
      defaultInstance = new RowInBatchGetRowResponse(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.RowInBatchGetRowResponse)
  }
  
  public interface TableInBatchGetRowResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required string table_name = 1;
    boolean hasTableName();
    String getTableName();
    
    // repeated .com.aliyun.openservices.ots.protocol.RowInBatchGetRowResponse rows = 2;
    java.util.List 
        getRowsList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse getRows(int index);
    int getRowsCount();
    java.util.List 
        getRowsOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponseOrBuilder getRowsOrBuilder(
        int index);
  }
  public static final class TableInBatchGetRowResponse extends
      com.google.protobuf.GeneratedMessage
      implements TableInBatchGetRowResponseOrBuilder {
    // Use TableInBatchGetRowResponse.newBuilder() to construct.
    private TableInBatchGetRowResponse(Builder builder) {
      super(builder);
    }
    private TableInBatchGetRowResponse(boolean noInit) {}
    
    private static final TableInBatchGetRowResponse defaultInstance;
    public static TableInBatchGetRowResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public TableInBatchGetRowResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowResponse_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string table_name = 1;
    public static final int TABLE_NAME_FIELD_NUMBER = 1;
    private java.lang.Object tableName_;
    public boolean hasTableName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getTableName() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          tableName_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getTableNameBytes() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        tableName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.RowInBatchGetRowResponse rows = 2;
    public static final int ROWS_FIELD_NUMBER = 2;
    private java.util.List rows_;
    public java.util.List getRowsList() {
      return rows_;
    }
    public java.util.List 
        getRowsOrBuilderList() {
      return rows_;
    }
    public int getRowsCount() {
      return rows_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse getRows(int index) {
      return rows_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponseOrBuilder getRowsOrBuilder(
        int index) {
      return rows_.get(index);
    }
    
    private void initFields() {
      tableName_ = "";
      rows_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasTableName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getRowsCount(); i++) {
        if (!getRows(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getTableNameBytes());
      }
      for (int i = 0; i < rows_.size(); i++) {
        output.writeMessage(2, rows_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getTableNameBytes());
      }
      for (int i = 0; i < rows_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, rows_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowResponse_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getRowsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        tableName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (rowsBuilder_ == null) {
          rows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          rowsBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tableName_ = tableName_;
        if (rowsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            rows_ = java.util.Collections.unmodifiableList(rows_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.rows_ = rows_;
        } else {
          result.rows_ = rowsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.getDefaultInstance()) return this;
        if (other.hasTableName()) {
          setTableName(other.getTableName());
        }
        if (rowsBuilder_ == null) {
          if (!other.rows_.isEmpty()) {
            if (rows_.isEmpty()) {
              rows_ = other.rows_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureRowsIsMutable();
              rows_.addAll(other.rows_);
            }
            onChanged();
          }
        } else {
          if (!other.rows_.isEmpty()) {
            if (rowsBuilder_.isEmpty()) {
              rowsBuilder_.dispose();
              rowsBuilder_ = null;
              rows_ = other.rows_;
              bitField0_ = (bitField0_ & ~0x00000002);
              rowsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getRowsFieldBuilder() : null;
            } else {
              rowsBuilder_.addAllMessages(other.rows_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasTableName()) {
          
          return false;
        }
        for (int i = 0; i < getRowsCount(); i++) {
          if (!getRows(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              tableName_ = input.readBytes();
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addRows(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string table_name = 1;
      private java.lang.Object tableName_ = "";
      public boolean hasTableName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getTableName() {
        java.lang.Object ref = tableName_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          tableName_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setTableName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
        return this;
      }
      public Builder clearTableName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tableName_ = getDefaultInstance().getTableName();
        onChanged();
        return this;
      }
      void setTableName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.RowInBatchGetRowResponse rows = 2;
      private java.util.List rows_ =
        java.util.Collections.emptyList();
      private void ensureRowsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          rows_ = new java.util.ArrayList(rows_);
          bitField0_ |= 0x00000002;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponseOrBuilder> rowsBuilder_;
      
      public java.util.List getRowsList() {
        if (rowsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(rows_);
        } else {
          return rowsBuilder_.getMessageList();
        }
      }
      public int getRowsCount() {
        if (rowsBuilder_ == null) {
          return rows_.size();
        } else {
          return rowsBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse getRows(int index) {
        if (rowsBuilder_ == null) {
          return rows_.get(index);
        } else {
          return rowsBuilder_.getMessage(index);
        }
      }
      public Builder setRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse value) {
        if (rowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRowsIsMutable();
          rows_.set(index, value);
          onChanged();
        } else {
          rowsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.Builder builderForValue) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          rows_.set(index, builderForValue.build());
          onChanged();
        } else {
          rowsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addRows(com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse value) {
        if (rowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRowsIsMutable();
          rows_.add(value);
          onChanged();
        } else {
          rowsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse value) {
        if (rowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRowsIsMutable();
          rows_.add(index, value);
          onChanged();
        } else {
          rowsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addRows(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.Builder builderForValue) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          rows_.add(builderForValue.build());
          onChanged();
        } else {
          rowsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.Builder builderForValue) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          rows_.add(index, builderForValue.build());
          onChanged();
        } else {
          rowsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllRows(
          java.lang.Iterable values) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          super.addAll(values, rows_);
          onChanged();
        } else {
          rowsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearRows() {
        if (rowsBuilder_ == null) {
          rows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          rowsBuilder_.clear();
        }
        return this;
      }
      public Builder removeRows(int index) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          rows_.remove(index);
          onChanged();
        } else {
          rowsBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.Builder getRowsBuilder(
          int index) {
        return getRowsFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponseOrBuilder getRowsOrBuilder(
          int index) {
        if (rowsBuilder_ == null) {
          return rows_.get(index);  } else {
          return rowsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getRowsOrBuilderList() {
        if (rowsBuilder_ != null) {
          return rowsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(rows_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.Builder addRowsBuilder() {
        return getRowsFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.Builder addRowsBuilder(
          int index) {
        return getRowsFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.getDefaultInstance());
      }
      public java.util.List 
           getRowsBuilderList() {
        return getRowsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponseOrBuilder> 
          getRowsFieldBuilder() {
        if (rowsBuilder_ == null) {
          rowsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponseOrBuilder>(
                  rows_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          rows_ = null;
        }
        return rowsBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.TableInBatchGetRowResponse)
    }
    
    static {
      defaultInstance = new TableInBatchGetRowResponse(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.TableInBatchGetRowResponse)
  }
  
  public interface BatchGetRowResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // repeated .com.aliyun.openservices.ots.protocol.TableInBatchGetRowResponse tables = 1;
    java.util.List 
        getTablesList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse getTables(int index);
    int getTablesCount();
    java.util.List 
        getTablesOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponseOrBuilder getTablesOrBuilder(
        int index);
  }
  public static final class BatchGetRowResponse extends
      com.google.protobuf.GeneratedMessage
      implements BatchGetRowResponseOrBuilder {
    // Use BatchGetRowResponse.newBuilder() to construct.
    private BatchGetRowResponse(Builder builder) {
      super(builder);
    }
    private BatchGetRowResponse(boolean noInit) {}
    
    private static final BatchGetRowResponse defaultInstance;
    public static BatchGetRowResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public BatchGetRowResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowResponse_fieldAccessorTable;
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.TableInBatchGetRowResponse tables = 1;
    public static final int TABLES_FIELD_NUMBER = 1;
    private java.util.List tables_;
    public java.util.List getTablesList() {
      return tables_;
    }
    public java.util.List 
        getTablesOrBuilderList() {
      return tables_;
    }
    public int getTablesCount() {
      return tables_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse getTables(int index) {
      return tables_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponseOrBuilder getTablesOrBuilder(
        int index) {
      return tables_.get(index);
    }
    
    private void initFields() {
      tables_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      for (int i = 0; i < getTablesCount(); i++) {
        if (!getTables(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < tables_.size(); i++) {
        output.writeMessage(1, tables_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      for (int i = 0; i < tables_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, tables_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowResponse_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getTablesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (tablesBuilder_ == null) {
          tables_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          tablesBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse(this);
        int from_bitField0_ = bitField0_;
        if (tablesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            tables_ = java.util.Collections.unmodifiableList(tables_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.tables_ = tables_;
        } else {
          result.tables_ = tablesBuilder_.build();
        }
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse.getDefaultInstance()) return this;
        if (tablesBuilder_ == null) {
          if (!other.tables_.isEmpty()) {
            if (tables_.isEmpty()) {
              tables_ = other.tables_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureTablesIsMutable();
              tables_.addAll(other.tables_);
            }
            onChanged();
          }
        } else {
          if (!other.tables_.isEmpty()) {
            if (tablesBuilder_.isEmpty()) {
              tablesBuilder_.dispose();
              tablesBuilder_ = null;
              tables_ = other.tables_;
              bitField0_ = (bitField0_ & ~0x00000001);
              tablesBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getTablesFieldBuilder() : null;
            } else {
              tablesBuilder_.addAllMessages(other.tables_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        for (int i = 0; i < getTablesCount(); i++) {
          if (!getTables(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addTables(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // repeated .com.aliyun.openservices.ots.protocol.TableInBatchGetRowResponse tables = 1;
      private java.util.List tables_ =
        java.util.Collections.emptyList();
      private void ensureTablesIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          tables_ = new java.util.ArrayList(tables_);
          bitField0_ |= 0x00000001;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponseOrBuilder> tablesBuilder_;
      
      public java.util.List getTablesList() {
        if (tablesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(tables_);
        } else {
          return tablesBuilder_.getMessageList();
        }
      }
      public int getTablesCount() {
        if (tablesBuilder_ == null) {
          return tables_.size();
        } else {
          return tablesBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse getTables(int index) {
        if (tablesBuilder_ == null) {
          return tables_.get(index);
        } else {
          return tablesBuilder_.getMessage(index);
        }
      }
      public Builder setTables(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse value) {
        if (tablesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTablesIsMutable();
          tables_.set(index, value);
          onChanged();
        } else {
          tablesBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setTables(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.Builder builderForValue) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          tables_.set(index, builderForValue.build());
          onChanged();
        } else {
          tablesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addTables(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse value) {
        if (tablesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTablesIsMutable();
          tables_.add(value);
          onChanged();
        } else {
          tablesBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addTables(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse value) {
        if (tablesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTablesIsMutable();
          tables_.add(index, value);
          onChanged();
        } else {
          tablesBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addTables(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.Builder builderForValue) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          tables_.add(builderForValue.build());
          onChanged();
        } else {
          tablesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addTables(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.Builder builderForValue) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          tables_.add(index, builderForValue.build());
          onChanged();
        } else {
          tablesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllTables(
          java.lang.Iterable values) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          super.addAll(values, tables_);
          onChanged();
        } else {
          tablesBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearTables() {
        if (tablesBuilder_ == null) {
          tables_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          tablesBuilder_.clear();
        }
        return this;
      }
      public Builder removeTables(int index) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          tables_.remove(index);
          onChanged();
        } else {
          tablesBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.Builder getTablesBuilder(
          int index) {
        return getTablesFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponseOrBuilder getTablesOrBuilder(
          int index) {
        if (tablesBuilder_ == null) {
          return tables_.get(index);  } else {
          return tablesBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getTablesOrBuilderList() {
        if (tablesBuilder_ != null) {
          return tablesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(tables_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.Builder addTablesBuilder() {
        return getTablesFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.Builder addTablesBuilder(
          int index) {
        return getTablesFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.getDefaultInstance());
      }
      public java.util.List 
           getTablesBuilderList() {
        return getTablesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponseOrBuilder> 
          getTablesFieldBuilder() {
        if (tablesBuilder_ == null) {
          tablesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponseOrBuilder>(
                  tables_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          tables_ = null;
        }
        return tablesBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.BatchGetRowResponse)
    }
    
    static {
      defaultInstance = new BatchGetRowResponse(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.BatchGetRowResponse)
  }
  
  public interface PutRowInBatchWriteRowRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.Condition condition = 1;
    boolean hasCondition();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder();
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 2;
    java.util.List 
        getPrimaryKeyList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index);
    int getPrimaryKeyCount();
    java.util.List 
        getPrimaryKeyOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
        int index);
    
    // repeated .com.aliyun.openservices.ots.protocol.Column attribute_columns = 3;
    java.util.List 
        getAttributeColumnsList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getAttributeColumns(int index);
    int getAttributeColumnsCount();
    java.util.List 
        getAttributeColumnsOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getAttributeColumnsOrBuilder(
        int index);
  }
  public static final class PutRowInBatchWriteRowRequest extends
      com.google.protobuf.GeneratedMessage
      implements PutRowInBatchWriteRowRequestOrBuilder {
    // Use PutRowInBatchWriteRowRequest.newBuilder() to construct.
    private PutRowInBatchWriteRowRequest(Builder builder) {
      super(builder);
    }
    private PutRowInBatchWriteRowRequest(boolean noInit) {}
    
    private static final PutRowInBatchWriteRowRequest defaultInstance;
    public static PutRowInBatchWriteRowRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public PutRowInBatchWriteRowRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_PutRowInBatchWriteRowRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_PutRowInBatchWriteRowRequest_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.Condition condition = 1;
    public static final int CONDITION_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition condition_;
    public boolean hasCondition() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition() {
      return condition_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder() {
      return condition_;
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 2;
    public static final int PRIMARY_KEY_FIELD_NUMBER = 2;
    private java.util.List primaryKey_;
    public java.util.List getPrimaryKeyList() {
      return primaryKey_;
    }
    public java.util.List 
        getPrimaryKeyOrBuilderList() {
      return primaryKey_;
    }
    public int getPrimaryKeyCount() {
      return primaryKey_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index) {
      return primaryKey_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
        int index) {
      return primaryKey_.get(index);
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.Column attribute_columns = 3;
    public static final int ATTRIBUTE_COLUMNS_FIELD_NUMBER = 3;
    private java.util.List attributeColumns_;
    public java.util.List getAttributeColumnsList() {
      return attributeColumns_;
    }
    public java.util.List 
        getAttributeColumnsOrBuilderList() {
      return attributeColumns_;
    }
    public int getAttributeColumnsCount() {
      return attributeColumns_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getAttributeColumns(int index) {
      return attributeColumns_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getAttributeColumnsOrBuilder(
        int index) {
      return attributeColumns_.get(index);
    }
    
    private void initFields() {
      condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
      primaryKey_ = java.util.Collections.emptyList();
      attributeColumns_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasCondition()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getCondition().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getPrimaryKeyCount(); i++) {
        if (!getPrimaryKey(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getAttributeColumnsCount(); i++) {
        if (!getAttributeColumns(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, condition_);
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        output.writeMessage(2, primaryKey_.get(i));
      }
      for (int i = 0; i < attributeColumns_.size(); i++) {
        output.writeMessage(3, attributeColumns_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, condition_);
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, primaryKey_.get(i));
      }
      for (int i = 0; i < attributeColumns_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, attributeColumns_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_PutRowInBatchWriteRowRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_PutRowInBatchWriteRowRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getConditionFieldBuilder();
          getPrimaryKeyFieldBuilder();
          getAttributeColumnsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (conditionBuilder_ == null) {
          condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
        } else {
          conditionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          primaryKeyBuilder_.clear();
        }
        if (attributeColumnsBuilder_ == null) {
          attributeColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          attributeColumnsBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (conditionBuilder_ == null) {
          result.condition_ = condition_;
        } else {
          result.condition_ = conditionBuilder_.build();
        }
        if (primaryKeyBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            primaryKey_ = java.util.Collections.unmodifiableList(primaryKey_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.primaryKey_ = primaryKey_;
        } else {
          result.primaryKey_ = primaryKeyBuilder_.build();
        }
        if (attributeColumnsBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            attributeColumns_ = java.util.Collections.unmodifiableList(attributeColumns_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.attributeColumns_ = attributeColumns_;
        } else {
          result.attributeColumns_ = attributeColumnsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.getDefaultInstance()) return this;
        if (other.hasCondition()) {
          mergeCondition(other.getCondition());
        }
        if (primaryKeyBuilder_ == null) {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKey_.isEmpty()) {
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensurePrimaryKeyIsMutable();
              primaryKey_.addAll(other.primaryKey_);
            }
            onChanged();
          }
        } else {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKeyBuilder_.isEmpty()) {
              primaryKeyBuilder_.dispose();
              primaryKeyBuilder_ = null;
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000002);
              primaryKeyBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getPrimaryKeyFieldBuilder() : null;
            } else {
              primaryKeyBuilder_.addAllMessages(other.primaryKey_);
            }
          }
        }
        if (attributeColumnsBuilder_ == null) {
          if (!other.attributeColumns_.isEmpty()) {
            if (attributeColumns_.isEmpty()) {
              attributeColumns_ = other.attributeColumns_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureAttributeColumnsIsMutable();
              attributeColumns_.addAll(other.attributeColumns_);
            }
            onChanged();
          }
        } else {
          if (!other.attributeColumns_.isEmpty()) {
            if (attributeColumnsBuilder_.isEmpty()) {
              attributeColumnsBuilder_.dispose();
              attributeColumnsBuilder_ = null;
              attributeColumns_ = other.attributeColumns_;
              bitField0_ = (bitField0_ & ~0x00000004);
              attributeColumnsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getAttributeColumnsFieldBuilder() : null;
            } else {
              attributeColumnsBuilder_.addAllMessages(other.attributeColumns_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasCondition()) {
          
          return false;
        }
        if (!getCondition().isInitialized()) {
          
          return false;
        }
        for (int i = 0; i < getPrimaryKeyCount(); i++) {
          if (!getPrimaryKey(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getAttributeColumnsCount(); i++) {
          if (!getAttributeColumns(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.newBuilder();
              if (hasCondition()) {
                subBuilder.mergeFrom(getCondition());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setCondition(subBuilder.buildPartial());
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addPrimaryKey(subBuilder.buildPartial());
              break;
            }
            case 26: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addAttributeColumns(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.Condition condition = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder> conditionBuilder_;
      public boolean hasCondition() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition() {
        if (conditionBuilder_ == null) {
          return condition_;
        } else {
          return conditionBuilder_.getMessage();
        }
      }
      public Builder setCondition(com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition value) {
        if (conditionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          condition_ = value;
          onChanged();
        } else {
          conditionBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder setCondition(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder builderForValue) {
        if (conditionBuilder_ == null) {
          condition_ = builderForValue.build();
          onChanged();
        } else {
          conditionBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder mergeCondition(com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition value) {
        if (conditionBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              condition_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance()) {
            condition_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.newBuilder(condition_).mergeFrom(value).buildPartial();
          } else {
            condition_ = value;
          }
          onChanged();
        } else {
          conditionBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder clearCondition() {
        if (conditionBuilder_ == null) {
          condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
          onChanged();
        } else {
          conditionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder getConditionBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getConditionFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder() {
        if (conditionBuilder_ != null) {
          return conditionBuilder_.getMessageOrBuilder();
        } else {
          return condition_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder> 
          getConditionFieldBuilder() {
        if (conditionBuilder_ == null) {
          conditionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder>(
                  condition_,
                  getParentForChildren(),
                  isClean());
          condition_ = null;
        }
        return conditionBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 2;
      private java.util.List primaryKey_ =
        java.util.Collections.emptyList();
      private void ensurePrimaryKeyIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          primaryKey_ = new java.util.ArrayList(primaryKey_);
          bitField0_ |= 0x00000002;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> primaryKeyBuilder_;
      
      public java.util.List getPrimaryKeyList() {
        if (primaryKeyBuilder_ == null) {
          return java.util.Collections.unmodifiableList(primaryKey_);
        } else {
          return primaryKeyBuilder_.getMessageList();
        }
      }
      public int getPrimaryKeyCount() {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.size();
        } else {
          return primaryKeyBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);
        } else {
          return primaryKeyBuilder_.getMessage(index);
        }
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllPrimaryKey(
          java.lang.Iterable values) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          super.addAll(values, primaryKey_);
          onChanged();
        } else {
          primaryKeyBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearPrimaryKey() {
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          primaryKeyBuilder_.clear();
        }
        return this;
      }
      public Builder removePrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.remove(index);
          onChanged();
        } else {
          primaryKeyBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder getPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
          int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);  } else {
          return primaryKeyBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getPrimaryKeyOrBuilderList() {
        if (primaryKeyBuilder_ != null) {
          return primaryKeyBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(primaryKey_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyBuilder() {
        return getPrimaryKeyFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public java.util.List 
           getPrimaryKeyBuilderList() {
        return getPrimaryKeyFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> 
          getPrimaryKeyFieldBuilder() {
        if (primaryKeyBuilder_ == null) {
          primaryKeyBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder>(
                  primaryKey_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          primaryKey_ = null;
        }
        return primaryKeyBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.Column attribute_columns = 3;
      private java.util.List attributeColumns_ =
        java.util.Collections.emptyList();
      private void ensureAttributeColumnsIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          attributeColumns_ = new java.util.ArrayList(attributeColumns_);
          bitField0_ |= 0x00000004;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> attributeColumnsBuilder_;
      
      public java.util.List getAttributeColumnsList() {
        if (attributeColumnsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(attributeColumns_);
        } else {
          return attributeColumnsBuilder_.getMessageList();
        }
      }
      public int getAttributeColumnsCount() {
        if (attributeColumnsBuilder_ == null) {
          return attributeColumns_.size();
        } else {
          return attributeColumnsBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getAttributeColumns(int index) {
        if (attributeColumnsBuilder_ == null) {
          return attributeColumns_.get(index);
        } else {
          return attributeColumnsBuilder_.getMessage(index);
        }
      }
      public Builder setAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (attributeColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeColumnsIsMutable();
          attributeColumns_.set(index, value);
          onChanged();
        } else {
          attributeColumnsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.set(index, builderForValue.build());
          onChanged();
        } else {
          attributeColumnsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAttributeColumns(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (attributeColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(value);
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (attributeColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(index, value);
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addAttributeColumns(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(builderForValue.build());
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(index, builderForValue.build());
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllAttributeColumns(
          java.lang.Iterable values) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          super.addAll(values, attributeColumns_);
          onChanged();
        } else {
          attributeColumnsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearAttributeColumns() {
        if (attributeColumnsBuilder_ == null) {
          attributeColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          attributeColumnsBuilder_.clear();
        }
        return this;
      }
      public Builder removeAttributeColumns(int index) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.remove(index);
          onChanged();
        } else {
          attributeColumnsBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder getAttributeColumnsBuilder(
          int index) {
        return getAttributeColumnsFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getAttributeColumnsOrBuilder(
          int index) {
        if (attributeColumnsBuilder_ == null) {
          return attributeColumns_.get(index);  } else {
          return attributeColumnsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getAttributeColumnsOrBuilderList() {
        if (attributeColumnsBuilder_ != null) {
          return attributeColumnsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(attributeColumns_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addAttributeColumnsBuilder() {
        return getAttributeColumnsFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addAttributeColumnsBuilder(
          int index) {
        return getAttributeColumnsFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public java.util.List 
           getAttributeColumnsBuilderList() {
        return getAttributeColumnsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> 
          getAttributeColumnsFieldBuilder() {
        if (attributeColumnsBuilder_ == null) {
          attributeColumnsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder>(
                  attributeColumns_,
                  ((bitField0_ & 0x00000004) == 0x00000004),
                  getParentForChildren(),
                  isClean());
          attributeColumns_ = null;
        }
        return attributeColumnsBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.PutRowInBatchWriteRowRequest)
    }
    
    static {
      defaultInstance = new PutRowInBatchWriteRowRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.PutRowInBatchWriteRowRequest)
  }
  
  public interface UpdateRowInBatchWriteRowRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.Condition condition = 1;
    boolean hasCondition();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder();
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 2;
    java.util.List 
        getPrimaryKeyList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index);
    int getPrimaryKeyCount();
    java.util.List 
        getPrimaryKeyOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
        int index);
    
    // repeated .com.aliyun.openservices.ots.protocol.ColumnUpdate attribute_columns = 3;
    java.util.List 
        getAttributeColumnsList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate getAttributeColumns(int index);
    int getAttributeColumnsCount();
    java.util.List 
        getAttributeColumnsOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdateOrBuilder getAttributeColumnsOrBuilder(
        int index);
  }
  public static final class UpdateRowInBatchWriteRowRequest extends
      com.google.protobuf.GeneratedMessage
      implements UpdateRowInBatchWriteRowRequestOrBuilder {
    // Use UpdateRowInBatchWriteRowRequest.newBuilder() to construct.
    private UpdateRowInBatchWriteRowRequest(Builder builder) {
      super(builder);
    }
    private UpdateRowInBatchWriteRowRequest(boolean noInit) {}
    
    private static final UpdateRowInBatchWriteRowRequest defaultInstance;
    public static UpdateRowInBatchWriteRowRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public UpdateRowInBatchWriteRowRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateRowInBatchWriteRowRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateRowInBatchWriteRowRequest_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.Condition condition = 1;
    public static final int CONDITION_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition condition_;
    public boolean hasCondition() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition() {
      return condition_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder() {
      return condition_;
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 2;
    public static final int PRIMARY_KEY_FIELD_NUMBER = 2;
    private java.util.List primaryKey_;
    public java.util.List getPrimaryKeyList() {
      return primaryKey_;
    }
    public java.util.List 
        getPrimaryKeyOrBuilderList() {
      return primaryKey_;
    }
    public int getPrimaryKeyCount() {
      return primaryKey_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index) {
      return primaryKey_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
        int index) {
      return primaryKey_.get(index);
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.ColumnUpdate attribute_columns = 3;
    public static final int ATTRIBUTE_COLUMNS_FIELD_NUMBER = 3;
    private java.util.List attributeColumns_;
    public java.util.List getAttributeColumnsList() {
      return attributeColumns_;
    }
    public java.util.List 
        getAttributeColumnsOrBuilderList() {
      return attributeColumns_;
    }
    public int getAttributeColumnsCount() {
      return attributeColumns_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate getAttributeColumns(int index) {
      return attributeColumns_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdateOrBuilder getAttributeColumnsOrBuilder(
        int index) {
      return attributeColumns_.get(index);
    }
    
    private void initFields() {
      condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
      primaryKey_ = java.util.Collections.emptyList();
      attributeColumns_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasCondition()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getCondition().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getPrimaryKeyCount(); i++) {
        if (!getPrimaryKey(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getAttributeColumnsCount(); i++) {
        if (!getAttributeColumns(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, condition_);
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        output.writeMessage(2, primaryKey_.get(i));
      }
      for (int i = 0; i < attributeColumns_.size(); i++) {
        output.writeMessage(3, attributeColumns_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, condition_);
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, primaryKey_.get(i));
      }
      for (int i = 0; i < attributeColumns_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, attributeColumns_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateRowInBatchWriteRowRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_UpdateRowInBatchWriteRowRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getConditionFieldBuilder();
          getPrimaryKeyFieldBuilder();
          getAttributeColumnsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (conditionBuilder_ == null) {
          condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
        } else {
          conditionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          primaryKeyBuilder_.clear();
        }
        if (attributeColumnsBuilder_ == null) {
          attributeColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          attributeColumnsBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (conditionBuilder_ == null) {
          result.condition_ = condition_;
        } else {
          result.condition_ = conditionBuilder_.build();
        }
        if (primaryKeyBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            primaryKey_ = java.util.Collections.unmodifiableList(primaryKey_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.primaryKey_ = primaryKey_;
        } else {
          result.primaryKey_ = primaryKeyBuilder_.build();
        }
        if (attributeColumnsBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            attributeColumns_ = java.util.Collections.unmodifiableList(attributeColumns_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.attributeColumns_ = attributeColumns_;
        } else {
          result.attributeColumns_ = attributeColumnsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.getDefaultInstance()) return this;
        if (other.hasCondition()) {
          mergeCondition(other.getCondition());
        }
        if (primaryKeyBuilder_ == null) {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKey_.isEmpty()) {
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensurePrimaryKeyIsMutable();
              primaryKey_.addAll(other.primaryKey_);
            }
            onChanged();
          }
        } else {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKeyBuilder_.isEmpty()) {
              primaryKeyBuilder_.dispose();
              primaryKeyBuilder_ = null;
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000002);
              primaryKeyBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getPrimaryKeyFieldBuilder() : null;
            } else {
              primaryKeyBuilder_.addAllMessages(other.primaryKey_);
            }
          }
        }
        if (attributeColumnsBuilder_ == null) {
          if (!other.attributeColumns_.isEmpty()) {
            if (attributeColumns_.isEmpty()) {
              attributeColumns_ = other.attributeColumns_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureAttributeColumnsIsMutable();
              attributeColumns_.addAll(other.attributeColumns_);
            }
            onChanged();
          }
        } else {
          if (!other.attributeColumns_.isEmpty()) {
            if (attributeColumnsBuilder_.isEmpty()) {
              attributeColumnsBuilder_.dispose();
              attributeColumnsBuilder_ = null;
              attributeColumns_ = other.attributeColumns_;
              bitField0_ = (bitField0_ & ~0x00000004);
              attributeColumnsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getAttributeColumnsFieldBuilder() : null;
            } else {
              attributeColumnsBuilder_.addAllMessages(other.attributeColumns_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasCondition()) {
          
          return false;
        }
        if (!getCondition().isInitialized()) {
          
          return false;
        }
        for (int i = 0; i < getPrimaryKeyCount(); i++) {
          if (!getPrimaryKey(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getAttributeColumnsCount(); i++) {
          if (!getAttributeColumns(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.newBuilder();
              if (hasCondition()) {
                subBuilder.mergeFrom(getCondition());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setCondition(subBuilder.buildPartial());
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addPrimaryKey(subBuilder.buildPartial());
              break;
            }
            case 26: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addAttributeColumns(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.Condition condition = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder> conditionBuilder_;
      public boolean hasCondition() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition() {
        if (conditionBuilder_ == null) {
          return condition_;
        } else {
          return conditionBuilder_.getMessage();
        }
      }
      public Builder setCondition(com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition value) {
        if (conditionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          condition_ = value;
          onChanged();
        } else {
          conditionBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder setCondition(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder builderForValue) {
        if (conditionBuilder_ == null) {
          condition_ = builderForValue.build();
          onChanged();
        } else {
          conditionBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder mergeCondition(com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition value) {
        if (conditionBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              condition_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance()) {
            condition_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.newBuilder(condition_).mergeFrom(value).buildPartial();
          } else {
            condition_ = value;
          }
          onChanged();
        } else {
          conditionBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder clearCondition() {
        if (conditionBuilder_ == null) {
          condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
          onChanged();
        } else {
          conditionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder getConditionBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getConditionFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder() {
        if (conditionBuilder_ != null) {
          return conditionBuilder_.getMessageOrBuilder();
        } else {
          return condition_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder> 
          getConditionFieldBuilder() {
        if (conditionBuilder_ == null) {
          conditionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder>(
                  condition_,
                  getParentForChildren(),
                  isClean());
          condition_ = null;
        }
        return conditionBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 2;
      private java.util.List primaryKey_ =
        java.util.Collections.emptyList();
      private void ensurePrimaryKeyIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          primaryKey_ = new java.util.ArrayList(primaryKey_);
          bitField0_ |= 0x00000002;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> primaryKeyBuilder_;
      
      public java.util.List getPrimaryKeyList() {
        if (primaryKeyBuilder_ == null) {
          return java.util.Collections.unmodifiableList(primaryKey_);
        } else {
          return primaryKeyBuilder_.getMessageList();
        }
      }
      public int getPrimaryKeyCount() {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.size();
        } else {
          return primaryKeyBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);
        } else {
          return primaryKeyBuilder_.getMessage(index);
        }
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllPrimaryKey(
          java.lang.Iterable values) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          super.addAll(values, primaryKey_);
          onChanged();
        } else {
          primaryKeyBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearPrimaryKey() {
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          primaryKeyBuilder_.clear();
        }
        return this;
      }
      public Builder removePrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.remove(index);
          onChanged();
        } else {
          primaryKeyBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder getPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
          int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);  } else {
          return primaryKeyBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getPrimaryKeyOrBuilderList() {
        if (primaryKeyBuilder_ != null) {
          return primaryKeyBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(primaryKey_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyBuilder() {
        return getPrimaryKeyFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public java.util.List 
           getPrimaryKeyBuilderList() {
        return getPrimaryKeyFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> 
          getPrimaryKeyFieldBuilder() {
        if (primaryKeyBuilder_ == null) {
          primaryKeyBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder>(
                  primaryKey_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          primaryKey_ = null;
        }
        return primaryKeyBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.ColumnUpdate attribute_columns = 3;
      private java.util.List attributeColumns_ =
        java.util.Collections.emptyList();
      private void ensureAttributeColumnsIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          attributeColumns_ = new java.util.ArrayList(attributeColumns_);
          bitField0_ |= 0x00000004;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdateOrBuilder> attributeColumnsBuilder_;
      
      public java.util.List getAttributeColumnsList() {
        if (attributeColumnsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(attributeColumns_);
        } else {
          return attributeColumnsBuilder_.getMessageList();
        }
      }
      public int getAttributeColumnsCount() {
        if (attributeColumnsBuilder_ == null) {
          return attributeColumns_.size();
        } else {
          return attributeColumnsBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate getAttributeColumns(int index) {
        if (attributeColumnsBuilder_ == null) {
          return attributeColumns_.get(index);
        } else {
          return attributeColumnsBuilder_.getMessage(index);
        }
      }
      public Builder setAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate value) {
        if (attributeColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeColumnsIsMutable();
          attributeColumns_.set(index, value);
          onChanged();
        } else {
          attributeColumnsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder builderForValue) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.set(index, builderForValue.build());
          onChanged();
        } else {
          attributeColumnsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAttributeColumns(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate value) {
        if (attributeColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(value);
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate value) {
        if (attributeColumnsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(index, value);
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addAttributeColumns(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder builderForValue) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(builderForValue.build());
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addAttributeColumns(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder builderForValue) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.add(index, builderForValue.build());
          onChanged();
        } else {
          attributeColumnsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllAttributeColumns(
          java.lang.Iterable values) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          super.addAll(values, attributeColumns_);
          onChanged();
        } else {
          attributeColumnsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearAttributeColumns() {
        if (attributeColumnsBuilder_ == null) {
          attributeColumns_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          attributeColumnsBuilder_.clear();
        }
        return this;
      }
      public Builder removeAttributeColumns(int index) {
        if (attributeColumnsBuilder_ == null) {
          ensureAttributeColumnsIsMutable();
          attributeColumns_.remove(index);
          onChanged();
        } else {
          attributeColumnsBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder getAttributeColumnsBuilder(
          int index) {
        return getAttributeColumnsFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdateOrBuilder getAttributeColumnsOrBuilder(
          int index) {
        if (attributeColumnsBuilder_ == null) {
          return attributeColumns_.get(index);  } else {
          return attributeColumnsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getAttributeColumnsOrBuilderList() {
        if (attributeColumnsBuilder_ != null) {
          return attributeColumnsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(attributeColumns_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder addAttributeColumnsBuilder() {
        return getAttributeColumnsFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder addAttributeColumnsBuilder(
          int index) {
        return getAttributeColumnsFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.getDefaultInstance());
      }
      public java.util.List 
           getAttributeColumnsBuilderList() {
        return getAttributeColumnsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdateOrBuilder> 
          getAttributeColumnsFieldBuilder() {
        if (attributeColumnsBuilder_ == null) {
          attributeColumnsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdateOrBuilder>(
                  attributeColumns_,
                  ((bitField0_ & 0x00000004) == 0x00000004),
                  getParentForChildren(),
                  isClean());
          attributeColumns_ = null;
        }
        return attributeColumnsBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.UpdateRowInBatchWriteRowRequest)
    }
    
    static {
      defaultInstance = new UpdateRowInBatchWriteRowRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.UpdateRowInBatchWriteRowRequest)
  }
  
  public interface DeleteRowInBatchWriteRowRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.Condition condition = 1;
    boolean hasCondition();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder();
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 2;
    java.util.List 
        getPrimaryKeyList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index);
    int getPrimaryKeyCount();
    java.util.List 
        getPrimaryKeyOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
        int index);
  }
  public static final class DeleteRowInBatchWriteRowRequest extends
      com.google.protobuf.GeneratedMessage
      implements DeleteRowInBatchWriteRowRequestOrBuilder {
    // Use DeleteRowInBatchWriteRowRequest.newBuilder() to construct.
    private DeleteRowInBatchWriteRowRequest(Builder builder) {
      super(builder);
    }
    private DeleteRowInBatchWriteRowRequest(boolean noInit) {}
    
    private static final DeleteRowInBatchWriteRowRequest defaultInstance;
    public static DeleteRowInBatchWriteRowRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public DeleteRowInBatchWriteRowRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteRowInBatchWriteRowRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteRowInBatchWriteRowRequest_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.Condition condition = 1;
    public static final int CONDITION_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition condition_;
    public boolean hasCondition() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition() {
      return condition_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder() {
      return condition_;
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 2;
    public static final int PRIMARY_KEY_FIELD_NUMBER = 2;
    private java.util.List primaryKey_;
    public java.util.List getPrimaryKeyList() {
      return primaryKey_;
    }
    public java.util.List 
        getPrimaryKeyOrBuilderList() {
      return primaryKey_;
    }
    public int getPrimaryKeyCount() {
      return primaryKey_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index) {
      return primaryKey_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
        int index) {
      return primaryKey_.get(index);
    }
    
    private void initFields() {
      condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
      primaryKey_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasCondition()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getCondition().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getPrimaryKeyCount(); i++) {
        if (!getPrimaryKey(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, condition_);
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        output.writeMessage(2, primaryKey_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, condition_);
      }
      for (int i = 0; i < primaryKey_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, primaryKey_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteRowInBatchWriteRowRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_DeleteRowInBatchWriteRowRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getConditionFieldBuilder();
          getPrimaryKeyFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (conditionBuilder_ == null) {
          condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
        } else {
          conditionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          primaryKeyBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (conditionBuilder_ == null) {
          result.condition_ = condition_;
        } else {
          result.condition_ = conditionBuilder_.build();
        }
        if (primaryKeyBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            primaryKey_ = java.util.Collections.unmodifiableList(primaryKey_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.primaryKey_ = primaryKey_;
        } else {
          result.primaryKey_ = primaryKeyBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.getDefaultInstance()) return this;
        if (other.hasCondition()) {
          mergeCondition(other.getCondition());
        }
        if (primaryKeyBuilder_ == null) {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKey_.isEmpty()) {
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensurePrimaryKeyIsMutable();
              primaryKey_.addAll(other.primaryKey_);
            }
            onChanged();
          }
        } else {
          if (!other.primaryKey_.isEmpty()) {
            if (primaryKeyBuilder_.isEmpty()) {
              primaryKeyBuilder_.dispose();
              primaryKeyBuilder_ = null;
              primaryKey_ = other.primaryKey_;
              bitField0_ = (bitField0_ & ~0x00000002);
              primaryKeyBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getPrimaryKeyFieldBuilder() : null;
            } else {
              primaryKeyBuilder_.addAllMessages(other.primaryKey_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasCondition()) {
          
          return false;
        }
        if (!getCondition().isInitialized()) {
          
          return false;
        }
        for (int i = 0; i < getPrimaryKeyCount(); i++) {
          if (!getPrimaryKey(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.newBuilder();
              if (hasCondition()) {
                subBuilder.mergeFrom(getCondition());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setCondition(subBuilder.buildPartial());
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addPrimaryKey(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.Condition condition = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder> conditionBuilder_;
      public boolean hasCondition() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition getCondition() {
        if (conditionBuilder_ == null) {
          return condition_;
        } else {
          return conditionBuilder_.getMessage();
        }
      }
      public Builder setCondition(com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition value) {
        if (conditionBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          condition_ = value;
          onChanged();
        } else {
          conditionBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder setCondition(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder builderForValue) {
        if (conditionBuilder_ == null) {
          condition_ = builderForValue.build();
          onChanged();
        } else {
          conditionBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder mergeCondition(com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition value) {
        if (conditionBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              condition_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance()) {
            condition_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.newBuilder(condition_).mergeFrom(value).buildPartial();
          } else {
            condition_ = value;
          }
          onChanged();
        } else {
          conditionBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder clearCondition() {
        if (conditionBuilder_ == null) {
          condition_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.getDefaultInstance();
          onChanged();
        } else {
          conditionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder getConditionBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getConditionFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder getConditionOrBuilder() {
        if (conditionBuilder_ != null) {
          return conditionBuilder_.getMessageOrBuilder();
        } else {
          return condition_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder> 
          getConditionFieldBuilder() {
        if (conditionBuilder_ == null) {
          conditionBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition, com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConditionOrBuilder>(
                  condition_,
                  getParentForChildren(),
                  isClean());
          condition_ = null;
        }
        return conditionBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.Column primary_key = 2;
      private java.util.List primaryKey_ =
        java.util.Collections.emptyList();
      private void ensurePrimaryKeyIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          primaryKey_ = new java.util.ArrayList(primaryKey_);
          bitField0_ |= 0x00000002;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> primaryKeyBuilder_;
      
      public java.util.List getPrimaryKeyList() {
        if (primaryKeyBuilder_ == null) {
          return java.util.Collections.unmodifiableList(primaryKey_);
        } else {
          return primaryKeyBuilder_.getMessageList();
        }
      }
      public int getPrimaryKeyCount() {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.size();
        } else {
          return primaryKeyBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getPrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);
        } else {
          return primaryKeyBuilder_.getMessage(index);
        }
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.set(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (primaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, value);
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addPrimaryKey(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.add(index, builderForValue.build());
          onChanged();
        } else {
          primaryKeyBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllPrimaryKey(
          java.lang.Iterable values) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          super.addAll(values, primaryKey_);
          onChanged();
        } else {
          primaryKeyBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearPrimaryKey() {
        if (primaryKeyBuilder_ == null) {
          primaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          primaryKeyBuilder_.clear();
        }
        return this;
      }
      public Builder removePrimaryKey(int index) {
        if (primaryKeyBuilder_ == null) {
          ensurePrimaryKeyIsMutable();
          primaryKey_.remove(index);
          onChanged();
        } else {
          primaryKeyBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder getPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getPrimaryKeyOrBuilder(
          int index) {
        if (primaryKeyBuilder_ == null) {
          return primaryKey_.get(index);  } else {
          return primaryKeyBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getPrimaryKeyOrBuilderList() {
        if (primaryKeyBuilder_ != null) {
          return primaryKeyBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(primaryKey_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyBuilder() {
        return getPrimaryKeyFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addPrimaryKeyBuilder(
          int index) {
        return getPrimaryKeyFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public java.util.List 
           getPrimaryKeyBuilderList() {
        return getPrimaryKeyFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> 
          getPrimaryKeyFieldBuilder() {
        if (primaryKeyBuilder_ == null) {
          primaryKeyBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder>(
                  primaryKey_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          primaryKey_ = null;
        }
        return primaryKeyBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.DeleteRowInBatchWriteRowRequest)
    }
    
    static {
      defaultInstance = new DeleteRowInBatchWriteRowRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.DeleteRowInBatchWriteRowRequest)
  }
  
  public interface TableInBatchWriteRowRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required string table_name = 1;
    boolean hasTableName();
    String getTableName();
    
    // repeated .com.aliyun.openservices.ots.protocol.PutRowInBatchWriteRowRequest put_rows = 2;
    java.util.List 
        getPutRowsList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest getPutRows(int index);
    int getPutRowsCount();
    java.util.List 
        getPutRowsOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequestOrBuilder getPutRowsOrBuilder(
        int index);
    
    // repeated .com.aliyun.openservices.ots.protocol.UpdateRowInBatchWriteRowRequest update_rows = 3;
    java.util.List 
        getUpdateRowsList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest getUpdateRows(int index);
    int getUpdateRowsCount();
    java.util.List 
        getUpdateRowsOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequestOrBuilder getUpdateRowsOrBuilder(
        int index);
    
    // repeated .com.aliyun.openservices.ots.protocol.DeleteRowInBatchWriteRowRequest delete_rows = 4;
    java.util.List 
        getDeleteRowsList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest getDeleteRows(int index);
    int getDeleteRowsCount();
    java.util.List 
        getDeleteRowsOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequestOrBuilder getDeleteRowsOrBuilder(
        int index);
  }
  public static final class TableInBatchWriteRowRequest extends
      com.google.protobuf.GeneratedMessage
      implements TableInBatchWriteRowRequestOrBuilder {
    // Use TableInBatchWriteRowRequest.newBuilder() to construct.
    private TableInBatchWriteRowRequest(Builder builder) {
      super(builder);
    }
    private TableInBatchWriteRowRequest(boolean noInit) {}
    
    private static final TableInBatchWriteRowRequest defaultInstance;
    public static TableInBatchWriteRowRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public TableInBatchWriteRowRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowRequest_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string table_name = 1;
    public static final int TABLE_NAME_FIELD_NUMBER = 1;
    private java.lang.Object tableName_;
    public boolean hasTableName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getTableName() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          tableName_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getTableNameBytes() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        tableName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.PutRowInBatchWriteRowRequest put_rows = 2;
    public static final int PUT_ROWS_FIELD_NUMBER = 2;
    private java.util.List putRows_;
    public java.util.List getPutRowsList() {
      return putRows_;
    }
    public java.util.List 
        getPutRowsOrBuilderList() {
      return putRows_;
    }
    public int getPutRowsCount() {
      return putRows_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest getPutRows(int index) {
      return putRows_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequestOrBuilder getPutRowsOrBuilder(
        int index) {
      return putRows_.get(index);
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.UpdateRowInBatchWriteRowRequest update_rows = 3;
    public static final int UPDATE_ROWS_FIELD_NUMBER = 3;
    private java.util.List updateRows_;
    public java.util.List getUpdateRowsList() {
      return updateRows_;
    }
    public java.util.List 
        getUpdateRowsOrBuilderList() {
      return updateRows_;
    }
    public int getUpdateRowsCount() {
      return updateRows_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest getUpdateRows(int index) {
      return updateRows_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequestOrBuilder getUpdateRowsOrBuilder(
        int index) {
      return updateRows_.get(index);
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.DeleteRowInBatchWriteRowRequest delete_rows = 4;
    public static final int DELETE_ROWS_FIELD_NUMBER = 4;
    private java.util.List deleteRows_;
    public java.util.List getDeleteRowsList() {
      return deleteRows_;
    }
    public java.util.List 
        getDeleteRowsOrBuilderList() {
      return deleteRows_;
    }
    public int getDeleteRowsCount() {
      return deleteRows_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest getDeleteRows(int index) {
      return deleteRows_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequestOrBuilder getDeleteRowsOrBuilder(
        int index) {
      return deleteRows_.get(index);
    }
    
    private void initFields() {
      tableName_ = "";
      putRows_ = java.util.Collections.emptyList();
      updateRows_ = java.util.Collections.emptyList();
      deleteRows_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasTableName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getPutRowsCount(); i++) {
        if (!getPutRows(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getUpdateRowsCount(); i++) {
        if (!getUpdateRows(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getDeleteRowsCount(); i++) {
        if (!getDeleteRows(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getTableNameBytes());
      }
      for (int i = 0; i < putRows_.size(); i++) {
        output.writeMessage(2, putRows_.get(i));
      }
      for (int i = 0; i < updateRows_.size(); i++) {
        output.writeMessage(3, updateRows_.get(i));
      }
      for (int i = 0; i < deleteRows_.size(); i++) {
        output.writeMessage(4, deleteRows_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getTableNameBytes());
      }
      for (int i = 0; i < putRows_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, putRows_.get(i));
      }
      for (int i = 0; i < updateRows_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, updateRows_.get(i));
      }
      for (int i = 0; i < deleteRows_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, deleteRows_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getPutRowsFieldBuilder();
          getUpdateRowsFieldBuilder();
          getDeleteRowsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        tableName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (putRowsBuilder_ == null) {
          putRows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          putRowsBuilder_.clear();
        }
        if (updateRowsBuilder_ == null) {
          updateRows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          updateRowsBuilder_.clear();
        }
        if (deleteRowsBuilder_ == null) {
          deleteRows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          deleteRowsBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tableName_ = tableName_;
        if (putRowsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            putRows_ = java.util.Collections.unmodifiableList(putRows_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.putRows_ = putRows_;
        } else {
          result.putRows_ = putRowsBuilder_.build();
        }
        if (updateRowsBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            updateRows_ = java.util.Collections.unmodifiableList(updateRows_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.updateRows_ = updateRows_;
        } else {
          result.updateRows_ = updateRowsBuilder_.build();
        }
        if (deleteRowsBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            deleteRows_ = java.util.Collections.unmodifiableList(deleteRows_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.deleteRows_ = deleteRows_;
        } else {
          result.deleteRows_ = deleteRowsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.getDefaultInstance()) return this;
        if (other.hasTableName()) {
          setTableName(other.getTableName());
        }
        if (putRowsBuilder_ == null) {
          if (!other.putRows_.isEmpty()) {
            if (putRows_.isEmpty()) {
              putRows_ = other.putRows_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensurePutRowsIsMutable();
              putRows_.addAll(other.putRows_);
            }
            onChanged();
          }
        } else {
          if (!other.putRows_.isEmpty()) {
            if (putRowsBuilder_.isEmpty()) {
              putRowsBuilder_.dispose();
              putRowsBuilder_ = null;
              putRows_ = other.putRows_;
              bitField0_ = (bitField0_ & ~0x00000002);
              putRowsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getPutRowsFieldBuilder() : null;
            } else {
              putRowsBuilder_.addAllMessages(other.putRows_);
            }
          }
        }
        if (updateRowsBuilder_ == null) {
          if (!other.updateRows_.isEmpty()) {
            if (updateRows_.isEmpty()) {
              updateRows_ = other.updateRows_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureUpdateRowsIsMutable();
              updateRows_.addAll(other.updateRows_);
            }
            onChanged();
          }
        } else {
          if (!other.updateRows_.isEmpty()) {
            if (updateRowsBuilder_.isEmpty()) {
              updateRowsBuilder_.dispose();
              updateRowsBuilder_ = null;
              updateRows_ = other.updateRows_;
              bitField0_ = (bitField0_ & ~0x00000004);
              updateRowsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getUpdateRowsFieldBuilder() : null;
            } else {
              updateRowsBuilder_.addAllMessages(other.updateRows_);
            }
          }
        }
        if (deleteRowsBuilder_ == null) {
          if (!other.deleteRows_.isEmpty()) {
            if (deleteRows_.isEmpty()) {
              deleteRows_ = other.deleteRows_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureDeleteRowsIsMutable();
              deleteRows_.addAll(other.deleteRows_);
            }
            onChanged();
          }
        } else {
          if (!other.deleteRows_.isEmpty()) {
            if (deleteRowsBuilder_.isEmpty()) {
              deleteRowsBuilder_.dispose();
              deleteRowsBuilder_ = null;
              deleteRows_ = other.deleteRows_;
              bitField0_ = (bitField0_ & ~0x00000008);
              deleteRowsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getDeleteRowsFieldBuilder() : null;
            } else {
              deleteRowsBuilder_.addAllMessages(other.deleteRows_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasTableName()) {
          
          return false;
        }
        for (int i = 0; i < getPutRowsCount(); i++) {
          if (!getPutRows(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getUpdateRowsCount(); i++) {
          if (!getUpdateRows(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getDeleteRowsCount(); i++) {
          if (!getDeleteRows(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              tableName_ = input.readBytes();
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addPutRows(subBuilder.buildPartial());
              break;
            }
            case 26: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addUpdateRows(subBuilder.buildPartial());
              break;
            }
            case 34: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addDeleteRows(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string table_name = 1;
      private java.lang.Object tableName_ = "";
      public boolean hasTableName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getTableName() {
        java.lang.Object ref = tableName_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          tableName_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setTableName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
        return this;
      }
      public Builder clearTableName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tableName_ = getDefaultInstance().getTableName();
        onChanged();
        return this;
      }
      void setTableName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.PutRowInBatchWriteRowRequest put_rows = 2;
      private java.util.List putRows_ =
        java.util.Collections.emptyList();
      private void ensurePutRowsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          putRows_ = new java.util.ArrayList(putRows_);
          bitField0_ |= 0x00000002;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequestOrBuilder> putRowsBuilder_;
      
      public java.util.List getPutRowsList() {
        if (putRowsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(putRows_);
        } else {
          return putRowsBuilder_.getMessageList();
        }
      }
      public int getPutRowsCount() {
        if (putRowsBuilder_ == null) {
          return putRows_.size();
        } else {
          return putRowsBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest getPutRows(int index) {
        if (putRowsBuilder_ == null) {
          return putRows_.get(index);
        } else {
          return putRowsBuilder_.getMessage(index);
        }
      }
      public Builder setPutRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest value) {
        if (putRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePutRowsIsMutable();
          putRows_.set(index, value);
          onChanged();
        } else {
          putRowsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setPutRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.Builder builderForValue) {
        if (putRowsBuilder_ == null) {
          ensurePutRowsIsMutable();
          putRows_.set(index, builderForValue.build());
          onChanged();
        } else {
          putRowsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addPutRows(com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest value) {
        if (putRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePutRowsIsMutable();
          putRows_.add(value);
          onChanged();
        } else {
          putRowsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addPutRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest value) {
        if (putRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePutRowsIsMutable();
          putRows_.add(index, value);
          onChanged();
        } else {
          putRowsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addPutRows(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.Builder builderForValue) {
        if (putRowsBuilder_ == null) {
          ensurePutRowsIsMutable();
          putRows_.add(builderForValue.build());
          onChanged();
        } else {
          putRowsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addPutRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.Builder builderForValue) {
        if (putRowsBuilder_ == null) {
          ensurePutRowsIsMutable();
          putRows_.add(index, builderForValue.build());
          onChanged();
        } else {
          putRowsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllPutRows(
          java.lang.Iterable values) {
        if (putRowsBuilder_ == null) {
          ensurePutRowsIsMutable();
          super.addAll(values, putRows_);
          onChanged();
        } else {
          putRowsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearPutRows() {
        if (putRowsBuilder_ == null) {
          putRows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          putRowsBuilder_.clear();
        }
        return this;
      }
      public Builder removePutRows(int index) {
        if (putRowsBuilder_ == null) {
          ensurePutRowsIsMutable();
          putRows_.remove(index);
          onChanged();
        } else {
          putRowsBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.Builder getPutRowsBuilder(
          int index) {
        return getPutRowsFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequestOrBuilder getPutRowsOrBuilder(
          int index) {
        if (putRowsBuilder_ == null) {
          return putRows_.get(index);  } else {
          return putRowsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getPutRowsOrBuilderList() {
        if (putRowsBuilder_ != null) {
          return putRowsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(putRows_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.Builder addPutRowsBuilder() {
        return getPutRowsFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.Builder addPutRowsBuilder(
          int index) {
        return getPutRowsFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.getDefaultInstance());
      }
      public java.util.List 
           getPutRowsBuilderList() {
        return getPutRowsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequestOrBuilder> 
          getPutRowsFieldBuilder() {
        if (putRowsBuilder_ == null) {
          putRowsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequestOrBuilder>(
                  putRows_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          putRows_ = null;
        }
        return putRowsBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.UpdateRowInBatchWriteRowRequest update_rows = 3;
      private java.util.List updateRows_ =
        java.util.Collections.emptyList();
      private void ensureUpdateRowsIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          updateRows_ = new java.util.ArrayList(updateRows_);
          bitField0_ |= 0x00000004;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequestOrBuilder> updateRowsBuilder_;
      
      public java.util.List getUpdateRowsList() {
        if (updateRowsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(updateRows_);
        } else {
          return updateRowsBuilder_.getMessageList();
        }
      }
      public int getUpdateRowsCount() {
        if (updateRowsBuilder_ == null) {
          return updateRows_.size();
        } else {
          return updateRowsBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest getUpdateRows(int index) {
        if (updateRowsBuilder_ == null) {
          return updateRows_.get(index);
        } else {
          return updateRowsBuilder_.getMessage(index);
        }
      }
      public Builder setUpdateRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest value) {
        if (updateRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUpdateRowsIsMutable();
          updateRows_.set(index, value);
          onChanged();
        } else {
          updateRowsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setUpdateRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.Builder builderForValue) {
        if (updateRowsBuilder_ == null) {
          ensureUpdateRowsIsMutable();
          updateRows_.set(index, builderForValue.build());
          onChanged();
        } else {
          updateRowsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addUpdateRows(com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest value) {
        if (updateRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUpdateRowsIsMutable();
          updateRows_.add(value);
          onChanged();
        } else {
          updateRowsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addUpdateRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest value) {
        if (updateRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUpdateRowsIsMutable();
          updateRows_.add(index, value);
          onChanged();
        } else {
          updateRowsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addUpdateRows(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.Builder builderForValue) {
        if (updateRowsBuilder_ == null) {
          ensureUpdateRowsIsMutable();
          updateRows_.add(builderForValue.build());
          onChanged();
        } else {
          updateRowsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addUpdateRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.Builder builderForValue) {
        if (updateRowsBuilder_ == null) {
          ensureUpdateRowsIsMutable();
          updateRows_.add(index, builderForValue.build());
          onChanged();
        } else {
          updateRowsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllUpdateRows(
          java.lang.Iterable values) {
        if (updateRowsBuilder_ == null) {
          ensureUpdateRowsIsMutable();
          super.addAll(values, updateRows_);
          onChanged();
        } else {
          updateRowsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearUpdateRows() {
        if (updateRowsBuilder_ == null) {
          updateRows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          updateRowsBuilder_.clear();
        }
        return this;
      }
      public Builder removeUpdateRows(int index) {
        if (updateRowsBuilder_ == null) {
          ensureUpdateRowsIsMutable();
          updateRows_.remove(index);
          onChanged();
        } else {
          updateRowsBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.Builder getUpdateRowsBuilder(
          int index) {
        return getUpdateRowsFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequestOrBuilder getUpdateRowsOrBuilder(
          int index) {
        if (updateRowsBuilder_ == null) {
          return updateRows_.get(index);  } else {
          return updateRowsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getUpdateRowsOrBuilderList() {
        if (updateRowsBuilder_ != null) {
          return updateRowsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(updateRows_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.Builder addUpdateRowsBuilder() {
        return getUpdateRowsFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.Builder addUpdateRowsBuilder(
          int index) {
        return getUpdateRowsFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.getDefaultInstance());
      }
      public java.util.List 
           getUpdateRowsBuilderList() {
        return getUpdateRowsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequestOrBuilder> 
          getUpdateRowsFieldBuilder() {
        if (updateRowsBuilder_ == null) {
          updateRowsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequestOrBuilder>(
                  updateRows_,
                  ((bitField0_ & 0x00000004) == 0x00000004),
                  getParentForChildren(),
                  isClean());
          updateRows_ = null;
        }
        return updateRowsBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.DeleteRowInBatchWriteRowRequest delete_rows = 4;
      private java.util.List deleteRows_ =
        java.util.Collections.emptyList();
      private void ensureDeleteRowsIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          deleteRows_ = new java.util.ArrayList(deleteRows_);
          bitField0_ |= 0x00000008;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequestOrBuilder> deleteRowsBuilder_;
      
      public java.util.List getDeleteRowsList() {
        if (deleteRowsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(deleteRows_);
        } else {
          return deleteRowsBuilder_.getMessageList();
        }
      }
      public int getDeleteRowsCount() {
        if (deleteRowsBuilder_ == null) {
          return deleteRows_.size();
        } else {
          return deleteRowsBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest getDeleteRows(int index) {
        if (deleteRowsBuilder_ == null) {
          return deleteRows_.get(index);
        } else {
          return deleteRowsBuilder_.getMessage(index);
        }
      }
      public Builder setDeleteRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest value) {
        if (deleteRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDeleteRowsIsMutable();
          deleteRows_.set(index, value);
          onChanged();
        } else {
          deleteRowsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setDeleteRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.Builder builderForValue) {
        if (deleteRowsBuilder_ == null) {
          ensureDeleteRowsIsMutable();
          deleteRows_.set(index, builderForValue.build());
          onChanged();
        } else {
          deleteRowsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addDeleteRows(com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest value) {
        if (deleteRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDeleteRowsIsMutable();
          deleteRows_.add(value);
          onChanged();
        } else {
          deleteRowsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addDeleteRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest value) {
        if (deleteRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDeleteRowsIsMutable();
          deleteRows_.add(index, value);
          onChanged();
        } else {
          deleteRowsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addDeleteRows(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.Builder builderForValue) {
        if (deleteRowsBuilder_ == null) {
          ensureDeleteRowsIsMutable();
          deleteRows_.add(builderForValue.build());
          onChanged();
        } else {
          deleteRowsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addDeleteRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.Builder builderForValue) {
        if (deleteRowsBuilder_ == null) {
          ensureDeleteRowsIsMutable();
          deleteRows_.add(index, builderForValue.build());
          onChanged();
        } else {
          deleteRowsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllDeleteRows(
          java.lang.Iterable values) {
        if (deleteRowsBuilder_ == null) {
          ensureDeleteRowsIsMutable();
          super.addAll(values, deleteRows_);
          onChanged();
        } else {
          deleteRowsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearDeleteRows() {
        if (deleteRowsBuilder_ == null) {
          deleteRows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          deleteRowsBuilder_.clear();
        }
        return this;
      }
      public Builder removeDeleteRows(int index) {
        if (deleteRowsBuilder_ == null) {
          ensureDeleteRowsIsMutable();
          deleteRows_.remove(index);
          onChanged();
        } else {
          deleteRowsBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.Builder getDeleteRowsBuilder(
          int index) {
        return getDeleteRowsFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequestOrBuilder getDeleteRowsOrBuilder(
          int index) {
        if (deleteRowsBuilder_ == null) {
          return deleteRows_.get(index);  } else {
          return deleteRowsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getDeleteRowsOrBuilderList() {
        if (deleteRowsBuilder_ != null) {
          return deleteRowsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(deleteRows_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.Builder addDeleteRowsBuilder() {
        return getDeleteRowsFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.Builder addDeleteRowsBuilder(
          int index) {
        return getDeleteRowsFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.getDefaultInstance());
      }
      public java.util.List 
           getDeleteRowsBuilderList() {
        return getDeleteRowsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequestOrBuilder> 
          getDeleteRowsFieldBuilder() {
        if (deleteRowsBuilder_ == null) {
          deleteRowsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequestOrBuilder>(
                  deleteRows_,
                  ((bitField0_ & 0x00000008) == 0x00000008),
                  getParentForChildren(),
                  isClean());
          deleteRows_ = null;
        }
        return deleteRowsBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.TableInBatchWriteRowRequest)
    }
    
    static {
      defaultInstance = new TableInBatchWriteRowRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.TableInBatchWriteRowRequest)
  }
  
  public interface BatchWriteRowRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // repeated .com.aliyun.openservices.ots.protocol.TableInBatchWriteRowRequest tables = 1;
    java.util.List 
        getTablesList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest getTables(int index);
    int getTablesCount();
    java.util.List 
        getTablesOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequestOrBuilder getTablesOrBuilder(
        int index);
  }
  public static final class BatchWriteRowRequest extends
      com.google.protobuf.GeneratedMessage
      implements BatchWriteRowRequestOrBuilder {
    // Use BatchWriteRowRequest.newBuilder() to construct.
    private BatchWriteRowRequest(Builder builder) {
      super(builder);
    }
    private BatchWriteRowRequest(boolean noInit) {}
    
    private static final BatchWriteRowRequest defaultInstance;
    public static BatchWriteRowRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public BatchWriteRowRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowRequest_fieldAccessorTable;
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.TableInBatchWriteRowRequest tables = 1;
    public static final int TABLES_FIELD_NUMBER = 1;
    private java.util.List tables_;
    public java.util.List getTablesList() {
      return tables_;
    }
    public java.util.List 
        getTablesOrBuilderList() {
      return tables_;
    }
    public int getTablesCount() {
      return tables_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest getTables(int index) {
      return tables_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequestOrBuilder getTablesOrBuilder(
        int index) {
      return tables_.get(index);
    }
    
    private void initFields() {
      tables_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      for (int i = 0; i < getTablesCount(); i++) {
        if (!getTables(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < tables_.size(); i++) {
        output.writeMessage(1, tables_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      for (int i = 0; i < tables_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, tables_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getTablesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (tablesBuilder_ == null) {
          tables_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          tablesBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest(this);
        int from_bitField0_ = bitField0_;
        if (tablesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            tables_ = java.util.Collections.unmodifiableList(tables_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.tables_ = tables_;
        } else {
          result.tables_ = tablesBuilder_.build();
        }
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest.getDefaultInstance()) return this;
        if (tablesBuilder_ == null) {
          if (!other.tables_.isEmpty()) {
            if (tables_.isEmpty()) {
              tables_ = other.tables_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureTablesIsMutable();
              tables_.addAll(other.tables_);
            }
            onChanged();
          }
        } else {
          if (!other.tables_.isEmpty()) {
            if (tablesBuilder_.isEmpty()) {
              tablesBuilder_.dispose();
              tablesBuilder_ = null;
              tables_ = other.tables_;
              bitField0_ = (bitField0_ & ~0x00000001);
              tablesBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getTablesFieldBuilder() : null;
            } else {
              tablesBuilder_.addAllMessages(other.tables_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        for (int i = 0; i < getTablesCount(); i++) {
          if (!getTables(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addTables(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // repeated .com.aliyun.openservices.ots.protocol.TableInBatchWriteRowRequest tables = 1;
      private java.util.List tables_ =
        java.util.Collections.emptyList();
      private void ensureTablesIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          tables_ = new java.util.ArrayList(tables_);
          bitField0_ |= 0x00000001;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequestOrBuilder> tablesBuilder_;
      
      public java.util.List getTablesList() {
        if (tablesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(tables_);
        } else {
          return tablesBuilder_.getMessageList();
        }
      }
      public int getTablesCount() {
        if (tablesBuilder_ == null) {
          return tables_.size();
        } else {
          return tablesBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest getTables(int index) {
        if (tablesBuilder_ == null) {
          return tables_.get(index);
        } else {
          return tablesBuilder_.getMessage(index);
        }
      }
      public Builder setTables(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest value) {
        if (tablesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTablesIsMutable();
          tables_.set(index, value);
          onChanged();
        } else {
          tablesBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setTables(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.Builder builderForValue) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          tables_.set(index, builderForValue.build());
          onChanged();
        } else {
          tablesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addTables(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest value) {
        if (tablesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTablesIsMutable();
          tables_.add(value);
          onChanged();
        } else {
          tablesBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addTables(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest value) {
        if (tablesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTablesIsMutable();
          tables_.add(index, value);
          onChanged();
        } else {
          tablesBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addTables(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.Builder builderForValue) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          tables_.add(builderForValue.build());
          onChanged();
        } else {
          tablesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addTables(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.Builder builderForValue) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          tables_.add(index, builderForValue.build());
          onChanged();
        } else {
          tablesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllTables(
          java.lang.Iterable values) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          super.addAll(values, tables_);
          onChanged();
        } else {
          tablesBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearTables() {
        if (tablesBuilder_ == null) {
          tables_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          tablesBuilder_.clear();
        }
        return this;
      }
      public Builder removeTables(int index) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          tables_.remove(index);
          onChanged();
        } else {
          tablesBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.Builder getTablesBuilder(
          int index) {
        return getTablesFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequestOrBuilder getTablesOrBuilder(
          int index) {
        if (tablesBuilder_ == null) {
          return tables_.get(index);  } else {
          return tablesBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getTablesOrBuilderList() {
        if (tablesBuilder_ != null) {
          return tablesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(tables_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.Builder addTablesBuilder() {
        return getTablesFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.Builder addTablesBuilder(
          int index) {
        return getTablesFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.getDefaultInstance());
      }
      public java.util.List 
           getTablesBuilderList() {
        return getTablesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequestOrBuilder> 
          getTablesFieldBuilder() {
        if (tablesBuilder_ == null) {
          tablesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequestOrBuilder>(
                  tables_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          tables_ = null;
        }
        return tablesBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.BatchWriteRowRequest)
    }
    
    static {
      defaultInstance = new BatchWriteRowRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.BatchWriteRowRequest)
  }
  
  public interface RowInBatchWriteRowResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required bool is_ok = 1 [default = true];
    boolean hasIsOk();
    boolean getIsOk();
    
    // optional .com.aliyun.openservices.ots.protocol.Error error = 2;
    boolean hasError();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Error getError();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ErrorOrBuilder getErrorOrBuilder();
    
    // optional .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 3;
    boolean hasConsumed();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder();
  }
  public static final class RowInBatchWriteRowResponse extends
      com.google.protobuf.GeneratedMessage
      implements RowInBatchWriteRowResponseOrBuilder {
    // Use RowInBatchWriteRowResponse.newBuilder() to construct.
    private RowInBatchWriteRowResponse(Builder builder) {
      super(builder);
    }
    private RowInBatchWriteRowResponse(boolean noInit) {}
    
    private static final RowInBatchWriteRowResponse defaultInstance;
    public static RowInBatchWriteRowResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public RowInBatchWriteRowResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_RowInBatchWriteRowResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_RowInBatchWriteRowResponse_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required bool is_ok = 1 [default = true];
    public static final int IS_OK_FIELD_NUMBER = 1;
    private boolean isOk_;
    public boolean hasIsOk() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public boolean getIsOk() {
      return isOk_;
    }
    
    // optional .com.aliyun.openservices.ots.protocol.Error error = 2;
    public static final int ERROR_FIELD_NUMBER = 2;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.Error error_;
    public boolean hasError() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Error getError() {
      return error_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ErrorOrBuilder getErrorOrBuilder() {
      return error_;
    }
    
    // optional .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 3;
    public static final int CONSUMED_FIELD_NUMBER = 3;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity consumed_;
    public boolean hasConsumed() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed() {
      return consumed_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder() {
      return consumed_;
    }
    
    private void initFields() {
      isOk_ = true;
      error_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.getDefaultInstance();
      consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasIsOk()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasError()) {
        if (!getError().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasConsumed()) {
        if (!getConsumed().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBool(1, isOk_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeMessage(2, error_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeMessage(3, consumed_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(1, isOk_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, error_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, consumed_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_RowInBatchWriteRowResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_RowInBatchWriteRowResponse_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getErrorFieldBuilder();
          getConsumedFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        isOk_ = true;
        bitField0_ = (bitField0_ & ~0x00000001);
        if (errorBuilder_ == null) {
          error_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.getDefaultInstance();
        } else {
          errorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        if (consumedBuilder_ == null) {
          consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
        } else {
          consumedBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.isOk_ = isOk_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        if (errorBuilder_ == null) {
          result.error_ = error_;
        } else {
          result.error_ = errorBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        if (consumedBuilder_ == null) {
          result.consumed_ = consumed_;
        } else {
          result.consumed_ = consumedBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.getDefaultInstance()) return this;
        if (other.hasIsOk()) {
          setIsOk(other.getIsOk());
        }
        if (other.hasError()) {
          mergeError(other.getError());
        }
        if (other.hasConsumed()) {
          mergeConsumed(other.getConsumed());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasIsOk()) {
          
          return false;
        }
        if (hasError()) {
          if (!getError().isInitialized()) {
            
            return false;
          }
        }
        if (hasConsumed()) {
          if (!getConsumed().isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              isOk_ = input.readBool();
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.newBuilder();
              if (hasError()) {
                subBuilder.mergeFrom(getError());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setError(subBuilder.buildPartial());
              break;
            }
            case 26: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.newBuilder();
              if (hasConsumed()) {
                subBuilder.mergeFrom(getConsumed());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setConsumed(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required bool is_ok = 1 [default = true];
      private boolean isOk_ = true;
      public boolean hasIsOk() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public boolean getIsOk() {
        return isOk_;
      }
      public Builder setIsOk(boolean value) {
        bitField0_ |= 0x00000001;
        isOk_ = value;
        onChanged();
        return this;
      }
      public Builder clearIsOk() {
        bitField0_ = (bitField0_ & ~0x00000001);
        isOk_ = true;
        onChanged();
        return this;
      }
      
      // optional .com.aliyun.openservices.ots.protocol.Error error = 2;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.Error error_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Error, com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ErrorOrBuilder> errorBuilder_;
      public boolean hasError() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Error getError() {
        if (errorBuilder_ == null) {
          return error_;
        } else {
          return errorBuilder_.getMessage();
        }
      }
      public Builder setError(com.aliyun.openservices.ots.protocol.OtsProtocol2.Error value) {
        if (errorBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          error_ = value;
          onChanged();
        } else {
          errorBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder setError(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.Builder builderForValue) {
        if (errorBuilder_ == null) {
          error_ = builderForValue.build();
          onChanged();
        } else {
          errorBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder mergeError(com.aliyun.openservices.ots.protocol.OtsProtocol2.Error value) {
        if (errorBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              error_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.getDefaultInstance()) {
            error_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.newBuilder(error_).mergeFrom(value).buildPartial();
          } else {
            error_ = value;
          }
          onChanged();
        } else {
          errorBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      public Builder clearError() {
        if (errorBuilder_ == null) {
          error_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.getDefaultInstance();
          onChanged();
        } else {
          errorBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.Builder getErrorBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getErrorFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ErrorOrBuilder getErrorOrBuilder() {
        if (errorBuilder_ != null) {
          return errorBuilder_.getMessageOrBuilder();
        } else {
          return error_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Error, com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ErrorOrBuilder> 
          getErrorFieldBuilder() {
        if (errorBuilder_ == null) {
          errorBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Error, com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ErrorOrBuilder>(
                  error_,
                  getParentForChildren(),
                  isClean());
          error_ = null;
        }
        return errorBuilder_;
      }
      
      // optional .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 3;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder> consumedBuilder_;
      public boolean hasConsumed() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed() {
        if (consumedBuilder_ == null) {
          return consumed_;
        } else {
          return consumedBuilder_.getMessage();
        }
      }
      public Builder setConsumed(com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity value) {
        if (consumedBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          consumed_ = value;
          onChanged();
        } else {
          consumedBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      public Builder setConsumed(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder builderForValue) {
        if (consumedBuilder_ == null) {
          consumed_ = builderForValue.build();
          onChanged();
        } else {
          consumedBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      public Builder mergeConsumed(com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity value) {
        if (consumedBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004) &&
              consumed_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance()) {
            consumed_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.newBuilder(consumed_).mergeFrom(value).buildPartial();
          } else {
            consumed_ = value;
          }
          onChanged();
        } else {
          consumedBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000004;
        return this;
      }
      public Builder clearConsumed() {
        if (consumedBuilder_ == null) {
          consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
          onChanged();
        } else {
          consumedBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder getConsumedBuilder() {
        bitField0_ |= 0x00000004;
        onChanged();
        return getConsumedFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder() {
        if (consumedBuilder_ != null) {
          return consumedBuilder_.getMessageOrBuilder();
        } else {
          return consumed_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder> 
          getConsumedFieldBuilder() {
        if (consumedBuilder_ == null) {
          consumedBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder>(
                  consumed_,
                  getParentForChildren(),
                  isClean());
          consumed_ = null;
        }
        return consumedBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.RowInBatchWriteRowResponse)
    }
    
    static {
      defaultInstance = new RowInBatchWriteRowResponse(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.RowInBatchWriteRowResponse)
  }
  
  public interface TableInBatchWriteRowResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required string table_name = 1;
    boolean hasTableName();
    String getTableName();
    
    // repeated .com.aliyun.openservices.ots.protocol.RowInBatchWriteRowResponse put_rows = 2;
    java.util.List 
        getPutRowsList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse getPutRows(int index);
    int getPutRowsCount();
    java.util.List 
        getPutRowsOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder getPutRowsOrBuilder(
        int index);
    
    // repeated .com.aliyun.openservices.ots.protocol.RowInBatchWriteRowResponse update_rows = 3;
    java.util.List 
        getUpdateRowsList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse getUpdateRows(int index);
    int getUpdateRowsCount();
    java.util.List 
        getUpdateRowsOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder getUpdateRowsOrBuilder(
        int index);
    
    // repeated .com.aliyun.openservices.ots.protocol.RowInBatchWriteRowResponse delete_rows = 4;
    java.util.List 
        getDeleteRowsList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse getDeleteRows(int index);
    int getDeleteRowsCount();
    java.util.List 
        getDeleteRowsOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder getDeleteRowsOrBuilder(
        int index);
  }
  public static final class TableInBatchWriteRowResponse extends
      com.google.protobuf.GeneratedMessage
      implements TableInBatchWriteRowResponseOrBuilder {
    // Use TableInBatchWriteRowResponse.newBuilder() to construct.
    private TableInBatchWriteRowResponse(Builder builder) {
      super(builder);
    }
    private TableInBatchWriteRowResponse(boolean noInit) {}
    
    private static final TableInBatchWriteRowResponse defaultInstance;
    public static TableInBatchWriteRowResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public TableInBatchWriteRowResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowResponse_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string table_name = 1;
    public static final int TABLE_NAME_FIELD_NUMBER = 1;
    private java.lang.Object tableName_;
    public boolean hasTableName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getTableName() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          tableName_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getTableNameBytes() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        tableName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.RowInBatchWriteRowResponse put_rows = 2;
    public static final int PUT_ROWS_FIELD_NUMBER = 2;
    private java.util.List putRows_;
    public java.util.List getPutRowsList() {
      return putRows_;
    }
    public java.util.List 
        getPutRowsOrBuilderList() {
      return putRows_;
    }
    public int getPutRowsCount() {
      return putRows_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse getPutRows(int index) {
      return putRows_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder getPutRowsOrBuilder(
        int index) {
      return putRows_.get(index);
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.RowInBatchWriteRowResponse update_rows = 3;
    public static final int UPDATE_ROWS_FIELD_NUMBER = 3;
    private java.util.List updateRows_;
    public java.util.List getUpdateRowsList() {
      return updateRows_;
    }
    public java.util.List 
        getUpdateRowsOrBuilderList() {
      return updateRows_;
    }
    public int getUpdateRowsCount() {
      return updateRows_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse getUpdateRows(int index) {
      return updateRows_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder getUpdateRowsOrBuilder(
        int index) {
      return updateRows_.get(index);
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.RowInBatchWriteRowResponse delete_rows = 4;
    public static final int DELETE_ROWS_FIELD_NUMBER = 4;
    private java.util.List deleteRows_;
    public java.util.List getDeleteRowsList() {
      return deleteRows_;
    }
    public java.util.List 
        getDeleteRowsOrBuilderList() {
      return deleteRows_;
    }
    public int getDeleteRowsCount() {
      return deleteRows_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse getDeleteRows(int index) {
      return deleteRows_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder getDeleteRowsOrBuilder(
        int index) {
      return deleteRows_.get(index);
    }
    
    private void initFields() {
      tableName_ = "";
      putRows_ = java.util.Collections.emptyList();
      updateRows_ = java.util.Collections.emptyList();
      deleteRows_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasTableName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getPutRowsCount(); i++) {
        if (!getPutRows(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getUpdateRowsCount(); i++) {
        if (!getUpdateRows(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getDeleteRowsCount(); i++) {
        if (!getDeleteRows(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getTableNameBytes());
      }
      for (int i = 0; i < putRows_.size(); i++) {
        output.writeMessage(2, putRows_.get(i));
      }
      for (int i = 0; i < updateRows_.size(); i++) {
        output.writeMessage(3, updateRows_.get(i));
      }
      for (int i = 0; i < deleteRows_.size(); i++) {
        output.writeMessage(4, deleteRows_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getTableNameBytes());
      }
      for (int i = 0; i < putRows_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, putRows_.get(i));
      }
      for (int i = 0; i < updateRows_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, updateRows_.get(i));
      }
      for (int i = 0; i < deleteRows_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, deleteRows_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowResponse_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getPutRowsFieldBuilder();
          getUpdateRowsFieldBuilder();
          getDeleteRowsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        tableName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        if (putRowsBuilder_ == null) {
          putRows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          putRowsBuilder_.clear();
        }
        if (updateRowsBuilder_ == null) {
          updateRows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          updateRowsBuilder_.clear();
        }
        if (deleteRowsBuilder_ == null) {
          deleteRows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
        } else {
          deleteRowsBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tableName_ = tableName_;
        if (putRowsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            putRows_ = java.util.Collections.unmodifiableList(putRows_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.putRows_ = putRows_;
        } else {
          result.putRows_ = putRowsBuilder_.build();
        }
        if (updateRowsBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            updateRows_ = java.util.Collections.unmodifiableList(updateRows_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.updateRows_ = updateRows_;
        } else {
          result.updateRows_ = updateRowsBuilder_.build();
        }
        if (deleteRowsBuilder_ == null) {
          if (((bitField0_ & 0x00000008) == 0x00000008)) {
            deleteRows_ = java.util.Collections.unmodifiableList(deleteRows_);
            bitField0_ = (bitField0_ & ~0x00000008);
          }
          result.deleteRows_ = deleteRows_;
        } else {
          result.deleteRows_ = deleteRowsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.getDefaultInstance()) return this;
        if (other.hasTableName()) {
          setTableName(other.getTableName());
        }
        if (putRowsBuilder_ == null) {
          if (!other.putRows_.isEmpty()) {
            if (putRows_.isEmpty()) {
              putRows_ = other.putRows_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensurePutRowsIsMutable();
              putRows_.addAll(other.putRows_);
            }
            onChanged();
          }
        } else {
          if (!other.putRows_.isEmpty()) {
            if (putRowsBuilder_.isEmpty()) {
              putRowsBuilder_.dispose();
              putRowsBuilder_ = null;
              putRows_ = other.putRows_;
              bitField0_ = (bitField0_ & ~0x00000002);
              putRowsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getPutRowsFieldBuilder() : null;
            } else {
              putRowsBuilder_.addAllMessages(other.putRows_);
            }
          }
        }
        if (updateRowsBuilder_ == null) {
          if (!other.updateRows_.isEmpty()) {
            if (updateRows_.isEmpty()) {
              updateRows_ = other.updateRows_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureUpdateRowsIsMutable();
              updateRows_.addAll(other.updateRows_);
            }
            onChanged();
          }
        } else {
          if (!other.updateRows_.isEmpty()) {
            if (updateRowsBuilder_.isEmpty()) {
              updateRowsBuilder_.dispose();
              updateRowsBuilder_ = null;
              updateRows_ = other.updateRows_;
              bitField0_ = (bitField0_ & ~0x00000004);
              updateRowsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getUpdateRowsFieldBuilder() : null;
            } else {
              updateRowsBuilder_.addAllMessages(other.updateRows_);
            }
          }
        }
        if (deleteRowsBuilder_ == null) {
          if (!other.deleteRows_.isEmpty()) {
            if (deleteRows_.isEmpty()) {
              deleteRows_ = other.deleteRows_;
              bitField0_ = (bitField0_ & ~0x00000008);
            } else {
              ensureDeleteRowsIsMutable();
              deleteRows_.addAll(other.deleteRows_);
            }
            onChanged();
          }
        } else {
          if (!other.deleteRows_.isEmpty()) {
            if (deleteRowsBuilder_.isEmpty()) {
              deleteRowsBuilder_.dispose();
              deleteRowsBuilder_ = null;
              deleteRows_ = other.deleteRows_;
              bitField0_ = (bitField0_ & ~0x00000008);
              deleteRowsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getDeleteRowsFieldBuilder() : null;
            } else {
              deleteRowsBuilder_.addAllMessages(other.deleteRows_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasTableName()) {
          
          return false;
        }
        for (int i = 0; i < getPutRowsCount(); i++) {
          if (!getPutRows(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getUpdateRowsCount(); i++) {
          if (!getUpdateRows(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getDeleteRowsCount(); i++) {
          if (!getDeleteRows(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              tableName_ = input.readBytes();
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addPutRows(subBuilder.buildPartial());
              break;
            }
            case 26: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addUpdateRows(subBuilder.buildPartial());
              break;
            }
            case 34: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addDeleteRows(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string table_name = 1;
      private java.lang.Object tableName_ = "";
      public boolean hasTableName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getTableName() {
        java.lang.Object ref = tableName_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          tableName_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setTableName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
        return this;
      }
      public Builder clearTableName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tableName_ = getDefaultInstance().getTableName();
        onChanged();
        return this;
      }
      void setTableName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.RowInBatchWriteRowResponse put_rows = 2;
      private java.util.List putRows_ =
        java.util.Collections.emptyList();
      private void ensurePutRowsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          putRows_ = new java.util.ArrayList(putRows_);
          bitField0_ |= 0x00000002;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder> putRowsBuilder_;
      
      public java.util.List getPutRowsList() {
        if (putRowsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(putRows_);
        } else {
          return putRowsBuilder_.getMessageList();
        }
      }
      public int getPutRowsCount() {
        if (putRowsBuilder_ == null) {
          return putRows_.size();
        } else {
          return putRowsBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse getPutRows(int index) {
        if (putRowsBuilder_ == null) {
          return putRows_.get(index);
        } else {
          return putRowsBuilder_.getMessage(index);
        }
      }
      public Builder setPutRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse value) {
        if (putRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePutRowsIsMutable();
          putRows_.set(index, value);
          onChanged();
        } else {
          putRowsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setPutRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder builderForValue) {
        if (putRowsBuilder_ == null) {
          ensurePutRowsIsMutable();
          putRows_.set(index, builderForValue.build());
          onChanged();
        } else {
          putRowsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addPutRows(com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse value) {
        if (putRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePutRowsIsMutable();
          putRows_.add(value);
          onChanged();
        } else {
          putRowsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addPutRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse value) {
        if (putRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensurePutRowsIsMutable();
          putRows_.add(index, value);
          onChanged();
        } else {
          putRowsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addPutRows(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder builderForValue) {
        if (putRowsBuilder_ == null) {
          ensurePutRowsIsMutable();
          putRows_.add(builderForValue.build());
          onChanged();
        } else {
          putRowsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addPutRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder builderForValue) {
        if (putRowsBuilder_ == null) {
          ensurePutRowsIsMutable();
          putRows_.add(index, builderForValue.build());
          onChanged();
        } else {
          putRowsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllPutRows(
          java.lang.Iterable values) {
        if (putRowsBuilder_ == null) {
          ensurePutRowsIsMutable();
          super.addAll(values, putRows_);
          onChanged();
        } else {
          putRowsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearPutRows() {
        if (putRowsBuilder_ == null) {
          putRows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          putRowsBuilder_.clear();
        }
        return this;
      }
      public Builder removePutRows(int index) {
        if (putRowsBuilder_ == null) {
          ensurePutRowsIsMutable();
          putRows_.remove(index);
          onChanged();
        } else {
          putRowsBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder getPutRowsBuilder(
          int index) {
        return getPutRowsFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder getPutRowsOrBuilder(
          int index) {
        if (putRowsBuilder_ == null) {
          return putRows_.get(index);  } else {
          return putRowsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getPutRowsOrBuilderList() {
        if (putRowsBuilder_ != null) {
          return putRowsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(putRows_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder addPutRowsBuilder() {
        return getPutRowsFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder addPutRowsBuilder(
          int index) {
        return getPutRowsFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.getDefaultInstance());
      }
      public java.util.List 
           getPutRowsBuilderList() {
        return getPutRowsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder> 
          getPutRowsFieldBuilder() {
        if (putRowsBuilder_ == null) {
          putRowsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder>(
                  putRows_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          putRows_ = null;
        }
        return putRowsBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.RowInBatchWriteRowResponse update_rows = 3;
      private java.util.List updateRows_ =
        java.util.Collections.emptyList();
      private void ensureUpdateRowsIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          updateRows_ = new java.util.ArrayList(updateRows_);
          bitField0_ |= 0x00000004;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder> updateRowsBuilder_;
      
      public java.util.List getUpdateRowsList() {
        if (updateRowsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(updateRows_);
        } else {
          return updateRowsBuilder_.getMessageList();
        }
      }
      public int getUpdateRowsCount() {
        if (updateRowsBuilder_ == null) {
          return updateRows_.size();
        } else {
          return updateRowsBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse getUpdateRows(int index) {
        if (updateRowsBuilder_ == null) {
          return updateRows_.get(index);
        } else {
          return updateRowsBuilder_.getMessage(index);
        }
      }
      public Builder setUpdateRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse value) {
        if (updateRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUpdateRowsIsMutable();
          updateRows_.set(index, value);
          onChanged();
        } else {
          updateRowsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setUpdateRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder builderForValue) {
        if (updateRowsBuilder_ == null) {
          ensureUpdateRowsIsMutable();
          updateRows_.set(index, builderForValue.build());
          onChanged();
        } else {
          updateRowsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addUpdateRows(com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse value) {
        if (updateRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUpdateRowsIsMutable();
          updateRows_.add(value);
          onChanged();
        } else {
          updateRowsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addUpdateRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse value) {
        if (updateRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureUpdateRowsIsMutable();
          updateRows_.add(index, value);
          onChanged();
        } else {
          updateRowsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addUpdateRows(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder builderForValue) {
        if (updateRowsBuilder_ == null) {
          ensureUpdateRowsIsMutable();
          updateRows_.add(builderForValue.build());
          onChanged();
        } else {
          updateRowsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addUpdateRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder builderForValue) {
        if (updateRowsBuilder_ == null) {
          ensureUpdateRowsIsMutable();
          updateRows_.add(index, builderForValue.build());
          onChanged();
        } else {
          updateRowsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllUpdateRows(
          java.lang.Iterable values) {
        if (updateRowsBuilder_ == null) {
          ensureUpdateRowsIsMutable();
          super.addAll(values, updateRows_);
          onChanged();
        } else {
          updateRowsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearUpdateRows() {
        if (updateRowsBuilder_ == null) {
          updateRows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          updateRowsBuilder_.clear();
        }
        return this;
      }
      public Builder removeUpdateRows(int index) {
        if (updateRowsBuilder_ == null) {
          ensureUpdateRowsIsMutable();
          updateRows_.remove(index);
          onChanged();
        } else {
          updateRowsBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder getUpdateRowsBuilder(
          int index) {
        return getUpdateRowsFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder getUpdateRowsOrBuilder(
          int index) {
        if (updateRowsBuilder_ == null) {
          return updateRows_.get(index);  } else {
          return updateRowsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getUpdateRowsOrBuilderList() {
        if (updateRowsBuilder_ != null) {
          return updateRowsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(updateRows_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder addUpdateRowsBuilder() {
        return getUpdateRowsFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder addUpdateRowsBuilder(
          int index) {
        return getUpdateRowsFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.getDefaultInstance());
      }
      public java.util.List 
           getUpdateRowsBuilderList() {
        return getUpdateRowsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder> 
          getUpdateRowsFieldBuilder() {
        if (updateRowsBuilder_ == null) {
          updateRowsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder>(
                  updateRows_,
                  ((bitField0_ & 0x00000004) == 0x00000004),
                  getParentForChildren(),
                  isClean());
          updateRows_ = null;
        }
        return updateRowsBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.RowInBatchWriteRowResponse delete_rows = 4;
      private java.util.List deleteRows_ =
        java.util.Collections.emptyList();
      private void ensureDeleteRowsIsMutable() {
        if (!((bitField0_ & 0x00000008) == 0x00000008)) {
          deleteRows_ = new java.util.ArrayList(deleteRows_);
          bitField0_ |= 0x00000008;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder> deleteRowsBuilder_;
      
      public java.util.List getDeleteRowsList() {
        if (deleteRowsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(deleteRows_);
        } else {
          return deleteRowsBuilder_.getMessageList();
        }
      }
      public int getDeleteRowsCount() {
        if (deleteRowsBuilder_ == null) {
          return deleteRows_.size();
        } else {
          return deleteRowsBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse getDeleteRows(int index) {
        if (deleteRowsBuilder_ == null) {
          return deleteRows_.get(index);
        } else {
          return deleteRowsBuilder_.getMessage(index);
        }
      }
      public Builder setDeleteRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse value) {
        if (deleteRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDeleteRowsIsMutable();
          deleteRows_.set(index, value);
          onChanged();
        } else {
          deleteRowsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setDeleteRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder builderForValue) {
        if (deleteRowsBuilder_ == null) {
          ensureDeleteRowsIsMutable();
          deleteRows_.set(index, builderForValue.build());
          onChanged();
        } else {
          deleteRowsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addDeleteRows(com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse value) {
        if (deleteRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDeleteRowsIsMutable();
          deleteRows_.add(value);
          onChanged();
        } else {
          deleteRowsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addDeleteRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse value) {
        if (deleteRowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureDeleteRowsIsMutable();
          deleteRows_.add(index, value);
          onChanged();
        } else {
          deleteRowsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addDeleteRows(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder builderForValue) {
        if (deleteRowsBuilder_ == null) {
          ensureDeleteRowsIsMutable();
          deleteRows_.add(builderForValue.build());
          onChanged();
        } else {
          deleteRowsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addDeleteRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder builderForValue) {
        if (deleteRowsBuilder_ == null) {
          ensureDeleteRowsIsMutable();
          deleteRows_.add(index, builderForValue.build());
          onChanged();
        } else {
          deleteRowsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllDeleteRows(
          java.lang.Iterable values) {
        if (deleteRowsBuilder_ == null) {
          ensureDeleteRowsIsMutable();
          super.addAll(values, deleteRows_);
          onChanged();
        } else {
          deleteRowsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearDeleteRows() {
        if (deleteRowsBuilder_ == null) {
          deleteRows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000008);
          onChanged();
        } else {
          deleteRowsBuilder_.clear();
        }
        return this;
      }
      public Builder removeDeleteRows(int index) {
        if (deleteRowsBuilder_ == null) {
          ensureDeleteRowsIsMutable();
          deleteRows_.remove(index);
          onChanged();
        } else {
          deleteRowsBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder getDeleteRowsBuilder(
          int index) {
        return getDeleteRowsFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder getDeleteRowsOrBuilder(
          int index) {
        if (deleteRowsBuilder_ == null) {
          return deleteRows_.get(index);  } else {
          return deleteRowsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getDeleteRowsOrBuilderList() {
        if (deleteRowsBuilder_ != null) {
          return deleteRowsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(deleteRows_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder addDeleteRowsBuilder() {
        return getDeleteRowsFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder addDeleteRowsBuilder(
          int index) {
        return getDeleteRowsFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.getDefaultInstance());
      }
      public java.util.List 
           getDeleteRowsBuilderList() {
        return getDeleteRowsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder> 
          getDeleteRowsFieldBuilder() {
        if (deleteRowsBuilder_ == null) {
          deleteRowsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponseOrBuilder>(
                  deleteRows_,
                  ((bitField0_ & 0x00000008) == 0x00000008),
                  getParentForChildren(),
                  isClean());
          deleteRows_ = null;
        }
        return deleteRowsBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.TableInBatchWriteRowResponse)
    }
    
    static {
      defaultInstance = new TableInBatchWriteRowResponse(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.TableInBatchWriteRowResponse)
  }
  
  public interface BatchWriteRowResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // repeated .com.aliyun.openservices.ots.protocol.TableInBatchWriteRowResponse tables = 1;
    java.util.List 
        getTablesList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse getTables(int index);
    int getTablesCount();
    java.util.List 
        getTablesOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponseOrBuilder getTablesOrBuilder(
        int index);
  }
  public static final class BatchWriteRowResponse extends
      com.google.protobuf.GeneratedMessage
      implements BatchWriteRowResponseOrBuilder {
    // Use BatchWriteRowResponse.newBuilder() to construct.
    private BatchWriteRowResponse(Builder builder) {
      super(builder);
    }
    private BatchWriteRowResponse(boolean noInit) {}
    
    private static final BatchWriteRowResponse defaultInstance;
    public static BatchWriteRowResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public BatchWriteRowResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowResponse_fieldAccessorTable;
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.TableInBatchWriteRowResponse tables = 1;
    public static final int TABLES_FIELD_NUMBER = 1;
    private java.util.List tables_;
    public java.util.List getTablesList() {
      return tables_;
    }
    public java.util.List 
        getTablesOrBuilderList() {
      return tables_;
    }
    public int getTablesCount() {
      return tables_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse getTables(int index) {
      return tables_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponseOrBuilder getTablesOrBuilder(
        int index) {
      return tables_.get(index);
    }
    
    private void initFields() {
      tables_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      for (int i = 0; i < getTablesCount(); i++) {
        if (!getTables(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < tables_.size(); i++) {
        output.writeMessage(1, tables_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      for (int i = 0; i < tables_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, tables_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowResponse_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getTablesFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (tablesBuilder_ == null) {
          tables_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          tablesBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse(this);
        int from_bitField0_ = bitField0_;
        if (tablesBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            tables_ = java.util.Collections.unmodifiableList(tables_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.tables_ = tables_;
        } else {
          result.tables_ = tablesBuilder_.build();
        }
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse.getDefaultInstance()) return this;
        if (tablesBuilder_ == null) {
          if (!other.tables_.isEmpty()) {
            if (tables_.isEmpty()) {
              tables_ = other.tables_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureTablesIsMutable();
              tables_.addAll(other.tables_);
            }
            onChanged();
          }
        } else {
          if (!other.tables_.isEmpty()) {
            if (tablesBuilder_.isEmpty()) {
              tablesBuilder_.dispose();
              tablesBuilder_ = null;
              tables_ = other.tables_;
              bitField0_ = (bitField0_ & ~0x00000001);
              tablesBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getTablesFieldBuilder() : null;
            } else {
              tablesBuilder_.addAllMessages(other.tables_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        for (int i = 0; i < getTablesCount(); i++) {
          if (!getTables(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addTables(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // repeated .com.aliyun.openservices.ots.protocol.TableInBatchWriteRowResponse tables = 1;
      private java.util.List tables_ =
        java.util.Collections.emptyList();
      private void ensureTablesIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          tables_ = new java.util.ArrayList(tables_);
          bitField0_ |= 0x00000001;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponseOrBuilder> tablesBuilder_;
      
      public java.util.List getTablesList() {
        if (tablesBuilder_ == null) {
          return java.util.Collections.unmodifiableList(tables_);
        } else {
          return tablesBuilder_.getMessageList();
        }
      }
      public int getTablesCount() {
        if (tablesBuilder_ == null) {
          return tables_.size();
        } else {
          return tablesBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse getTables(int index) {
        if (tablesBuilder_ == null) {
          return tables_.get(index);
        } else {
          return tablesBuilder_.getMessage(index);
        }
      }
      public Builder setTables(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse value) {
        if (tablesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTablesIsMutable();
          tables_.set(index, value);
          onChanged();
        } else {
          tablesBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setTables(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.Builder builderForValue) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          tables_.set(index, builderForValue.build());
          onChanged();
        } else {
          tablesBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addTables(com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse value) {
        if (tablesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTablesIsMutable();
          tables_.add(value);
          onChanged();
        } else {
          tablesBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addTables(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse value) {
        if (tablesBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureTablesIsMutable();
          tables_.add(index, value);
          onChanged();
        } else {
          tablesBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addTables(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.Builder builderForValue) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          tables_.add(builderForValue.build());
          onChanged();
        } else {
          tablesBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addTables(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.Builder builderForValue) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          tables_.add(index, builderForValue.build());
          onChanged();
        } else {
          tablesBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllTables(
          java.lang.Iterable values) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          super.addAll(values, tables_);
          onChanged();
        } else {
          tablesBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearTables() {
        if (tablesBuilder_ == null) {
          tables_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          tablesBuilder_.clear();
        }
        return this;
      }
      public Builder removeTables(int index) {
        if (tablesBuilder_ == null) {
          ensureTablesIsMutable();
          tables_.remove(index);
          onChanged();
        } else {
          tablesBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.Builder getTablesBuilder(
          int index) {
        return getTablesFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponseOrBuilder getTablesOrBuilder(
          int index) {
        if (tablesBuilder_ == null) {
          return tables_.get(index);  } else {
          return tablesBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getTablesOrBuilderList() {
        if (tablesBuilder_ != null) {
          return tablesBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(tables_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.Builder addTablesBuilder() {
        return getTablesFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.Builder addTablesBuilder(
          int index) {
        return getTablesFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.getDefaultInstance());
      }
      public java.util.List 
           getTablesBuilderList() {
        return getTablesFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponseOrBuilder> 
          getTablesFieldBuilder() {
        if (tablesBuilder_ == null) {
          tablesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponseOrBuilder>(
                  tables_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          tables_ = null;
        }
        return tablesBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.BatchWriteRowResponse)
    }
    
    static {
      defaultInstance = new BatchWriteRowResponse(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.BatchWriteRowResponse)
  }
  
  public interface GetRangeRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required string table_name = 1;
    boolean hasTableName();
    String getTableName();
    
    // required .com.aliyun.openservices.ots.protocol.Direction direction = 2;
    boolean hasDirection();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Direction getDirection();
    
    // repeated string columns_to_get = 3;
    java.util.List getColumnsToGetList();
    int getColumnsToGetCount();
    String getColumnsToGet(int index);
    
    // optional int32 limit = 4;
    boolean hasLimit();
    int getLimit();
    
    // repeated .com.aliyun.openservices.ots.protocol.Column inclusive_start_primary_key = 5;
    java.util.List 
        getInclusiveStartPrimaryKeyList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getInclusiveStartPrimaryKey(int index);
    int getInclusiveStartPrimaryKeyCount();
    java.util.List 
        getInclusiveStartPrimaryKeyOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getInclusiveStartPrimaryKeyOrBuilder(
        int index);
    
    // repeated .com.aliyun.openservices.ots.protocol.Column exclusive_end_primary_key = 6;
    java.util.List 
        getExclusiveEndPrimaryKeyList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getExclusiveEndPrimaryKey(int index);
    int getExclusiveEndPrimaryKeyCount();
    java.util.List 
        getExclusiveEndPrimaryKeyOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getExclusiveEndPrimaryKeyOrBuilder(
        int index);
    
    // optional .com.aliyun.openservices.ots.protocol.ColumnCondition filter = 7;
    boolean hasFilter();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition getFilter();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder getFilterOrBuilder();
  }
  public static final class GetRangeRequest extends
      com.google.protobuf.GeneratedMessage
      implements GetRangeRequestOrBuilder {
    // Use GetRangeRequest.newBuilder() to construct.
    private GetRangeRequest(Builder builder) {
      super(builder);
    }
    private GetRangeRequest(boolean noInit) {}
    
    private static final GetRangeRequest defaultInstance;
    public static GetRangeRequest getDefaultInstance() {
      return defaultInstance;
    }
    
    public GetRangeRequest getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_GetRangeRequest_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_GetRangeRequest_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required string table_name = 1;
    public static final int TABLE_NAME_FIELD_NUMBER = 1;
    private java.lang.Object tableName_;
    public boolean hasTableName() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public String getTableName() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        if (com.google.protobuf.Internal.isValidUtf8(bs)) {
          tableName_ = s;
        }
        return s;
      }
    }
    private com.google.protobuf.ByteString getTableNameBytes() {
      java.lang.Object ref = tableName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
        tableName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    
    // required .com.aliyun.openservices.ots.protocol.Direction direction = 2;
    public static final int DIRECTION_FIELD_NUMBER = 2;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.Direction direction_;
    public boolean hasDirection() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Direction getDirection() {
      return direction_;
    }
    
    // repeated string columns_to_get = 3;
    public static final int COLUMNS_TO_GET_FIELD_NUMBER = 3;
    private com.google.protobuf.LazyStringList columnsToGet_;
    public java.util.List
        getColumnsToGetList() {
      return columnsToGet_;
    }
    public int getColumnsToGetCount() {
      return columnsToGet_.size();
    }
    public String getColumnsToGet(int index) {
      return columnsToGet_.get(index);
    }
    
    // optional int32 limit = 4;
    public static final int LIMIT_FIELD_NUMBER = 4;
    private int limit_;
    public boolean hasLimit() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    public int getLimit() {
      return limit_;
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.Column inclusive_start_primary_key = 5;
    public static final int INCLUSIVE_START_PRIMARY_KEY_FIELD_NUMBER = 5;
    private java.util.List inclusiveStartPrimaryKey_;
    public java.util.List getInclusiveStartPrimaryKeyList() {
      return inclusiveStartPrimaryKey_;
    }
    public java.util.List 
        getInclusiveStartPrimaryKeyOrBuilderList() {
      return inclusiveStartPrimaryKey_;
    }
    public int getInclusiveStartPrimaryKeyCount() {
      return inclusiveStartPrimaryKey_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getInclusiveStartPrimaryKey(int index) {
      return inclusiveStartPrimaryKey_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getInclusiveStartPrimaryKeyOrBuilder(
        int index) {
      return inclusiveStartPrimaryKey_.get(index);
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.Column exclusive_end_primary_key = 6;
    public static final int EXCLUSIVE_END_PRIMARY_KEY_FIELD_NUMBER = 6;
    private java.util.List exclusiveEndPrimaryKey_;
    public java.util.List getExclusiveEndPrimaryKeyList() {
      return exclusiveEndPrimaryKey_;
    }
    public java.util.List 
        getExclusiveEndPrimaryKeyOrBuilderList() {
      return exclusiveEndPrimaryKey_;
    }
    public int getExclusiveEndPrimaryKeyCount() {
      return exclusiveEndPrimaryKey_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getExclusiveEndPrimaryKey(int index) {
      return exclusiveEndPrimaryKey_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getExclusiveEndPrimaryKeyOrBuilder(
        int index) {
      return exclusiveEndPrimaryKey_.get(index);
    }
    
    // optional .com.aliyun.openservices.ots.protocol.ColumnCondition filter = 7;
    public static final int FILTER_FIELD_NUMBER = 7;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition filter_;
    public boolean hasFilter() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition getFilter() {
      return filter_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder getFilterOrBuilder() {
      return filter_;
    }
    
    private void initFields() {
      tableName_ = "";
      direction_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Direction.FORWARD;
      columnsToGet_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      limit_ = 0;
      inclusiveStartPrimaryKey_ = java.util.Collections.emptyList();
      exclusiveEndPrimaryKey_ = java.util.Collections.emptyList();
      filter_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasTableName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasDirection()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getInclusiveStartPrimaryKeyCount(); i++) {
        if (!getInclusiveStartPrimaryKey(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getExclusiveEndPrimaryKeyCount(); i++) {
        if (!getExclusiveEndPrimaryKey(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasFilter()) {
        if (!getFilter().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, getTableNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeEnum(2, direction_.getNumber());
      }
      for (int i = 0; i < columnsToGet_.size(); i++) {
        output.writeBytes(3, columnsToGet_.getByteString(i));
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(4, limit_);
      }
      for (int i = 0; i < inclusiveStartPrimaryKey_.size(); i++) {
        output.writeMessage(5, inclusiveStartPrimaryKey_.get(i));
      }
      for (int i = 0; i < exclusiveEndPrimaryKey_.size(); i++) {
        output.writeMessage(6, exclusiveEndPrimaryKey_.get(i));
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeMessage(7, filter_);
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, getTableNameBytes());
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(2, direction_.getNumber());
      }
      {
        int dataSize = 0;
        for (int i = 0; i < columnsToGet_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(columnsToGet_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getColumnsToGetList().size();
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, limit_);
      }
      for (int i = 0; i < inclusiveStartPrimaryKey_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, inclusiveStartPrimaryKey_.get(i));
      }
      for (int i = 0; i < exclusiveEndPrimaryKey_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(6, exclusiveEndPrimaryKey_.get(i));
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(7, filter_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_GetRangeRequest_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_GetRangeRequest_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getInclusiveStartPrimaryKeyFieldBuilder();
          getExclusiveEndPrimaryKeyFieldBuilder();
          getFilterFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        tableName_ = "";
        bitField0_ = (bitField0_ & ~0x00000001);
        direction_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Direction.FORWARD;
        bitField0_ = (bitField0_ & ~0x00000002);
        columnsToGet_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        limit_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          inclusiveStartPrimaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000010);
        } else {
          inclusiveStartPrimaryKeyBuilder_.clear();
        }
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          exclusiveEndPrimaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
        } else {
          exclusiveEndPrimaryKeyBuilder_.clear();
        }
        if (filterBuilder_ == null) {
          filter_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
        } else {
          filterBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.tableName_ = tableName_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.direction_ = direction_;
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          columnsToGet_ = new com.google.protobuf.UnmodifiableLazyStringList(
              columnsToGet_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.columnsToGet_ = columnsToGet_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000004;
        }
        result.limit_ = limit_;
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          if (((bitField0_ & 0x00000010) == 0x00000010)) {
            inclusiveStartPrimaryKey_ = java.util.Collections.unmodifiableList(inclusiveStartPrimaryKey_);
            bitField0_ = (bitField0_ & ~0x00000010);
          }
          result.inclusiveStartPrimaryKey_ = inclusiveStartPrimaryKey_;
        } else {
          result.inclusiveStartPrimaryKey_ = inclusiveStartPrimaryKeyBuilder_.build();
        }
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          if (((bitField0_ & 0x00000020) == 0x00000020)) {
            exclusiveEndPrimaryKey_ = java.util.Collections.unmodifiableList(exclusiveEndPrimaryKey_);
            bitField0_ = (bitField0_ & ~0x00000020);
          }
          result.exclusiveEndPrimaryKey_ = exclusiveEndPrimaryKey_;
        } else {
          result.exclusiveEndPrimaryKey_ = exclusiveEndPrimaryKeyBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000040) == 0x00000040)) {
          to_bitField0_ |= 0x00000008;
        }
        if (filterBuilder_ == null) {
          result.filter_ = filter_;
        } else {
          result.filter_ = filterBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest.getDefaultInstance()) return this;
        if (other.hasTableName()) {
          setTableName(other.getTableName());
        }
        if (other.hasDirection()) {
          setDirection(other.getDirection());
        }
        if (!other.columnsToGet_.isEmpty()) {
          if (columnsToGet_.isEmpty()) {
            columnsToGet_ = other.columnsToGet_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureColumnsToGetIsMutable();
            columnsToGet_.addAll(other.columnsToGet_);
          }
          onChanged();
        }
        if (other.hasLimit()) {
          setLimit(other.getLimit());
        }
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          if (!other.inclusiveStartPrimaryKey_.isEmpty()) {
            if (inclusiveStartPrimaryKey_.isEmpty()) {
              inclusiveStartPrimaryKey_ = other.inclusiveStartPrimaryKey_;
              bitField0_ = (bitField0_ & ~0x00000010);
            } else {
              ensureInclusiveStartPrimaryKeyIsMutable();
              inclusiveStartPrimaryKey_.addAll(other.inclusiveStartPrimaryKey_);
            }
            onChanged();
          }
        } else {
          if (!other.inclusiveStartPrimaryKey_.isEmpty()) {
            if (inclusiveStartPrimaryKeyBuilder_.isEmpty()) {
              inclusiveStartPrimaryKeyBuilder_.dispose();
              inclusiveStartPrimaryKeyBuilder_ = null;
              inclusiveStartPrimaryKey_ = other.inclusiveStartPrimaryKey_;
              bitField0_ = (bitField0_ & ~0x00000010);
              inclusiveStartPrimaryKeyBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getInclusiveStartPrimaryKeyFieldBuilder() : null;
            } else {
              inclusiveStartPrimaryKeyBuilder_.addAllMessages(other.inclusiveStartPrimaryKey_);
            }
          }
        }
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          if (!other.exclusiveEndPrimaryKey_.isEmpty()) {
            if (exclusiveEndPrimaryKey_.isEmpty()) {
              exclusiveEndPrimaryKey_ = other.exclusiveEndPrimaryKey_;
              bitField0_ = (bitField0_ & ~0x00000020);
            } else {
              ensureExclusiveEndPrimaryKeyIsMutable();
              exclusiveEndPrimaryKey_.addAll(other.exclusiveEndPrimaryKey_);
            }
            onChanged();
          }
        } else {
          if (!other.exclusiveEndPrimaryKey_.isEmpty()) {
            if (exclusiveEndPrimaryKeyBuilder_.isEmpty()) {
              exclusiveEndPrimaryKeyBuilder_.dispose();
              exclusiveEndPrimaryKeyBuilder_ = null;
              exclusiveEndPrimaryKey_ = other.exclusiveEndPrimaryKey_;
              bitField0_ = (bitField0_ & ~0x00000020);
              exclusiveEndPrimaryKeyBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getExclusiveEndPrimaryKeyFieldBuilder() : null;
            } else {
              exclusiveEndPrimaryKeyBuilder_.addAllMessages(other.exclusiveEndPrimaryKey_);
            }
          }
        }
        if (other.hasFilter()) {
          mergeFilter(other.getFilter());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasTableName()) {
          
          return false;
        }
        if (!hasDirection()) {
          
          return false;
        }
        for (int i = 0; i < getInclusiveStartPrimaryKeyCount(); i++) {
          if (!getInclusiveStartPrimaryKey(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getExclusiveEndPrimaryKeyCount(); i++) {
          if (!getExclusiveEndPrimaryKey(i).isInitialized()) {
            
            return false;
          }
        }
        if (hasFilter()) {
          if (!getFilter().isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              tableName_ = input.readBytes();
              break;
            }
            case 16: {
              int rawValue = input.readEnum();
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Direction value = com.aliyun.openservices.ots.protocol.OtsProtocol2.Direction.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(2, rawValue);
              } else {
                bitField0_ |= 0x00000002;
                direction_ = value;
              }
              break;
            }
            case 26: {
              ensureColumnsToGetIsMutable();
              columnsToGet_.add(input.readBytes());
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              limit_ = input.readInt32();
              break;
            }
            case 42: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addInclusiveStartPrimaryKey(subBuilder.buildPartial());
              break;
            }
            case 50: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addExclusiveEndPrimaryKey(subBuilder.buildPartial());
              break;
            }
            case 58: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.newBuilder();
              if (hasFilter()) {
                subBuilder.mergeFrom(getFilter());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setFilter(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required string table_name = 1;
      private java.lang.Object tableName_ = "";
      public boolean hasTableName() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public String getTableName() {
        java.lang.Object ref = tableName_;
        if (!(ref instanceof String)) {
          String s = ((com.google.protobuf.ByteString) ref).toStringUtf8();
          tableName_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      public Builder setTableName(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
        return this;
      }
      public Builder clearTableName() {
        bitField0_ = (bitField0_ & ~0x00000001);
        tableName_ = getDefaultInstance().getTableName();
        onChanged();
        return this;
      }
      void setTableName(com.google.protobuf.ByteString value) {
        bitField0_ |= 0x00000001;
        tableName_ = value;
        onChanged();
      }
      
      // required .com.aliyun.openservices.ots.protocol.Direction direction = 2;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.Direction direction_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Direction.FORWARD;
      public boolean hasDirection() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Direction getDirection() {
        return direction_;
      }
      public Builder setDirection(com.aliyun.openservices.ots.protocol.OtsProtocol2.Direction value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000002;
        direction_ = value;
        onChanged();
        return this;
      }
      public Builder clearDirection() {
        bitField0_ = (bitField0_ & ~0x00000002);
        direction_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.Direction.FORWARD;
        onChanged();
        return this;
      }
      
      // repeated string columns_to_get = 3;
      private com.google.protobuf.LazyStringList columnsToGet_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureColumnsToGetIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          columnsToGet_ = new com.google.protobuf.LazyStringArrayList(columnsToGet_);
          bitField0_ |= 0x00000004;
         }
      }
      public java.util.List
          getColumnsToGetList() {
        return java.util.Collections.unmodifiableList(columnsToGet_);
      }
      public int getColumnsToGetCount() {
        return columnsToGet_.size();
      }
      public String getColumnsToGet(int index) {
        return columnsToGet_.get(index);
      }
      public Builder setColumnsToGet(
          int index, String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureColumnsToGetIsMutable();
        columnsToGet_.set(index, value);
        onChanged();
        return this;
      }
      public Builder addColumnsToGet(String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureColumnsToGetIsMutable();
        columnsToGet_.add(value);
        onChanged();
        return this;
      }
      public Builder addAllColumnsToGet(
          java.lang.Iterable values) {
        ensureColumnsToGetIsMutable();
        super.addAll(values, columnsToGet_);
        onChanged();
        return this;
      }
      public Builder clearColumnsToGet() {
        columnsToGet_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      void addColumnsToGet(com.google.protobuf.ByteString value) {
        ensureColumnsToGetIsMutable();
        columnsToGet_.add(value);
        onChanged();
      }
      
      // optional int32 limit = 4;
      private int limit_ ;
      public boolean hasLimit() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      public int getLimit() {
        return limit_;
      }
      public Builder setLimit(int value) {
        bitField0_ |= 0x00000008;
        limit_ = value;
        onChanged();
        return this;
      }
      public Builder clearLimit() {
        bitField0_ = (bitField0_ & ~0x00000008);
        limit_ = 0;
        onChanged();
        return this;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.Column inclusive_start_primary_key = 5;
      private java.util.List inclusiveStartPrimaryKey_ =
        java.util.Collections.emptyList();
      private void ensureInclusiveStartPrimaryKeyIsMutable() {
        if (!((bitField0_ & 0x00000010) == 0x00000010)) {
          inclusiveStartPrimaryKey_ = new java.util.ArrayList(inclusiveStartPrimaryKey_);
          bitField0_ |= 0x00000010;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> inclusiveStartPrimaryKeyBuilder_;
      
      public java.util.List getInclusiveStartPrimaryKeyList() {
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          return java.util.Collections.unmodifiableList(inclusiveStartPrimaryKey_);
        } else {
          return inclusiveStartPrimaryKeyBuilder_.getMessageList();
        }
      }
      public int getInclusiveStartPrimaryKeyCount() {
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          return inclusiveStartPrimaryKey_.size();
        } else {
          return inclusiveStartPrimaryKeyBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getInclusiveStartPrimaryKey(int index) {
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          return inclusiveStartPrimaryKey_.get(index);
        } else {
          return inclusiveStartPrimaryKeyBuilder_.getMessage(index);
        }
      }
      public Builder setInclusiveStartPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInclusiveStartPrimaryKeyIsMutable();
          inclusiveStartPrimaryKey_.set(index, value);
          onChanged();
        } else {
          inclusiveStartPrimaryKeyBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setInclusiveStartPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          ensureInclusiveStartPrimaryKeyIsMutable();
          inclusiveStartPrimaryKey_.set(index, builderForValue.build());
          onChanged();
        } else {
          inclusiveStartPrimaryKeyBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addInclusiveStartPrimaryKey(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInclusiveStartPrimaryKeyIsMutable();
          inclusiveStartPrimaryKey_.add(value);
          onChanged();
        } else {
          inclusiveStartPrimaryKeyBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addInclusiveStartPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInclusiveStartPrimaryKeyIsMutable();
          inclusiveStartPrimaryKey_.add(index, value);
          onChanged();
        } else {
          inclusiveStartPrimaryKeyBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addInclusiveStartPrimaryKey(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          ensureInclusiveStartPrimaryKeyIsMutable();
          inclusiveStartPrimaryKey_.add(builderForValue.build());
          onChanged();
        } else {
          inclusiveStartPrimaryKeyBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addInclusiveStartPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          ensureInclusiveStartPrimaryKeyIsMutable();
          inclusiveStartPrimaryKey_.add(index, builderForValue.build());
          onChanged();
        } else {
          inclusiveStartPrimaryKeyBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllInclusiveStartPrimaryKey(
          java.lang.Iterable values) {
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          ensureInclusiveStartPrimaryKeyIsMutable();
          super.addAll(values, inclusiveStartPrimaryKey_);
          onChanged();
        } else {
          inclusiveStartPrimaryKeyBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearInclusiveStartPrimaryKey() {
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          inclusiveStartPrimaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000010);
          onChanged();
        } else {
          inclusiveStartPrimaryKeyBuilder_.clear();
        }
        return this;
      }
      public Builder removeInclusiveStartPrimaryKey(int index) {
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          ensureInclusiveStartPrimaryKeyIsMutable();
          inclusiveStartPrimaryKey_.remove(index);
          onChanged();
        } else {
          inclusiveStartPrimaryKeyBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder getInclusiveStartPrimaryKeyBuilder(
          int index) {
        return getInclusiveStartPrimaryKeyFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getInclusiveStartPrimaryKeyOrBuilder(
          int index) {
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          return inclusiveStartPrimaryKey_.get(index);  } else {
          return inclusiveStartPrimaryKeyBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getInclusiveStartPrimaryKeyOrBuilderList() {
        if (inclusiveStartPrimaryKeyBuilder_ != null) {
          return inclusiveStartPrimaryKeyBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(inclusiveStartPrimaryKey_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addInclusiveStartPrimaryKeyBuilder() {
        return getInclusiveStartPrimaryKeyFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addInclusiveStartPrimaryKeyBuilder(
          int index) {
        return getInclusiveStartPrimaryKeyFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public java.util.List 
           getInclusiveStartPrimaryKeyBuilderList() {
        return getInclusiveStartPrimaryKeyFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> 
          getInclusiveStartPrimaryKeyFieldBuilder() {
        if (inclusiveStartPrimaryKeyBuilder_ == null) {
          inclusiveStartPrimaryKeyBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder>(
                  inclusiveStartPrimaryKey_,
                  ((bitField0_ & 0x00000010) == 0x00000010),
                  getParentForChildren(),
                  isClean());
          inclusiveStartPrimaryKey_ = null;
        }
        return inclusiveStartPrimaryKeyBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.Column exclusive_end_primary_key = 6;
      private java.util.List exclusiveEndPrimaryKey_ =
        java.util.Collections.emptyList();
      private void ensureExclusiveEndPrimaryKeyIsMutable() {
        if (!((bitField0_ & 0x00000020) == 0x00000020)) {
          exclusiveEndPrimaryKey_ = new java.util.ArrayList(exclusiveEndPrimaryKey_);
          bitField0_ |= 0x00000020;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> exclusiveEndPrimaryKeyBuilder_;
      
      public java.util.List getExclusiveEndPrimaryKeyList() {
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          return java.util.Collections.unmodifiableList(exclusiveEndPrimaryKey_);
        } else {
          return exclusiveEndPrimaryKeyBuilder_.getMessageList();
        }
      }
      public int getExclusiveEndPrimaryKeyCount() {
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          return exclusiveEndPrimaryKey_.size();
        } else {
          return exclusiveEndPrimaryKeyBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getExclusiveEndPrimaryKey(int index) {
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          return exclusiveEndPrimaryKey_.get(index);
        } else {
          return exclusiveEndPrimaryKeyBuilder_.getMessage(index);
        }
      }
      public Builder setExclusiveEndPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureExclusiveEndPrimaryKeyIsMutable();
          exclusiveEndPrimaryKey_.set(index, value);
          onChanged();
        } else {
          exclusiveEndPrimaryKeyBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setExclusiveEndPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          ensureExclusiveEndPrimaryKeyIsMutable();
          exclusiveEndPrimaryKey_.set(index, builderForValue.build());
          onChanged();
        } else {
          exclusiveEndPrimaryKeyBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addExclusiveEndPrimaryKey(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureExclusiveEndPrimaryKeyIsMutable();
          exclusiveEndPrimaryKey_.add(value);
          onChanged();
        } else {
          exclusiveEndPrimaryKeyBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addExclusiveEndPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureExclusiveEndPrimaryKeyIsMutable();
          exclusiveEndPrimaryKey_.add(index, value);
          onChanged();
        } else {
          exclusiveEndPrimaryKeyBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addExclusiveEndPrimaryKey(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          ensureExclusiveEndPrimaryKeyIsMutable();
          exclusiveEndPrimaryKey_.add(builderForValue.build());
          onChanged();
        } else {
          exclusiveEndPrimaryKeyBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addExclusiveEndPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          ensureExclusiveEndPrimaryKeyIsMutable();
          exclusiveEndPrimaryKey_.add(index, builderForValue.build());
          onChanged();
        } else {
          exclusiveEndPrimaryKeyBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllExclusiveEndPrimaryKey(
          java.lang.Iterable values) {
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          ensureExclusiveEndPrimaryKeyIsMutable();
          super.addAll(values, exclusiveEndPrimaryKey_);
          onChanged();
        } else {
          exclusiveEndPrimaryKeyBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearExclusiveEndPrimaryKey() {
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          exclusiveEndPrimaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
          onChanged();
        } else {
          exclusiveEndPrimaryKeyBuilder_.clear();
        }
        return this;
      }
      public Builder removeExclusiveEndPrimaryKey(int index) {
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          ensureExclusiveEndPrimaryKeyIsMutable();
          exclusiveEndPrimaryKey_.remove(index);
          onChanged();
        } else {
          exclusiveEndPrimaryKeyBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder getExclusiveEndPrimaryKeyBuilder(
          int index) {
        return getExclusiveEndPrimaryKeyFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getExclusiveEndPrimaryKeyOrBuilder(
          int index) {
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          return exclusiveEndPrimaryKey_.get(index);  } else {
          return exclusiveEndPrimaryKeyBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getExclusiveEndPrimaryKeyOrBuilderList() {
        if (exclusiveEndPrimaryKeyBuilder_ != null) {
          return exclusiveEndPrimaryKeyBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(exclusiveEndPrimaryKey_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addExclusiveEndPrimaryKeyBuilder() {
        return getExclusiveEndPrimaryKeyFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addExclusiveEndPrimaryKeyBuilder(
          int index) {
        return getExclusiveEndPrimaryKeyFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public java.util.List 
           getExclusiveEndPrimaryKeyBuilderList() {
        return getExclusiveEndPrimaryKeyFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> 
          getExclusiveEndPrimaryKeyFieldBuilder() {
        if (exclusiveEndPrimaryKeyBuilder_ == null) {
          exclusiveEndPrimaryKeyBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder>(
                  exclusiveEndPrimaryKey_,
                  ((bitField0_ & 0x00000020) == 0x00000020),
                  getParentForChildren(),
                  isClean());
          exclusiveEndPrimaryKey_ = null;
        }
        return exclusiveEndPrimaryKeyBuilder_;
      }
      
      // optional .com.aliyun.openservices.ots.protocol.ColumnCondition filter = 7;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition filter_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder> filterBuilder_;
      public boolean hasFilter() {
        return ((bitField0_ & 0x00000040) == 0x00000040);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition getFilter() {
        if (filterBuilder_ == null) {
          return filter_;
        } else {
          return filterBuilder_.getMessage();
        }
      }
      public Builder setFilter(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition value) {
        if (filterBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          filter_ = value;
          onChanged();
        } else {
          filterBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      public Builder setFilter(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder builderForValue) {
        if (filterBuilder_ == null) {
          filter_ = builderForValue.build();
          onChanged();
        } else {
          filterBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      public Builder mergeFilter(com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition value) {
        if (filterBuilder_ == null) {
          if (((bitField0_ & 0x00000040) == 0x00000040) &&
              filter_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance()) {
            filter_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.newBuilder(filter_).mergeFrom(value).buildPartial();
          } else {
            filter_ = value;
          }
          onChanged();
        } else {
          filterBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000040;
        return this;
      }
      public Builder clearFilter() {
        if (filterBuilder_ == null) {
          filter_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.getDefaultInstance();
          onChanged();
        } else {
          filterBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000040);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder getFilterBuilder() {
        bitField0_ |= 0x00000040;
        onChanged();
        return getFilterFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder getFilterOrBuilder() {
        if (filterBuilder_ != null) {
          return filterBuilder_.getMessageOrBuilder();
        } else {
          return filter_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder> 
          getFilterFieldBuilder() {
        if (filterBuilder_ == null) {
          filterBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnConditionOrBuilder>(
                  filter_,
                  getParentForChildren(),
                  isClean());
          filter_ = null;
        }
        return filterBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.GetRangeRequest)
    }
    
    static {
      defaultInstance = new GetRangeRequest(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.GetRangeRequest)
  }
  
  public interface GetRangeResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {
    
    // required .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 1;
    boolean hasConsumed();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder();
    
    // repeated .com.aliyun.openservices.ots.protocol.Column next_start_primary_key = 2;
    java.util.List 
        getNextStartPrimaryKeyList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getNextStartPrimaryKey(int index);
    int getNextStartPrimaryKeyCount();
    java.util.List 
        getNextStartPrimaryKeyOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getNextStartPrimaryKeyOrBuilder(
        int index);
    
    // repeated .com.aliyun.openservices.ots.protocol.Row rows = 3;
    java.util.List 
        getRowsList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.Row getRows(int index);
    int getRowsCount();
    java.util.List 
        getRowsOrBuilderList();
    com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder getRowsOrBuilder(
        int index);
  }
  public static final class GetRangeResponse extends
      com.google.protobuf.GeneratedMessage
      implements GetRangeResponseOrBuilder {
    // Use GetRangeResponse.newBuilder() to construct.
    private GetRangeResponse(Builder builder) {
      super(builder);
    }
    private GetRangeResponse(boolean noInit) {}
    
    private static final GetRangeResponse defaultInstance;
    public static GetRangeResponse getDefaultInstance() {
      return defaultInstance;
    }
    
    public GetRangeResponse getDefaultInstanceForType() {
      return defaultInstance;
    }
    
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_GetRangeResponse_descriptor;
    }
    
    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_GetRangeResponse_fieldAccessorTable;
    }
    
    private int bitField0_;
    // required .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 1;
    public static final int CONSUMED_FIELD_NUMBER = 1;
    private com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity consumed_;
    public boolean hasConsumed() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed() {
      return consumed_;
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder() {
      return consumed_;
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.Column next_start_primary_key = 2;
    public static final int NEXT_START_PRIMARY_KEY_FIELD_NUMBER = 2;
    private java.util.List nextStartPrimaryKey_;
    public java.util.List getNextStartPrimaryKeyList() {
      return nextStartPrimaryKey_;
    }
    public java.util.List 
        getNextStartPrimaryKeyOrBuilderList() {
      return nextStartPrimaryKey_;
    }
    public int getNextStartPrimaryKeyCount() {
      return nextStartPrimaryKey_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getNextStartPrimaryKey(int index) {
      return nextStartPrimaryKey_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getNextStartPrimaryKeyOrBuilder(
        int index) {
      return nextStartPrimaryKey_.get(index);
    }
    
    // repeated .com.aliyun.openservices.ots.protocol.Row rows = 3;
    public static final int ROWS_FIELD_NUMBER = 3;
    private java.util.List rows_;
    public java.util.List getRowsList() {
      return rows_;
    }
    public java.util.List 
        getRowsOrBuilderList() {
      return rows_;
    }
    public int getRowsCount() {
      return rows_.size();
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.Row getRows(int index) {
      return rows_.get(index);
    }
    public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder getRowsOrBuilder(
        int index) {
      return rows_.get(index);
    }
    
    private void initFields() {
      consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
      nextStartPrimaryKey_ = java.util.Collections.emptyList();
      rows_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;
      
      if (!hasConsumed()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getConsumed().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getNextStartPrimaryKeyCount(); i++) {
        if (!getNextStartPrimaryKey(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getRowsCount(); i++) {
        if (!getRows(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }
    
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(1, consumed_);
      }
      for (int i = 0; i < nextStartPrimaryKey_.size(); i++) {
        output.writeMessage(2, nextStartPrimaryKey_.get(i));
      }
      for (int i = 0; i < rows_.size(); i++) {
        output.writeMessage(3, rows_.get(i));
      }
      getUnknownFields().writeTo(output);
    }
    
    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;
    
      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, consumed_);
      }
      for (int i = 0; i < nextStartPrimaryKey_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, nextStartPrimaryKey_.get(i));
      }
      for (int i = 0; i < rows_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, rows_.get(i));
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }
    
    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }
    
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return newBuilder().mergeFrom(data, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      Builder builder = newBuilder();
      if (builder.mergeDelimitedFrom(input, extensionRegistry)) {
        return builder.buildParsed();
      } else {
        return null;
      }
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input).buildParsed();
    }
    public static com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return newBuilder().mergeFrom(input, extensionRegistry)
               .buildParsed();
    }
    
    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }
    
    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder
       implements com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_GetRangeResponse_descriptor;
      }
      
      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.internal_static_com_aliyun_openservices_ots_protocol_GetRangeResponse_fieldAccessorTable;
      }
      
      // Construct using com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }
      
      private Builder(BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getConsumedFieldBuilder();
          getNextStartPrimaryKeyFieldBuilder();
          getRowsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }
      
      public Builder clear() {
        super.clear();
        if (consumedBuilder_ == null) {
          consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
        } else {
          consumedBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        if (nextStartPrimaryKeyBuilder_ == null) {
          nextStartPrimaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          nextStartPrimaryKeyBuilder_.clear();
        }
        if (rowsBuilder_ == null) {
          rows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          rowsBuilder_.clear();
        }
        return this;
      }
      
      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }
      
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse.getDescriptor();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse getDefaultInstanceForType() {
        return com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse.getDefaultInstance();
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse build() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }
      
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse buildParsed()
          throws com.google.protobuf.InvalidProtocolBufferException {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(
            result).asInvalidProtocolBufferException();
        }
        return result;
      }
      
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse buildPartial() {
        com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse result = new com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        if (consumedBuilder_ == null) {
          result.consumed_ = consumed_;
        } else {
          result.consumed_ = consumedBuilder_.build();
        }
        if (nextStartPrimaryKeyBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002)) {
            nextStartPrimaryKey_ = java.util.Collections.unmodifiableList(nextStartPrimaryKey_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.nextStartPrimaryKey_ = nextStartPrimaryKey_;
        } else {
          result.nextStartPrimaryKey_ = nextStartPrimaryKeyBuilder_.build();
        }
        if (rowsBuilder_ == null) {
          if (((bitField0_ & 0x00000004) == 0x00000004)) {
            rows_ = java.util.Collections.unmodifiableList(rows_);
            bitField0_ = (bitField0_ & ~0x00000004);
          }
          result.rows_ = rows_;
        } else {
          result.rows_ = rowsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }
      
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse) {
          return mergeFrom((com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }
      
      public Builder mergeFrom(com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse other) {
        if (other == com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse.getDefaultInstance()) return this;
        if (other.hasConsumed()) {
          mergeConsumed(other.getConsumed());
        }
        if (nextStartPrimaryKeyBuilder_ == null) {
          if (!other.nextStartPrimaryKey_.isEmpty()) {
            if (nextStartPrimaryKey_.isEmpty()) {
              nextStartPrimaryKey_ = other.nextStartPrimaryKey_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureNextStartPrimaryKeyIsMutable();
              nextStartPrimaryKey_.addAll(other.nextStartPrimaryKey_);
            }
            onChanged();
          }
        } else {
          if (!other.nextStartPrimaryKey_.isEmpty()) {
            if (nextStartPrimaryKeyBuilder_.isEmpty()) {
              nextStartPrimaryKeyBuilder_.dispose();
              nextStartPrimaryKeyBuilder_ = null;
              nextStartPrimaryKey_ = other.nextStartPrimaryKey_;
              bitField0_ = (bitField0_ & ~0x00000002);
              nextStartPrimaryKeyBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getNextStartPrimaryKeyFieldBuilder() : null;
            } else {
              nextStartPrimaryKeyBuilder_.addAllMessages(other.nextStartPrimaryKey_);
            }
          }
        }
        if (rowsBuilder_ == null) {
          if (!other.rows_.isEmpty()) {
            if (rows_.isEmpty()) {
              rows_ = other.rows_;
              bitField0_ = (bitField0_ & ~0x00000004);
            } else {
              ensureRowsIsMutable();
              rows_.addAll(other.rows_);
            }
            onChanged();
          }
        } else {
          if (!other.rows_.isEmpty()) {
            if (rowsBuilder_.isEmpty()) {
              rowsBuilder_.dispose();
              rowsBuilder_ = null;
              rows_ = other.rows_;
              bitField0_ = (bitField0_ & ~0x00000004);
              rowsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getRowsFieldBuilder() : null;
            } else {
              rowsBuilder_.addAllMessages(other.rows_);
            }
          }
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }
      
      public final boolean isInitialized() {
        if (!hasConsumed()) {
          
          return false;
        }
        if (!getConsumed().isInitialized()) {
          
          return false;
        }
        for (int i = 0; i < getNextStartPrimaryKeyCount(); i++) {
          if (!getNextStartPrimaryKey(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getRowsCount(); i++) {
          if (!getRows(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }
      
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder(
            this.getUnknownFields());
        while (true) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              this.setUnknownFields(unknownFields.build());
              onChanged();
              return this;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                this.setUnknownFields(unknownFields.build());
                onChanged();
                return this;
              }
              break;
            }
            case 10: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.newBuilder();
              if (hasConsumed()) {
                subBuilder.mergeFrom(getConsumed());
              }
              input.readMessage(subBuilder, extensionRegistry);
              setConsumed(subBuilder.buildPartial());
              break;
            }
            case 18: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addNextStartPrimaryKey(subBuilder.buildPartial());
              break;
            }
            case 26: {
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder subBuilder = com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.newBuilder();
              input.readMessage(subBuilder, extensionRegistry);
              addRows(subBuilder.buildPartial());
              break;
            }
          }
        }
      }
      
      private int bitField0_;
      
      // required .com.aliyun.openservices.ots.protocol.ConsumedCapacity consumed = 1;
      private com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder> consumedBuilder_;
      public boolean hasConsumed() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity getConsumed() {
        if (consumedBuilder_ == null) {
          return consumed_;
        } else {
          return consumedBuilder_.getMessage();
        }
      }
      public Builder setConsumed(com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity value) {
        if (consumedBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          consumed_ = value;
          onChanged();
        } else {
          consumedBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder setConsumed(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder builderForValue) {
        if (consumedBuilder_ == null) {
          consumed_ = builderForValue.build();
          onChanged();
        } else {
          consumedBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder mergeConsumed(com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity value) {
        if (consumedBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001) &&
              consumed_ != com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance()) {
            consumed_ =
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.newBuilder(consumed_).mergeFrom(value).buildPartial();
          } else {
            consumed_ = value;
          }
          onChanged();
        } else {
          consumedBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000001;
        return this;
      }
      public Builder clearConsumed() {
        if (consumedBuilder_ == null) {
          consumed_ = com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.getDefaultInstance();
          onChanged();
        } else {
          consumedBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder getConsumedBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getConsumedFieldBuilder().getBuilder();
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder getConsumedOrBuilder() {
        if (consumedBuilder_ != null) {
          return consumedBuilder_.getMessageOrBuilder();
        } else {
          return consumed_;
        }
      }
      private com.google.protobuf.SingleFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder> 
          getConsumedFieldBuilder() {
        if (consumedBuilder_ == null) {
          consumedBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacityOrBuilder>(
                  consumed_,
                  getParentForChildren(),
                  isClean());
          consumed_ = null;
        }
        return consumedBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.Column next_start_primary_key = 2;
      private java.util.List nextStartPrimaryKey_ =
        java.util.Collections.emptyList();
      private void ensureNextStartPrimaryKeyIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          nextStartPrimaryKey_ = new java.util.ArrayList(nextStartPrimaryKey_);
          bitField0_ |= 0x00000002;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> nextStartPrimaryKeyBuilder_;
      
      public java.util.List getNextStartPrimaryKeyList() {
        if (nextStartPrimaryKeyBuilder_ == null) {
          return java.util.Collections.unmodifiableList(nextStartPrimaryKey_);
        } else {
          return nextStartPrimaryKeyBuilder_.getMessageList();
        }
      }
      public int getNextStartPrimaryKeyCount() {
        if (nextStartPrimaryKeyBuilder_ == null) {
          return nextStartPrimaryKey_.size();
        } else {
          return nextStartPrimaryKeyBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column getNextStartPrimaryKey(int index) {
        if (nextStartPrimaryKeyBuilder_ == null) {
          return nextStartPrimaryKey_.get(index);
        } else {
          return nextStartPrimaryKeyBuilder_.getMessage(index);
        }
      }
      public Builder setNextStartPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (nextStartPrimaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNextStartPrimaryKeyIsMutable();
          nextStartPrimaryKey_.set(index, value);
          onChanged();
        } else {
          nextStartPrimaryKeyBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setNextStartPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (nextStartPrimaryKeyBuilder_ == null) {
          ensureNextStartPrimaryKeyIsMutable();
          nextStartPrimaryKey_.set(index, builderForValue.build());
          onChanged();
        } else {
          nextStartPrimaryKeyBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addNextStartPrimaryKey(com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (nextStartPrimaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNextStartPrimaryKeyIsMutable();
          nextStartPrimaryKey_.add(value);
          onChanged();
        } else {
          nextStartPrimaryKeyBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addNextStartPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column value) {
        if (nextStartPrimaryKeyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureNextStartPrimaryKeyIsMutable();
          nextStartPrimaryKey_.add(index, value);
          onChanged();
        } else {
          nextStartPrimaryKeyBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addNextStartPrimaryKey(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (nextStartPrimaryKeyBuilder_ == null) {
          ensureNextStartPrimaryKeyIsMutable();
          nextStartPrimaryKey_.add(builderForValue.build());
          onChanged();
        } else {
          nextStartPrimaryKeyBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addNextStartPrimaryKey(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder builderForValue) {
        if (nextStartPrimaryKeyBuilder_ == null) {
          ensureNextStartPrimaryKeyIsMutable();
          nextStartPrimaryKey_.add(index, builderForValue.build());
          onChanged();
        } else {
          nextStartPrimaryKeyBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllNextStartPrimaryKey(
          java.lang.Iterable values) {
        if (nextStartPrimaryKeyBuilder_ == null) {
          ensureNextStartPrimaryKeyIsMutable();
          super.addAll(values, nextStartPrimaryKey_);
          onChanged();
        } else {
          nextStartPrimaryKeyBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearNextStartPrimaryKey() {
        if (nextStartPrimaryKeyBuilder_ == null) {
          nextStartPrimaryKey_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          nextStartPrimaryKeyBuilder_.clear();
        }
        return this;
      }
      public Builder removeNextStartPrimaryKey(int index) {
        if (nextStartPrimaryKeyBuilder_ == null) {
          ensureNextStartPrimaryKeyIsMutable();
          nextStartPrimaryKey_.remove(index);
          onChanged();
        } else {
          nextStartPrimaryKeyBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder getNextStartPrimaryKeyBuilder(
          int index) {
        return getNextStartPrimaryKeyFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder getNextStartPrimaryKeyOrBuilder(
          int index) {
        if (nextStartPrimaryKeyBuilder_ == null) {
          return nextStartPrimaryKey_.get(index);  } else {
          return nextStartPrimaryKeyBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getNextStartPrimaryKeyOrBuilderList() {
        if (nextStartPrimaryKeyBuilder_ != null) {
          return nextStartPrimaryKeyBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(nextStartPrimaryKey_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addNextStartPrimaryKeyBuilder() {
        return getNextStartPrimaryKeyFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder addNextStartPrimaryKeyBuilder(
          int index) {
        return getNextStartPrimaryKeyFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.getDefaultInstance());
      }
      public java.util.List 
           getNextStartPrimaryKeyBuilderList() {
        return getNextStartPrimaryKeyFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder> 
          getNextStartPrimaryKeyFieldBuilder() {
        if (nextStartPrimaryKeyBuilder_ == null) {
          nextStartPrimaryKeyBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column, com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnOrBuilder>(
                  nextStartPrimaryKey_,
                  ((bitField0_ & 0x00000002) == 0x00000002),
                  getParentForChildren(),
                  isClean());
          nextStartPrimaryKey_ = null;
        }
        return nextStartPrimaryKeyBuilder_;
      }
      
      // repeated .com.aliyun.openservices.ots.protocol.Row rows = 3;
      private java.util.List rows_ =
        java.util.Collections.emptyList();
      private void ensureRowsIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          rows_ = new java.util.ArrayList(rows_);
          bitField0_ |= 0x00000004;
         }
      }
      
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Row, com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder> rowsBuilder_;
      
      public java.util.List getRowsList() {
        if (rowsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(rows_);
        } else {
          return rowsBuilder_.getMessageList();
        }
      }
      public int getRowsCount() {
        if (rowsBuilder_ == null) {
          return rows_.size();
        } else {
          return rowsBuilder_.getCount();
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Row getRows(int index) {
        if (rowsBuilder_ == null) {
          return rows_.get(index);
        } else {
          return rowsBuilder_.getMessage(index);
        }
      }
      public Builder setRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Row value) {
        if (rowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRowsIsMutable();
          rows_.set(index, value);
          onChanged();
        } else {
          rowsBuilder_.setMessage(index, value);
        }
        return this;
      }
      public Builder setRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder builderForValue) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          rows_.set(index, builderForValue.build());
          onChanged();
        } else {
          rowsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addRows(com.aliyun.openservices.ots.protocol.OtsProtocol2.Row value) {
        if (rowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRowsIsMutable();
          rows_.add(value);
          onChanged();
        } else {
          rowsBuilder_.addMessage(value);
        }
        return this;
      }
      public Builder addRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Row value) {
        if (rowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRowsIsMutable();
          rows_.add(index, value);
          onChanged();
        } else {
          rowsBuilder_.addMessage(index, value);
        }
        return this;
      }
      public Builder addRows(
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder builderForValue) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          rows_.add(builderForValue.build());
          onChanged();
        } else {
          rowsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      public Builder addRows(
          int index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder builderForValue) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          rows_.add(index, builderForValue.build());
          onChanged();
        } else {
          rowsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      public Builder addAllRows(
          java.lang.Iterable values) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          super.addAll(values, rows_);
          onChanged();
        } else {
          rowsBuilder_.addAllMessages(values);
        }
        return this;
      }
      public Builder clearRows() {
        if (rowsBuilder_ == null) {
          rows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
          onChanged();
        } else {
          rowsBuilder_.clear();
        }
        return this;
      }
      public Builder removeRows(int index) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          rows_.remove(index);
          onChanged();
        } else {
          rowsBuilder_.remove(index);
        }
        return this;
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder getRowsBuilder(
          int index) {
        return getRowsFieldBuilder().getBuilder(index);
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder getRowsOrBuilder(
          int index) {
        if (rowsBuilder_ == null) {
          return rows_.get(index);  } else {
          return rowsBuilder_.getMessageOrBuilder(index);
        }
      }
      public java.util.List 
           getRowsOrBuilderList() {
        if (rowsBuilder_ != null) {
          return rowsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(rows_);
        }
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder addRowsBuilder() {
        return getRowsFieldBuilder().addBuilder(
            com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.getDefaultInstance());
      }
      public com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder addRowsBuilder(
          int index) {
        return getRowsFieldBuilder().addBuilder(
            index, com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.getDefaultInstance());
      }
      public java.util.List 
           getRowsBuilderList() {
        return getRowsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          com.aliyun.openservices.ots.protocol.OtsProtocol2.Row, com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder> 
          getRowsFieldBuilder() {
        if (rowsBuilder_ == null) {
          rowsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Row, com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder, com.aliyun.openservices.ots.protocol.OtsProtocol2.RowOrBuilder>(
                  rows_,
                  ((bitField0_ & 0x00000004) == 0x00000004),
                  getParentForChildren(),
                  isClean());
          rows_ = null;
        }
        return rowsBuilder_;
      }
      
      // @@protoc_insertion_point(builder_scope:com.aliyun.openservices.ots.protocol.GetRangeResponse)
    }
    
    static {
      defaultInstance = new GetRangeResponse(true);
      defaultInstance.initFields();
    }
    
    // @@protoc_insertion_point(class_scope:com.aliyun.openservices.ots.protocol.GetRangeResponse)
  }
  
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_Error_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_Error_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_ColumnSchema_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_ColumnSchema_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_ColumnValue_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_ColumnValue_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_Column_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_Column_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_Row_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_Row_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_TableMeta_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_TableMeta_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_RelationCondition_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_RelationCondition_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_CompositeCondition_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_CompositeCondition_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_ColumnCondition_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_ColumnCondition_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_Condition_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_Condition_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_CapacityUnit_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_CapacityUnit_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughputDetails_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughputDetails_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughput_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughput_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_ConsumedCapacity_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_ConsumedCapacity_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_CreateTableRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_CreateTableRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_CreateTableResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_CreateTableResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_UpdateTableRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_UpdateTableRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_UpdateTableResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_UpdateTableResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_DescribeTableRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_DescribeTableRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_DescribeTableResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_DescribeTableResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_ListTableRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_ListTableRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_ListTableResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_ListTableResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_DeleteTableRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_DeleteTableRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_DeleteTableResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_DeleteTableResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_GetRowRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_GetRowRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_GetRowResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_GetRowResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_ColumnUpdate_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_ColumnUpdate_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_UpdateRowRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_UpdateRowRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_UpdateRowResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_UpdateRowResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_PutRowRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_PutRowRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_PutRowResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_PutRowResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_DeleteRowRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_DeleteRowRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_DeleteRowResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_DeleteRowResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_PutRowInBatchWriteRowRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_PutRowInBatchWriteRowRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_UpdateRowInBatchWriteRowRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_UpdateRowInBatchWriteRowRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_DeleteRowInBatchWriteRowRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_DeleteRowInBatchWriteRowRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_RowInBatchWriteRowResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_RowInBatchWriteRowResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowResponse_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_GetRangeRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_GetRangeRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_com_aliyun_openservices_ots_protocol_GetRangeResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_com_aliyun_openservices_ots_protocol_GetRangeResponse_fieldAccessorTable;
  
  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\024ots_protocol.2.proto\022$com.aliyun.opens" +
      "ervices.ots.protocol\"&\n\005Error\022\014\n\004code\030\001 " +
      "\002(\t\022\017\n\007message\030\002 \001(\t\"\\\n\014ColumnSchema\022\014\n\004" +
      "name\030\001 \002(\t\022>\n\004type\030\002 \002(\01620.com.aliyun.op" +
      "enservices.ots.protocol.ColumnType\"\242\001\n\013C" +
      "olumnValue\022>\n\004type\030\001 \002(\01620.com.aliyun.op" +
      "enservices.ots.protocol.ColumnType\022\r\n\005v_" +
      "int\030\002 \001(\003\022\020\n\010v_string\030\003 \001(\t\022\016\n\006v_bool\030\004 " +
      "\001(\010\022\020\n\010v_double\030\005 \001(\001\022\020\n\010v_binary\030\006 \001(\014\"" +
      "X\n\006Column\022\014\n\004name\030\001 \002(\t\022@\n\005value\030\002 \002(\01321",
      ".com.aliyun.openservices.ots.protocol.Co" +
      "lumnValue\"\231\001\n\003Row\022I\n\023primary_key_columns" +
      "\030\001 \003(\0132,.com.aliyun.openservices.ots.pro" +
      "tocol.Column\022G\n\021attribute_columns\030\002 \003(\0132" +
      ",.com.aliyun.openservices.ots.protocol.C" +
      "olumn\"h\n\tTableMeta\022\022\n\ntable_name\030\001 \002(\t\022G" +
      "\n\013primary_key\030\002 \003(\01322.com.aliyun.openser" +
      "vices.ots.protocol.ColumnSchema\"\324\001\n\021Rela" +
      "tionCondition\022H\n\ncomparator\030\001 \002(\01624.com." +
      "aliyun.openservices.ots.protocol.Compara",
      "torType\022\023\n\013column_name\030\002 \002(\t\022G\n\014column_v" +
      "alue\030\003 \002(\01321.com.aliyun.openservices.ots" +
      ".protocol.ColumnValue\022\027\n\017pass_if_missing" +
      "\030\004 \002(\010\"\256\001\n\022CompositeCondition\022I\n\ncombina" +
      "tor\030\001 \002(\01625.com.aliyun.openservices.ots." +
      "protocol.LogicalOperator\022M\n\016sub_conditio" +
      "ns\030\002 \003(\01325.com.aliyun.openservices.ots.p" +
      "rotocol.ColumnCondition\"m\n\017ColumnConditi" +
      "on\022G\n\004type\030\001 \002(\01629.com.aliyun.openservic" +
      "es.ots.protocol.ColumnConditionType\022\021\n\tc",
      "ondition\030\002 \002(\014\"\262\001\n\tCondition\022T\n\rrow_exis" +
      "tence\030\001 \002(\0162=.com.aliyun.openservices.ot" +
      "s.protocol.RowExistenceExpectation\022O\n\020co" +
      "lumn_condition\030\002 \001(\01325.com.aliyun.opense" +
      "rvices.ots.protocol.ColumnCondition\"+\n\014C" +
      "apacityUnit\022\014\n\004read\030\001 \001(\005\022\r\n\005write\030\002 \001(\005" +
      "\"\301\001\n\031ReservedThroughputDetails\022I\n\rcapaci" +
      "ty_unit\030\001 \002(\01322.com.aliyun.openservices." +
      "ots.protocol.CapacityUnit\022\032\n\022last_increa" +
      "se_time\030\002 \002(\003\022\032\n\022last_decrease_time\030\003 \001(",
      "\003\022!\n\031number_of_decreases_today\030\004 \002(\005\"_\n\022" +
      "ReservedThroughput\022I\n\rcapacity_unit\030\001 \002(" +
      "\01322.com.aliyun.openservices.ots.protocol" +
      ".CapacityUnit\"]\n\020ConsumedCapacity\022I\n\rcap" +
      "acity_unit\030\001 \002(\01322.com.aliyun.openservic" +
      "es.ots.protocol.CapacityUnit\"\260\001\n\022CreateT" +
      "ableRequest\022C\n\ntable_meta\030\001 \002(\0132/.com.al" +
      "iyun.openservices.ots.protocol.TableMeta" +
      "\022U\n\023reserved_throughput\030\002 \002(\01328.com.aliy" +
      "un.openservices.ots.protocol.ReservedThr",
      "oughput\"\025\n\023CreateTableResponse\"\177\n\022Update" +
      "TableRequest\022\022\n\ntable_name\030\001 \002(\t\022U\n\023rese" +
      "rved_throughput\030\002 \002(\01328.com.aliyun.opens" +
      "ervices.ots.protocol.ReservedThroughput\"" +
      "{\n\023UpdateTableResponse\022d\n\033reserved_throu" +
      "ghput_details\030\001 \002(\0132?.com.aliyun.openser" +
      "vices.ots.protocol.ReservedThroughputDet" +
      "ails\"*\n\024DescribeTableRequest\022\022\n\ntable_na" +
      "me\030\001 \002(\t\"\302\001\n\025DescribeTableResponse\022C\n\nta" +
      "ble_meta\030\001 \002(\0132/.com.aliyun.openservices",
      ".ots.protocol.TableMeta\022d\n\033reserved_thro" +
      "ughput_details\030\002 \002(\0132?.com.aliyun.opense" +
      "rvices.ots.protocol.ReservedThroughputDe" +
      "tails\"\022\n\020ListTableRequest\"(\n\021ListTableRe" +
      "sponse\022\023\n\013table_names\030\001 \003(\t\"(\n\022DeleteTab" +
      "leRequest\022\022\n\ntable_name\030\001 \002(\t\"\025\n\023DeleteT" +
      "ableResponse\"\305\001\n\rGetRowRequest\022\022\n\ntable_" +
      "name\030\001 \002(\t\022A\n\013primary_key\030\002 \003(\0132,.com.al" +
      "iyun.openservices.ots.protocol.Column\022\026\n" +
      "\016columns_to_get\030\003 \003(\t\022E\n\006filter\030\004 \001(\01325.",
      "com.aliyun.openservices.ots.protocol.Col" +
      "umnCondition\"\222\001\n\016GetRowResponse\022H\n\010consu" +
      "med\030\001 \002(\01326.com.aliyun.openservices.ots." +
      "protocol.ConsumedCapacity\0226\n\003row\030\002 \002(\0132)" +
      ".com.aliyun.openservices.ots.protocol.Ro" +
      "w\"\241\001\n\014ColumnUpdate\022A\n\004type\030\001 \002(\01623.com.a" +
      "liyun.openservices.ots.protocol.Operatio" +
      "nType\022\014\n\004name\030\002 \002(\t\022@\n\005value\030\003 \001(\01321.com" +
      ".aliyun.openservices.ots.protocol.Column" +
      "Value\"\374\001\n\020UpdateRowRequest\022\022\n\ntable_name",
      "\030\001 \002(\t\022B\n\tcondition\030\002 \002(\0132/.com.aliyun.o" +
      "penservices.ots.protocol.Condition\022A\n\013pr" +
      "imary_key\030\003 \003(\0132,.com.aliyun.openservice" +
      "s.ots.protocol.Column\022M\n\021attribute_colum" +
      "ns\030\004 \003(\01322.com.aliyun.openservices.ots.p" +
      "rotocol.ColumnUpdate\"]\n\021UpdateRowRespons" +
      "e\022H\n\010consumed\030\001 \002(\01326.com.aliyun.openser" +
      "vices.ots.protocol.ConsumedCapacity\"\363\001\n\r" +
      "PutRowRequest\022\022\n\ntable_name\030\001 \002(\t\022B\n\tcon" +
      "dition\030\002 \002(\0132/.com.aliyun.openservices.o",
      "ts.protocol.Condition\022A\n\013primary_key\030\003 \003" +
      "(\0132,.com.aliyun.openservices.ots.protoco" +
      "l.Column\022G\n\021attribute_columns\030\004 \003(\0132,.co" +
      "m.aliyun.openservices.ots.protocol.Colum" +
      "n\"Z\n\016PutRowResponse\022H\n\010consumed\030\001 \002(\01326." +
      "com.aliyun.openservices.ots.protocol.Con" +
      "sumedCapacity\"\255\001\n\020DeleteRowRequest\022\022\n\nta" +
      "ble_name\030\001 \002(\t\022B\n\tcondition\030\002 \002(\0132/.com." +
      "aliyun.openservices.ots.protocol.Conditi" +
      "on\022A\n\013primary_key\030\003 \003(\0132,.com.aliyun.ope",
      "nservices.ots.protocol.Column\"]\n\021DeleteR" +
      "owResponse\022H\n\010consumed\030\001 \002(\01326.com.aliyu" +
      "n.openservices.ots.protocol.ConsumedCapa" +
      "city\"\\\n\027RowInBatchGetRowRequest\022A\n\013prima" +
      "ry_key\030\001 \003(\0132,.com.aliyun.openservices.o" +
      "ts.protocol.Column\"\333\001\n\031TableInBatchGetRo" +
      "wRequest\022\022\n\ntable_name\030\001 \002(\t\022K\n\004rows\030\002 \003" +
      "(\0132=.com.aliyun.openservices.ots.protoco" +
      "l.RowInBatchGetRowRequest\022\026\n\016columns_to_" +
      "get\030\003 \003(\t\022E\n\006filter\030\004 \001(\01325.com.aliyun.o",
      "penservices.ots.protocol.ColumnCondition" +
      "\"e\n\022BatchGetRowRequest\022O\n\006tables\030\001 \003(\0132?" +
      ".com.aliyun.openservices.ots.protocol.Ta" +
      "bleInBatchGetRowRequest\"\355\001\n\030RowInBatchGe" +
      "tRowResponse\022\023\n\005is_ok\030\001 \002(\010:\004true\022:\n\005err" +
      "or\030\002 \001(\0132+.com.aliyun.openservices.ots.p" +
      "rotocol.Error\022H\n\010consumed\030\003 \001(\01326.com.al" +
      "iyun.openservices.ots.protocol.ConsumedC" +
      "apacity\0226\n\003row\030\004 \001(\0132).com.aliyun.opense" +
      "rvices.ots.protocol.Row\"~\n\032TableInBatchG",
      "etRowResponse\022\022\n\ntable_name\030\001 \002(\t\022L\n\004row" +
      "s\030\002 \003(\0132>.com.aliyun.openservices.ots.pr" +
      "otocol.RowInBatchGetRowResponse\"g\n\023Batch" +
      "GetRowResponse\022P\n\006tables\030\001 \003(\[email protected]" +
      "yun.openservices.ots.protocol.TableInBat" +
      "chGetRowResponse\"\356\001\n\034PutRowInBatchWriteR" +
      "owRequest\022B\n\tcondition\030\001 \002(\0132/.com.aliyu" +
      "n.openservices.ots.protocol.Condition\022A\n" +
      "\013primary_key\030\002 \003(\0132,.com.aliyun.openserv" +
      "ices.ots.protocol.Column\022G\n\021attribute_co",
      "lumns\030\003 \003(\0132,.com.aliyun.openservices.ot" +
      "s.protocol.Column\"\367\001\n\037UpdateRowInBatchWr" +
      "iteRowRequest\022B\n\tcondition\030\001 \002(\0132/.com.a" +
      "liyun.openservices.ots.protocol.Conditio" +
      "n\022A\n\013primary_key\030\002 \003(\0132,.com.aliyun.open" +
      "services.ots.protocol.Column\022M\n\021attribut" +
      "e_columns\030\003 \003(\01322.com.aliyun.openservice" +
      "s.ots.protocol.ColumnUpdate\"\250\001\n\037DeleteRo" +
      "wInBatchWriteRowRequest\022B\n\tcondition\030\001 \002" +
      "(\0132/.com.aliyun.openservices.ots.protoco",
      "l.Condition\022A\n\013primary_key\030\002 \003(\0132,.com.a" +
      "liyun.openservices.ots.protocol.Column\"\277" +
      "\002\n\033TableInBatchWriteRowRequest\022\022\n\ntable_" +
      "name\030\001 \002(\t\022T\n\010put_rows\030\002 \003(\0132B.com.aliyu" +
      "n.openservices.ots.protocol.PutRowInBatc" +
      "hWriteRowRequest\022Z\n\013update_rows\030\003 \003(\0132E." +
      "com.aliyun.openservices.ots.protocol.Upd" +
      "ateRowInBatchWriteRowRequest\022Z\n\013delete_r" +
      "ows\030\004 \003(\0132E.com.aliyun.openservices.ots." +
      "protocol.DeleteRowInBatchWriteRowRequest",
      "\"i\n\024BatchWriteRowRequest\022Q\n\006tables\030\001 \003(\013" +
      "2A.com.aliyun.openservices.ots.protocol." +
      "TableInBatchWriteRowRequest\"\267\001\n\032RowInBat" +
      "chWriteRowResponse\022\023\n\005is_ok\030\001 \002(\010:\004true\022" +
      ":\n\005error\030\002 \001(\0132+.com.aliyun.openservices" +
      ".ots.protocol.Error\022H\n\010consumed\030\003 \001(\01326." +
      "com.aliyun.openservices.ots.protocol.Con" +
      "sumedCapacity\"\264\002\n\034TableInBatchWriteRowRe" +
      "sponse\022\022\n\ntable_name\030\001 \002(\t\022R\n\010put_rows\030\002" +
      " \003(\[email protected]",
      "col.RowInBatchWriteRowResponse\022U\n\013update" +
      "_rows\030\003 \003(\[email protected]" +
      "s.protocol.RowInBatchWriteRowResponse\022U\n" +
      "\013delete_rows\030\004 \003(\[email protected]" +
      "ices.ots.protocol.RowInBatchWriteRowResp" +
      "onse\"k\n\025BatchWriteRowResponse\022R\n\006tables\030" +
      "\001 \003(\0132B.com.aliyun.openservices.ots.prot" +
      "ocol.TableInBatchWriteRowResponse\"\373\002\n\017Ge" +
      "tRangeRequest\022\022\n\ntable_name\030\001 \002(\t\022B\n\tdir" +
      "ection\030\002 \002(\0162/.com.aliyun.openservices.o",
      "ts.protocol.Direction\022\026\n\016columns_to_get\030" +
      "\003 \003(\t\022\r\n\005limit\030\004 \001(\005\022Q\n\033inclusive_start_" +
      "primary_key\030\005 \003(\0132,.com.aliyun.openservi" +
      "ces.ots.protocol.Column\022O\n\031exclusive_end" +
      "_primary_key\030\006 \003(\0132,.com.aliyun.openserv" +
      "ices.ots.protocol.Column\022E\n\006filter\030\007 \001(\013" +
      "25.com.aliyun.openservices.ots.protocol." +
      "ColumnCondition\"\343\001\n\020GetRangeResponse\022H\n\010" +
      "consumed\030\001 \002(\01326.com.aliyun.openservices" +
      ".ots.protocol.ConsumedCapacity\022L\n\026next_s",
      "tart_primary_key\030\002 \003(\0132,.com.aliyun.open" +
      "services.ots.protocol.Column\0227\n\004rows\030\003 \003" +
      "(\0132).com.aliyun.openservices.ots.protoco" +
      "l.Row*d\n\nColumnType\022\013\n\007INF_MIN\020\000\022\013\n\007INF_" +
      "MAX\020\001\022\013\n\007INTEGER\020\002\022\n\n\006STRING\020\003\022\013\n\007BOOLEA" +
      "N\020\004\022\n\n\006DOUBLE\020\005\022\n\n\006BINARY\020\006*M\n\027RowExiste" +
      "nceExpectation\022\n\n\006IGNORE\020\000\022\020\n\014EXPECT_EXI" +
      "ST\020\001\022\024\n\020EXPECT_NOT_EXIST\020\002*:\n\023ColumnCond" +
      "itionType\022\020\n\014CCT_RELATION\020\001\022\021\n\rCCT_COMPO" +
      "SITE\020\002*\200\001\n\016ComparatorType\022\014\n\010CT_EQUAL\020\001\022",
      "\020\n\014CT_NOT_EQUAL\020\002\022\023\n\017CT_GREATER_THAN\020\003\022\024" +
      "\n\020CT_GREATER_EQUAL\020\004\022\020\n\014CT_LESS_THAN\020\005\022\021" +
      "\n\rCT_LESS_EQUAL\020\006*4\n\017LogicalOperator\022\n\n\006" +
      "LO_NOT\020\001\022\n\n\006LO_AND\020\002\022\t\n\005LO_OR\020\003*$\n\rOpera" +
      "tionType\022\007\n\003PUT\020\001\022\n\n\006DELETE\020\002*&\n\tDirecti" +
      "on\022\013\n\007FORWARD\020\000\022\014\n\010BACKWARD\020\001"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public com.google.protobuf.ExtensionRegistry assignDescriptors(
            com.google.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_com_aliyun_openservices_ots_protocol_Error_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_com_aliyun_openservices_ots_protocol_Error_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_Error_descriptor,
              new java.lang.String[] { "Code", "Message", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Error.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_ColumnSchema_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_com_aliyun_openservices_ots_protocol_ColumnSchema_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_ColumnSchema_descriptor,
              new java.lang.String[] { "Name", "Type", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnSchema.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_ColumnValue_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_com_aliyun_openservices_ots_protocol_ColumnValue_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_ColumnValue_descriptor,
              new java.lang.String[] { "Type", "VInt", "VString", "VBool", "VDouble", "VBinary", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnValue.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_Column_descriptor =
            getDescriptor().getMessageTypes().get(3);
          internal_static_com_aliyun_openservices_ots_protocol_Column_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_Column_descriptor,
              new java.lang.String[] { "Name", "Value", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Column.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_Row_descriptor =
            getDescriptor().getMessageTypes().get(4);
          internal_static_com_aliyun_openservices_ots_protocol_Row_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_Row_descriptor,
              new java.lang.String[] { "PrimaryKeyColumns", "AttributeColumns", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Row.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_TableMeta_descriptor =
            getDescriptor().getMessageTypes().get(5);
          internal_static_com_aliyun_openservices_ots_protocol_TableMeta_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_TableMeta_descriptor,
              new java.lang.String[] { "TableName", "PrimaryKey", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableMeta.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_RelationCondition_descriptor =
            getDescriptor().getMessageTypes().get(6);
          internal_static_com_aliyun_openservices_ots_protocol_RelationCondition_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_RelationCondition_descriptor,
              new java.lang.String[] { "Comparator", "ColumnName", "ColumnValue", "PassIfMissing", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RelationCondition.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_CompositeCondition_descriptor =
            getDescriptor().getMessageTypes().get(7);
          internal_static_com_aliyun_openservices_ots_protocol_CompositeCondition_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_CompositeCondition_descriptor,
              new java.lang.String[] { "Combinator", "SubConditions", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CompositeCondition.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_ColumnCondition_descriptor =
            getDescriptor().getMessageTypes().get(8);
          internal_static_com_aliyun_openservices_ots_protocol_ColumnCondition_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_ColumnCondition_descriptor,
              new java.lang.String[] { "Type", "Condition", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnCondition.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_Condition_descriptor =
            getDescriptor().getMessageTypes().get(9);
          internal_static_com_aliyun_openservices_ots_protocol_Condition_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_Condition_descriptor,
              new java.lang.String[] { "RowExistence", "ColumnCondition", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.Condition.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_CapacityUnit_descriptor =
            getDescriptor().getMessageTypes().get(10);
          internal_static_com_aliyun_openservices_ots_protocol_CapacityUnit_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_CapacityUnit_descriptor,
              new java.lang.String[] { "Read", "Write", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CapacityUnit.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughputDetails_descriptor =
            getDescriptor().getMessageTypes().get(11);
          internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughputDetails_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughputDetails_descriptor,
              new java.lang.String[] { "CapacityUnit", "LastIncreaseTime", "LastDecreaseTime", "NumberOfDecreasesToday", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughputDetails.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughput_descriptor =
            getDescriptor().getMessageTypes().get(12);
          internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughput_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_ReservedThroughput_descriptor,
              new java.lang.String[] { "CapacityUnit", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ReservedThroughput.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_ConsumedCapacity_descriptor =
            getDescriptor().getMessageTypes().get(13);
          internal_static_com_aliyun_openservices_ots_protocol_ConsumedCapacity_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_ConsumedCapacity_descriptor,
              new java.lang.String[] { "CapacityUnit", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ConsumedCapacity.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_CreateTableRequest_descriptor =
            getDescriptor().getMessageTypes().get(14);
          internal_static_com_aliyun_openservices_ots_protocol_CreateTableRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_CreateTableRequest_descriptor,
              new java.lang.String[] { "TableMeta", "ReservedThroughput", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_CreateTableResponse_descriptor =
            getDescriptor().getMessageTypes().get(15);
          internal_static_com_aliyun_openservices_ots_protocol_CreateTableResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_CreateTableResponse_descriptor,
              new java.lang.String[] { },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.CreateTableResponse.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_UpdateTableRequest_descriptor =
            getDescriptor().getMessageTypes().get(16);
          internal_static_com_aliyun_openservices_ots_protocol_UpdateTableRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_UpdateTableRequest_descriptor,
              new java.lang.String[] { "TableName", "ReservedThroughput", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_UpdateTableResponse_descriptor =
            getDescriptor().getMessageTypes().get(17);
          internal_static_com_aliyun_openservices_ots_protocol_UpdateTableResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_UpdateTableResponse_descriptor,
              new java.lang.String[] { "ReservedThroughputDetails", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateTableResponse.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_DescribeTableRequest_descriptor =
            getDescriptor().getMessageTypes().get(18);
          internal_static_com_aliyun_openservices_ots_protocol_DescribeTableRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_DescribeTableRequest_descriptor,
              new java.lang.String[] { "TableName", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_DescribeTableResponse_descriptor =
            getDescriptor().getMessageTypes().get(19);
          internal_static_com_aliyun_openservices_ots_protocol_DescribeTableResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_DescribeTableResponse_descriptor,
              new java.lang.String[] { "TableMeta", "ReservedThroughputDetails", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.DescribeTableResponse.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_ListTableRequest_descriptor =
            getDescriptor().getMessageTypes().get(20);
          internal_static_com_aliyun_openservices_ots_protocol_ListTableRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_ListTableRequest_descriptor,
              new java.lang.String[] { },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_ListTableResponse_descriptor =
            getDescriptor().getMessageTypes().get(21);
          internal_static_com_aliyun_openservices_ots_protocol_ListTableResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_ListTableResponse_descriptor,
              new java.lang.String[] { "TableNames", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ListTableResponse.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_DeleteTableRequest_descriptor =
            getDescriptor().getMessageTypes().get(22);
          internal_static_com_aliyun_openservices_ots_protocol_DeleteTableRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_DeleteTableRequest_descriptor,
              new java.lang.String[] { "TableName", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_DeleteTableResponse_descriptor =
            getDescriptor().getMessageTypes().get(23);
          internal_static_com_aliyun_openservices_ots_protocol_DeleteTableResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_DeleteTableResponse_descriptor,
              new java.lang.String[] { },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteTableResponse.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_GetRowRequest_descriptor =
            getDescriptor().getMessageTypes().get(24);
          internal_static_com_aliyun_openservices_ots_protocol_GetRowRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_GetRowRequest_descriptor,
              new java.lang.String[] { "TableName", "PrimaryKey", "ColumnsToGet", "Filter", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_GetRowResponse_descriptor =
            getDescriptor().getMessageTypes().get(25);
          internal_static_com_aliyun_openservices_ots_protocol_GetRowResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_GetRowResponse_descriptor,
              new java.lang.String[] { "Consumed", "Row", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRowResponse.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_ColumnUpdate_descriptor =
            getDescriptor().getMessageTypes().get(26);
          internal_static_com_aliyun_openservices_ots_protocol_ColumnUpdate_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_ColumnUpdate_descriptor,
              new java.lang.String[] { "Type", "Name", "Value", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.ColumnUpdate.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_UpdateRowRequest_descriptor =
            getDescriptor().getMessageTypes().get(27);
          internal_static_com_aliyun_openservices_ots_protocol_UpdateRowRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_UpdateRowRequest_descriptor,
              new java.lang.String[] { "TableName", "Condition", "PrimaryKey", "AttributeColumns", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_UpdateRowResponse_descriptor =
            getDescriptor().getMessageTypes().get(28);
          internal_static_com_aliyun_openservices_ots_protocol_UpdateRowResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_UpdateRowResponse_descriptor,
              new java.lang.String[] { "Consumed", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowResponse.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_PutRowRequest_descriptor =
            getDescriptor().getMessageTypes().get(29);
          internal_static_com_aliyun_openservices_ots_protocol_PutRowRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_PutRowRequest_descriptor,
              new java.lang.String[] { "TableName", "Condition", "PrimaryKey", "AttributeColumns", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_PutRowResponse_descriptor =
            getDescriptor().getMessageTypes().get(30);
          internal_static_com_aliyun_openservices_ots_protocol_PutRowResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_PutRowResponse_descriptor,
              new java.lang.String[] { "Consumed", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowResponse.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_DeleteRowRequest_descriptor =
            getDescriptor().getMessageTypes().get(31);
          internal_static_com_aliyun_openservices_ots_protocol_DeleteRowRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_DeleteRowRequest_descriptor,
              new java.lang.String[] { "TableName", "Condition", "PrimaryKey", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_DeleteRowResponse_descriptor =
            getDescriptor().getMessageTypes().get(32);
          internal_static_com_aliyun_openservices_ots_protocol_DeleteRowResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_DeleteRowResponse_descriptor,
              new java.lang.String[] { "Consumed", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowResponse.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowRequest_descriptor =
            getDescriptor().getMessageTypes().get(33);
          internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowRequest_descriptor,
              new java.lang.String[] { "PrimaryKey", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowRequest_descriptor =
            getDescriptor().getMessageTypes().get(34);
          internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowRequest_descriptor,
              new java.lang.String[] { "TableName", "Rows", "ColumnsToGet", "Filter", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowRequest_descriptor =
            getDescriptor().getMessageTypes().get(35);
          internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowRequest_descriptor,
              new java.lang.String[] { "Tables", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowResponse_descriptor =
            getDescriptor().getMessageTypes().get(36);
          internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_RowInBatchGetRowResponse_descriptor,
              new java.lang.String[] { "IsOk", "Error", "Consumed", "Row", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchGetRowResponse.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowResponse_descriptor =
            getDescriptor().getMessageTypes().get(37);
          internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_TableInBatchGetRowResponse_descriptor,
              new java.lang.String[] { "TableName", "Rows", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchGetRowResponse.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowResponse_descriptor =
            getDescriptor().getMessageTypes().get(38);
          internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_BatchGetRowResponse_descriptor,
              new java.lang.String[] { "Tables", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchGetRowResponse.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_PutRowInBatchWriteRowRequest_descriptor =
            getDescriptor().getMessageTypes().get(39);
          internal_static_com_aliyun_openservices_ots_protocol_PutRowInBatchWriteRowRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_PutRowInBatchWriteRowRequest_descriptor,
              new java.lang.String[] { "Condition", "PrimaryKey", "AttributeColumns", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.PutRowInBatchWriteRowRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_UpdateRowInBatchWriteRowRequest_descriptor =
            getDescriptor().getMessageTypes().get(40);
          internal_static_com_aliyun_openservices_ots_protocol_UpdateRowInBatchWriteRowRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_UpdateRowInBatchWriteRowRequest_descriptor,
              new java.lang.String[] { "Condition", "PrimaryKey", "AttributeColumns", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.UpdateRowInBatchWriteRowRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_DeleteRowInBatchWriteRowRequest_descriptor =
            getDescriptor().getMessageTypes().get(41);
          internal_static_com_aliyun_openservices_ots_protocol_DeleteRowInBatchWriteRowRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_DeleteRowInBatchWriteRowRequest_descriptor,
              new java.lang.String[] { "Condition", "PrimaryKey", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.DeleteRowInBatchWriteRowRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowRequest_descriptor =
            getDescriptor().getMessageTypes().get(42);
          internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowRequest_descriptor,
              new java.lang.String[] { "TableName", "PutRows", "UpdateRows", "DeleteRows", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowRequest_descriptor =
            getDescriptor().getMessageTypes().get(43);
          internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowRequest_descriptor,
              new java.lang.String[] { "Tables", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_RowInBatchWriteRowResponse_descriptor =
            getDescriptor().getMessageTypes().get(44);
          internal_static_com_aliyun_openservices_ots_protocol_RowInBatchWriteRowResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_RowInBatchWriteRowResponse_descriptor,
              new java.lang.String[] { "IsOk", "Error", "Consumed", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.RowInBatchWriteRowResponse.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowResponse_descriptor =
            getDescriptor().getMessageTypes().get(45);
          internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_TableInBatchWriteRowResponse_descriptor,
              new java.lang.String[] { "TableName", "PutRows", "UpdateRows", "DeleteRows", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.TableInBatchWriteRowResponse.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowResponse_descriptor =
            getDescriptor().getMessageTypes().get(46);
          internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_BatchWriteRowResponse_descriptor,
              new java.lang.String[] { "Tables", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.BatchWriteRowResponse.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_GetRangeRequest_descriptor =
            getDescriptor().getMessageTypes().get(47);
          internal_static_com_aliyun_openservices_ots_protocol_GetRangeRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_GetRangeRequest_descriptor,
              new java.lang.String[] { "TableName", "Direction", "ColumnsToGet", "Limit", "InclusiveStartPrimaryKey", "ExclusiveEndPrimaryKey", "Filter", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeRequest.Builder.class);
          internal_static_com_aliyun_openservices_ots_protocol_GetRangeResponse_descriptor =
            getDescriptor().getMessageTypes().get(48);
          internal_static_com_aliyun_openservices_ots_protocol_GetRangeResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_com_aliyun_openservices_ots_protocol_GetRangeResponse_descriptor,
              new java.lang.String[] { "Consumed", "NextStartPrimaryKey", "Rows", },
              com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse.class,
              com.aliyun.openservices.ots.protocol.OtsProtocol2.GetRangeResponse.Builder.class);
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
  }
  
  // @@protoc_insertion_point(outer_class_scope)
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy