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

#ifndef GOOGLE_PROTOBUF_INCLUDED_mysqlx_5fresultset_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_mysqlx_5fresultset_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3021000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3021012 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_bases.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/generated_enum_reflection.h>
#include <google/protobuf/unknown_field_set.h>
#include "mysqlx.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_mysqlx_5fresultset_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_mysqlx_5fresultset_2eproto {
  static const uint32_t offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_mysqlx_5fresultset_2eproto;
namespace Mysqlx {
namespace Resultset {
class ColumnMetaData;
struct ColumnMetaDataDefaultTypeInternal;
extern ColumnMetaDataDefaultTypeInternal _ColumnMetaData_default_instance_;
class FetchDone;
struct FetchDoneDefaultTypeInternal;
extern FetchDoneDefaultTypeInternal _FetchDone_default_instance_;
class FetchDoneMoreOutParams;
struct FetchDoneMoreOutParamsDefaultTypeInternal;
extern FetchDoneMoreOutParamsDefaultTypeInternal _FetchDoneMoreOutParams_default_instance_;
class FetchDoneMoreResultsets;
struct FetchDoneMoreResultsetsDefaultTypeInternal;
extern FetchDoneMoreResultsetsDefaultTypeInternal _FetchDoneMoreResultsets_default_instance_;
class FetchSuspended;
struct FetchSuspendedDefaultTypeInternal;
extern FetchSuspendedDefaultTypeInternal _FetchSuspended_default_instance_;
class Row;
struct RowDefaultTypeInternal;
extern RowDefaultTypeInternal _Row_default_instance_;
}  // namespace Resultset
}  // namespace Mysqlx
PROTOBUF_NAMESPACE_OPEN
template<> ::Mysqlx::Resultset::ColumnMetaData* Arena::CreateMaybeMessage<::Mysqlx::Resultset::ColumnMetaData>(Arena*);
template<> ::Mysqlx::Resultset::FetchDone* Arena::CreateMaybeMessage<::Mysqlx::Resultset::FetchDone>(Arena*);
template<> ::Mysqlx::Resultset::FetchDoneMoreOutParams* Arena::CreateMaybeMessage<::Mysqlx::Resultset::FetchDoneMoreOutParams>(Arena*);
template<> ::Mysqlx::Resultset::FetchDoneMoreResultsets* Arena::CreateMaybeMessage<::Mysqlx::Resultset::FetchDoneMoreResultsets>(Arena*);
template<> ::Mysqlx::Resultset::FetchSuspended* Arena::CreateMaybeMessage<::Mysqlx::Resultset::FetchSuspended>(Arena*);
template<> ::Mysqlx::Resultset::Row* Arena::CreateMaybeMessage<::Mysqlx::Resultset::Row>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace Mysqlx {
namespace Resultset {

enum ColumnMetaData_FieldType : int {
  ColumnMetaData_FieldType_SINT = 1,
  ColumnMetaData_FieldType_UINT = 2,
  ColumnMetaData_FieldType_DOUBLE = 5,
  ColumnMetaData_FieldType_FLOAT = 6,
  ColumnMetaData_FieldType_BYTES = 7,
  ColumnMetaData_FieldType_TIME = 10,
  ColumnMetaData_FieldType_DATETIME = 12,
  ColumnMetaData_FieldType_SET = 15,
  ColumnMetaData_FieldType_ENUM = 16,
  ColumnMetaData_FieldType_BIT = 17,
  ColumnMetaData_FieldType_DECIMAL = 18
};
bool ColumnMetaData_FieldType_IsValid(int value);
constexpr ColumnMetaData_FieldType ColumnMetaData_FieldType_FieldType_MIN = ColumnMetaData_FieldType_SINT;
constexpr ColumnMetaData_FieldType ColumnMetaData_FieldType_FieldType_MAX = ColumnMetaData_FieldType_DECIMAL;
constexpr int ColumnMetaData_FieldType_FieldType_ARRAYSIZE = ColumnMetaData_FieldType_FieldType_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ColumnMetaData_FieldType_descriptor();
template<typename T>
inline const std::string& ColumnMetaData_FieldType_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ColumnMetaData_FieldType>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ColumnMetaData_FieldType_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    ColumnMetaData_FieldType_descriptor(), enum_t_value);
}
inline bool ColumnMetaData_FieldType_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ColumnMetaData_FieldType* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<ColumnMetaData_FieldType>(
    ColumnMetaData_FieldType_descriptor(), name, value);
}
enum ContentType_BYTES : int {
  GEOMETRY = 1,
  JSON = 2,
  XML = 3
};
bool ContentType_BYTES_IsValid(int value);
constexpr ContentType_BYTES ContentType_BYTES_MIN = GEOMETRY;
constexpr ContentType_BYTES ContentType_BYTES_MAX = XML;
constexpr int ContentType_BYTES_ARRAYSIZE = ContentType_BYTES_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ContentType_BYTES_descriptor();
template<typename T>
inline const std::string& ContentType_BYTES_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ContentType_BYTES>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ContentType_BYTES_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    ContentType_BYTES_descriptor(), enum_t_value);
}
inline bool ContentType_BYTES_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ContentType_BYTES* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<ContentType_BYTES>(
    ContentType_BYTES_descriptor(), name, value);
}
enum ContentType_DATETIME : int {
  DATE = 1,
  DATETIME = 2
};
bool ContentType_DATETIME_IsValid(int value);
constexpr ContentType_DATETIME ContentType_DATETIME_MIN = DATE;
constexpr ContentType_DATETIME ContentType_DATETIME_MAX = DATETIME;
constexpr int ContentType_DATETIME_ARRAYSIZE = ContentType_DATETIME_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ContentType_DATETIME_descriptor();
template<typename T>
inline const std::string& ContentType_DATETIME_Name(T enum_t_value) {
  static_assert(::std::is_same<T, ContentType_DATETIME>::value ||
    ::std::is_integral<T>::value,
    "Incorrect type passed to function ContentType_DATETIME_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    ContentType_DATETIME_descriptor(), enum_t_value);
}
inline bool ContentType_DATETIME_Parse(
    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ContentType_DATETIME* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<ContentType_DATETIME>(
    ContentType_DATETIME_descriptor(), name, value);
}
// ===================================================================

class FetchDoneMoreOutParams final :
    public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:Mysqlx.Resultset.FetchDoneMoreOutParams) */ {
 public:
  inline FetchDoneMoreOutParams() : FetchDoneMoreOutParams(nullptr) {}
  explicit PROTOBUF_CONSTEXPR FetchDoneMoreOutParams(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  FetchDoneMoreOutParams(const FetchDoneMoreOutParams& from);
  FetchDoneMoreOutParams(FetchDoneMoreOutParams&& from) noexcept
    : FetchDoneMoreOutParams() {
    *this = ::std::move(from);
  }

  inline FetchDoneMoreOutParams& operator=(const FetchDoneMoreOutParams& from) {
    CopyFrom(from);
    return *this;
  }
  inline FetchDoneMoreOutParams& operator=(FetchDoneMoreOutParams&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const FetchDoneMoreOutParams& default_instance() {
    return *internal_default_instance();
  }
  static inline const FetchDoneMoreOutParams* internal_default_instance() {
    return reinterpret_cast<const FetchDoneMoreOutParams*>(
               &_FetchDoneMoreOutParams_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(FetchDoneMoreOutParams& a, FetchDoneMoreOutParams& b) {
    a.Swap(&b);
  }
  inline void Swap(FetchDoneMoreOutParams* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(FetchDoneMoreOutParams* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  FetchDoneMoreOutParams* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<FetchDoneMoreOutParams>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const FetchDoneMoreOutParams& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(*this, from);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const FetchDoneMoreOutParams& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(*this, from);
  }
  public:

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "Mysqlx.Resultset.FetchDoneMoreOutParams";
  }
  protected:
  explicit FetchDoneMoreOutParams(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:Mysqlx.Resultset.FetchDoneMoreOutParams)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
  };
  friend struct ::TableStruct_mysqlx_5fresultset_2eproto;
};
// -------------------------------------------------------------------

class FetchDoneMoreResultsets final :
    public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:Mysqlx.Resultset.FetchDoneMoreResultsets) */ {
 public:
  inline FetchDoneMoreResultsets() : FetchDoneMoreResultsets(nullptr) {}
  explicit PROTOBUF_CONSTEXPR FetchDoneMoreResultsets(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  FetchDoneMoreResultsets(const FetchDoneMoreResultsets& from);
  FetchDoneMoreResultsets(FetchDoneMoreResultsets&& from) noexcept
    : FetchDoneMoreResultsets() {
    *this = ::std::move(from);
  }

  inline FetchDoneMoreResultsets& operator=(const FetchDoneMoreResultsets& from) {
    CopyFrom(from);
    return *this;
  }
  inline FetchDoneMoreResultsets& operator=(FetchDoneMoreResultsets&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const FetchDoneMoreResultsets& default_instance() {
    return *internal_default_instance();
  }
  static inline const FetchDoneMoreResultsets* internal_default_instance() {
    return reinterpret_cast<const FetchDoneMoreResultsets*>(
               &_FetchDoneMoreResultsets_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(FetchDoneMoreResultsets& a, FetchDoneMoreResultsets& b) {
    a.Swap(&b);
  }
  inline void Swap(FetchDoneMoreResultsets* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(FetchDoneMoreResultsets* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  FetchDoneMoreResultsets* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<FetchDoneMoreResultsets>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const FetchDoneMoreResultsets& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(*this, from);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const FetchDoneMoreResultsets& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(*this, from);
  }
  public:

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "Mysqlx.Resultset.FetchDoneMoreResultsets";
  }
  protected:
  explicit FetchDoneMoreResultsets(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:Mysqlx.Resultset.FetchDoneMoreResultsets)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
  };
  friend struct ::TableStruct_mysqlx_5fresultset_2eproto;
};
// -------------------------------------------------------------------

class FetchDone final :
    public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:Mysqlx.Resultset.FetchDone) */ {
 public:
  inline FetchDone() : FetchDone(nullptr) {}
  explicit PROTOBUF_CONSTEXPR FetchDone(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  FetchDone(const FetchDone& from);
  FetchDone(FetchDone&& from) noexcept
    : FetchDone() {
    *this = ::std::move(from);
  }

  inline FetchDone& operator=(const FetchDone& from) {
    CopyFrom(from);
    return *this;
  }
  inline FetchDone& operator=(FetchDone&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const FetchDone& default_instance() {
    return *internal_default_instance();
  }
  static inline const FetchDone* internal_default_instance() {
    return reinterpret_cast<const FetchDone*>(
               &_FetchDone_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  friend void swap(FetchDone& a, FetchDone& b) {
    a.Swap(&b);
  }
  inline void Swap(FetchDone* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(FetchDone* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  FetchDone* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<FetchDone>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const FetchDone& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(*this, from);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const FetchDone& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(*this, from);
  }
  public:

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "Mysqlx.Resultset.FetchDone";
  }
  protected:
  explicit FetchDone(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:Mysqlx.Resultset.FetchDone)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
  };
  friend struct ::TableStruct_mysqlx_5fresultset_2eproto;
};
// -------------------------------------------------------------------

class FetchSuspended final :
    public ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase /* @@protoc_insertion_point(class_definition:Mysqlx.Resultset.FetchSuspended) */ {
 public:
  inline FetchSuspended() : FetchSuspended(nullptr) {}
  explicit PROTOBUF_CONSTEXPR FetchSuspended(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  FetchSuspended(const FetchSuspended& from);
  FetchSuspended(FetchSuspended&& from) noexcept
    : FetchSuspended() {
    *this = ::std::move(from);
  }

  inline FetchSuspended& operator=(const FetchSuspended& from) {
    CopyFrom(from);
    return *this;
  }
  inline FetchSuspended& operator=(FetchSuspended&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const FetchSuspended& default_instance() {
    return *internal_default_instance();
  }
  static inline const FetchSuspended* internal_default_instance() {
    return reinterpret_cast<const FetchSuspended*>(
               &_FetchSuspended_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(FetchSuspended& a, FetchSuspended& b) {
    a.Swap(&b);
  }
  inline void Swap(FetchSuspended* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(FetchSuspended* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  FetchSuspended* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<FetchSuspended>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyFrom;
  inline void CopyFrom(const FetchSuspended& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::CopyImpl(*this, from);
  }
  using ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeFrom;
  void MergeFrom(const FetchSuspended& from) {
    ::PROTOBUF_NAMESPACE_ID::internal::ZeroFieldsBase::MergeImpl(*this, from);
  }
  public:

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "Mysqlx.Resultset.FetchSuspended";
  }
  protected:
  explicit FetchSuspended(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // @@protoc_insertion_point(class_scope:Mysqlx.Resultset.FetchSuspended)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
  };
  friend struct ::TableStruct_mysqlx_5fresultset_2eproto;
};
// -------------------------------------------------------------------

class ColumnMetaData final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Mysqlx.Resultset.ColumnMetaData) */ {
 public:
  inline ColumnMetaData() : ColumnMetaData(nullptr) {}
  ~ColumnMetaData() override;
  explicit PROTOBUF_CONSTEXPR ColumnMetaData(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  ColumnMetaData(const ColumnMetaData& from);
  ColumnMetaData(ColumnMetaData&& from) noexcept
    : ColumnMetaData() {
    *this = ::std::move(from);
  }

  inline ColumnMetaData& operator=(const ColumnMetaData& from) {
    CopyFrom(from);
    return *this;
  }
  inline ColumnMetaData& operator=(ColumnMetaData&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const ColumnMetaData& default_instance() {
    return *internal_default_instance();
  }
  static inline const ColumnMetaData* internal_default_instance() {
    return reinterpret_cast<const ColumnMetaData*>(
               &_ColumnMetaData_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  friend void swap(ColumnMetaData& a, ColumnMetaData& b) {
    a.Swap(&b);
  }
  inline void Swap(ColumnMetaData* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(ColumnMetaData* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  ColumnMetaData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<ColumnMetaData>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const ColumnMetaData& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const ColumnMetaData& from) {
    ColumnMetaData::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(ColumnMetaData* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "Mysqlx.Resultset.ColumnMetaData";
  }
  protected:
  explicit ColumnMetaData(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  typedef ColumnMetaData_FieldType FieldType;
  static constexpr FieldType SINT =
    ColumnMetaData_FieldType_SINT;
  static constexpr FieldType UINT =
    ColumnMetaData_FieldType_UINT;
  static constexpr FieldType DOUBLE =
    ColumnMetaData_FieldType_DOUBLE;
  static constexpr FieldType FLOAT =
    ColumnMetaData_FieldType_FLOAT;
  static constexpr FieldType BYTES =
    ColumnMetaData_FieldType_BYTES;
  static constexpr FieldType TIME =
    ColumnMetaData_FieldType_TIME;
  static constexpr FieldType DATETIME =
    ColumnMetaData_FieldType_DATETIME;
  static constexpr FieldType SET =
    ColumnMetaData_FieldType_SET;
  static constexpr FieldType ENUM =
    ColumnMetaData_FieldType_ENUM;
  static constexpr FieldType BIT =
    ColumnMetaData_FieldType_BIT;
  static constexpr FieldType DECIMAL =
    ColumnMetaData_FieldType_DECIMAL;
  static inline bool FieldType_IsValid(int value) {
    return ColumnMetaData_FieldType_IsValid(value);
  }
  static constexpr FieldType FieldType_MIN =
    ColumnMetaData_FieldType_FieldType_MIN;
  static constexpr FieldType FieldType_MAX =
    ColumnMetaData_FieldType_FieldType_MAX;
  static constexpr int FieldType_ARRAYSIZE =
    ColumnMetaData_FieldType_FieldType_ARRAYSIZE;
  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
  FieldType_descriptor() {
    return ColumnMetaData_FieldType_descriptor();
  }
  template<typename T>
  static inline const std::string& FieldType_Name(T enum_t_value) {
    static_assert(::std::is_same<T, FieldType>::value ||
      ::std::is_integral<T>::value,
      "Incorrect type passed to function FieldType_Name.");
    return ColumnMetaData_FieldType_Name(enum_t_value);
  }
  static inline bool FieldType_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
      FieldType* value) {
    return ColumnMetaData_FieldType_Parse(name, value);
  }

  // accessors -------------------------------------------------------

  enum : int {
    kNameFieldNumber = 2,
    kOriginalNameFieldNumber = 3,
    kTableFieldNumber = 4,
    kOriginalTableFieldNumber = 5,
    kSchemaFieldNumber = 6,
    kCatalogFieldNumber = 7,
    kCollationFieldNumber = 8,
    kFractionalDigitsFieldNumber = 9,
    kLengthFieldNumber = 10,
    kFlagsFieldNumber = 11,
    kContentTypeFieldNumber = 12,
    kTypeFieldNumber = 1,
  };
  // optional bytes name = 2;
  bool has_name() const;
  private:
  bool _internal_has_name() const;
  public:
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_NODISCARD std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // optional bytes original_name = 3;
  bool has_original_name() const;
  private:
  bool _internal_has_original_name() const;
  public:
  void clear_original_name();
  const std::string& original_name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_original_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_original_name();
  PROTOBUF_NODISCARD std::string* release_original_name();
  void set_allocated_original_name(std::string* original_name);
  private:
  const std::string& _internal_original_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_original_name(const std::string& value);
  std::string* _internal_mutable_original_name();
  public:

  // optional bytes table = 4;
  bool has_table() const;
  private:
  bool _internal_has_table() const;
  public:
  void clear_table();
  const std::string& table() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_table(ArgT0&& arg0, ArgT... args);
  std::string* mutable_table();
  PROTOBUF_NODISCARD std::string* release_table();
  void set_allocated_table(std::string* table);
  private:
  const std::string& _internal_table() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_table(const std::string& value);
  std::string* _internal_mutable_table();
  public:

  // optional bytes original_table = 5;
  bool has_original_table() const;
  private:
  bool _internal_has_original_table() const;
  public:
  void clear_original_table();
  const std::string& original_table() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_original_table(ArgT0&& arg0, ArgT... args);
  std::string* mutable_original_table();
  PROTOBUF_NODISCARD std::string* release_original_table();
  void set_allocated_original_table(std::string* original_table);
  private:
  const std::string& _internal_original_table() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_original_table(const std::string& value);
  std::string* _internal_mutable_original_table();
  public:

  // optional bytes schema = 6;
  bool has_schema() const;
  private:
  bool _internal_has_schema() const;
  public:
  void clear_schema();
  const std::string& schema() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_schema(ArgT0&& arg0, ArgT... args);
  std::string* mutable_schema();
  PROTOBUF_NODISCARD std::string* release_schema();
  void set_allocated_schema(std::string* schema);
  private:
  const std::string& _internal_schema() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_schema(const std::string& value);
  std::string* _internal_mutable_schema();
  public:

  // optional bytes catalog = 7;
  bool has_catalog() const;
  private:
  bool _internal_has_catalog() const;
  public:
  void clear_catalog();
  const std::string& catalog() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_catalog(ArgT0&& arg0, ArgT... args);
  std::string* mutable_catalog();
  PROTOBUF_NODISCARD std::string* release_catalog();
  void set_allocated_catalog(std::string* catalog);
  private:
  const std::string& _internal_catalog() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_catalog(const std::string& value);
  std::string* _internal_mutable_catalog();
  public:

  // optional uint64 collation = 8;
  bool has_collation() const;
  private:
  bool _internal_has_collation() const;
  public:
  void clear_collation();
  uint64_t collation() const;
  void set_collation(uint64_t value);
  private:
  uint64_t _internal_collation() const;
  void _internal_set_collation(uint64_t value);
  public:

  // optional uint32 fractional_digits = 9;
  bool has_fractional_digits() const;
  private:
  bool _internal_has_fractional_digits() const;
  public:
  void clear_fractional_digits();
  uint32_t fractional_digits() const;
  void set_fractional_digits(uint32_t value);
  private:
  uint32_t _internal_fractional_digits() const;
  void _internal_set_fractional_digits(uint32_t value);
  public:

  // optional uint32 length = 10;
  bool has_length() const;
  private:
  bool _internal_has_length() const;
  public:
  void clear_length();
  uint32_t length() const;
  void set_length(uint32_t value);
  private:
  uint32_t _internal_length() const;
  void _internal_set_length(uint32_t value);
  public:

  // optional uint32 flags = 11;
  bool has_flags() const;
  private:
  bool _internal_has_flags() const;
  public:
  void clear_flags();
  uint32_t flags() const;
  void set_flags(uint32_t value);
  private:
  uint32_t _internal_flags() const;
  void _internal_set_flags(uint32_t value);
  public:

  // optional uint32 content_type = 12;
  bool has_content_type() const;
  private:
  bool _internal_has_content_type() const;
  public:
  void clear_content_type();
  uint32_t content_type() const;
  void set_content_type(uint32_t value);
  private:
  uint32_t _internal_content_type() const;
  void _internal_set_content_type(uint32_t value);
  public:

  // required .Mysqlx.Resultset.ColumnMetaData.FieldType type = 1;
  bool has_type() const;
  private:
  bool _internal_has_type() const;
  public:
  void clear_type();
  ::Mysqlx::Resultset::ColumnMetaData_FieldType type() const;
  void set_type(::Mysqlx::Resultset::ColumnMetaData_FieldType value);
  private:
  ::Mysqlx::Resultset::ColumnMetaData_FieldType _internal_type() const;
  void _internal_set_type(::Mysqlx::Resultset::ColumnMetaData_FieldType value);
  public:

  // @@protoc_insertion_point(class_scope:Mysqlx.Resultset.ColumnMetaData)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr original_name_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr table_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr original_table_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr schema_;
    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr catalog_;
    uint64_t collation_;
    uint32_t fractional_digits_;
    uint32_t length_;
    uint32_t flags_;
    uint32_t content_type_;
    int type_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_mysqlx_5fresultset_2eproto;
};
// -------------------------------------------------------------------

class Row final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Mysqlx.Resultset.Row) */ {
 public:
  inline Row() : Row(nullptr) {}
  ~Row() override;
  explicit PROTOBUF_CONSTEXPR Row(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  Row(const Row& from);
  Row(Row&& from) noexcept
    : Row() {
    *this = ::std::move(from);
  }

  inline Row& operator=(const Row& from) {
    CopyFrom(from);
    return *this;
  }
  inline Row& operator=(Row&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Row& default_instance() {
    return *internal_default_instance();
  }
  static inline const Row* internal_default_instance() {
    return reinterpret_cast<const Row*>(
               &_Row_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  friend void swap(Row& a, Row& b) {
    a.Swap(&b);
  }
  inline void Swap(Row* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Row* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  Row* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
    return CreateMaybeMessage<Row>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const Row& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom( const Row& from) {
    Row::MergeImpl(*this, from);
  }
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  uint8_t* _InternalSerialize(
      uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _impl_._cached_size_.Get(); }

  private:
  void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Row* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "Mysqlx.Resultset.Row";
  }
  protected:
  explicit Row(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kFieldFieldNumber = 1,
  };
  // repeated bytes field = 1;
  int field_size() const;
  private:
  int _internal_field_size() const;
  public:
  void clear_field();
  const std::string& field(int index) const;
  std::string* mutable_field(int index);
  void set_field(int index, const std::string& value);
  void set_field(int index, std::string&& value);
  void set_field(int index, const char* value);
  void set_field(int index, const void* value, size_t size);
  std::string* add_field();
  void add_field(const std::string& value);
  void add_field(std::string&& value);
  void add_field(const char* value);
  void add_field(const void* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& field() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_field();
  private:
  const std::string& _internal_field(int index) const;
  std::string* _internal_add_field();
  public:

  // @@protoc_insertion_point(class_scope:Mysqlx.Resultset.Row)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  struct Impl_ {
    ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> field_;
    mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  };
  union { Impl_ _impl_; };
  friend struct ::TableStruct_mysqlx_5fresultset_2eproto;
};
// ===================================================================


// ===================================================================

#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// FetchDoneMoreOutParams

// -------------------------------------------------------------------

// FetchDoneMoreResultsets

// -------------------------------------------------------------------

// FetchDone

// -------------------------------------------------------------------

// FetchSuspended

// -------------------------------------------------------------------

// ColumnMetaData

// required .Mysqlx.Resultset.ColumnMetaData.FieldType type = 1;
inline bool ColumnMetaData::_internal_has_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000800u) != 0;
  return value;
}
inline bool ColumnMetaData::has_type() const {
  return _internal_has_type();
}
inline void ColumnMetaData::clear_type() {
  _impl_.type_ = 1;
  _impl_._has_bits_[0] &= ~0x00000800u;
}
inline ::Mysqlx::Resultset::ColumnMetaData_FieldType ColumnMetaData::_internal_type() const {
  return static_cast< ::Mysqlx::Resultset::ColumnMetaData_FieldType >(_impl_.type_);
}
inline ::Mysqlx::Resultset::ColumnMetaData_FieldType ColumnMetaData::type() const {
  // @@protoc_insertion_point(field_get:Mysqlx.Resultset.ColumnMetaData.type)
  return _internal_type();
}
inline void ColumnMetaData::_internal_set_type(::Mysqlx::Resultset::ColumnMetaData_FieldType value) {
  assert(::Mysqlx::Resultset::ColumnMetaData_FieldType_IsValid(value));
  _impl_._has_bits_[0] |= 0x00000800u;
  _impl_.type_ = value;
}
inline void ColumnMetaData::set_type(::Mysqlx::Resultset::ColumnMetaData_FieldType value) {
  _internal_set_type(value);
  // @@protoc_insertion_point(field_set:Mysqlx.Resultset.ColumnMetaData.type)
}

// optional bytes name = 2;
inline bool ColumnMetaData::_internal_has_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool ColumnMetaData::has_name() const {
  return _internal_has_name();
}
inline void ColumnMetaData::clear_name() {
  _impl_.name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000001u;
}
inline const std::string& ColumnMetaData::name() const {
  // @@protoc_insertion_point(field_get:Mysqlx.Resultset.ColumnMetaData.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ColumnMetaData::set_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000001u;
 _impl_.name_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Mysqlx.Resultset.ColumnMetaData.name)
}
inline std::string* ColumnMetaData::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:Mysqlx.Resultset.ColumnMetaData.name)
  return _s;
}
inline const std::string& ColumnMetaData::_internal_name() const {
  return _impl_.name_.Get();
}
inline void ColumnMetaData::_internal_set_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000001u;
  _impl_.name_.Set(value, GetArenaForAllocation());
}
inline std::string* ColumnMetaData::_internal_mutable_name() {
  _impl_._has_bits_[0] |= 0x00000001u;
  return _impl_.name_.Mutable(GetArenaForAllocation());
}
inline std::string* ColumnMetaData::release_name() {
  // @@protoc_insertion_point(field_release:Mysqlx.Resultset.ColumnMetaData.name)
  if (!_internal_has_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000001u;
  auto* p = _impl_.name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ColumnMetaData::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000001u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000001u;
  }
  _impl_.name_.SetAllocated(name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.name_.IsDefault()) {
    _impl_.name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Mysqlx.Resultset.ColumnMetaData.name)
}

// optional bytes original_name = 3;
inline bool ColumnMetaData::_internal_has_original_name() const {
  bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool ColumnMetaData::has_original_name() const {
  return _internal_has_original_name();
}
inline void ColumnMetaData::clear_original_name() {
  _impl_.original_name_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000002u;
}
inline const std::string& ColumnMetaData::original_name() const {
  // @@protoc_insertion_point(field_get:Mysqlx.Resultset.ColumnMetaData.original_name)
  return _internal_original_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ColumnMetaData::set_original_name(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000002u;
 _impl_.original_name_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Mysqlx.Resultset.ColumnMetaData.original_name)
}
inline std::string* ColumnMetaData::mutable_original_name() {
  std::string* _s = _internal_mutable_original_name();
  // @@protoc_insertion_point(field_mutable:Mysqlx.Resultset.ColumnMetaData.original_name)
  return _s;
}
inline const std::string& ColumnMetaData::_internal_original_name() const {
  return _impl_.original_name_.Get();
}
inline void ColumnMetaData::_internal_set_original_name(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000002u;
  _impl_.original_name_.Set(value, GetArenaForAllocation());
}
inline std::string* ColumnMetaData::_internal_mutable_original_name() {
  _impl_._has_bits_[0] |= 0x00000002u;
  return _impl_.original_name_.Mutable(GetArenaForAllocation());
}
inline std::string* ColumnMetaData::release_original_name() {
  // @@protoc_insertion_point(field_release:Mysqlx.Resultset.ColumnMetaData.original_name)
  if (!_internal_has_original_name()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000002u;
  auto* p = _impl_.original_name_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.original_name_.IsDefault()) {
    _impl_.original_name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ColumnMetaData::set_allocated_original_name(std::string* original_name) {
  if (original_name != nullptr) {
    _impl_._has_bits_[0] |= 0x00000002u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000002u;
  }
  _impl_.original_name_.SetAllocated(original_name, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.original_name_.IsDefault()) {
    _impl_.original_name_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Mysqlx.Resultset.ColumnMetaData.original_name)
}

// optional bytes table = 4;
inline bool ColumnMetaData::_internal_has_table() const {
  bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool ColumnMetaData::has_table() const {
  return _internal_has_table();
}
inline void ColumnMetaData::clear_table() {
  _impl_.table_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000004u;
}
inline const std::string& ColumnMetaData::table() const {
  // @@protoc_insertion_point(field_get:Mysqlx.Resultset.ColumnMetaData.table)
  return _internal_table();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ColumnMetaData::set_table(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000004u;
 _impl_.table_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Mysqlx.Resultset.ColumnMetaData.table)
}
inline std::string* ColumnMetaData::mutable_table() {
  std::string* _s = _internal_mutable_table();
  // @@protoc_insertion_point(field_mutable:Mysqlx.Resultset.ColumnMetaData.table)
  return _s;
}
inline const std::string& ColumnMetaData::_internal_table() const {
  return _impl_.table_.Get();
}
inline void ColumnMetaData::_internal_set_table(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000004u;
  _impl_.table_.Set(value, GetArenaForAllocation());
}
inline std::string* ColumnMetaData::_internal_mutable_table() {
  _impl_._has_bits_[0] |= 0x00000004u;
  return _impl_.table_.Mutable(GetArenaForAllocation());
}
inline std::string* ColumnMetaData::release_table() {
  // @@protoc_insertion_point(field_release:Mysqlx.Resultset.ColumnMetaData.table)
  if (!_internal_has_table()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000004u;
  auto* p = _impl_.table_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.table_.IsDefault()) {
    _impl_.table_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ColumnMetaData::set_allocated_table(std::string* table) {
  if (table != nullptr) {
    _impl_._has_bits_[0] |= 0x00000004u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000004u;
  }
  _impl_.table_.SetAllocated(table, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.table_.IsDefault()) {
    _impl_.table_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Mysqlx.Resultset.ColumnMetaData.table)
}

// optional bytes original_table = 5;
inline bool ColumnMetaData::_internal_has_original_table() const {
  bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool ColumnMetaData::has_original_table() const {
  return _internal_has_original_table();
}
inline void ColumnMetaData::clear_original_table() {
  _impl_.original_table_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000008u;
}
inline const std::string& ColumnMetaData::original_table() const {
  // @@protoc_insertion_point(field_get:Mysqlx.Resultset.ColumnMetaData.original_table)
  return _internal_original_table();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ColumnMetaData::set_original_table(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000008u;
 _impl_.original_table_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Mysqlx.Resultset.ColumnMetaData.original_table)
}
inline std::string* ColumnMetaData::mutable_original_table() {
  std::string* _s = _internal_mutable_original_table();
  // @@protoc_insertion_point(field_mutable:Mysqlx.Resultset.ColumnMetaData.original_table)
  return _s;
}
inline const std::string& ColumnMetaData::_internal_original_table() const {
  return _impl_.original_table_.Get();
}
inline void ColumnMetaData::_internal_set_original_table(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000008u;
  _impl_.original_table_.Set(value, GetArenaForAllocation());
}
inline std::string* ColumnMetaData::_internal_mutable_original_table() {
  _impl_._has_bits_[0] |= 0x00000008u;
  return _impl_.original_table_.Mutable(GetArenaForAllocation());
}
inline std::string* ColumnMetaData::release_original_table() {
  // @@protoc_insertion_point(field_release:Mysqlx.Resultset.ColumnMetaData.original_table)
  if (!_internal_has_original_table()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000008u;
  auto* p = _impl_.original_table_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.original_table_.IsDefault()) {
    _impl_.original_table_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ColumnMetaData::set_allocated_original_table(std::string* original_table) {
  if (original_table != nullptr) {
    _impl_._has_bits_[0] |= 0x00000008u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000008u;
  }
  _impl_.original_table_.SetAllocated(original_table, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.original_table_.IsDefault()) {
    _impl_.original_table_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Mysqlx.Resultset.ColumnMetaData.original_table)
}

// optional bytes schema = 6;
inline bool ColumnMetaData::_internal_has_schema() const {
  bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool ColumnMetaData::has_schema() const {
  return _internal_has_schema();
}
inline void ColumnMetaData::clear_schema() {
  _impl_.schema_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000010u;
}
inline const std::string& ColumnMetaData::schema() const {
  // @@protoc_insertion_point(field_get:Mysqlx.Resultset.ColumnMetaData.schema)
  return _internal_schema();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ColumnMetaData::set_schema(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000010u;
 _impl_.schema_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Mysqlx.Resultset.ColumnMetaData.schema)
}
inline std::string* ColumnMetaData::mutable_schema() {
  std::string* _s = _internal_mutable_schema();
  // @@protoc_insertion_point(field_mutable:Mysqlx.Resultset.ColumnMetaData.schema)
  return _s;
}
inline const std::string& ColumnMetaData::_internal_schema() const {
  return _impl_.schema_.Get();
}
inline void ColumnMetaData::_internal_set_schema(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000010u;
  _impl_.schema_.Set(value, GetArenaForAllocation());
}
inline std::string* ColumnMetaData::_internal_mutable_schema() {
  _impl_._has_bits_[0] |= 0x00000010u;
  return _impl_.schema_.Mutable(GetArenaForAllocation());
}
inline std::string* ColumnMetaData::release_schema() {
  // @@protoc_insertion_point(field_release:Mysqlx.Resultset.ColumnMetaData.schema)
  if (!_internal_has_schema()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000010u;
  auto* p = _impl_.schema_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.schema_.IsDefault()) {
    _impl_.schema_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ColumnMetaData::set_allocated_schema(std::string* schema) {
  if (schema != nullptr) {
    _impl_._has_bits_[0] |= 0x00000010u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000010u;
  }
  _impl_.schema_.SetAllocated(schema, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.schema_.IsDefault()) {
    _impl_.schema_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Mysqlx.Resultset.ColumnMetaData.schema)
}

// optional bytes catalog = 7;
inline bool ColumnMetaData::_internal_has_catalog() const {
  bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool ColumnMetaData::has_catalog() const {
  return _internal_has_catalog();
}
inline void ColumnMetaData::clear_catalog() {
  _impl_.catalog_.ClearToEmpty();
  _impl_._has_bits_[0] &= ~0x00000020u;
}
inline const std::string& ColumnMetaData::catalog() const {
  // @@protoc_insertion_point(field_get:Mysqlx.Resultset.ColumnMetaData.catalog)
  return _internal_catalog();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void ColumnMetaData::set_catalog(ArgT0&& arg0, ArgT... args) {
 _impl_._has_bits_[0] |= 0x00000020u;
 _impl_.catalog_.SetBytes(static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:Mysqlx.Resultset.ColumnMetaData.catalog)
}
inline std::string* ColumnMetaData::mutable_catalog() {
  std::string* _s = _internal_mutable_catalog();
  // @@protoc_insertion_point(field_mutable:Mysqlx.Resultset.ColumnMetaData.catalog)
  return _s;
}
inline const std::string& ColumnMetaData::_internal_catalog() const {
  return _impl_.catalog_.Get();
}
inline void ColumnMetaData::_internal_set_catalog(const std::string& value) {
  _impl_._has_bits_[0] |= 0x00000020u;
  _impl_.catalog_.Set(value, GetArenaForAllocation());
}
inline std::string* ColumnMetaData::_internal_mutable_catalog() {
  _impl_._has_bits_[0] |= 0x00000020u;
  return _impl_.catalog_.Mutable(GetArenaForAllocation());
}
inline std::string* ColumnMetaData::release_catalog() {
  // @@protoc_insertion_point(field_release:Mysqlx.Resultset.ColumnMetaData.catalog)
  if (!_internal_has_catalog()) {
    return nullptr;
  }
  _impl_._has_bits_[0] &= ~0x00000020u;
  auto* p = _impl_.catalog_.Release();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.catalog_.IsDefault()) {
    _impl_.catalog_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void ColumnMetaData::set_allocated_catalog(std::string* catalog) {
  if (catalog != nullptr) {
    _impl_._has_bits_[0] |= 0x00000020u;
  } else {
    _impl_._has_bits_[0] &= ~0x00000020u;
  }
  _impl_.catalog_.SetAllocated(catalog, GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (_impl_.catalog_.IsDefault()) {
    _impl_.catalog_.Set("", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:Mysqlx.Resultset.ColumnMetaData.catalog)
}

// optional uint64 collation = 8;
inline bool ColumnMetaData::_internal_has_collation() const {
  bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
  return value;
}
inline bool ColumnMetaData::has_collation() const {
  return _internal_has_collation();
}
inline void ColumnMetaData::clear_collation() {
  _impl_.collation_ = uint64_t{0u};
  _impl_._has_bits_[0] &= ~0x00000040u;
}
inline uint64_t ColumnMetaData::_internal_collation() const {
  return _impl_.collation_;
}
inline uint64_t ColumnMetaData::collation() const {
  // @@protoc_insertion_point(field_get:Mysqlx.Resultset.ColumnMetaData.collation)
  return _internal_collation();
}
inline void ColumnMetaData::_internal_set_collation(uint64_t value) {
  _impl_._has_bits_[0] |= 0x00000040u;
  _impl_.collation_ = value;
}
inline void ColumnMetaData::set_collation(uint64_t value) {
  _internal_set_collation(value);
  // @@protoc_insertion_point(field_set:Mysqlx.Resultset.ColumnMetaData.collation)
}

// optional uint32 fractional_digits = 9;
inline bool ColumnMetaData::_internal_has_fractional_digits() const {
  bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
  return value;
}
inline bool ColumnMetaData::has_fractional_digits() const {
  return _internal_has_fractional_digits();
}
inline void ColumnMetaData::clear_fractional_digits() {
  _impl_.fractional_digits_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000080u;
}
inline uint32_t ColumnMetaData::_internal_fractional_digits() const {
  return _impl_.fractional_digits_;
}
inline uint32_t ColumnMetaData::fractional_digits() const {
  // @@protoc_insertion_point(field_get:Mysqlx.Resultset.ColumnMetaData.fractional_digits)
  return _internal_fractional_digits();
}
inline void ColumnMetaData::_internal_set_fractional_digits(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000080u;
  _impl_.fractional_digits_ = value;
}
inline void ColumnMetaData::set_fractional_digits(uint32_t value) {
  _internal_set_fractional_digits(value);
  // @@protoc_insertion_point(field_set:Mysqlx.Resultset.ColumnMetaData.fractional_digits)
}

// optional uint32 length = 10;
inline bool ColumnMetaData::_internal_has_length() const {
  bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
  return value;
}
inline bool ColumnMetaData::has_length() const {
  return _internal_has_length();
}
inline void ColumnMetaData::clear_length() {
  _impl_.length_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000100u;
}
inline uint32_t ColumnMetaData::_internal_length() const {
  return _impl_.length_;
}
inline uint32_t ColumnMetaData::length() const {
  // @@protoc_insertion_point(field_get:Mysqlx.Resultset.ColumnMetaData.length)
  return _internal_length();
}
inline void ColumnMetaData::_internal_set_length(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000100u;
  _impl_.length_ = value;
}
inline void ColumnMetaData::set_length(uint32_t value) {
  _internal_set_length(value);
  // @@protoc_insertion_point(field_set:Mysqlx.Resultset.ColumnMetaData.length)
}

// optional uint32 flags = 11;
inline bool ColumnMetaData::_internal_has_flags() const {
  bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
  return value;
}
inline bool ColumnMetaData::has_flags() const {
  return _internal_has_flags();
}
inline void ColumnMetaData::clear_flags() {
  _impl_.flags_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000200u;
}
inline uint32_t ColumnMetaData::_internal_flags() const {
  return _impl_.flags_;
}
inline uint32_t ColumnMetaData::flags() const {
  // @@protoc_insertion_point(field_get:Mysqlx.Resultset.ColumnMetaData.flags)
  return _internal_flags();
}
inline void ColumnMetaData::_internal_set_flags(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000200u;
  _impl_.flags_ = value;
}
inline void ColumnMetaData::set_flags(uint32_t value) {
  _internal_set_flags(value);
  // @@protoc_insertion_point(field_set:Mysqlx.Resultset.ColumnMetaData.flags)
}

// optional uint32 content_type = 12;
inline bool ColumnMetaData::_internal_has_content_type() const {
  bool value = (_impl_._has_bits_[0] & 0x00000400u) != 0;
  return value;
}
inline bool ColumnMetaData::has_content_type() const {
  return _internal_has_content_type();
}
inline void ColumnMetaData::clear_content_type() {
  _impl_.content_type_ = 0u;
  _impl_._has_bits_[0] &= ~0x00000400u;
}
inline uint32_t ColumnMetaData::_internal_content_type() const {
  return _impl_.content_type_;
}
inline uint32_t ColumnMetaData::content_type() const {
  // @@protoc_insertion_point(field_get:Mysqlx.Resultset.ColumnMetaData.content_type)
  return _internal_content_type();
}
inline void ColumnMetaData::_internal_set_content_type(uint32_t value) {
  _impl_._has_bits_[0] |= 0x00000400u;
  _impl_.content_type_ = value;
}
inline void ColumnMetaData::set_content_type(uint32_t value) {
  _internal_set_content_type(value);
  // @@protoc_insertion_point(field_set:Mysqlx.Resultset.ColumnMetaData.content_type)
}

// -------------------------------------------------------------------

// Row

// repeated bytes field = 1;
inline int Row::_internal_field_size() const {
  return _impl_.field_.size();
}
inline int Row::field_size() const {
  return _internal_field_size();
}
inline void Row::clear_field() {
  _impl_.field_.Clear();
}
inline std::string* Row::add_field() {
  std::string* _s = _internal_add_field();
  // @@protoc_insertion_point(field_add_mutable:Mysqlx.Resultset.Row.field)
  return _s;
}
inline const std::string& Row::_internal_field(int index) const {
  return _impl_.field_.Get(index);
}
inline const std::string& Row::field(int index) const {
  // @@protoc_insertion_point(field_get:Mysqlx.Resultset.Row.field)
  return _internal_field(index);
}
inline std::string* Row::mutable_field(int index) {
  // @@protoc_insertion_point(field_mutable:Mysqlx.Resultset.Row.field)
  return _impl_.field_.Mutable(index);
}
inline void Row::set_field(int index, const std::string& value) {
  _impl_.field_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:Mysqlx.Resultset.Row.field)
}
inline void Row::set_field(int index, std::string&& value) {
  _impl_.field_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:Mysqlx.Resultset.Row.field)
}
inline void Row::set_field(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.field_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:Mysqlx.Resultset.Row.field)
}
inline void Row::set_field(int index, const void* value, size_t size) {
  _impl_.field_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:Mysqlx.Resultset.Row.field)
}
inline std::string* Row::_internal_add_field() {
  return _impl_.field_.Add();
}
inline void Row::add_field(const std::string& value) {
  _impl_.field_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:Mysqlx.Resultset.Row.field)
}
inline void Row::add_field(std::string&& value) {
  _impl_.field_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:Mysqlx.Resultset.Row.field)
}
inline void Row::add_field(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  _impl_.field_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:Mysqlx.Resultset.Row.field)
}
inline void Row::add_field(const void* value, size_t size) {
  _impl_.field_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:Mysqlx.Resultset.Row.field)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
Row::field() const {
  // @@protoc_insertion_point(field_list:Mysqlx.Resultset.Row.field)
  return _impl_.field_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
Row::mutable_field() {
  // @@protoc_insertion_point(field_mutable_list:Mysqlx.Resultset.Row.field)
  return &_impl_.field_;
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------


// @@protoc_insertion_point(namespace_scope)

}  // namespace Resultset
}  // namespace Mysqlx

PROTOBUF_NAMESPACE_OPEN

template <> struct is_proto_enum< ::Mysqlx::Resultset::ColumnMetaData_FieldType> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::Mysqlx::Resultset::ColumnMetaData_FieldType>() {
  return ::Mysqlx::Resultset::ColumnMetaData_FieldType_descriptor();
}
template <> struct is_proto_enum< ::Mysqlx::Resultset::ContentType_BYTES> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::Mysqlx::Resultset::ContentType_BYTES>() {
  return ::Mysqlx::Resultset::ContentType_BYTES_descriptor();
}
template <> struct is_proto_enum< ::Mysqlx::Resultset::ContentType_DATETIME> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::Mysqlx::Resultset::ContentType_DATETIME>() {
  return ::Mysqlx::Resultset::ContentType_DATETIME_descriptor();
}

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_mysqlx_5fresultset_2eproto
