// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: greptime/v1/flow/server.proto

package io.greptime.v1.flow;

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

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface InsertRequestsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.flow.InsertRequests)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
     */
    java.util.List<io.greptime.v1.flow.Server.InsertRequest> 
        getRequestsList();
    /**
     * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
     */
    io.greptime.v1.flow.Server.InsertRequest getRequests(int index);
    /**
     * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
     */
    int getRequestsCount();
    /**
     * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
     */
    java.util.List<? extends io.greptime.v1.flow.Server.InsertRequestOrBuilder> 
        getRequestsOrBuilderList();
    /**
     * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
     */
    io.greptime.v1.flow.Server.InsertRequestOrBuilder getRequestsOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code greptime.v1.flow.InsertRequests}
   */
  public static final class InsertRequests extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.flow.InsertRequests)
      InsertRequestsOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use InsertRequests.newBuilder() to construct.
    private InsertRequests(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private InsertRequests() {
      requests_ = java.util.Collections.emptyList();
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private InsertRequests(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                requests_ = new java.util.ArrayList<io.greptime.v1.flow.Server.InsertRequest>();
                mutable_bitField0_ |= 0x00000001;
              }
              requests_.add(
                  input.readMessage(io.greptime.v1.flow.Server.InsertRequest.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          requests_ = java.util.Collections.unmodifiableList(requests_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_InsertRequests_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_InsertRequests_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.flow.Server.InsertRequests.class, io.greptime.v1.flow.Server.InsertRequests.Builder.class);
    }

    public static final int REQUESTS_FIELD_NUMBER = 1;
    private java.util.List<io.greptime.v1.flow.Server.InsertRequest> requests_;
    /**
     * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
     */
    @java.lang.Override
    public java.util.List<io.greptime.v1.flow.Server.InsertRequest> getRequestsList() {
      return requests_;
    }
    /**
     * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
     */
    @java.lang.Override
    public java.util.List<? extends io.greptime.v1.flow.Server.InsertRequestOrBuilder> 
        getRequestsOrBuilderList() {
      return requests_;
    }
    /**
     * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
     */
    @java.lang.Override
    public int getRequestsCount() {
      return requests_.size();
    }
    /**
     * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.flow.Server.InsertRequest getRequests(int index) {
      return requests_.get(index);
    }
    /**
     * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.flow.Server.InsertRequestOrBuilder getRequestsOrBuilder(
        int index) {
      return requests_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < requests_.size(); i++) {
        output.writeMessage(1, requests_.get(i));
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      for (int i = 0; i < requests_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, requests_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.flow.Server.InsertRequests)) {
        return super.equals(obj);
      }
      io.greptime.v1.flow.Server.InsertRequests other = (io.greptime.v1.flow.Server.InsertRequests) obj;

      if (!getRequestsList()
          .equals(other.getRequestsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getRequestsCount() > 0) {
        hash = (37 * hash) + REQUESTS_FIELD_NUMBER;
        hash = (53 * hash) + getRequestsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.flow.Server.InsertRequests parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.InsertRequests parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.InsertRequests parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.InsertRequests parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.InsertRequests parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.InsertRequests parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.InsertRequests parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.InsertRequests parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.InsertRequests parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.InsertRequests parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.InsertRequests parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.InsertRequests parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.flow.Server.InsertRequests prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.flow.InsertRequests}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.flow.InsertRequests)
        io.greptime.v1.flow.Server.InsertRequestsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_InsertRequests_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_InsertRequests_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.flow.Server.InsertRequests.class, io.greptime.v1.flow.Server.InsertRequests.Builder.class);
      }

      // Construct using io.greptime.v1.flow.Server.InsertRequests.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getRequestsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (requestsBuilder_ == null) {
          requests_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          requestsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_InsertRequests_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.InsertRequests getDefaultInstanceForType() {
        return io.greptime.v1.flow.Server.InsertRequests.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.InsertRequests build() {
        io.greptime.v1.flow.Server.InsertRequests result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.InsertRequests buildPartial() {
        io.greptime.v1.flow.Server.InsertRequests result = new io.greptime.v1.flow.Server.InsertRequests(this);
        int from_bitField0_ = bitField0_;
        if (requestsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            requests_ = java.util.Collections.unmodifiableList(requests_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.requests_ = requests_;
        } else {
          result.requests_ = requestsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.flow.Server.InsertRequests) {
          return mergeFrom((io.greptime.v1.flow.Server.InsertRequests)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.flow.Server.InsertRequests other) {
        if (other == io.greptime.v1.flow.Server.InsertRequests.getDefaultInstance()) return this;
        if (requestsBuilder_ == null) {
          if (!other.requests_.isEmpty()) {
            if (requests_.isEmpty()) {
              requests_ = other.requests_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureRequestsIsMutable();
              requests_.addAll(other.requests_);
            }
            onChanged();
          }
        } else {
          if (!other.requests_.isEmpty()) {
            if (requestsBuilder_.isEmpty()) {
              requestsBuilder_.dispose();
              requestsBuilder_ = null;
              requests_ = other.requests_;
              bitField0_ = (bitField0_ & ~0x00000001);
              requestsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getRequestsFieldBuilder() : null;
            } else {
              requestsBuilder_.addAllMessages(other.requests_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.flow.Server.InsertRequests parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.flow.Server.InsertRequests) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<io.greptime.v1.flow.Server.InsertRequest> requests_ =
        java.util.Collections.emptyList();
      private void ensureRequestsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          requests_ = new java.util.ArrayList<io.greptime.v1.flow.Server.InsertRequest>(requests_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.flow.Server.InsertRequest, io.greptime.v1.flow.Server.InsertRequest.Builder, io.greptime.v1.flow.Server.InsertRequestOrBuilder> requestsBuilder_;

      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public java.util.List<io.greptime.v1.flow.Server.InsertRequest> getRequestsList() {
        if (requestsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(requests_);
        } else {
          return requestsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public int getRequestsCount() {
        if (requestsBuilder_ == null) {
          return requests_.size();
        } else {
          return requestsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public io.greptime.v1.flow.Server.InsertRequest getRequests(int index) {
        if (requestsBuilder_ == null) {
          return requests_.get(index);
        } else {
          return requestsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public Builder setRequests(
          int index, io.greptime.v1.flow.Server.InsertRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.set(index, value);
          onChanged();
        } else {
          requestsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public Builder setRequests(
          int index, io.greptime.v1.flow.Server.InsertRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.set(index, builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public Builder addRequests(io.greptime.v1.flow.Server.InsertRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.add(value);
          onChanged();
        } else {
          requestsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public Builder addRequests(
          int index, io.greptime.v1.flow.Server.InsertRequest value) {
        if (requestsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRequestsIsMutable();
          requests_.add(index, value);
          onChanged();
        } else {
          requestsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public Builder addRequests(
          io.greptime.v1.flow.Server.InsertRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.add(builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public Builder addRequests(
          int index, io.greptime.v1.flow.Server.InsertRequest.Builder builderForValue) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.add(index, builderForValue.build());
          onChanged();
        } else {
          requestsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public Builder addAllRequests(
          java.lang.Iterable<? extends io.greptime.v1.flow.Server.InsertRequest> values) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, requests_);
          onChanged();
        } else {
          requestsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public Builder clearRequests() {
        if (requestsBuilder_ == null) {
          requests_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          requestsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public Builder removeRequests(int index) {
        if (requestsBuilder_ == null) {
          ensureRequestsIsMutable();
          requests_.remove(index);
          onChanged();
        } else {
          requestsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public io.greptime.v1.flow.Server.InsertRequest.Builder getRequestsBuilder(
          int index) {
        return getRequestsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public io.greptime.v1.flow.Server.InsertRequestOrBuilder getRequestsOrBuilder(
          int index) {
        if (requestsBuilder_ == null) {
          return requests_.get(index);  } else {
          return requestsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public java.util.List<? extends io.greptime.v1.flow.Server.InsertRequestOrBuilder> 
           getRequestsOrBuilderList() {
        if (requestsBuilder_ != null) {
          return requestsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(requests_);
        }
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public io.greptime.v1.flow.Server.InsertRequest.Builder addRequestsBuilder() {
        return getRequestsFieldBuilder().addBuilder(
            io.greptime.v1.flow.Server.InsertRequest.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public io.greptime.v1.flow.Server.InsertRequest.Builder addRequestsBuilder(
          int index) {
        return getRequestsFieldBuilder().addBuilder(
            index, io.greptime.v1.flow.Server.InsertRequest.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.flow.InsertRequest requests = 1;</code>
       */
      public java.util.List<io.greptime.v1.flow.Server.InsertRequest.Builder> 
           getRequestsBuilderList() {
        return getRequestsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.flow.Server.InsertRequest, io.greptime.v1.flow.Server.InsertRequest.Builder, io.greptime.v1.flow.Server.InsertRequestOrBuilder> 
          getRequestsFieldBuilder() {
        if (requestsBuilder_ == null) {
          requestsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.greptime.v1.flow.Server.InsertRequest, io.greptime.v1.flow.Server.InsertRequest.Builder, io.greptime.v1.flow.Server.InsertRequestOrBuilder>(
                  requests_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          requests_ = null;
        }
        return requestsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:greptime.v1.flow.InsertRequests)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.flow.InsertRequests)
    private static final io.greptime.v1.flow.Server.InsertRequests DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.flow.Server.InsertRequests();
    }

    public static io.greptime.v1.flow.Server.InsertRequests getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<InsertRequests>
        PARSER = new com.google.protobuf.AbstractParser<InsertRequests>() {
      @java.lang.Override
      public InsertRequests parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new InsertRequests(input, extensionRegistry);
      }
    };

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

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

    @java.lang.Override
    public io.greptime.v1.flow.Server.InsertRequests getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface InsertRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.flow.InsertRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    long getRegionId();

    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     * @return Whether the rows field is set.
     */
    boolean hasRows();
    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     * @return The rows.
     */
    io.greptime.v1.RowData.Rows getRows();
    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     */
    io.greptime.v1.RowData.RowsOrBuilder getRowsOrBuilder();
  }
  /**
   * Protobuf type {@code greptime.v1.flow.InsertRequest}
   */
  public static final class InsertRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.flow.InsertRequest)
      InsertRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use InsertRequest.newBuilder() to construct.
    private InsertRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private InsertRequest() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private InsertRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              regionId_ = input.readUInt64();
              break;
            }
            case 18: {
              io.greptime.v1.RowData.Rows.Builder subBuilder = null;
              if (rows_ != null) {
                subBuilder = rows_.toBuilder();
              }
              rows_ = input.readMessage(io.greptime.v1.RowData.Rows.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(rows_);
                rows_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_InsertRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_InsertRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.flow.Server.InsertRequest.class, io.greptime.v1.flow.Server.InsertRequest.Builder.class);
    }

    public static final int REGION_ID_FIELD_NUMBER = 1;
    private long regionId_;
    /**
     * <code>uint64 region_id = 1;</code>
     * @return The regionId.
     */
    @java.lang.Override
    public long getRegionId() {
      return regionId_;
    }

    public static final int ROWS_FIELD_NUMBER = 2;
    private io.greptime.v1.RowData.Rows rows_;
    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     * @return Whether the rows field is set.
     */
    @java.lang.Override
    public boolean hasRows() {
      return rows_ != null;
    }
    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     * @return The rows.
     */
    @java.lang.Override
    public io.greptime.v1.RowData.Rows getRows() {
      return rows_ == null ? io.greptime.v1.RowData.Rows.getDefaultInstance() : rows_;
    }
    /**
     * <code>.greptime.v1.Rows rows = 2;</code>
     */
    @java.lang.Override
    public io.greptime.v1.RowData.RowsOrBuilder getRowsOrBuilder() {
      return getRows();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (regionId_ != 0L) {
        output.writeUInt64(1, regionId_);
      }
      if (rows_ != null) {
        output.writeMessage(2, getRows());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (regionId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(1, regionId_);
      }
      if (rows_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getRows());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.flow.Server.InsertRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.flow.Server.InsertRequest other = (io.greptime.v1.flow.Server.InsertRequest) obj;

      if (getRegionId()
          != other.getRegionId()) return false;
      if (hasRows() != other.hasRows()) return false;
      if (hasRows()) {
        if (!getRows()
            .equals(other.getRows())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + REGION_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRegionId());
      if (hasRows()) {
        hash = (37 * hash) + ROWS_FIELD_NUMBER;
        hash = (53 * hash) + getRows().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.flow.Server.InsertRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.InsertRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.InsertRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.InsertRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.InsertRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.InsertRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.InsertRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.InsertRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.InsertRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.InsertRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.InsertRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.InsertRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.flow.Server.InsertRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.flow.InsertRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.flow.InsertRequest)
        io.greptime.v1.flow.Server.InsertRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_InsertRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_InsertRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.flow.Server.InsertRequest.class, io.greptime.v1.flow.Server.InsertRequest.Builder.class);
      }

      // Construct using io.greptime.v1.flow.Server.InsertRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        regionId_ = 0L;

        if (rowsBuilder_ == null) {
          rows_ = null;
        } else {
          rows_ = null;
          rowsBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_InsertRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.InsertRequest getDefaultInstanceForType() {
        return io.greptime.v1.flow.Server.InsertRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.InsertRequest build() {
        io.greptime.v1.flow.Server.InsertRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.InsertRequest buildPartial() {
        io.greptime.v1.flow.Server.InsertRequest result = new io.greptime.v1.flow.Server.InsertRequest(this);
        result.regionId_ = regionId_;
        if (rowsBuilder_ == null) {
          result.rows_ = rows_;
        } else {
          result.rows_ = rowsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.flow.Server.InsertRequest) {
          return mergeFrom((io.greptime.v1.flow.Server.InsertRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.flow.Server.InsertRequest other) {
        if (other == io.greptime.v1.flow.Server.InsertRequest.getDefaultInstance()) return this;
        if (other.getRegionId() != 0L) {
          setRegionId(other.getRegionId());
        }
        if (other.hasRows()) {
          mergeRows(other.getRows());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.flow.Server.InsertRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.flow.Server.InsertRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private long regionId_ ;
      /**
       * <code>uint64 region_id = 1;</code>
       * @return The regionId.
       */
      @java.lang.Override
      public long getRegionId() {
        return regionId_;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @param value The regionId to set.
       * @return This builder for chaining.
       */
      public Builder setRegionId(long value) {
        
        regionId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 region_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearRegionId() {
        
        regionId_ = 0L;
        onChanged();
        return this;
      }

      private io.greptime.v1.RowData.Rows rows_;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.RowData.Rows, io.greptime.v1.RowData.Rows.Builder, io.greptime.v1.RowData.RowsOrBuilder> rowsBuilder_;
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       * @return Whether the rows field is set.
       */
      public boolean hasRows() {
        return rowsBuilder_ != null || rows_ != null;
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       * @return The rows.
       */
      public io.greptime.v1.RowData.Rows getRows() {
        if (rowsBuilder_ == null) {
          return rows_ == null ? io.greptime.v1.RowData.Rows.getDefaultInstance() : rows_;
        } else {
          return rowsBuilder_.getMessage();
        }
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public Builder setRows(io.greptime.v1.RowData.Rows value) {
        if (rowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          rows_ = value;
          onChanged();
        } else {
          rowsBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public Builder setRows(
          io.greptime.v1.RowData.Rows.Builder builderForValue) {
        if (rowsBuilder_ == null) {
          rows_ = builderForValue.build();
          onChanged();
        } else {
          rowsBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public Builder mergeRows(io.greptime.v1.RowData.Rows value) {
        if (rowsBuilder_ == null) {
          if (rows_ != null) {
            rows_ =
              io.greptime.v1.RowData.Rows.newBuilder(rows_).mergeFrom(value).buildPartial();
          } else {
            rows_ = value;
          }
          onChanged();
        } else {
          rowsBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public Builder clearRows() {
        if (rowsBuilder_ == null) {
          rows_ = null;
          onChanged();
        } else {
          rows_ = null;
          rowsBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public io.greptime.v1.RowData.Rows.Builder getRowsBuilder() {
        
        onChanged();
        return getRowsFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      public io.greptime.v1.RowData.RowsOrBuilder getRowsOrBuilder() {
        if (rowsBuilder_ != null) {
          return rowsBuilder_.getMessageOrBuilder();
        } else {
          return rows_ == null ?
              io.greptime.v1.RowData.Rows.getDefaultInstance() : rows_;
        }
      }
      /**
       * <code>.greptime.v1.Rows rows = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.RowData.Rows, io.greptime.v1.RowData.Rows.Builder, io.greptime.v1.RowData.RowsOrBuilder> 
          getRowsFieldBuilder() {
        if (rowsBuilder_ == null) {
          rowsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.RowData.Rows, io.greptime.v1.RowData.Rows.Builder, io.greptime.v1.RowData.RowsOrBuilder>(
                  getRows(),
                  getParentForChildren(),
                  isClean());
          rows_ = null;
        }
        return rowsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:greptime.v1.flow.InsertRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.flow.InsertRequest)
    private static final io.greptime.v1.flow.Server.InsertRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.flow.Server.InsertRequest();
    }

    public static io.greptime.v1.flow.Server.InsertRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<InsertRequest>
        PARSER = new com.google.protobuf.AbstractParser<InsertRequest>() {
      @java.lang.Override
      public InsertRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new InsertRequest(input, extensionRegistry);
      }
    };

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

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

    @java.lang.Override
    public io.greptime.v1.flow.Server.InsertRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface FlowRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.flow.FlowRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.greptime.v1.flow.CreateRequest create = 1;</code>
     * @return Whether the create field is set.
     */
    boolean hasCreate();
    /**
     * <code>.greptime.v1.flow.CreateRequest create = 1;</code>
     * @return The create.
     */
    io.greptime.v1.flow.Server.CreateRequest getCreate();
    /**
     * <code>.greptime.v1.flow.CreateRequest create = 1;</code>
     */
    io.greptime.v1.flow.Server.CreateRequestOrBuilder getCreateOrBuilder();

    /**
     * <code>.greptime.v1.flow.RemoveRequest remove = 2;</code>
     * @return Whether the remove field is set.
     */
    boolean hasRemove();
    /**
     * <code>.greptime.v1.flow.RemoveRequest remove = 2;</code>
     * @return The remove.
     */
    io.greptime.v1.flow.Server.RemoveRequest getRemove();
    /**
     * <code>.greptime.v1.flow.RemoveRequest remove = 2;</code>
     */
    io.greptime.v1.flow.Server.RemoveRequestOrBuilder getRemoveOrBuilder();

    public io.greptime.v1.flow.Server.FlowRequest.BodyCase getBodyCase();
  }
  /**
   * Protobuf type {@code greptime.v1.flow.FlowRequest}
   */
  public static final class FlowRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.flow.FlowRequest)
      FlowRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use FlowRequest.newBuilder() to construct.
    private FlowRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private FlowRequest() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private FlowRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              io.greptime.v1.flow.Server.CreateRequest.Builder subBuilder = null;
              if (bodyCase_ == 1) {
                subBuilder = ((io.greptime.v1.flow.Server.CreateRequest) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.flow.Server.CreateRequest.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.flow.Server.CreateRequest) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 1;
              break;
            }
            case 18: {
              io.greptime.v1.flow.Server.RemoveRequest.Builder subBuilder = null;
              if (bodyCase_ == 2) {
                subBuilder = ((io.greptime.v1.flow.Server.RemoveRequest) body_).toBuilder();
              }
              body_ =
                  input.readMessage(io.greptime.v1.flow.Server.RemoveRequest.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom((io.greptime.v1.flow.Server.RemoveRequest) body_);
                body_ = subBuilder.buildPartial();
              }
              bodyCase_ = 2;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_FlowRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_FlowRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.flow.Server.FlowRequest.class, io.greptime.v1.flow.Server.FlowRequest.Builder.class);
    }

    private int bodyCase_ = 0;
    private java.lang.Object body_;
    public enum BodyCase
        implements com.google.protobuf.Internal.EnumLite,
            com.google.protobuf.AbstractMessage.InternalOneOfEnum {
      CREATE(1),
      REMOVE(2),
      BODY_NOT_SET(0);
      private final int value;
      private BodyCase(int value) {
        this.value = value;
      }
      /**
       * @param value The number of the enum to look for.
       * @return The enum associated with the given number.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static BodyCase valueOf(int value) {
        return forNumber(value);
      }

      public static BodyCase forNumber(int value) {
        switch (value) {
          case 1: return CREATE;
          case 2: return REMOVE;
          case 0: return BODY_NOT_SET;
          default: return null;
        }
      }
      public int getNumber() {
        return this.value;
      }
    };

    public BodyCase
    getBodyCase() {
      return BodyCase.forNumber(
          bodyCase_);
    }

    public static final int CREATE_FIELD_NUMBER = 1;
    /**
     * <code>.greptime.v1.flow.CreateRequest create = 1;</code>
     * @return Whether the create field is set.
     */
    @java.lang.Override
    public boolean hasCreate() {
      return bodyCase_ == 1;
    }
    /**
     * <code>.greptime.v1.flow.CreateRequest create = 1;</code>
     * @return The create.
     */
    @java.lang.Override
    public io.greptime.v1.flow.Server.CreateRequest getCreate() {
      if (bodyCase_ == 1) {
         return (io.greptime.v1.flow.Server.CreateRequest) body_;
      }
      return io.greptime.v1.flow.Server.CreateRequest.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.flow.CreateRequest create = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.flow.Server.CreateRequestOrBuilder getCreateOrBuilder() {
      if (bodyCase_ == 1) {
         return (io.greptime.v1.flow.Server.CreateRequest) body_;
      }
      return io.greptime.v1.flow.Server.CreateRequest.getDefaultInstance();
    }

    public static final int REMOVE_FIELD_NUMBER = 2;
    /**
     * <code>.greptime.v1.flow.RemoveRequest remove = 2;</code>
     * @return Whether the remove field is set.
     */
    @java.lang.Override
    public boolean hasRemove() {
      return bodyCase_ == 2;
    }
    /**
     * <code>.greptime.v1.flow.RemoveRequest remove = 2;</code>
     * @return The remove.
     */
    @java.lang.Override
    public io.greptime.v1.flow.Server.RemoveRequest getRemove() {
      if (bodyCase_ == 2) {
         return (io.greptime.v1.flow.Server.RemoveRequest) body_;
      }
      return io.greptime.v1.flow.Server.RemoveRequest.getDefaultInstance();
    }
    /**
     * <code>.greptime.v1.flow.RemoveRequest remove = 2;</code>
     */
    @java.lang.Override
    public io.greptime.v1.flow.Server.RemoveRequestOrBuilder getRemoveOrBuilder() {
      if (bodyCase_ == 2) {
         return (io.greptime.v1.flow.Server.RemoveRequest) body_;
      }
      return io.greptime.v1.flow.Server.RemoveRequest.getDefaultInstance();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (bodyCase_ == 1) {
        output.writeMessage(1, (io.greptime.v1.flow.Server.CreateRequest) body_);
      }
      if (bodyCase_ == 2) {
        output.writeMessage(2, (io.greptime.v1.flow.Server.RemoveRequest) body_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (bodyCase_ == 1) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, (io.greptime.v1.flow.Server.CreateRequest) body_);
      }
      if (bodyCase_ == 2) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, (io.greptime.v1.flow.Server.RemoveRequest) body_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.flow.Server.FlowRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.flow.Server.FlowRequest other = (io.greptime.v1.flow.Server.FlowRequest) obj;

      if (!getBodyCase().equals(other.getBodyCase())) return false;
      switch (bodyCase_) {
        case 1:
          if (!getCreate()
              .equals(other.getCreate())) return false;
          break;
        case 2:
          if (!getRemove()
              .equals(other.getRemove())) return false;
          break;
        case 0:
        default:
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      switch (bodyCase_) {
        case 1:
          hash = (37 * hash) + CREATE_FIELD_NUMBER;
          hash = (53 * hash) + getCreate().hashCode();
          break;
        case 2:
          hash = (37 * hash) + REMOVE_FIELD_NUMBER;
          hash = (53 * hash) + getRemove().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.flow.Server.FlowRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.FlowRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.FlowRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.FlowRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.FlowRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.FlowRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.FlowRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.FlowRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.FlowRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.FlowRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.FlowRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.FlowRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.flow.Server.FlowRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.flow.FlowRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.flow.FlowRequest)
        io.greptime.v1.flow.Server.FlowRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_FlowRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_FlowRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.flow.Server.FlowRequest.class, io.greptime.v1.flow.Server.FlowRequest.Builder.class);
      }

      // Construct using io.greptime.v1.flow.Server.FlowRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bodyCase_ = 0;
        body_ = null;
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_FlowRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.FlowRequest getDefaultInstanceForType() {
        return io.greptime.v1.flow.Server.FlowRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.FlowRequest build() {
        io.greptime.v1.flow.Server.FlowRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.FlowRequest buildPartial() {
        io.greptime.v1.flow.Server.FlowRequest result = new io.greptime.v1.flow.Server.FlowRequest(this);
        if (bodyCase_ == 1) {
          if (createBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = createBuilder_.build();
          }
        }
        if (bodyCase_ == 2) {
          if (removeBuilder_ == null) {
            result.body_ = body_;
          } else {
            result.body_ = removeBuilder_.build();
          }
        }
        result.bodyCase_ = bodyCase_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.flow.Server.FlowRequest) {
          return mergeFrom((io.greptime.v1.flow.Server.FlowRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.flow.Server.FlowRequest other) {
        if (other == io.greptime.v1.flow.Server.FlowRequest.getDefaultInstance()) return this;
        switch (other.getBodyCase()) {
          case CREATE: {
            mergeCreate(other.getCreate());
            break;
          }
          case REMOVE: {
            mergeRemove(other.getRemove());
            break;
          }
          case BODY_NOT_SET: {
            break;
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.flow.Server.FlowRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.flow.Server.FlowRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bodyCase_ = 0;
      private java.lang.Object body_;
      public BodyCase
          getBodyCase() {
        return BodyCase.forNumber(
            bodyCase_);
      }

      public Builder clearBody() {
        bodyCase_ = 0;
        body_ = null;
        onChanged();
        return this;
      }


      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.flow.Server.CreateRequest, io.greptime.v1.flow.Server.CreateRequest.Builder, io.greptime.v1.flow.Server.CreateRequestOrBuilder> createBuilder_;
      /**
       * <code>.greptime.v1.flow.CreateRequest create = 1;</code>
       * @return Whether the create field is set.
       */
      @java.lang.Override
      public boolean hasCreate() {
        return bodyCase_ == 1;
      }
      /**
       * <code>.greptime.v1.flow.CreateRequest create = 1;</code>
       * @return The create.
       */
      @java.lang.Override
      public io.greptime.v1.flow.Server.CreateRequest getCreate() {
        if (createBuilder_ == null) {
          if (bodyCase_ == 1) {
            return (io.greptime.v1.flow.Server.CreateRequest) body_;
          }
          return io.greptime.v1.flow.Server.CreateRequest.getDefaultInstance();
        } else {
          if (bodyCase_ == 1) {
            return createBuilder_.getMessage();
          }
          return io.greptime.v1.flow.Server.CreateRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.flow.CreateRequest create = 1;</code>
       */
      public Builder setCreate(io.greptime.v1.flow.Server.CreateRequest value) {
        if (createBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          createBuilder_.setMessage(value);
        }
        bodyCase_ = 1;
        return this;
      }
      /**
       * <code>.greptime.v1.flow.CreateRequest create = 1;</code>
       */
      public Builder setCreate(
          io.greptime.v1.flow.Server.CreateRequest.Builder builderForValue) {
        if (createBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          createBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 1;
        return this;
      }
      /**
       * <code>.greptime.v1.flow.CreateRequest create = 1;</code>
       */
      public Builder mergeCreate(io.greptime.v1.flow.Server.CreateRequest value) {
        if (createBuilder_ == null) {
          if (bodyCase_ == 1 &&
              body_ != io.greptime.v1.flow.Server.CreateRequest.getDefaultInstance()) {
            body_ = io.greptime.v1.flow.Server.CreateRequest.newBuilder((io.greptime.v1.flow.Server.CreateRequest) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 1) {
            createBuilder_.mergeFrom(value);
          } else {
            createBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 1;
        return this;
      }
      /**
       * <code>.greptime.v1.flow.CreateRequest create = 1;</code>
       */
      public Builder clearCreate() {
        if (createBuilder_ == null) {
          if (bodyCase_ == 1) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 1) {
            bodyCase_ = 0;
            body_ = null;
          }
          createBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.flow.CreateRequest create = 1;</code>
       */
      public io.greptime.v1.flow.Server.CreateRequest.Builder getCreateBuilder() {
        return getCreateFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.flow.CreateRequest create = 1;</code>
       */
      @java.lang.Override
      public io.greptime.v1.flow.Server.CreateRequestOrBuilder getCreateOrBuilder() {
        if ((bodyCase_ == 1) && (createBuilder_ != null)) {
          return createBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 1) {
            return (io.greptime.v1.flow.Server.CreateRequest) body_;
          }
          return io.greptime.v1.flow.Server.CreateRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.flow.CreateRequest create = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.flow.Server.CreateRequest, io.greptime.v1.flow.Server.CreateRequest.Builder, io.greptime.v1.flow.Server.CreateRequestOrBuilder> 
          getCreateFieldBuilder() {
        if (createBuilder_ == null) {
          if (!(bodyCase_ == 1)) {
            body_ = io.greptime.v1.flow.Server.CreateRequest.getDefaultInstance();
          }
          createBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.flow.Server.CreateRequest, io.greptime.v1.flow.Server.CreateRequest.Builder, io.greptime.v1.flow.Server.CreateRequestOrBuilder>(
                  (io.greptime.v1.flow.Server.CreateRequest) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 1;
        onChanged();;
        return createBuilder_;
      }

      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.flow.Server.RemoveRequest, io.greptime.v1.flow.Server.RemoveRequest.Builder, io.greptime.v1.flow.Server.RemoveRequestOrBuilder> removeBuilder_;
      /**
       * <code>.greptime.v1.flow.RemoveRequest remove = 2;</code>
       * @return Whether the remove field is set.
       */
      @java.lang.Override
      public boolean hasRemove() {
        return bodyCase_ == 2;
      }
      /**
       * <code>.greptime.v1.flow.RemoveRequest remove = 2;</code>
       * @return The remove.
       */
      @java.lang.Override
      public io.greptime.v1.flow.Server.RemoveRequest getRemove() {
        if (removeBuilder_ == null) {
          if (bodyCase_ == 2) {
            return (io.greptime.v1.flow.Server.RemoveRequest) body_;
          }
          return io.greptime.v1.flow.Server.RemoveRequest.getDefaultInstance();
        } else {
          if (bodyCase_ == 2) {
            return removeBuilder_.getMessage();
          }
          return io.greptime.v1.flow.Server.RemoveRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.flow.RemoveRequest remove = 2;</code>
       */
      public Builder setRemove(io.greptime.v1.flow.Server.RemoveRequest value) {
        if (removeBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          body_ = value;
          onChanged();
        } else {
          removeBuilder_.setMessage(value);
        }
        bodyCase_ = 2;
        return this;
      }
      /**
       * <code>.greptime.v1.flow.RemoveRequest remove = 2;</code>
       */
      public Builder setRemove(
          io.greptime.v1.flow.Server.RemoveRequest.Builder builderForValue) {
        if (removeBuilder_ == null) {
          body_ = builderForValue.build();
          onChanged();
        } else {
          removeBuilder_.setMessage(builderForValue.build());
        }
        bodyCase_ = 2;
        return this;
      }
      /**
       * <code>.greptime.v1.flow.RemoveRequest remove = 2;</code>
       */
      public Builder mergeRemove(io.greptime.v1.flow.Server.RemoveRequest value) {
        if (removeBuilder_ == null) {
          if (bodyCase_ == 2 &&
              body_ != io.greptime.v1.flow.Server.RemoveRequest.getDefaultInstance()) {
            body_ = io.greptime.v1.flow.Server.RemoveRequest.newBuilder((io.greptime.v1.flow.Server.RemoveRequest) body_)
                .mergeFrom(value).buildPartial();
          } else {
            body_ = value;
          }
          onChanged();
        } else {
          if (bodyCase_ == 2) {
            removeBuilder_.mergeFrom(value);
          } else {
            removeBuilder_.setMessage(value);
          }
        }
        bodyCase_ = 2;
        return this;
      }
      /**
       * <code>.greptime.v1.flow.RemoveRequest remove = 2;</code>
       */
      public Builder clearRemove() {
        if (removeBuilder_ == null) {
          if (bodyCase_ == 2) {
            bodyCase_ = 0;
            body_ = null;
            onChanged();
          }
        } else {
          if (bodyCase_ == 2) {
            bodyCase_ = 0;
            body_ = null;
          }
          removeBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>.greptime.v1.flow.RemoveRequest remove = 2;</code>
       */
      public io.greptime.v1.flow.Server.RemoveRequest.Builder getRemoveBuilder() {
        return getRemoveFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.flow.RemoveRequest remove = 2;</code>
       */
      @java.lang.Override
      public io.greptime.v1.flow.Server.RemoveRequestOrBuilder getRemoveOrBuilder() {
        if ((bodyCase_ == 2) && (removeBuilder_ != null)) {
          return removeBuilder_.getMessageOrBuilder();
        } else {
          if (bodyCase_ == 2) {
            return (io.greptime.v1.flow.Server.RemoveRequest) body_;
          }
          return io.greptime.v1.flow.Server.RemoveRequest.getDefaultInstance();
        }
      }
      /**
       * <code>.greptime.v1.flow.RemoveRequest remove = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.flow.Server.RemoveRequest, io.greptime.v1.flow.Server.RemoveRequest.Builder, io.greptime.v1.flow.Server.RemoveRequestOrBuilder> 
          getRemoveFieldBuilder() {
        if (removeBuilder_ == null) {
          if (!(bodyCase_ == 2)) {
            body_ = io.greptime.v1.flow.Server.RemoveRequest.getDefaultInstance();
          }
          removeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.flow.Server.RemoveRequest, io.greptime.v1.flow.Server.RemoveRequest.Builder, io.greptime.v1.flow.Server.RemoveRequestOrBuilder>(
                  (io.greptime.v1.flow.Server.RemoveRequest) body_,
                  getParentForChildren(),
                  isClean());
          body_ = null;
        }
        bodyCase_ = 2;
        onChanged();;
        return removeBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:greptime.v1.flow.FlowRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.flow.FlowRequest)
    private static final io.greptime.v1.flow.Server.FlowRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.flow.Server.FlowRequest();
    }

    public static io.greptime.v1.flow.Server.FlowRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<FlowRequest>
        PARSER = new com.google.protobuf.AbstractParser<FlowRequest>() {
      @java.lang.Override
      public FlowRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new FlowRequest(input, extensionRegistry);
      }
    };

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

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

    @java.lang.Override
    public io.greptime.v1.flow.Server.FlowRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface FlowResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.flow.FlowResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.greptime.v1.ResponseHeader header = 1;</code>
     * @return Whether the header field is set.
     */
    boolean hasHeader();
    /**
     * <code>.greptime.v1.ResponseHeader header = 1;</code>
     * @return The header.
     */
    io.greptime.v1.Common.ResponseHeader getHeader();
    /**
     * <code>.greptime.v1.ResponseHeader header = 1;</code>
     */
    io.greptime.v1.Common.ResponseHeaderOrBuilder getHeaderOrBuilder();

    /**
     * <code>uint64 affected_rows = 2;</code>
     * @return The affectedRows.
     */
    long getAffectedRows();

    /**
     * <code>map&lt;string, bytes&gt; extension = 3;</code>
     */
    int getExtensionCount();
    /**
     * <code>map&lt;string, bytes&gt; extension = 3;</code>
     */
    boolean containsExtension(
        java.lang.String key);
    /**
     * Use {@link #getExtensionMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, com.google.protobuf.ByteString>
    getExtension();
    /**
     * <code>map&lt;string, bytes&gt; extension = 3;</code>
     */
    java.util.Map<java.lang.String, com.google.protobuf.ByteString>
    getExtensionMap();
    /**
     * <code>map&lt;string, bytes&gt; extension = 3;</code>
     */

    /* nullable */
com.google.protobuf.ByteString getExtensionOrDefault(
        java.lang.String key,
        /* nullable */
com.google.protobuf.ByteString defaultValue);
    /**
     * <code>map&lt;string, bytes&gt; extension = 3;</code>
     */

    com.google.protobuf.ByteString getExtensionOrThrow(
        java.lang.String key);

    /**
     * <pre>
     * affected task ids
     * </pre>
     *
     * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
     */
    java.util.List<io.greptime.v1.flow.Server.TaskId> 
        getAffectedTasksList();
    /**
     * <pre>
     * affected task ids
     * </pre>
     *
     * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
     */
    io.greptime.v1.flow.Server.TaskId getAffectedTasks(int index);
    /**
     * <pre>
     * affected task ids
     * </pre>
     *
     * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
     */
    int getAffectedTasksCount();
    /**
     * <pre>
     * affected task ids
     * </pre>
     *
     * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
     */
    java.util.List<? extends io.greptime.v1.flow.Server.TaskIdOrBuilder> 
        getAffectedTasksOrBuilderList();
    /**
     * <pre>
     * affected task ids
     * </pre>
     *
     * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
     */
    io.greptime.v1.flow.Server.TaskIdOrBuilder getAffectedTasksOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code greptime.v1.flow.FlowResponse}
   */
  public static final class FlowResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.flow.FlowResponse)
      FlowResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use FlowResponse.newBuilder() to construct.
    private FlowResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private FlowResponse() {
      affectedTasks_ = java.util.Collections.emptyList();
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private FlowResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              io.greptime.v1.Common.ResponseHeader.Builder subBuilder = null;
              if (header_ != null) {
                subBuilder = header_.toBuilder();
              }
              header_ = input.readMessage(io.greptime.v1.Common.ResponseHeader.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(header_);
                header_ = subBuilder.buildPartial();
              }

              break;
            }
            case 16: {

              affectedRows_ = input.readUInt64();
              break;
            }
            case 26: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                extension_ = com.google.protobuf.MapField.newMapField(
                    ExtensionDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000001;
              }
              com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.ByteString>
              extension__ = input.readMessage(
                  ExtensionDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              extension_.getMutableMap().put(
                  extension__.getKey(), extension__.getValue());
              break;
            }
            case 34: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                affectedTasks_ = new java.util.ArrayList<io.greptime.v1.flow.Server.TaskId>();
                mutable_bitField0_ |= 0x00000002;
              }
              affectedTasks_.add(
                  input.readMessage(io.greptime.v1.flow.Server.TaskId.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          affectedTasks_ = java.util.Collections.unmodifiableList(affectedTasks_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_FlowResponse_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 3:
          return internalGetExtension();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_FlowResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.flow.Server.FlowResponse.class, io.greptime.v1.flow.Server.FlowResponse.Builder.class);
    }

    public static final int HEADER_FIELD_NUMBER = 1;
    private io.greptime.v1.Common.ResponseHeader header_;
    /**
     * <code>.greptime.v1.ResponseHeader header = 1;</code>
     * @return Whether the header field is set.
     */
    @java.lang.Override
    public boolean hasHeader() {
      return header_ != null;
    }
    /**
     * <code>.greptime.v1.ResponseHeader header = 1;</code>
     * @return The header.
     */
    @java.lang.Override
    public io.greptime.v1.Common.ResponseHeader getHeader() {
      return header_ == null ? io.greptime.v1.Common.ResponseHeader.getDefaultInstance() : header_;
    }
    /**
     * <code>.greptime.v1.ResponseHeader header = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.Common.ResponseHeaderOrBuilder getHeaderOrBuilder() {
      return getHeader();
    }

    public static final int AFFECTED_ROWS_FIELD_NUMBER = 2;
    private long affectedRows_;
    /**
     * <code>uint64 affected_rows = 2;</code>
     * @return The affectedRows.
     */
    @java.lang.Override
    public long getAffectedRows() {
      return affectedRows_;
    }

    public static final int EXTENSION_FIELD_NUMBER = 3;
    private static final class ExtensionDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, com.google.protobuf.ByteString> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.String, com.google.protobuf.ByteString>newDefaultInstance(
                  io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_FlowResponse_ExtensionEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.BYTES,
                  com.google.protobuf.ByteString.EMPTY);
    }
    private com.google.protobuf.MapField<
        java.lang.String, com.google.protobuf.ByteString> extension_;
    private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.ByteString>
    internalGetExtension() {
      if (extension_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            ExtensionDefaultEntryHolder.defaultEntry);
      }
      return extension_;
    }

    public int getExtensionCount() {
      return internalGetExtension().getMap().size();
    }
    /**
     * <code>map&lt;string, bytes&gt; extension = 3;</code>
     */

    @java.lang.Override
    public boolean containsExtension(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetExtension().getMap().containsKey(key);
    }
    /**
     * Use {@link #getExtensionMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, com.google.protobuf.ByteString> getExtension() {
      return getExtensionMap();
    }
    /**
     * <code>map&lt;string, bytes&gt; extension = 3;</code>
     */
    @java.lang.Override

    public java.util.Map<java.lang.String, com.google.protobuf.ByteString> getExtensionMap() {
      return internalGetExtension().getMap();
    }
    /**
     * <code>map&lt;string, bytes&gt; extension = 3;</code>
     */
    @java.lang.Override

    public com.google.protobuf.ByteString getExtensionOrDefault(
        java.lang.String key,
        com.google.protobuf.ByteString defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, com.google.protobuf.ByteString> map =
          internalGetExtension().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <code>map&lt;string, bytes&gt; extension = 3;</code>
     */
    @java.lang.Override

    public com.google.protobuf.ByteString getExtensionOrThrow(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, com.google.protobuf.ByteString> map =
          internalGetExtension().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    public static final int AFFECTED_TASKS_FIELD_NUMBER = 4;
    private java.util.List<io.greptime.v1.flow.Server.TaskId> affectedTasks_;
    /**
     * <pre>
     * affected task ids
     * </pre>
     *
     * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
     */
    @java.lang.Override
    public java.util.List<io.greptime.v1.flow.Server.TaskId> getAffectedTasksList() {
      return affectedTasks_;
    }
    /**
     * <pre>
     * affected task ids
     * </pre>
     *
     * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
     */
    @java.lang.Override
    public java.util.List<? extends io.greptime.v1.flow.Server.TaskIdOrBuilder> 
        getAffectedTasksOrBuilderList() {
      return affectedTasks_;
    }
    /**
     * <pre>
     * affected task ids
     * </pre>
     *
     * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
     */
    @java.lang.Override
    public int getAffectedTasksCount() {
      return affectedTasks_.size();
    }
    /**
     * <pre>
     * affected task ids
     * </pre>
     *
     * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
     */
    @java.lang.Override
    public io.greptime.v1.flow.Server.TaskId getAffectedTasks(int index) {
      return affectedTasks_.get(index);
    }
    /**
     * <pre>
     * affected task ids
     * </pre>
     *
     * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
     */
    @java.lang.Override
    public io.greptime.v1.flow.Server.TaskIdOrBuilder getAffectedTasksOrBuilder(
        int index) {
      return affectedTasks_.get(index);
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (header_ != null) {
        output.writeMessage(1, getHeader());
      }
      if (affectedRows_ != 0L) {
        output.writeUInt64(2, affectedRows_);
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetExtension(),
          ExtensionDefaultEntryHolder.defaultEntry,
          3);
      for (int i = 0; i < affectedTasks_.size(); i++) {
        output.writeMessage(4, affectedTasks_.get(i));
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (header_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getHeader());
      }
      if (affectedRows_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt64Size(2, affectedRows_);
      }
      for (java.util.Map.Entry<java.lang.String, com.google.protobuf.ByteString> entry
           : internalGetExtension().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.ByteString>
        extension__ = ExtensionDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(3, extension__);
      }
      for (int i = 0; i < affectedTasks_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, affectedTasks_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.flow.Server.FlowResponse)) {
        return super.equals(obj);
      }
      io.greptime.v1.flow.Server.FlowResponse other = (io.greptime.v1.flow.Server.FlowResponse) obj;

      if (hasHeader() != other.hasHeader()) return false;
      if (hasHeader()) {
        if (!getHeader()
            .equals(other.getHeader())) return false;
      }
      if (getAffectedRows()
          != other.getAffectedRows()) return false;
      if (!internalGetExtension().equals(
          other.internalGetExtension())) return false;
      if (!getAffectedTasksList()
          .equals(other.getAffectedTasksList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasHeader()) {
        hash = (37 * hash) + HEADER_FIELD_NUMBER;
        hash = (53 * hash) + getHeader().hashCode();
      }
      hash = (37 * hash) + AFFECTED_ROWS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getAffectedRows());
      if (!internalGetExtension().getMap().isEmpty()) {
        hash = (37 * hash) + EXTENSION_FIELD_NUMBER;
        hash = (53 * hash) + internalGetExtension().hashCode();
      }
      if (getAffectedTasksCount() > 0) {
        hash = (37 * hash) + AFFECTED_TASKS_FIELD_NUMBER;
        hash = (53 * hash) + getAffectedTasksList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.flow.Server.FlowResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.FlowResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.FlowResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.FlowResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.FlowResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.FlowResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.FlowResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.FlowResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.FlowResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.FlowResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.FlowResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.FlowResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.flow.Server.FlowResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.flow.FlowResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.flow.FlowResponse)
        io.greptime.v1.flow.Server.FlowResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_FlowResponse_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 3:
            return internalGetExtension();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 3:
            return internalGetMutableExtension();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_FlowResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.flow.Server.FlowResponse.class, io.greptime.v1.flow.Server.FlowResponse.Builder.class);
      }

      // Construct using io.greptime.v1.flow.Server.FlowResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getAffectedTasksFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (headerBuilder_ == null) {
          header_ = null;
        } else {
          header_ = null;
          headerBuilder_ = null;
        }
        affectedRows_ = 0L;

        internalGetMutableExtension().clear();
        if (affectedTasksBuilder_ == null) {
          affectedTasks_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
        } else {
          affectedTasksBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_FlowResponse_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.FlowResponse getDefaultInstanceForType() {
        return io.greptime.v1.flow.Server.FlowResponse.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.FlowResponse build() {
        io.greptime.v1.flow.Server.FlowResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.FlowResponse buildPartial() {
        io.greptime.v1.flow.Server.FlowResponse result = new io.greptime.v1.flow.Server.FlowResponse(this);
        int from_bitField0_ = bitField0_;
        if (headerBuilder_ == null) {
          result.header_ = header_;
        } else {
          result.header_ = headerBuilder_.build();
        }
        result.affectedRows_ = affectedRows_;
        result.extension_ = internalGetExtension();
        result.extension_.makeImmutable();
        if (affectedTasksBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0)) {
            affectedTasks_ = java.util.Collections.unmodifiableList(affectedTasks_);
            bitField0_ = (bitField0_ & ~0x00000002);
          }
          result.affectedTasks_ = affectedTasks_;
        } else {
          result.affectedTasks_ = affectedTasksBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.flow.Server.FlowResponse) {
          return mergeFrom((io.greptime.v1.flow.Server.FlowResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.flow.Server.FlowResponse other) {
        if (other == io.greptime.v1.flow.Server.FlowResponse.getDefaultInstance()) return this;
        if (other.hasHeader()) {
          mergeHeader(other.getHeader());
        }
        if (other.getAffectedRows() != 0L) {
          setAffectedRows(other.getAffectedRows());
        }
        internalGetMutableExtension().mergeFrom(
            other.internalGetExtension());
        if (affectedTasksBuilder_ == null) {
          if (!other.affectedTasks_.isEmpty()) {
            if (affectedTasks_.isEmpty()) {
              affectedTasks_ = other.affectedTasks_;
              bitField0_ = (bitField0_ & ~0x00000002);
            } else {
              ensureAffectedTasksIsMutable();
              affectedTasks_.addAll(other.affectedTasks_);
            }
            onChanged();
          }
        } else {
          if (!other.affectedTasks_.isEmpty()) {
            if (affectedTasksBuilder_.isEmpty()) {
              affectedTasksBuilder_.dispose();
              affectedTasksBuilder_ = null;
              affectedTasks_ = other.affectedTasks_;
              bitField0_ = (bitField0_ & ~0x00000002);
              affectedTasksBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getAffectedTasksFieldBuilder() : null;
            } else {
              affectedTasksBuilder_.addAllMessages(other.affectedTasks_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.flow.Server.FlowResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.flow.Server.FlowResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private io.greptime.v1.Common.ResponseHeader header_;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Common.ResponseHeader, io.greptime.v1.Common.ResponseHeader.Builder, io.greptime.v1.Common.ResponseHeaderOrBuilder> headerBuilder_;
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       * @return Whether the header field is set.
       */
      public boolean hasHeader() {
        return headerBuilder_ != null || header_ != null;
      }
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       * @return The header.
       */
      public io.greptime.v1.Common.ResponseHeader getHeader() {
        if (headerBuilder_ == null) {
          return header_ == null ? io.greptime.v1.Common.ResponseHeader.getDefaultInstance() : header_;
        } else {
          return headerBuilder_.getMessage();
        }
      }
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       */
      public Builder setHeader(io.greptime.v1.Common.ResponseHeader value) {
        if (headerBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          header_ = value;
          onChanged();
        } else {
          headerBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       */
      public Builder setHeader(
          io.greptime.v1.Common.ResponseHeader.Builder builderForValue) {
        if (headerBuilder_ == null) {
          header_ = builderForValue.build();
          onChanged();
        } else {
          headerBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       */
      public Builder mergeHeader(io.greptime.v1.Common.ResponseHeader value) {
        if (headerBuilder_ == null) {
          if (header_ != null) {
            header_ =
              io.greptime.v1.Common.ResponseHeader.newBuilder(header_).mergeFrom(value).buildPartial();
          } else {
            header_ = value;
          }
          onChanged();
        } else {
          headerBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       */
      public Builder clearHeader() {
        if (headerBuilder_ == null) {
          header_ = null;
          onChanged();
        } else {
          header_ = null;
          headerBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       */
      public io.greptime.v1.Common.ResponseHeader.Builder getHeaderBuilder() {
        
        onChanged();
        return getHeaderFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       */
      public io.greptime.v1.Common.ResponseHeaderOrBuilder getHeaderOrBuilder() {
        if (headerBuilder_ != null) {
          return headerBuilder_.getMessageOrBuilder();
        } else {
          return header_ == null ?
              io.greptime.v1.Common.ResponseHeader.getDefaultInstance() : header_;
        }
      }
      /**
       * <code>.greptime.v1.ResponseHeader header = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Common.ResponseHeader, io.greptime.v1.Common.ResponseHeader.Builder, io.greptime.v1.Common.ResponseHeaderOrBuilder> 
          getHeaderFieldBuilder() {
        if (headerBuilder_ == null) {
          headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.Common.ResponseHeader, io.greptime.v1.Common.ResponseHeader.Builder, io.greptime.v1.Common.ResponseHeaderOrBuilder>(
                  getHeader(),
                  getParentForChildren(),
                  isClean());
          header_ = null;
        }
        return headerBuilder_;
      }

      private long affectedRows_ ;
      /**
       * <code>uint64 affected_rows = 2;</code>
       * @return The affectedRows.
       */
      @java.lang.Override
      public long getAffectedRows() {
        return affectedRows_;
      }
      /**
       * <code>uint64 affected_rows = 2;</code>
       * @param value The affectedRows to set.
       * @return This builder for chaining.
       */
      public Builder setAffectedRows(long value) {
        
        affectedRows_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint64 affected_rows = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearAffectedRows() {
        
        affectedRows_ = 0L;
        onChanged();
        return this;
      }

      private com.google.protobuf.MapField<
          java.lang.String, com.google.protobuf.ByteString> extension_;
      private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.ByteString>
      internalGetExtension() {
        if (extension_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              ExtensionDefaultEntryHolder.defaultEntry);
        }
        return extension_;
      }
      private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.ByteString>
      internalGetMutableExtension() {
        onChanged();;
        if (extension_ == null) {
          extension_ = com.google.protobuf.MapField.newMapField(
              ExtensionDefaultEntryHolder.defaultEntry);
        }
        if (!extension_.isMutable()) {
          extension_ = extension_.copy();
        }
        return extension_;
      }

      public int getExtensionCount() {
        return internalGetExtension().getMap().size();
      }
      /**
       * <code>map&lt;string, bytes&gt; extension = 3;</code>
       */

      @java.lang.Override
      public boolean containsExtension(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetExtension().getMap().containsKey(key);
      }
      /**
       * Use {@link #getExtensionMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, com.google.protobuf.ByteString> getExtension() {
        return getExtensionMap();
      }
      /**
       * <code>map&lt;string, bytes&gt; extension = 3;</code>
       */
      @java.lang.Override

      public java.util.Map<java.lang.String, com.google.protobuf.ByteString> getExtensionMap() {
        return internalGetExtension().getMap();
      }
      /**
       * <code>map&lt;string, bytes&gt; extension = 3;</code>
       */
      @java.lang.Override

      public com.google.protobuf.ByteString getExtensionOrDefault(
          java.lang.String key,
          com.google.protobuf.ByteString defaultValue) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, com.google.protobuf.ByteString> map =
            internalGetExtension().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <code>map&lt;string, bytes&gt; extension = 3;</code>
       */
      @java.lang.Override

      public com.google.protobuf.ByteString getExtensionOrThrow(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, com.google.protobuf.ByteString> map =
            internalGetExtension().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      public Builder clearExtension() {
        internalGetMutableExtension().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <code>map&lt;string, bytes&gt; extension = 3;</code>
       */

      public Builder removeExtension(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        internalGetMutableExtension().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, com.google.protobuf.ByteString>
      getMutableExtension() {
        return internalGetMutableExtension().getMutableMap();
      }
      /**
       * <code>map&lt;string, bytes&gt; extension = 3;</code>
       */
      public Builder putExtension(
          java.lang.String key,
          com.google.protobuf.ByteString value) {
        if (key == null) { throw new NullPointerException("map key"); }
        if (value == null) {
  throw new NullPointerException("map value");
}

        internalGetMutableExtension().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * <code>map&lt;string, bytes&gt; extension = 3;</code>
       */

      public Builder putAllExtension(
          java.util.Map<java.lang.String, com.google.protobuf.ByteString> values) {
        internalGetMutableExtension().getMutableMap()
            .putAll(values);
        return this;
      }

      private java.util.List<io.greptime.v1.flow.Server.TaskId> affectedTasks_ =
        java.util.Collections.emptyList();
      private void ensureAffectedTasksIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          affectedTasks_ = new java.util.ArrayList<io.greptime.v1.flow.Server.TaskId>(affectedTasks_);
          bitField0_ |= 0x00000002;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.flow.Server.TaskId, io.greptime.v1.flow.Server.TaskId.Builder, io.greptime.v1.flow.Server.TaskIdOrBuilder> affectedTasksBuilder_;

      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public java.util.List<io.greptime.v1.flow.Server.TaskId> getAffectedTasksList() {
        if (affectedTasksBuilder_ == null) {
          return java.util.Collections.unmodifiableList(affectedTasks_);
        } else {
          return affectedTasksBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public int getAffectedTasksCount() {
        if (affectedTasksBuilder_ == null) {
          return affectedTasks_.size();
        } else {
          return affectedTasksBuilder_.getCount();
        }
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public io.greptime.v1.flow.Server.TaskId getAffectedTasks(int index) {
        if (affectedTasksBuilder_ == null) {
          return affectedTasks_.get(index);
        } else {
          return affectedTasksBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public Builder setAffectedTasks(
          int index, io.greptime.v1.flow.Server.TaskId value) {
        if (affectedTasksBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAffectedTasksIsMutable();
          affectedTasks_.set(index, value);
          onChanged();
        } else {
          affectedTasksBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public Builder setAffectedTasks(
          int index, io.greptime.v1.flow.Server.TaskId.Builder builderForValue) {
        if (affectedTasksBuilder_ == null) {
          ensureAffectedTasksIsMutable();
          affectedTasks_.set(index, builderForValue.build());
          onChanged();
        } else {
          affectedTasksBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public Builder addAffectedTasks(io.greptime.v1.flow.Server.TaskId value) {
        if (affectedTasksBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAffectedTasksIsMutable();
          affectedTasks_.add(value);
          onChanged();
        } else {
          affectedTasksBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public Builder addAffectedTasks(
          int index, io.greptime.v1.flow.Server.TaskId value) {
        if (affectedTasksBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureAffectedTasksIsMutable();
          affectedTasks_.add(index, value);
          onChanged();
        } else {
          affectedTasksBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public Builder addAffectedTasks(
          io.greptime.v1.flow.Server.TaskId.Builder builderForValue) {
        if (affectedTasksBuilder_ == null) {
          ensureAffectedTasksIsMutable();
          affectedTasks_.add(builderForValue.build());
          onChanged();
        } else {
          affectedTasksBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public Builder addAffectedTasks(
          int index, io.greptime.v1.flow.Server.TaskId.Builder builderForValue) {
        if (affectedTasksBuilder_ == null) {
          ensureAffectedTasksIsMutable();
          affectedTasks_.add(index, builderForValue.build());
          onChanged();
        } else {
          affectedTasksBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public Builder addAllAffectedTasks(
          java.lang.Iterable<? extends io.greptime.v1.flow.Server.TaskId> values) {
        if (affectedTasksBuilder_ == null) {
          ensureAffectedTasksIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, affectedTasks_);
          onChanged();
        } else {
          affectedTasksBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public Builder clearAffectedTasks() {
        if (affectedTasksBuilder_ == null) {
          affectedTasks_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000002);
          onChanged();
        } else {
          affectedTasksBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public Builder removeAffectedTasks(int index) {
        if (affectedTasksBuilder_ == null) {
          ensureAffectedTasksIsMutable();
          affectedTasks_.remove(index);
          onChanged();
        } else {
          affectedTasksBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public io.greptime.v1.flow.Server.TaskId.Builder getAffectedTasksBuilder(
          int index) {
        return getAffectedTasksFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public io.greptime.v1.flow.Server.TaskIdOrBuilder getAffectedTasksOrBuilder(
          int index) {
        if (affectedTasksBuilder_ == null) {
          return affectedTasks_.get(index);  } else {
          return affectedTasksBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public java.util.List<? extends io.greptime.v1.flow.Server.TaskIdOrBuilder> 
           getAffectedTasksOrBuilderList() {
        if (affectedTasksBuilder_ != null) {
          return affectedTasksBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(affectedTasks_);
        }
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public io.greptime.v1.flow.Server.TaskId.Builder addAffectedTasksBuilder() {
        return getAffectedTasksFieldBuilder().addBuilder(
            io.greptime.v1.flow.Server.TaskId.getDefaultInstance());
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public io.greptime.v1.flow.Server.TaskId.Builder addAffectedTasksBuilder(
          int index) {
        return getAffectedTasksFieldBuilder().addBuilder(
            index, io.greptime.v1.flow.Server.TaskId.getDefaultInstance());
      }
      /**
       * <pre>
       * affected task ids
       * </pre>
       *
       * <code>repeated .greptime.v1.flow.TaskId affected_tasks = 4;</code>
       */
      public java.util.List<io.greptime.v1.flow.Server.TaskId.Builder> 
           getAffectedTasksBuilderList() {
        return getAffectedTasksFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.flow.Server.TaskId, io.greptime.v1.flow.Server.TaskId.Builder, io.greptime.v1.flow.Server.TaskIdOrBuilder> 
          getAffectedTasksFieldBuilder() {
        if (affectedTasksBuilder_ == null) {
          affectedTasksBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.greptime.v1.flow.Server.TaskId, io.greptime.v1.flow.Server.TaskId.Builder, io.greptime.v1.flow.Server.TaskIdOrBuilder>(
                  affectedTasks_,
                  ((bitField0_ & 0x00000002) != 0),
                  getParentForChildren(),
                  isClean());
          affectedTasks_ = null;
        }
        return affectedTasksBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:greptime.v1.flow.FlowResponse)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.flow.FlowResponse)
    private static final io.greptime.v1.flow.Server.FlowResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.flow.Server.FlowResponse();
    }

    public static io.greptime.v1.flow.Server.FlowResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<FlowResponse>
        PARSER = new com.google.protobuf.AbstractParser<FlowResponse>() {
      @java.lang.Override
      public FlowResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new FlowResponse(input, extensionRegistry);
      }
    };

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

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

    @java.lang.Override
    public io.greptime.v1.flow.Server.FlowResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface CreateRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.flow.CreateRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
     * @return Whether the taskId field is set.
     */
    boolean hasTaskId();
    /**
     * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
     * @return The taskId.
     */
    io.greptime.v1.flow.Server.TaskId getTaskId();
    /**
     * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
     */
    io.greptime.v1.flow.Server.TaskIdOrBuilder getTaskIdOrBuilder();

    /**
     * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
     */
    java.util.List<io.greptime.v1.Ddl.TableId> 
        getSourceTableIdsList();
    /**
     * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
     */
    io.greptime.v1.Ddl.TableId getSourceTableIds(int index);
    /**
     * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
     */
    int getSourceTableIdsCount();
    /**
     * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
     */
    java.util.List<? extends io.greptime.v1.Ddl.TableIdOrBuilder> 
        getSourceTableIdsOrBuilderList();
    /**
     * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
     */
    io.greptime.v1.Ddl.TableIdOrBuilder getSourceTableIdsOrBuilder(
        int index);

    /**
     * <code>.greptime.v1.TableId sink_table_id = 3;</code>
     * @return Whether the sinkTableId field is set.
     */
    boolean hasSinkTableId();
    /**
     * <code>.greptime.v1.TableId sink_table_id = 3;</code>
     * @return The sinkTableId.
     */
    io.greptime.v1.Ddl.TableId getSinkTableId();
    /**
     * <code>.greptime.v1.TableId sink_table_id = 3;</code>
     */
    io.greptime.v1.Ddl.TableIdOrBuilder getSinkTableIdOrBuilder();

    /**
     * <code>bool create_if_not_exists = 4;</code>
     * @return The createIfNotExists.
     */
    boolean getCreateIfNotExists();

    /**
     * <code>string expire_when = 5;</code>
     * @return The expireWhen.
     */
    java.lang.String getExpireWhen();
    /**
     * <code>string expire_when = 5;</code>
     * @return The bytes for expireWhen.
     */
    com.google.protobuf.ByteString
        getExpireWhenBytes();

    /**
     * <code>string comment = 6;</code>
     * @return The comment.
     */
    java.lang.String getComment();
    /**
     * <code>string comment = 6;</code>
     * @return The bytes for comment.
     */
    com.google.protobuf.ByteString
        getCommentBytes();

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

    /**
     * <code>map&lt;string, string&gt; task_options = 8;</code>
     */
    int getTaskOptionsCount();
    /**
     * <code>map&lt;string, string&gt; task_options = 8;</code>
     */
    boolean containsTaskOptions(
        java.lang.String key);
    /**
     * Use {@link #getTaskOptionsMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, java.lang.String>
    getTaskOptions();
    /**
     * <code>map&lt;string, string&gt; task_options = 8;</code>
     */
    java.util.Map<java.lang.String, java.lang.String>
    getTaskOptionsMap();
    /**
     * <code>map&lt;string, string&gt; task_options = 8;</code>
     */

    /* nullable */
java.lang.String getTaskOptionsOrDefault(
        java.lang.String key,
        /* nullable */
java.lang.String defaultValue);
    /**
     * <code>map&lt;string, string&gt; task_options = 8;</code>
     */

    java.lang.String getTaskOptionsOrThrow(
        java.lang.String key);
  }
  /**
   * <pre>
   * very similar to `ddl.CreateTaskExpr` just replace `task_name` with `task_id`
   * </pre>
   *
   * Protobuf type {@code greptime.v1.flow.CreateRequest}
   */
  public static final class CreateRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.flow.CreateRequest)
      CreateRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use CreateRequest.newBuilder() to construct.
    private CreateRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private CreateRequest() {
      sourceTableIds_ = java.util.Collections.emptyList();
      expireWhen_ = "";
      comment_ = "";
      sql_ = "";
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private CreateRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              io.greptime.v1.flow.Server.TaskId.Builder subBuilder = null;
              if (taskId_ != null) {
                subBuilder = taskId_.toBuilder();
              }
              taskId_ = input.readMessage(io.greptime.v1.flow.Server.TaskId.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(taskId_);
                taskId_ = subBuilder.buildPartial();
              }

              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                sourceTableIds_ = new java.util.ArrayList<io.greptime.v1.Ddl.TableId>();
                mutable_bitField0_ |= 0x00000001;
              }
              sourceTableIds_.add(
                  input.readMessage(io.greptime.v1.Ddl.TableId.parser(), extensionRegistry));
              break;
            }
            case 26: {
              io.greptime.v1.Ddl.TableId.Builder subBuilder = null;
              if (sinkTableId_ != null) {
                subBuilder = sinkTableId_.toBuilder();
              }
              sinkTableId_ = input.readMessage(io.greptime.v1.Ddl.TableId.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(sinkTableId_);
                sinkTableId_ = subBuilder.buildPartial();
              }

              break;
            }
            case 32: {

              createIfNotExists_ = input.readBool();
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();

              expireWhen_ = s;
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();

              comment_ = s;
              break;
            }
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();

              sql_ = s;
              break;
            }
            case 66: {
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                taskOptions_ = com.google.protobuf.MapField.newMapField(
                    TaskOptionsDefaultEntryHolder.defaultEntry);
                mutable_bitField0_ |= 0x00000002;
              }
              com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
              taskOptions__ = input.readMessage(
                  TaskOptionsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
              taskOptions_.getMutableMap().put(
                  taskOptions__.getKey(), taskOptions__.getValue());
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          sourceTableIds_ = java.util.Collections.unmodifiableList(sourceTableIds_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_CreateRequest_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 8:
          return internalGetTaskOptions();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_CreateRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.flow.Server.CreateRequest.class, io.greptime.v1.flow.Server.CreateRequest.Builder.class);
    }

    public static final int TASK_ID_FIELD_NUMBER = 1;
    private io.greptime.v1.flow.Server.TaskId taskId_;
    /**
     * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
     * @return Whether the taskId field is set.
     */
    @java.lang.Override
    public boolean hasTaskId() {
      return taskId_ != null;
    }
    /**
     * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
     * @return The taskId.
     */
    @java.lang.Override
    public io.greptime.v1.flow.Server.TaskId getTaskId() {
      return taskId_ == null ? io.greptime.v1.flow.Server.TaskId.getDefaultInstance() : taskId_;
    }
    /**
     * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.flow.Server.TaskIdOrBuilder getTaskIdOrBuilder() {
      return getTaskId();
    }

    public static final int SOURCE_TABLE_IDS_FIELD_NUMBER = 2;
    private java.util.List<io.greptime.v1.Ddl.TableId> sourceTableIds_;
    /**
     * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
     */
    @java.lang.Override
    public java.util.List<io.greptime.v1.Ddl.TableId> getSourceTableIdsList() {
      return sourceTableIds_;
    }
    /**
     * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
     */
    @java.lang.Override
    public java.util.List<? extends io.greptime.v1.Ddl.TableIdOrBuilder> 
        getSourceTableIdsOrBuilderList() {
      return sourceTableIds_;
    }
    /**
     * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
     */
    @java.lang.Override
    public int getSourceTableIdsCount() {
      return sourceTableIds_.size();
    }
    /**
     * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.TableId getSourceTableIds(int index) {
      return sourceTableIds_.get(index);
    }
    /**
     * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.TableIdOrBuilder getSourceTableIdsOrBuilder(
        int index) {
      return sourceTableIds_.get(index);
    }

    public static final int SINK_TABLE_ID_FIELD_NUMBER = 3;
    private io.greptime.v1.Ddl.TableId sinkTableId_;
    /**
     * <code>.greptime.v1.TableId sink_table_id = 3;</code>
     * @return Whether the sinkTableId field is set.
     */
    @java.lang.Override
    public boolean hasSinkTableId() {
      return sinkTableId_ != null;
    }
    /**
     * <code>.greptime.v1.TableId sink_table_id = 3;</code>
     * @return The sinkTableId.
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.TableId getSinkTableId() {
      return sinkTableId_ == null ? io.greptime.v1.Ddl.TableId.getDefaultInstance() : sinkTableId_;
    }
    /**
     * <code>.greptime.v1.TableId sink_table_id = 3;</code>
     */
    @java.lang.Override
    public io.greptime.v1.Ddl.TableIdOrBuilder getSinkTableIdOrBuilder() {
      return getSinkTableId();
    }

    public static final int CREATE_IF_NOT_EXISTS_FIELD_NUMBER = 4;
    private boolean createIfNotExists_;
    /**
     * <code>bool create_if_not_exists = 4;</code>
     * @return The createIfNotExists.
     */
    @java.lang.Override
    public boolean getCreateIfNotExists() {
      return createIfNotExists_;
    }

    public static final int EXPIRE_WHEN_FIELD_NUMBER = 5;
    private volatile java.lang.Object expireWhen_;
    /**
     * <code>string expire_when = 5;</code>
     * @return The expireWhen.
     */
    @java.lang.Override
    public java.lang.String getExpireWhen() {
      java.lang.Object ref = expireWhen_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        expireWhen_ = s;
        return s;
      }
    }
    /**
     * <code>string expire_when = 5;</code>
     * @return The bytes for expireWhen.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getExpireWhenBytes() {
      java.lang.Object ref = expireWhen_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        expireWhen_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int COMMENT_FIELD_NUMBER = 6;
    private volatile java.lang.Object comment_;
    /**
     * <code>string comment = 6;</code>
     * @return The comment.
     */
    @java.lang.Override
    public java.lang.String getComment() {
      java.lang.Object ref = comment_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        comment_ = s;
        return s;
      }
    }
    /**
     * <code>string comment = 6;</code>
     * @return The bytes for comment.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getCommentBytes() {
      java.lang.Object ref = comment_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        comment_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

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

    public static final int TASK_OPTIONS_FIELD_NUMBER = 8;
    private static final class TaskOptionsDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.String> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.String, java.lang.String>newDefaultInstance(
                  io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_CreateRequest_TaskOptionsEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "");
    }
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.String> taskOptions_;
    private com.google.protobuf.MapField<java.lang.String, java.lang.String>
    internalGetTaskOptions() {
      if (taskOptions_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            TaskOptionsDefaultEntryHolder.defaultEntry);
      }
      return taskOptions_;
    }

    public int getTaskOptionsCount() {
      return internalGetTaskOptions().getMap().size();
    }
    /**
     * <code>map&lt;string, string&gt; task_options = 8;</code>
     */

    @java.lang.Override
    public boolean containsTaskOptions(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetTaskOptions().getMap().containsKey(key);
    }
    /**
     * Use {@link #getTaskOptionsMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, java.lang.String> getTaskOptions() {
      return getTaskOptionsMap();
    }
    /**
     * <code>map&lt;string, string&gt; task_options = 8;</code>
     */
    @java.lang.Override

    public java.util.Map<java.lang.String, java.lang.String> getTaskOptionsMap() {
      return internalGetTaskOptions().getMap();
    }
    /**
     * <code>map&lt;string, string&gt; task_options = 8;</code>
     */
    @java.lang.Override

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

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

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (taskId_ != null) {
        output.writeMessage(1, getTaskId());
      }
      for (int i = 0; i < sourceTableIds_.size(); i++) {
        output.writeMessage(2, sourceTableIds_.get(i));
      }
      if (sinkTableId_ != null) {
        output.writeMessage(3, getSinkTableId());
      }
      if (createIfNotExists_ != false) {
        output.writeBool(4, createIfNotExists_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(expireWhen_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, expireWhen_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(comment_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, comment_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(sql_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, sql_);
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetTaskOptions(),
          TaskOptionsDefaultEntryHolder.defaultEntry,
          8);
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (taskId_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getTaskId());
      }
      for (int i = 0; i < sourceTableIds_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, sourceTableIds_.get(i));
      }
      if (sinkTableId_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(3, getSinkTableId());
      }
      if (createIfNotExists_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, createIfNotExists_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(expireWhen_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, expireWhen_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(comment_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, comment_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(sql_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, sql_);
      }
      for (java.util.Map.Entry<java.lang.String, java.lang.String> entry
           : internalGetTaskOptions().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
        taskOptions__ = TaskOptionsDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(8, taskOptions__);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.flow.Server.CreateRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.flow.Server.CreateRequest other = (io.greptime.v1.flow.Server.CreateRequest) obj;

      if (hasTaskId() != other.hasTaskId()) return false;
      if (hasTaskId()) {
        if (!getTaskId()
            .equals(other.getTaskId())) return false;
      }
      if (!getSourceTableIdsList()
          .equals(other.getSourceTableIdsList())) return false;
      if (hasSinkTableId() != other.hasSinkTableId()) return false;
      if (hasSinkTableId()) {
        if (!getSinkTableId()
            .equals(other.getSinkTableId())) return false;
      }
      if (getCreateIfNotExists()
          != other.getCreateIfNotExists()) return false;
      if (!getExpireWhen()
          .equals(other.getExpireWhen())) return false;
      if (!getComment()
          .equals(other.getComment())) return false;
      if (!getSql()
          .equals(other.getSql())) return false;
      if (!internalGetTaskOptions().equals(
          other.internalGetTaskOptions())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasTaskId()) {
        hash = (37 * hash) + TASK_ID_FIELD_NUMBER;
        hash = (53 * hash) + getTaskId().hashCode();
      }
      if (getSourceTableIdsCount() > 0) {
        hash = (37 * hash) + SOURCE_TABLE_IDS_FIELD_NUMBER;
        hash = (53 * hash) + getSourceTableIdsList().hashCode();
      }
      if (hasSinkTableId()) {
        hash = (37 * hash) + SINK_TABLE_ID_FIELD_NUMBER;
        hash = (53 * hash) + getSinkTableId().hashCode();
      }
      hash = (37 * hash) + CREATE_IF_NOT_EXISTS_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getCreateIfNotExists());
      hash = (37 * hash) + EXPIRE_WHEN_FIELD_NUMBER;
      hash = (53 * hash) + getExpireWhen().hashCode();
      hash = (37 * hash) + COMMENT_FIELD_NUMBER;
      hash = (53 * hash) + getComment().hashCode();
      hash = (37 * hash) + SQL_FIELD_NUMBER;
      hash = (53 * hash) + getSql().hashCode();
      if (!internalGetTaskOptions().getMap().isEmpty()) {
        hash = (37 * hash) + TASK_OPTIONS_FIELD_NUMBER;
        hash = (53 * hash) + internalGetTaskOptions().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.greptime.v1.flow.Server.CreateRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.CreateRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.CreateRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.CreateRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.CreateRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.CreateRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.CreateRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.CreateRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.CreateRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.CreateRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.CreateRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.CreateRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.flow.Server.CreateRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * very similar to `ddl.CreateTaskExpr` just replace `task_name` with `task_id`
     * </pre>
     *
     * Protobuf type {@code greptime.v1.flow.CreateRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.flow.CreateRequest)
        io.greptime.v1.flow.Server.CreateRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_CreateRequest_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 8:
            return internalGetTaskOptions();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 8:
            return internalGetMutableTaskOptions();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_CreateRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.flow.Server.CreateRequest.class, io.greptime.v1.flow.Server.CreateRequest.Builder.class);
      }

      // Construct using io.greptime.v1.flow.Server.CreateRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getSourceTableIdsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (taskIdBuilder_ == null) {
          taskId_ = null;
        } else {
          taskId_ = null;
          taskIdBuilder_ = null;
        }
        if (sourceTableIdsBuilder_ == null) {
          sourceTableIds_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          sourceTableIdsBuilder_.clear();
        }
        if (sinkTableIdBuilder_ == null) {
          sinkTableId_ = null;
        } else {
          sinkTableId_ = null;
          sinkTableIdBuilder_ = null;
        }
        createIfNotExists_ = false;

        expireWhen_ = "";

        comment_ = "";

        sql_ = "";

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

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_CreateRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.CreateRequest getDefaultInstanceForType() {
        return io.greptime.v1.flow.Server.CreateRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.CreateRequest build() {
        io.greptime.v1.flow.Server.CreateRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.CreateRequest buildPartial() {
        io.greptime.v1.flow.Server.CreateRequest result = new io.greptime.v1.flow.Server.CreateRequest(this);
        int from_bitField0_ = bitField0_;
        if (taskIdBuilder_ == null) {
          result.taskId_ = taskId_;
        } else {
          result.taskId_ = taskIdBuilder_.build();
        }
        if (sourceTableIdsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            sourceTableIds_ = java.util.Collections.unmodifiableList(sourceTableIds_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.sourceTableIds_ = sourceTableIds_;
        } else {
          result.sourceTableIds_ = sourceTableIdsBuilder_.build();
        }
        if (sinkTableIdBuilder_ == null) {
          result.sinkTableId_ = sinkTableId_;
        } else {
          result.sinkTableId_ = sinkTableIdBuilder_.build();
        }
        result.createIfNotExists_ = createIfNotExists_;
        result.expireWhen_ = expireWhen_;
        result.comment_ = comment_;
        result.sql_ = sql_;
        result.taskOptions_ = internalGetTaskOptions();
        result.taskOptions_.makeImmutable();
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.flow.Server.CreateRequest) {
          return mergeFrom((io.greptime.v1.flow.Server.CreateRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.flow.Server.CreateRequest other) {
        if (other == io.greptime.v1.flow.Server.CreateRequest.getDefaultInstance()) return this;
        if (other.hasTaskId()) {
          mergeTaskId(other.getTaskId());
        }
        if (sourceTableIdsBuilder_ == null) {
          if (!other.sourceTableIds_.isEmpty()) {
            if (sourceTableIds_.isEmpty()) {
              sourceTableIds_ = other.sourceTableIds_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureSourceTableIdsIsMutable();
              sourceTableIds_.addAll(other.sourceTableIds_);
            }
            onChanged();
          }
        } else {
          if (!other.sourceTableIds_.isEmpty()) {
            if (sourceTableIdsBuilder_.isEmpty()) {
              sourceTableIdsBuilder_.dispose();
              sourceTableIdsBuilder_ = null;
              sourceTableIds_ = other.sourceTableIds_;
              bitField0_ = (bitField0_ & ~0x00000001);
              sourceTableIdsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getSourceTableIdsFieldBuilder() : null;
            } else {
              sourceTableIdsBuilder_.addAllMessages(other.sourceTableIds_);
            }
          }
        }
        if (other.hasSinkTableId()) {
          mergeSinkTableId(other.getSinkTableId());
        }
        if (other.getCreateIfNotExists() != false) {
          setCreateIfNotExists(other.getCreateIfNotExists());
        }
        if (!other.getExpireWhen().isEmpty()) {
          expireWhen_ = other.expireWhen_;
          onChanged();
        }
        if (!other.getComment().isEmpty()) {
          comment_ = other.comment_;
          onChanged();
        }
        if (!other.getSql().isEmpty()) {
          sql_ = other.sql_;
          onChanged();
        }
        internalGetMutableTaskOptions().mergeFrom(
            other.internalGetTaskOptions());
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.flow.Server.CreateRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.flow.Server.CreateRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private io.greptime.v1.flow.Server.TaskId taskId_;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.flow.Server.TaskId, io.greptime.v1.flow.Server.TaskId.Builder, io.greptime.v1.flow.Server.TaskIdOrBuilder> taskIdBuilder_;
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       * @return Whether the taskId field is set.
       */
      public boolean hasTaskId() {
        return taskIdBuilder_ != null || taskId_ != null;
      }
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       * @return The taskId.
       */
      public io.greptime.v1.flow.Server.TaskId getTaskId() {
        if (taskIdBuilder_ == null) {
          return taskId_ == null ? io.greptime.v1.flow.Server.TaskId.getDefaultInstance() : taskId_;
        } else {
          return taskIdBuilder_.getMessage();
        }
      }
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       */
      public Builder setTaskId(io.greptime.v1.flow.Server.TaskId value) {
        if (taskIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          taskId_ = value;
          onChanged();
        } else {
          taskIdBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       */
      public Builder setTaskId(
          io.greptime.v1.flow.Server.TaskId.Builder builderForValue) {
        if (taskIdBuilder_ == null) {
          taskId_ = builderForValue.build();
          onChanged();
        } else {
          taskIdBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       */
      public Builder mergeTaskId(io.greptime.v1.flow.Server.TaskId value) {
        if (taskIdBuilder_ == null) {
          if (taskId_ != null) {
            taskId_ =
              io.greptime.v1.flow.Server.TaskId.newBuilder(taskId_).mergeFrom(value).buildPartial();
          } else {
            taskId_ = value;
          }
          onChanged();
        } else {
          taskIdBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       */
      public Builder clearTaskId() {
        if (taskIdBuilder_ == null) {
          taskId_ = null;
          onChanged();
        } else {
          taskId_ = null;
          taskIdBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       */
      public io.greptime.v1.flow.Server.TaskId.Builder getTaskIdBuilder() {
        
        onChanged();
        return getTaskIdFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       */
      public io.greptime.v1.flow.Server.TaskIdOrBuilder getTaskIdOrBuilder() {
        if (taskIdBuilder_ != null) {
          return taskIdBuilder_.getMessageOrBuilder();
        } else {
          return taskId_ == null ?
              io.greptime.v1.flow.Server.TaskId.getDefaultInstance() : taskId_;
        }
      }
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.flow.Server.TaskId, io.greptime.v1.flow.Server.TaskId.Builder, io.greptime.v1.flow.Server.TaskIdOrBuilder> 
          getTaskIdFieldBuilder() {
        if (taskIdBuilder_ == null) {
          taskIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.flow.Server.TaskId, io.greptime.v1.flow.Server.TaskId.Builder, io.greptime.v1.flow.Server.TaskIdOrBuilder>(
                  getTaskId(),
                  getParentForChildren(),
                  isClean());
          taskId_ = null;
        }
        return taskIdBuilder_;
      }

      private java.util.List<io.greptime.v1.Ddl.TableId> sourceTableIds_ =
        java.util.Collections.emptyList();
      private void ensureSourceTableIdsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          sourceTableIds_ = new java.util.ArrayList<io.greptime.v1.Ddl.TableId>(sourceTableIds_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.Ddl.TableId, io.greptime.v1.Ddl.TableId.Builder, io.greptime.v1.Ddl.TableIdOrBuilder> sourceTableIdsBuilder_;

      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public java.util.List<io.greptime.v1.Ddl.TableId> getSourceTableIdsList() {
        if (sourceTableIdsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(sourceTableIds_);
        } else {
          return sourceTableIdsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public int getSourceTableIdsCount() {
        if (sourceTableIdsBuilder_ == null) {
          return sourceTableIds_.size();
        } else {
          return sourceTableIdsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public io.greptime.v1.Ddl.TableId getSourceTableIds(int index) {
        if (sourceTableIdsBuilder_ == null) {
          return sourceTableIds_.get(index);
        } else {
          return sourceTableIdsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public Builder setSourceTableIds(
          int index, io.greptime.v1.Ddl.TableId value) {
        if (sourceTableIdsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSourceTableIdsIsMutable();
          sourceTableIds_.set(index, value);
          onChanged();
        } else {
          sourceTableIdsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public Builder setSourceTableIds(
          int index, io.greptime.v1.Ddl.TableId.Builder builderForValue) {
        if (sourceTableIdsBuilder_ == null) {
          ensureSourceTableIdsIsMutable();
          sourceTableIds_.set(index, builderForValue.build());
          onChanged();
        } else {
          sourceTableIdsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public Builder addSourceTableIds(io.greptime.v1.Ddl.TableId value) {
        if (sourceTableIdsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSourceTableIdsIsMutable();
          sourceTableIds_.add(value);
          onChanged();
        } else {
          sourceTableIdsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public Builder addSourceTableIds(
          int index, io.greptime.v1.Ddl.TableId value) {
        if (sourceTableIdsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSourceTableIdsIsMutable();
          sourceTableIds_.add(index, value);
          onChanged();
        } else {
          sourceTableIdsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public Builder addSourceTableIds(
          io.greptime.v1.Ddl.TableId.Builder builderForValue) {
        if (sourceTableIdsBuilder_ == null) {
          ensureSourceTableIdsIsMutable();
          sourceTableIds_.add(builderForValue.build());
          onChanged();
        } else {
          sourceTableIdsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public Builder addSourceTableIds(
          int index, io.greptime.v1.Ddl.TableId.Builder builderForValue) {
        if (sourceTableIdsBuilder_ == null) {
          ensureSourceTableIdsIsMutable();
          sourceTableIds_.add(index, builderForValue.build());
          onChanged();
        } else {
          sourceTableIdsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public Builder addAllSourceTableIds(
          java.lang.Iterable<? extends io.greptime.v1.Ddl.TableId> values) {
        if (sourceTableIdsBuilder_ == null) {
          ensureSourceTableIdsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, sourceTableIds_);
          onChanged();
        } else {
          sourceTableIdsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public Builder clearSourceTableIds() {
        if (sourceTableIdsBuilder_ == null) {
          sourceTableIds_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          sourceTableIdsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public Builder removeSourceTableIds(int index) {
        if (sourceTableIdsBuilder_ == null) {
          ensureSourceTableIdsIsMutable();
          sourceTableIds_.remove(index);
          onChanged();
        } else {
          sourceTableIdsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public io.greptime.v1.Ddl.TableId.Builder getSourceTableIdsBuilder(
          int index) {
        return getSourceTableIdsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public io.greptime.v1.Ddl.TableIdOrBuilder getSourceTableIdsOrBuilder(
          int index) {
        if (sourceTableIdsBuilder_ == null) {
          return sourceTableIds_.get(index);  } else {
          return sourceTableIdsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public java.util.List<? extends io.greptime.v1.Ddl.TableIdOrBuilder> 
           getSourceTableIdsOrBuilderList() {
        if (sourceTableIdsBuilder_ != null) {
          return sourceTableIdsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(sourceTableIds_);
        }
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public io.greptime.v1.Ddl.TableId.Builder addSourceTableIdsBuilder() {
        return getSourceTableIdsFieldBuilder().addBuilder(
            io.greptime.v1.Ddl.TableId.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public io.greptime.v1.Ddl.TableId.Builder addSourceTableIdsBuilder(
          int index) {
        return getSourceTableIdsFieldBuilder().addBuilder(
            index, io.greptime.v1.Ddl.TableId.getDefaultInstance());
      }
      /**
       * <code>repeated .greptime.v1.TableId source_table_ids = 2;</code>
       */
      public java.util.List<io.greptime.v1.Ddl.TableId.Builder> 
           getSourceTableIdsBuilderList() {
        return getSourceTableIdsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.greptime.v1.Ddl.TableId, io.greptime.v1.Ddl.TableId.Builder, io.greptime.v1.Ddl.TableIdOrBuilder> 
          getSourceTableIdsFieldBuilder() {
        if (sourceTableIdsBuilder_ == null) {
          sourceTableIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.greptime.v1.Ddl.TableId, io.greptime.v1.Ddl.TableId.Builder, io.greptime.v1.Ddl.TableIdOrBuilder>(
                  sourceTableIds_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          sourceTableIds_ = null;
        }
        return sourceTableIdsBuilder_;
      }

      private io.greptime.v1.Ddl.TableId sinkTableId_;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Ddl.TableId, io.greptime.v1.Ddl.TableId.Builder, io.greptime.v1.Ddl.TableIdOrBuilder> sinkTableIdBuilder_;
      /**
       * <code>.greptime.v1.TableId sink_table_id = 3;</code>
       * @return Whether the sinkTableId field is set.
       */
      public boolean hasSinkTableId() {
        return sinkTableIdBuilder_ != null || sinkTableId_ != null;
      }
      /**
       * <code>.greptime.v1.TableId sink_table_id = 3;</code>
       * @return The sinkTableId.
       */
      public io.greptime.v1.Ddl.TableId getSinkTableId() {
        if (sinkTableIdBuilder_ == null) {
          return sinkTableId_ == null ? io.greptime.v1.Ddl.TableId.getDefaultInstance() : sinkTableId_;
        } else {
          return sinkTableIdBuilder_.getMessage();
        }
      }
      /**
       * <code>.greptime.v1.TableId sink_table_id = 3;</code>
       */
      public Builder setSinkTableId(io.greptime.v1.Ddl.TableId value) {
        if (sinkTableIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          sinkTableId_ = value;
          onChanged();
        } else {
          sinkTableIdBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.TableId sink_table_id = 3;</code>
       */
      public Builder setSinkTableId(
          io.greptime.v1.Ddl.TableId.Builder builderForValue) {
        if (sinkTableIdBuilder_ == null) {
          sinkTableId_ = builderForValue.build();
          onChanged();
        } else {
          sinkTableIdBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.greptime.v1.TableId sink_table_id = 3;</code>
       */
      public Builder mergeSinkTableId(io.greptime.v1.Ddl.TableId value) {
        if (sinkTableIdBuilder_ == null) {
          if (sinkTableId_ != null) {
            sinkTableId_ =
              io.greptime.v1.Ddl.TableId.newBuilder(sinkTableId_).mergeFrom(value).buildPartial();
          } else {
            sinkTableId_ = value;
          }
          onChanged();
        } else {
          sinkTableIdBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.TableId sink_table_id = 3;</code>
       */
      public Builder clearSinkTableId() {
        if (sinkTableIdBuilder_ == null) {
          sinkTableId_ = null;
          onChanged();
        } else {
          sinkTableId_ = null;
          sinkTableIdBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.greptime.v1.TableId sink_table_id = 3;</code>
       */
      public io.greptime.v1.Ddl.TableId.Builder getSinkTableIdBuilder() {
        
        onChanged();
        return getSinkTableIdFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.TableId sink_table_id = 3;</code>
       */
      public io.greptime.v1.Ddl.TableIdOrBuilder getSinkTableIdOrBuilder() {
        if (sinkTableIdBuilder_ != null) {
          return sinkTableIdBuilder_.getMessageOrBuilder();
        } else {
          return sinkTableId_ == null ?
              io.greptime.v1.Ddl.TableId.getDefaultInstance() : sinkTableId_;
        }
      }
      /**
       * <code>.greptime.v1.TableId sink_table_id = 3;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.Ddl.TableId, io.greptime.v1.Ddl.TableId.Builder, io.greptime.v1.Ddl.TableIdOrBuilder> 
          getSinkTableIdFieldBuilder() {
        if (sinkTableIdBuilder_ == null) {
          sinkTableIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.Ddl.TableId, io.greptime.v1.Ddl.TableId.Builder, io.greptime.v1.Ddl.TableIdOrBuilder>(
                  getSinkTableId(),
                  getParentForChildren(),
                  isClean());
          sinkTableId_ = null;
        }
        return sinkTableIdBuilder_;
      }

      private boolean createIfNotExists_ ;
      /**
       * <code>bool create_if_not_exists = 4;</code>
       * @return The createIfNotExists.
       */
      @java.lang.Override
      public boolean getCreateIfNotExists() {
        return createIfNotExists_;
      }
      /**
       * <code>bool create_if_not_exists = 4;</code>
       * @param value The createIfNotExists to set.
       * @return This builder for chaining.
       */
      public Builder setCreateIfNotExists(boolean value) {
        
        createIfNotExists_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>bool create_if_not_exists = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearCreateIfNotExists() {
        
        createIfNotExists_ = false;
        onChanged();
        return this;
      }

      private java.lang.Object expireWhen_ = "";
      /**
       * <code>string expire_when = 5;</code>
       * @return The expireWhen.
       */
      public java.lang.String getExpireWhen() {
        java.lang.Object ref = expireWhen_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          expireWhen_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string expire_when = 5;</code>
       * @return The bytes for expireWhen.
       */
      public com.google.protobuf.ByteString
          getExpireWhenBytes() {
        java.lang.Object ref = expireWhen_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          expireWhen_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string expire_when = 5;</code>
       * @param value The expireWhen to set.
       * @return This builder for chaining.
       */
      public Builder setExpireWhen(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        expireWhen_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string expire_when = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearExpireWhen() {
        
        expireWhen_ = getDefaultInstance().getExpireWhen();
        onChanged();
        return this;
      }
      /**
       * <code>string expire_when = 5;</code>
       * @param value The bytes for expireWhen to set.
       * @return This builder for chaining.
       */
      public Builder setExpireWhenBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        expireWhen_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object comment_ = "";
      /**
       * <code>string comment = 6;</code>
       * @return The comment.
       */
      public java.lang.String getComment() {
        java.lang.Object ref = comment_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          comment_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string comment = 6;</code>
       * @return The bytes for comment.
       */
      public com.google.protobuf.ByteString
          getCommentBytes() {
        java.lang.Object ref = comment_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          comment_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string comment = 6;</code>
       * @param value The comment to set.
       * @return This builder for chaining.
       */
      public Builder setComment(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        comment_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string comment = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearComment() {
        
        comment_ = getDefaultInstance().getComment();
        onChanged();
        return this;
      }
      /**
       * <code>string comment = 6;</code>
       * @param value The bytes for comment to set.
       * @return This builder for chaining.
       */
      public Builder setCommentBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        comment_ = value;
        onChanged();
        return this;
      }

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

      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> taskOptions_;
      private com.google.protobuf.MapField<java.lang.String, java.lang.String>
      internalGetTaskOptions() {
        if (taskOptions_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              TaskOptionsDefaultEntryHolder.defaultEntry);
        }
        return taskOptions_;
      }
      private com.google.protobuf.MapField<java.lang.String, java.lang.String>
      internalGetMutableTaskOptions() {
        onChanged();;
        if (taskOptions_ == null) {
          taskOptions_ = com.google.protobuf.MapField.newMapField(
              TaskOptionsDefaultEntryHolder.defaultEntry);
        }
        if (!taskOptions_.isMutable()) {
          taskOptions_ = taskOptions_.copy();
        }
        return taskOptions_;
      }

      public int getTaskOptionsCount() {
        return internalGetTaskOptions().getMap().size();
      }
      /**
       * <code>map&lt;string, string&gt; task_options = 8;</code>
       */

      @java.lang.Override
      public boolean containsTaskOptions(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetTaskOptions().getMap().containsKey(key);
      }
      /**
       * Use {@link #getTaskOptionsMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String> getTaskOptions() {
        return getTaskOptionsMap();
      }
      /**
       * <code>map&lt;string, string&gt; task_options = 8;</code>
       */
      @java.lang.Override

      public java.util.Map<java.lang.String, java.lang.String> getTaskOptionsMap() {
        return internalGetTaskOptions().getMap();
      }
      /**
       * <code>map&lt;string, string&gt; task_options = 8;</code>
       */
      @java.lang.Override

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

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

      public Builder clearTaskOptions() {
        internalGetMutableTaskOptions().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <code>map&lt;string, string&gt; task_options = 8;</code>
       */

      public Builder removeTaskOptions(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        internalGetMutableTaskOptions().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String>
      getMutableTaskOptions() {
        return internalGetMutableTaskOptions().getMutableMap();
      }
      /**
       * <code>map&lt;string, string&gt; task_options = 8;</code>
       */
      public Builder putTaskOptions(
          java.lang.String key,
          java.lang.String value) {
        if (key == null) { throw new NullPointerException("map key"); }
        if (value == null) {
  throw new NullPointerException("map value");
}

        internalGetMutableTaskOptions().getMutableMap()
            .put(key, value);
        return this;
      }
      /**
       * <code>map&lt;string, string&gt; task_options = 8;</code>
       */

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

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


      // @@protoc_insertion_point(builder_scope:greptime.v1.flow.CreateRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.flow.CreateRequest)
    private static final io.greptime.v1.flow.Server.CreateRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.flow.Server.CreateRequest();
    }

    public static io.greptime.v1.flow.Server.CreateRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<CreateRequest>
        PARSER = new com.google.protobuf.AbstractParser<CreateRequest>() {
      @java.lang.Override
      public CreateRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CreateRequest(input, extensionRegistry);
      }
    };

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

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

    @java.lang.Override
    public io.greptime.v1.flow.Server.CreateRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RemoveRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.flow.RemoveRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
     * @return Whether the taskId field is set.
     */
    boolean hasTaskId();
    /**
     * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
     * @return The taskId.
     */
    io.greptime.v1.flow.Server.TaskId getTaskId();
    /**
     * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
     */
    io.greptime.v1.flow.Server.TaskIdOrBuilder getTaskIdOrBuilder();
  }
  /**
   * Protobuf type {@code greptime.v1.flow.RemoveRequest}
   */
  public static final class RemoveRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.flow.RemoveRequest)
      RemoveRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RemoveRequest.newBuilder() to construct.
    private RemoveRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RemoveRequest() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private RemoveRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              io.greptime.v1.flow.Server.TaskId.Builder subBuilder = null;
              if (taskId_ != null) {
                subBuilder = taskId_.toBuilder();
              }
              taskId_ = input.readMessage(io.greptime.v1.flow.Server.TaskId.parser(), extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(taskId_);
                taskId_ = subBuilder.buildPartial();
              }

              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_RemoveRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_RemoveRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.flow.Server.RemoveRequest.class, io.greptime.v1.flow.Server.RemoveRequest.Builder.class);
    }

    public static final int TASK_ID_FIELD_NUMBER = 1;
    private io.greptime.v1.flow.Server.TaskId taskId_;
    /**
     * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
     * @return Whether the taskId field is set.
     */
    @java.lang.Override
    public boolean hasTaskId() {
      return taskId_ != null;
    }
    /**
     * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
     * @return The taskId.
     */
    @java.lang.Override
    public io.greptime.v1.flow.Server.TaskId getTaskId() {
      return taskId_ == null ? io.greptime.v1.flow.Server.TaskId.getDefaultInstance() : taskId_;
    }
    /**
     * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
     */
    @java.lang.Override
    public io.greptime.v1.flow.Server.TaskIdOrBuilder getTaskIdOrBuilder() {
      return getTaskId();
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (taskId_ != null) {
        output.writeMessage(1, getTaskId());
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (taskId_ != null) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getTaskId());
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.flow.Server.RemoveRequest)) {
        return super.equals(obj);
      }
      io.greptime.v1.flow.Server.RemoveRequest other = (io.greptime.v1.flow.Server.RemoveRequest) obj;

      if (hasTaskId() != other.hasTaskId()) return false;
      if (hasTaskId()) {
        if (!getTaskId()
            .equals(other.getTaskId())) return false;
      }
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

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

    public static io.greptime.v1.flow.Server.RemoveRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.RemoveRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.RemoveRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.RemoveRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.RemoveRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.RemoveRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.RemoveRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.RemoveRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.RemoveRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.RemoveRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.RemoveRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.RemoveRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.flow.Server.RemoveRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.flow.RemoveRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.flow.RemoveRequest)
        io.greptime.v1.flow.Server.RemoveRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_RemoveRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_RemoveRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.flow.Server.RemoveRequest.class, io.greptime.v1.flow.Server.RemoveRequest.Builder.class);
      }

      // Construct using io.greptime.v1.flow.Server.RemoveRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        if (taskIdBuilder_ == null) {
          taskId_ = null;
        } else {
          taskId_ = null;
          taskIdBuilder_ = null;
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_RemoveRequest_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.RemoveRequest getDefaultInstanceForType() {
        return io.greptime.v1.flow.Server.RemoveRequest.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.RemoveRequest build() {
        io.greptime.v1.flow.Server.RemoveRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.RemoveRequest buildPartial() {
        io.greptime.v1.flow.Server.RemoveRequest result = new io.greptime.v1.flow.Server.RemoveRequest(this);
        if (taskIdBuilder_ == null) {
          result.taskId_ = taskId_;
        } else {
          result.taskId_ = taskIdBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.flow.Server.RemoveRequest) {
          return mergeFrom((io.greptime.v1.flow.Server.RemoveRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.flow.Server.RemoveRequest other) {
        if (other == io.greptime.v1.flow.Server.RemoveRequest.getDefaultInstance()) return this;
        if (other.hasTaskId()) {
          mergeTaskId(other.getTaskId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.flow.Server.RemoveRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.flow.Server.RemoveRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private io.greptime.v1.flow.Server.TaskId taskId_;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.flow.Server.TaskId, io.greptime.v1.flow.Server.TaskId.Builder, io.greptime.v1.flow.Server.TaskIdOrBuilder> taskIdBuilder_;
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       * @return Whether the taskId field is set.
       */
      public boolean hasTaskId() {
        return taskIdBuilder_ != null || taskId_ != null;
      }
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       * @return The taskId.
       */
      public io.greptime.v1.flow.Server.TaskId getTaskId() {
        if (taskIdBuilder_ == null) {
          return taskId_ == null ? io.greptime.v1.flow.Server.TaskId.getDefaultInstance() : taskId_;
        } else {
          return taskIdBuilder_.getMessage();
        }
      }
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       */
      public Builder setTaskId(io.greptime.v1.flow.Server.TaskId value) {
        if (taskIdBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          taskId_ = value;
          onChanged();
        } else {
          taskIdBuilder_.setMessage(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       */
      public Builder setTaskId(
          io.greptime.v1.flow.Server.TaskId.Builder builderForValue) {
        if (taskIdBuilder_ == null) {
          taskId_ = builderForValue.build();
          onChanged();
        } else {
          taskIdBuilder_.setMessage(builderForValue.build());
        }

        return this;
      }
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       */
      public Builder mergeTaskId(io.greptime.v1.flow.Server.TaskId value) {
        if (taskIdBuilder_ == null) {
          if (taskId_ != null) {
            taskId_ =
              io.greptime.v1.flow.Server.TaskId.newBuilder(taskId_).mergeFrom(value).buildPartial();
          } else {
            taskId_ = value;
          }
          onChanged();
        } else {
          taskIdBuilder_.mergeFrom(value);
        }

        return this;
      }
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       */
      public Builder clearTaskId() {
        if (taskIdBuilder_ == null) {
          taskId_ = null;
          onChanged();
        } else {
          taskId_ = null;
          taskIdBuilder_ = null;
        }

        return this;
      }
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       */
      public io.greptime.v1.flow.Server.TaskId.Builder getTaskIdBuilder() {
        
        onChanged();
        return getTaskIdFieldBuilder().getBuilder();
      }
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       */
      public io.greptime.v1.flow.Server.TaskIdOrBuilder getTaskIdOrBuilder() {
        if (taskIdBuilder_ != null) {
          return taskIdBuilder_.getMessageOrBuilder();
        } else {
          return taskId_ == null ?
              io.greptime.v1.flow.Server.TaskId.getDefaultInstance() : taskId_;
        }
      }
      /**
       * <code>.greptime.v1.flow.TaskId task_id = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.greptime.v1.flow.Server.TaskId, io.greptime.v1.flow.Server.TaskId.Builder, io.greptime.v1.flow.Server.TaskIdOrBuilder> 
          getTaskIdFieldBuilder() {
        if (taskIdBuilder_ == null) {
          taskIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.greptime.v1.flow.Server.TaskId, io.greptime.v1.flow.Server.TaskId.Builder, io.greptime.v1.flow.Server.TaskIdOrBuilder>(
                  getTaskId(),
                  getParentForChildren(),
                  isClean());
          taskId_ = null;
        }
        return taskIdBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:greptime.v1.flow.RemoveRequest)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.flow.RemoveRequest)
    private static final io.greptime.v1.flow.Server.RemoveRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.flow.Server.RemoveRequest();
    }

    public static io.greptime.v1.flow.Server.RemoveRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<RemoveRequest>
        PARSER = new com.google.protobuf.AbstractParser<RemoveRequest>() {
      @java.lang.Override
      public RemoveRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RemoveRequest(input, extensionRegistry);
      }
    };

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

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

    @java.lang.Override
    public io.greptime.v1.flow.Server.RemoveRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface TaskIdOrBuilder extends
      // @@protoc_insertion_point(interface_extends:greptime.v1.flow.TaskId)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>uint32 id = 1;</code>
     * @return The id.
     */
    int getId();
  }
  /**
   * Protobuf type {@code greptime.v1.flow.TaskId}
   */
  public static final class TaskId extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:greptime.v1.flow.TaskId)
      TaskIdOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use TaskId.newBuilder() to construct.
    private TaskId(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private TaskId() {
    }

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

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private TaskId(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              id_ = input.readUInt32();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (com.google.protobuf.UninitializedMessageException e) {
        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_TaskId_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_TaskId_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.greptime.v1.flow.Server.TaskId.class, io.greptime.v1.flow.Server.TaskId.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private int id_;
    /**
     * <code>uint32 id = 1;</code>
     * @return The id.
     */
    @java.lang.Override
    public int getId() {
      return id_;
    }

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

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0) {
        output.writeUInt32(1, id_);
      }
      unknownFields.writeTo(output);
    }

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

      size = 0;
      if (id_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, id_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.greptime.v1.flow.Server.TaskId)) {
        return super.equals(obj);
      }
      io.greptime.v1.flow.Server.TaskId other = (io.greptime.v1.flow.Server.TaskId) obj;

      if (getId()
          != other.getId()) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

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

    public static io.greptime.v1.flow.Server.TaskId parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.TaskId parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.TaskId parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.TaskId parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.TaskId parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.greptime.v1.flow.Server.TaskId parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.TaskId parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.TaskId parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.TaskId parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.TaskId parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.greptime.v1.flow.Server.TaskId parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.greptime.v1.flow.Server.TaskId parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.greptime.v1.flow.Server.TaskId prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code greptime.v1.flow.TaskId}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:greptime.v1.flow.TaskId)
        io.greptime.v1.flow.Server.TaskIdOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_TaskId_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_TaskId_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.greptime.v1.flow.Server.TaskId.class, io.greptime.v1.flow.Server.TaskId.Builder.class);
      }

      // Construct using io.greptime.v1.flow.Server.TaskId.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        id_ = 0;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.greptime.v1.flow.Server.internal_static_greptime_v1_flow_TaskId_descriptor;
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.TaskId getDefaultInstanceForType() {
        return io.greptime.v1.flow.Server.TaskId.getDefaultInstance();
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.TaskId build() {
        io.greptime.v1.flow.Server.TaskId result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.greptime.v1.flow.Server.TaskId buildPartial() {
        io.greptime.v1.flow.Server.TaskId result = new io.greptime.v1.flow.Server.TaskId(this);
        result.id_ = id_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.greptime.v1.flow.Server.TaskId) {
          return mergeFrom((io.greptime.v1.flow.Server.TaskId)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.greptime.v1.flow.Server.TaskId other) {
        if (other == io.greptime.v1.flow.Server.TaskId.getDefaultInstance()) return this;
        if (other.getId() != 0) {
          setId(other.getId());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

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

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        io.greptime.v1.flow.Server.TaskId parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (io.greptime.v1.flow.Server.TaskId) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int id_ ;
      /**
       * <code>uint32 id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public int getId() {
        return id_;
      }
      /**
       * <code>uint32 id = 1;</code>
       * @param value The id to set.
       * @return This builder for chaining.
       */
      public Builder setId(int value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>uint32 id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearId() {
        
        id_ = 0;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

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


      // @@protoc_insertion_point(builder_scope:greptime.v1.flow.TaskId)
    }

    // @@protoc_insertion_point(class_scope:greptime.v1.flow.TaskId)
    private static final io.greptime.v1.flow.Server.TaskId DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.greptime.v1.flow.Server.TaskId();
    }

    public static io.greptime.v1.flow.Server.TaskId getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<TaskId>
        PARSER = new com.google.protobuf.AbstractParser<TaskId>() {
      @java.lang.Override
      public TaskId parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new TaskId(input, extensionRegistry);
      }
    };

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

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

    @java.lang.Override
    public io.greptime.v1.flow.Server.TaskId getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_flow_InsertRequests_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_flow_InsertRequests_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_flow_InsertRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_flow_InsertRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_flow_FlowRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_flow_FlowRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_flow_FlowResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_flow_FlowResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_flow_FlowResponse_ExtensionEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_flow_FlowResponse_ExtensionEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_flow_CreateRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_flow_CreateRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_flow_CreateRequest_TaskOptionsEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_flow_CreateRequest_TaskOptionsEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_flow_RemoveRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_flow_RemoveRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_greptime_v1_flow_TaskId_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_greptime_v1_flow_TaskId_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\035greptime/v1/flow/server.proto\022\020greptim" +
      "e.v1.flow\032\030greptime/v1/common.proto\032\025gre" +
      "ptime/v1/ddl.proto\032\025greptime/v1/row.prot" +
      "o\"C\n\016InsertRequests\0221\n\010requests\030\001 \003(\0132\037." +
      "greptime.v1.flow.InsertRequest\"C\n\rInsert" +
      "Request\022\021\n\tregion_id\030\001 \001(\004\022\037\n\004rows\030\002 \001(\013" +
      "2\021.greptime.v1.Rows\"{\n\013FlowRequest\0221\n\006cr" +
      "eate\030\001 \001(\0132\037.greptime.v1.flow.CreateRequ" +
      "estH\000\0221\n\006remove\030\002 \001(\0132\037.greptime.v1.flow" +
      ".RemoveRequestH\000B\006\n\004body\"\370\001\n\014FlowRespons" +
      "e\022+\n\006header\030\001 \001(\0132\033.greptime.v1.Response" +
      "Header\022\025\n\raffected_rows\030\002 \001(\004\022@\n\textensi" +
      "on\030\003 \003(\0132-.greptime.v1.flow.FlowResponse" +
      ".ExtensionEntry\0220\n\016affected_tasks\030\004 \003(\0132" +
      "\030.greptime.v1.flow.TaskId\0320\n\016ExtensionEn" +
      "try\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\014:\0028\001\"\344\002\n\r" +
      "CreateRequest\022)\n\007task_id\030\001 \001(\0132\030.greptim" +
      "e.v1.flow.TaskId\022.\n\020source_table_ids\030\002 \003" +
      "(\0132\024.greptime.v1.TableId\022+\n\rsink_table_i" +
      "d\030\003 \001(\0132\024.greptime.v1.TableId\022\034\n\024create_" +
      "if_not_exists\030\004 \001(\010\022\023\n\013expire_when\030\005 \001(\t" +
      "\022\017\n\007comment\030\006 \001(\t\022\013\n\003sql\030\007 \001(\t\022F\n\014task_o" +
      "ptions\030\010 \003(\01320.greptime.v1.flow.CreateRe" +
      "quest.TaskOptionsEntry\0322\n\020TaskOptionsEnt" +
      "ry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\":\n\rRe" +
      "moveRequest\022)\n\007task_id\030\001 \001(\0132\030.greptime." +
      "v1.flow.TaskId\"\024\n\006TaskId\022\n\n\002id\030\001 \001(\r2\264\001\n" +
      "\004Flow\022S\n\022HandleCreateRemove\022\035.greptime.v" +
      "1.flow.FlowRequest\032\036.greptime.v1.flow.Fl" +
      "owResponse\022W\n\023HandleMirrorRequest\022 .grep" +
      "time.v1.flow.InsertRequests\032\036.greptime.v" +
      "1.flow.FlowResponseBY\n\023io.greptime.v1.fl" +
      "owB\006ServerZ:github.com/GreptimeTeam/grep" +
      "time-proto/go/greptime/v1/flowb\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          io.greptime.v1.Common.getDescriptor(),
          io.greptime.v1.Ddl.getDescriptor(),
          io.greptime.v1.RowData.getDescriptor(),
        });
    internal_static_greptime_v1_flow_InsertRequests_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_greptime_v1_flow_InsertRequests_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_flow_InsertRequests_descriptor,
        new java.lang.String[] { "Requests", });
    internal_static_greptime_v1_flow_InsertRequest_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_greptime_v1_flow_InsertRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_flow_InsertRequest_descriptor,
        new java.lang.String[] { "RegionId", "Rows", });
    internal_static_greptime_v1_flow_FlowRequest_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_greptime_v1_flow_FlowRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_flow_FlowRequest_descriptor,
        new java.lang.String[] { "Create", "Remove", "Body", });
    internal_static_greptime_v1_flow_FlowResponse_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_greptime_v1_flow_FlowResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_flow_FlowResponse_descriptor,
        new java.lang.String[] { "Header", "AffectedRows", "Extension", "AffectedTasks", });
    internal_static_greptime_v1_flow_FlowResponse_ExtensionEntry_descriptor =
      internal_static_greptime_v1_flow_FlowResponse_descriptor.getNestedTypes().get(0);
    internal_static_greptime_v1_flow_FlowResponse_ExtensionEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_flow_FlowResponse_ExtensionEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_greptime_v1_flow_CreateRequest_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_greptime_v1_flow_CreateRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_flow_CreateRequest_descriptor,
        new java.lang.String[] { "TaskId", "SourceTableIds", "SinkTableId", "CreateIfNotExists", "ExpireWhen", "Comment", "Sql", "TaskOptions", });
    internal_static_greptime_v1_flow_CreateRequest_TaskOptionsEntry_descriptor =
      internal_static_greptime_v1_flow_CreateRequest_descriptor.getNestedTypes().get(0);
    internal_static_greptime_v1_flow_CreateRequest_TaskOptionsEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_flow_CreateRequest_TaskOptionsEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_greptime_v1_flow_RemoveRequest_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_greptime_v1_flow_RemoveRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_flow_RemoveRequest_descriptor,
        new java.lang.String[] { "TaskId", });
    internal_static_greptime_v1_flow_TaskId_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_greptime_v1_flow_TaskId_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_greptime_v1_flow_TaskId_descriptor,
        new java.lang.String[] { "Id", });
    io.greptime.v1.Common.getDescriptor();
    io.greptime.v1.Ddl.getDescriptor();
    io.greptime.v1.RowData.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
