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

#include "User.pb.h"

#include <algorithm>

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>

PROTOBUF_PRAGMA_INIT_SEG
namespace exec {
namespace user {
constexpr Property::Property(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : key_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , value_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
struct PropertyDefaultTypeInternal {
  constexpr PropertyDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~PropertyDefaultTypeInternal() {}
  union {
    Property _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PropertyDefaultTypeInternal _Property_default_instance_;
constexpr UserProperties::UserProperties(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : properties_(){}
struct UserPropertiesDefaultTypeInternal {
  constexpr UserPropertiesDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~UserPropertiesDefaultTypeInternal() {}
  union {
    UserProperties _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT UserPropertiesDefaultTypeInternal _UserProperties_default_instance_;
constexpr RpcEndpointInfos::RpcEndpointInfos(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , version_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , application_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , versionqualifier_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , majorversion_(0u)
  , minorversion_(0u)
  , patchversion_(0u)
  , buildnumber_(0u){}
struct RpcEndpointInfosDefaultTypeInternal {
  constexpr RpcEndpointInfosDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~RpcEndpointInfosDefaultTypeInternal() {}
  union {
    RpcEndpointInfos _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RpcEndpointInfosDefaultTypeInternal _RpcEndpointInfos_default_instance_;
constexpr UserToBitHandshake::UserToBitHandshake(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : credentials_(nullptr)
  , properties_(nullptr)
  , client_infos_(nullptr)
  , rpc_version_(0)
  , support_listening_(false)
  , support_complex_types_(false)
  , support_timeout_(false)
  , sasl_support_(0)

  , channel_(2)
{}
struct UserToBitHandshakeDefaultTypeInternal {
  constexpr UserToBitHandshakeDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~UserToBitHandshakeDefaultTypeInternal() {}
  union {
    UserToBitHandshake _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT UserToBitHandshakeDefaultTypeInternal _UserToBitHandshake_default_instance_;
constexpr RequestResults::RequestResults(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : query_id_(nullptr)
  , maximum_responses_(0){}
struct RequestResultsDefaultTypeInternal {
  constexpr RequestResultsDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~RequestResultsDefaultTypeInternal() {}
  union {
    RequestResults _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RequestResultsDefaultTypeInternal _RequestResults_default_instance_;
constexpr GetQueryPlanFragments::GetQueryPlanFragments(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : query_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , split_plan_(false)
  , type_(1)
{}
struct GetQueryPlanFragmentsDefaultTypeInternal {
  constexpr GetQueryPlanFragmentsDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~GetQueryPlanFragmentsDefaultTypeInternal() {}
  union {
    GetQueryPlanFragments _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetQueryPlanFragmentsDefaultTypeInternal _GetQueryPlanFragments_default_instance_;
constexpr QueryPlanFragments::QueryPlanFragments(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : fragments_()
  , query_id_(nullptr)
  , error_(nullptr)
  , status_(0)
{}
struct QueryPlanFragmentsDefaultTypeInternal {
  constexpr QueryPlanFragmentsDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~QueryPlanFragmentsDefaultTypeInternal() {}
  union {
    QueryPlanFragments _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT QueryPlanFragmentsDefaultTypeInternal _QueryPlanFragments_default_instance_;
constexpr BitToUserHandshake::BitToUserHandshake(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : authenticationmechanisms_()
  , supported_methods_()
  , errorid_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , errormessage_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , server_infos_(nullptr)
  , rpc_version_(0)
  , encrypted_(false)
  , maxwrappedsize_(0)
  , status_(1)
{}
struct BitToUserHandshakeDefaultTypeInternal {
  constexpr BitToUserHandshakeDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~BitToUserHandshakeDefaultTypeInternal() {}
  union {
    BitToUserHandshake _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT BitToUserHandshakeDefaultTypeInternal _BitToUserHandshake_default_instance_;
constexpr LikeFilter::LikeFilter(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : pattern_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , escape_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
struct LikeFilterDefaultTypeInternal {
  constexpr LikeFilterDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~LikeFilterDefaultTypeInternal() {}
  union {
    LikeFilter _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT LikeFilterDefaultTypeInternal _LikeFilter_default_instance_;
constexpr GetCatalogsReq::GetCatalogsReq(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : catalog_name_filter_(nullptr){}
struct GetCatalogsReqDefaultTypeInternal {
  constexpr GetCatalogsReqDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~GetCatalogsReqDefaultTypeInternal() {}
  union {
    GetCatalogsReq _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetCatalogsReqDefaultTypeInternal _GetCatalogsReq_default_instance_;
constexpr CatalogMetadata::CatalogMetadata(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : catalog_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , description_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , connect_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
struct CatalogMetadataDefaultTypeInternal {
  constexpr CatalogMetadataDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~CatalogMetadataDefaultTypeInternal() {}
  union {
    CatalogMetadata _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CatalogMetadataDefaultTypeInternal _CatalogMetadata_default_instance_;
constexpr GetCatalogsResp::GetCatalogsResp(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : catalogs_()
  , error_(nullptr)
  , status_(0)
{}
struct GetCatalogsRespDefaultTypeInternal {
  constexpr GetCatalogsRespDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~GetCatalogsRespDefaultTypeInternal() {}
  union {
    GetCatalogsResp _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetCatalogsRespDefaultTypeInternal _GetCatalogsResp_default_instance_;
constexpr GetSchemasReq::GetSchemasReq(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : catalog_name_filter_(nullptr)
  , schema_name_filter_(nullptr){}
struct GetSchemasReqDefaultTypeInternal {
  constexpr GetSchemasReqDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~GetSchemasReqDefaultTypeInternal() {}
  union {
    GetSchemasReq _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetSchemasReqDefaultTypeInternal _GetSchemasReq_default_instance_;
constexpr SchemaMetadata::SchemaMetadata(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : catalog_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , schema_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , owner_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , type_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , mutable__(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
struct SchemaMetadataDefaultTypeInternal {
  constexpr SchemaMetadataDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~SchemaMetadataDefaultTypeInternal() {}
  union {
    SchemaMetadata _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SchemaMetadataDefaultTypeInternal _SchemaMetadata_default_instance_;
constexpr GetSchemasResp::GetSchemasResp(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : schemas_()
  , error_(nullptr)
  , status_(0)
{}
struct GetSchemasRespDefaultTypeInternal {
  constexpr GetSchemasRespDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~GetSchemasRespDefaultTypeInternal() {}
  union {
    GetSchemasResp _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetSchemasRespDefaultTypeInternal _GetSchemasResp_default_instance_;
constexpr GetTablesReq::GetTablesReq(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : table_type_filter_()
  , catalog_name_filter_(nullptr)
  , schema_name_filter_(nullptr)
  , table_name_filter_(nullptr){}
struct GetTablesReqDefaultTypeInternal {
  constexpr GetTablesReqDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~GetTablesReqDefaultTypeInternal() {}
  union {
    GetTablesReq _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetTablesReqDefaultTypeInternal _GetTablesReq_default_instance_;
constexpr TableMetadata::TableMetadata(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : catalog_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , schema_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , table_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , type_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
struct TableMetadataDefaultTypeInternal {
  constexpr TableMetadataDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~TableMetadataDefaultTypeInternal() {}
  union {
    TableMetadata _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT TableMetadataDefaultTypeInternal _TableMetadata_default_instance_;
constexpr GetTablesResp::GetTablesResp(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : tables_()
  , error_(nullptr)
  , status_(0)
{}
struct GetTablesRespDefaultTypeInternal {
  constexpr GetTablesRespDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~GetTablesRespDefaultTypeInternal() {}
  union {
    GetTablesResp _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetTablesRespDefaultTypeInternal _GetTablesResp_default_instance_;
constexpr GetColumnsReq::GetColumnsReq(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : catalog_name_filter_(nullptr)
  , schema_name_filter_(nullptr)
  , table_name_filter_(nullptr)
  , column_name_filter_(nullptr){}
struct GetColumnsReqDefaultTypeInternal {
  constexpr GetColumnsReqDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~GetColumnsReqDefaultTypeInternal() {}
  union {
    GetColumnsReq _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetColumnsReqDefaultTypeInternal _GetColumnsReq_default_instance_;
constexpr ColumnMetadata::ColumnMetadata(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : catalog_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , schema_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , table_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , column_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , default_value_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , data_type_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , interval_type_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , ordinal_position_(0)
  , is_nullable_(false)
  , char_max_length_(0)
  , char_octet_length_(0)
  , numeric_precision_(0)
  , numeric_precision_radix_(0)
  , numeric_scale_(0)
  , date_time_precision_(0)
  , interval_precision_(0)
  , column_size_(0){}
struct ColumnMetadataDefaultTypeInternal {
  constexpr ColumnMetadataDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~ColumnMetadataDefaultTypeInternal() {}
  union {
    ColumnMetadata _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ColumnMetadataDefaultTypeInternal _ColumnMetadata_default_instance_;
constexpr GetColumnsResp::GetColumnsResp(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : columns_()
  , error_(nullptr)
  , status_(0)
{}
struct GetColumnsRespDefaultTypeInternal {
  constexpr GetColumnsRespDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~GetColumnsRespDefaultTypeInternal() {}
  union {
    GetColumnsResp _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetColumnsRespDefaultTypeInternal _GetColumnsResp_default_instance_;
constexpr CreatePreparedStatementReq::CreatePreparedStatementReq(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : sql_query_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
struct CreatePreparedStatementReqDefaultTypeInternal {
  constexpr CreatePreparedStatementReqDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~CreatePreparedStatementReqDefaultTypeInternal() {}
  union {
    CreatePreparedStatementReq _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CreatePreparedStatementReqDefaultTypeInternal _CreatePreparedStatementReq_default_instance_;
constexpr ResultColumnMetadata::ResultColumnMetadata(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : catalog_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , schema_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , table_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , column_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , label_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , data_type_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , class_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , precision_(0)
  , scale_(0)
  , display_size_(0)
  , is_nullable_(false)
  , signed__(false)
  , is_aliased_(false)
  , auto_increment_(false)
  , searchability_(0)

  , updatability_(0)

  , case_sensitivity_(false)
  , sortable_(false)
  , is_currency_(false){}
struct ResultColumnMetadataDefaultTypeInternal {
  constexpr ResultColumnMetadataDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~ResultColumnMetadataDefaultTypeInternal() {}
  union {
    ResultColumnMetadata _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ResultColumnMetadataDefaultTypeInternal _ResultColumnMetadata_default_instance_;
constexpr PreparedStatementHandle::PreparedStatementHandle(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : server_info_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
struct PreparedStatementHandleDefaultTypeInternal {
  constexpr PreparedStatementHandleDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~PreparedStatementHandleDefaultTypeInternal() {}
  union {
    PreparedStatementHandle _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PreparedStatementHandleDefaultTypeInternal _PreparedStatementHandle_default_instance_;
constexpr PreparedStatement::PreparedStatement(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : columns_()
  , server_handle_(nullptr){}
struct PreparedStatementDefaultTypeInternal {
  constexpr PreparedStatementDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~PreparedStatementDefaultTypeInternal() {}
  union {
    PreparedStatement _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PreparedStatementDefaultTypeInternal _PreparedStatement_default_instance_;
constexpr CreatePreparedStatementResp::CreatePreparedStatementResp(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : prepared_statement_(nullptr)
  , error_(nullptr)
  , status_(0)
{}
struct CreatePreparedStatementRespDefaultTypeInternal {
  constexpr CreatePreparedStatementRespDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~CreatePreparedStatementRespDefaultTypeInternal() {}
  union {
    CreatePreparedStatementResp _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CreatePreparedStatementRespDefaultTypeInternal _CreatePreparedStatementResp_default_instance_;
constexpr GetServerMetaReq::GetServerMetaReq(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized){}
struct GetServerMetaReqDefaultTypeInternal {
  constexpr GetServerMetaReqDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~GetServerMetaReqDefaultTypeInternal() {}
  union {
    GetServerMetaReq _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetServerMetaReqDefaultTypeInternal _GetServerMetaReq_default_instance_;
constexpr ConvertSupport::ConvertSupport(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : from_(0)

  , to_(0)
{}
struct ConvertSupportDefaultTypeInternal {
  constexpr ConvertSupportDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~ConvertSupportDefaultTypeInternal() {}
  union {
    ConvertSupport _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ConvertSupportDefaultTypeInternal _ConvertSupport_default_instance_;
constexpr GetServerMetaResp::GetServerMetaResp(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : server_meta_(nullptr)
  , error_(nullptr)
  , status_(0)
{}
struct GetServerMetaRespDefaultTypeInternal {
  constexpr GetServerMetaRespDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~GetServerMetaRespDefaultTypeInternal() {}
  union {
    GetServerMetaResp _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetServerMetaRespDefaultTypeInternal _GetServerMetaResp_default_instance_;
constexpr ServerMeta::ServerMeta(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : collate_support_()
  , convert_support_()
  , date_time_functions_()
  , date_time_literals_support_()
  , numeric_functions_()
  , order_by_support_()
  , outer_join_support_()
  , sql_keywords_()
  , string_functions_()
  , subquery_support_()
  , system_functions_()
  , union_support_()
  , catalog_separator_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , catalog_term_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , identifier_quote_string_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , schema_term_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , search_escape_string_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , special_characters_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , table_term_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , current_schema_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , all_tables_selectable_(false)
  , blob_included_in_max_row_size_(false)
  , catalog_at_start_(false)
  , column_aliasing_supported_(false)
  , identifier_casing_(0)

  , max_binary_literal_length_(0u)
  , max_catalog_name_length_(0u)
  , max_char_literal_length_(0u)
  , max_column_name_length_(0u)
  , max_columns_in_group_by_(0u)
  , max_columns_in_order_by_(0u)
  , max_columns_in_select_(0u)
  , max_cursor_name_length_(0u)
  , max_logical_lob_size_(0u)
  , max_row_size_(0u)
  , max_schema_name_length_(0u)
  , max_statement_length_(0u)
  , max_statements_(0u)
  , max_table_name_length_(0u)
  , max_tables_in_select_(0u)
  , max_user_name_length_(0u)
  , like_escape_clause_supported_(false)
  , null_plus_non_null_equals_null_(false)
  , read_only_(false)
  , select_for_update_supported_(false)
  , null_collation_(0)

  , quoted_identifier_casing_(0)

  , transaction_supported_(false)
  , correlation_names_support_(1)

  , group_by_support_(1)
{}
struct ServerMetaDefaultTypeInternal {
  constexpr ServerMetaDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~ServerMetaDefaultTypeInternal() {}
  union {
    ServerMeta _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ServerMetaDefaultTypeInternal _ServerMeta_default_instance_;
constexpr RunQuery::RunQuery(
  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
  : fragments_()
  , plan_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
  , prepared_statement_handle_(nullptr)
  , autolimit_rowcount_(0)
  , results_mode_(1)

  , type_(1)
{}
struct RunQueryDefaultTypeInternal {
  constexpr RunQueryDefaultTypeInternal()
    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
  ~RunQueryDefaultTypeInternal() {}
  union {
    RunQuery _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RunQueryDefaultTypeInternal _RunQuery_default_instance_;
}  // namespace user
}  // namespace exec
static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_User_2eproto[31];
static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_User_2eproto[17];
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_User_2eproto = nullptr;

const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_User_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  PROTOBUF_FIELD_OFFSET(::exec::user::Property, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::Property, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::Property, key_),
  PROTOBUF_FIELD_OFFSET(::exec::user::Property, value_),
  0,
  1,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::exec::user::UserProperties, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::UserProperties, properties_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RpcEndpointInfos, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RpcEndpointInfos, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::RpcEndpointInfos, name_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RpcEndpointInfos, version_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RpcEndpointInfos, majorversion_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RpcEndpointInfos, minorversion_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RpcEndpointInfos, patchversion_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RpcEndpointInfos, application_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RpcEndpointInfos, buildnumber_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RpcEndpointInfos, versionqualifier_),
  0,
  1,
  4,
  5,
  6,
  2,
  7,
  3,
  PROTOBUF_FIELD_OFFSET(::exec::user::UserToBitHandshake, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::UserToBitHandshake, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::UserToBitHandshake, channel_),
  PROTOBUF_FIELD_OFFSET(::exec::user::UserToBitHandshake, support_listening_),
  PROTOBUF_FIELD_OFFSET(::exec::user::UserToBitHandshake, rpc_version_),
  PROTOBUF_FIELD_OFFSET(::exec::user::UserToBitHandshake, credentials_),
  PROTOBUF_FIELD_OFFSET(::exec::user::UserToBitHandshake, properties_),
  PROTOBUF_FIELD_OFFSET(::exec::user::UserToBitHandshake, support_complex_types_),
  PROTOBUF_FIELD_OFFSET(::exec::user::UserToBitHandshake, support_timeout_),
  PROTOBUF_FIELD_OFFSET(::exec::user::UserToBitHandshake, client_infos_),
  PROTOBUF_FIELD_OFFSET(::exec::user::UserToBitHandshake, sasl_support_),
  8,
  4,
  3,
  0,
  1,
  5,
  6,
  2,
  7,
  PROTOBUF_FIELD_OFFSET(::exec::user::RequestResults, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RequestResults, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::RequestResults, query_id_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RequestResults, maximum_responses_),
  0,
  1,
  PROTOBUF_FIELD_OFFSET(::exec::user::GetQueryPlanFragments, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetQueryPlanFragments, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::GetQueryPlanFragments, query_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetQueryPlanFragments, type_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetQueryPlanFragments, split_plan_),
  0,
  2,
  1,
  PROTOBUF_FIELD_OFFSET(::exec::user::QueryPlanFragments, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::QueryPlanFragments, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::QueryPlanFragments, status_),
  PROTOBUF_FIELD_OFFSET(::exec::user::QueryPlanFragments, query_id_),
  PROTOBUF_FIELD_OFFSET(::exec::user::QueryPlanFragments, fragments_),
  PROTOBUF_FIELD_OFFSET(::exec::user::QueryPlanFragments, error_),
  2,
  0,
  ~0u,
  1,
  PROTOBUF_FIELD_OFFSET(::exec::user::BitToUserHandshake, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::BitToUserHandshake, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::BitToUserHandshake, rpc_version_),
  PROTOBUF_FIELD_OFFSET(::exec::user::BitToUserHandshake, status_),
  PROTOBUF_FIELD_OFFSET(::exec::user::BitToUserHandshake, errorid_),
  PROTOBUF_FIELD_OFFSET(::exec::user::BitToUserHandshake, errormessage_),
  PROTOBUF_FIELD_OFFSET(::exec::user::BitToUserHandshake, server_infos_),
  PROTOBUF_FIELD_OFFSET(::exec::user::BitToUserHandshake, authenticationmechanisms_),
  PROTOBUF_FIELD_OFFSET(::exec::user::BitToUserHandshake, supported_methods_),
  PROTOBUF_FIELD_OFFSET(::exec::user::BitToUserHandshake, encrypted_),
  PROTOBUF_FIELD_OFFSET(::exec::user::BitToUserHandshake, maxwrappedsize_),
  3,
  6,
  0,
  1,
  2,
  ~0u,
  ~0u,
  4,
  5,
  PROTOBUF_FIELD_OFFSET(::exec::user::LikeFilter, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::LikeFilter, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::LikeFilter, pattern_),
  PROTOBUF_FIELD_OFFSET(::exec::user::LikeFilter, escape_),
  0,
  1,
  PROTOBUF_FIELD_OFFSET(::exec::user::GetCatalogsReq, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetCatalogsReq, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::GetCatalogsReq, catalog_name_filter_),
  0,
  PROTOBUF_FIELD_OFFSET(::exec::user::CatalogMetadata, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::CatalogMetadata, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::CatalogMetadata, catalog_name_),
  PROTOBUF_FIELD_OFFSET(::exec::user::CatalogMetadata, description_),
  PROTOBUF_FIELD_OFFSET(::exec::user::CatalogMetadata, connect_),
  0,
  1,
  2,
  PROTOBUF_FIELD_OFFSET(::exec::user::GetCatalogsResp, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetCatalogsResp, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::GetCatalogsResp, status_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetCatalogsResp, catalogs_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetCatalogsResp, error_),
  1,
  ~0u,
  0,
  PROTOBUF_FIELD_OFFSET(::exec::user::GetSchemasReq, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetSchemasReq, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::GetSchemasReq, catalog_name_filter_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetSchemasReq, schema_name_filter_),
  0,
  1,
  PROTOBUF_FIELD_OFFSET(::exec::user::SchemaMetadata, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::SchemaMetadata, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::SchemaMetadata, catalog_name_),
  PROTOBUF_FIELD_OFFSET(::exec::user::SchemaMetadata, schema_name_),
  PROTOBUF_FIELD_OFFSET(::exec::user::SchemaMetadata, owner_),
  PROTOBUF_FIELD_OFFSET(::exec::user::SchemaMetadata, type_),
  PROTOBUF_FIELD_OFFSET(::exec::user::SchemaMetadata, mutable__),
  0,
  1,
  2,
  3,
  4,
  PROTOBUF_FIELD_OFFSET(::exec::user::GetSchemasResp, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetSchemasResp, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::GetSchemasResp, status_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetSchemasResp, schemas_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetSchemasResp, error_),
  1,
  ~0u,
  0,
  PROTOBUF_FIELD_OFFSET(::exec::user::GetTablesReq, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetTablesReq, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::GetTablesReq, catalog_name_filter_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetTablesReq, schema_name_filter_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetTablesReq, table_name_filter_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetTablesReq, table_type_filter_),
  0,
  1,
  2,
  ~0u,
  PROTOBUF_FIELD_OFFSET(::exec::user::TableMetadata, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::TableMetadata, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::TableMetadata, catalog_name_),
  PROTOBUF_FIELD_OFFSET(::exec::user::TableMetadata, schema_name_),
  PROTOBUF_FIELD_OFFSET(::exec::user::TableMetadata, table_name_),
  PROTOBUF_FIELD_OFFSET(::exec::user::TableMetadata, type_),
  0,
  1,
  2,
  3,
  PROTOBUF_FIELD_OFFSET(::exec::user::GetTablesResp, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetTablesResp, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::GetTablesResp, status_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetTablesResp, tables_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetTablesResp, error_),
  1,
  ~0u,
  0,
  PROTOBUF_FIELD_OFFSET(::exec::user::GetColumnsReq, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetColumnsReq, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::GetColumnsReq, catalog_name_filter_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetColumnsReq, schema_name_filter_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetColumnsReq, table_name_filter_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetColumnsReq, column_name_filter_),
  0,
  1,
  2,
  3,
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, catalog_name_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, schema_name_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, table_name_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, column_name_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, ordinal_position_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, default_value_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, is_nullable_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, data_type_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, char_max_length_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, char_octet_length_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, numeric_precision_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, numeric_precision_radix_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, numeric_scale_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, date_time_precision_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, interval_type_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, interval_precision_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ColumnMetadata, column_size_),
  0,
  1,
  2,
  3,
  7,
  4,
  8,
  5,
  9,
  10,
  11,
  12,
  13,
  14,
  6,
  15,
  16,
  PROTOBUF_FIELD_OFFSET(::exec::user::GetColumnsResp, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetColumnsResp, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::GetColumnsResp, status_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetColumnsResp, columns_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetColumnsResp, error_),
  1,
  ~0u,
  0,
  PROTOBUF_FIELD_OFFSET(::exec::user::CreatePreparedStatementReq, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::CreatePreparedStatementReq, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::CreatePreparedStatementReq, sql_query_),
  0,
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, catalog_name_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, schema_name_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, table_name_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, column_name_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, label_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, data_type_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, is_nullable_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, precision_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, scale_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, signed__),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, display_size_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, is_aliased_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, searchability_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, updatability_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, auto_increment_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, case_sensitivity_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, sortable_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, class_name_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ResultColumnMetadata, is_currency_),
  0,
  1,
  2,
  3,
  4,
  5,
  10,
  7,
  8,
  11,
  9,
  12,
  14,
  15,
  13,
  16,
  17,
  6,
  18,
  PROTOBUF_FIELD_OFFSET(::exec::user::PreparedStatementHandle, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::PreparedStatementHandle, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::PreparedStatementHandle, server_info_),
  0,
  PROTOBUF_FIELD_OFFSET(::exec::user::PreparedStatement, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::PreparedStatement, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::PreparedStatement, columns_),
  PROTOBUF_FIELD_OFFSET(::exec::user::PreparedStatement, server_handle_),
  ~0u,
  0,
  PROTOBUF_FIELD_OFFSET(::exec::user::CreatePreparedStatementResp, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::CreatePreparedStatementResp, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::CreatePreparedStatementResp, status_),
  PROTOBUF_FIELD_OFFSET(::exec::user::CreatePreparedStatementResp, prepared_statement_),
  PROTOBUF_FIELD_OFFSET(::exec::user::CreatePreparedStatementResp, error_),
  2,
  0,
  1,
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::exec::user::GetServerMetaReq, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::ConvertSupport, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ConvertSupport, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::ConvertSupport, from_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ConvertSupport, to_),
  0,
  1,
  PROTOBUF_FIELD_OFFSET(::exec::user::GetServerMetaResp, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetServerMetaResp, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::GetServerMetaResp, status_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetServerMetaResp, server_meta_),
  PROTOBUF_FIELD_OFFSET(::exec::user::GetServerMetaResp, error_),
  2,
  0,
  1,
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, all_tables_selectable_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, blob_included_in_max_row_size_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, catalog_at_start_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, catalog_separator_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, catalog_term_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, collate_support_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, column_aliasing_supported_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, convert_support_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, correlation_names_support_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, date_time_functions_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, date_time_literals_support_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, group_by_support_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, identifier_casing_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, identifier_quote_string_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, like_escape_clause_supported_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, max_binary_literal_length_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, max_catalog_name_length_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, max_char_literal_length_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, max_column_name_length_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, max_columns_in_group_by_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, max_columns_in_order_by_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, max_columns_in_select_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, max_cursor_name_length_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, max_logical_lob_size_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, max_row_size_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, max_schema_name_length_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, max_statement_length_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, max_statements_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, max_table_name_length_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, max_tables_in_select_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, max_user_name_length_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, null_collation_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, null_plus_non_null_equals_null_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, numeric_functions_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, order_by_support_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, outer_join_support_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, quoted_identifier_casing_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, read_only_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, schema_term_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, search_escape_string_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, select_for_update_supported_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, special_characters_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, sql_keywords_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, string_functions_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, subquery_support_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, system_functions_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, table_term_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, transaction_supported_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, union_support_),
  PROTOBUF_FIELD_OFFSET(::exec::user::ServerMeta, current_schema_),
  8,
  9,
  10,
  0,
  1,
  ~0u,
  11,
  ~0u,
  36,
  ~0u,
  ~0u,
  37,
  12,
  2,
  29,
  13,
  14,
  15,
  16,
  17,
  18,
  19,
  20,
  21,
  22,
  23,
  24,
  25,
  26,
  27,
  28,
  33,
  30,
  ~0u,
  ~0u,
  ~0u,
  34,
  31,
  3,
  4,
  32,
  5,
  ~0u,
  ~0u,
  ~0u,
  ~0u,
  6,
  35,
  ~0u,
  7,
  PROTOBUF_FIELD_OFFSET(::exec::user::RunQuery, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RunQuery, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::exec::user::RunQuery, results_mode_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RunQuery, type_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RunQuery, plan_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RunQuery, fragments_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RunQuery, prepared_statement_handle_),
  PROTOBUF_FIELD_OFFSET(::exec::user::RunQuery, autolimit_rowcount_),
  3,
  4,
  0,
  ~0u,
  1,
  2,
};
static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, 7, sizeof(::exec::user::Property)},
  { 9, -1, sizeof(::exec::user::UserProperties)},
  { 15, 28, sizeof(::exec::user::RpcEndpointInfos)},
  { 36, 50, sizeof(::exec::user::UserToBitHandshake)},
  { 59, 66, sizeof(::exec::user::RequestResults)},
  { 68, 76, sizeof(::exec::user::GetQueryPlanFragments)},
  { 79, 88, sizeof(::exec::user::QueryPlanFragments)},
  { 92, 106, sizeof(::exec::user::BitToUserHandshake)},
  { 115, 122, sizeof(::exec::user::LikeFilter)},
  { 124, 130, sizeof(::exec::user::GetCatalogsReq)},
  { 131, 139, sizeof(::exec::user::CatalogMetadata)},
  { 142, 150, sizeof(::exec::user::GetCatalogsResp)},
  { 153, 160, sizeof(::exec::user::GetSchemasReq)},
  { 162, 172, sizeof(::exec::user::SchemaMetadata)},
  { 177, 185, sizeof(::exec::user::GetSchemasResp)},
  { 188, 197, sizeof(::exec::user::GetTablesReq)},
  { 201, 210, sizeof(::exec::user::TableMetadata)},
  { 214, 222, sizeof(::exec::user::GetTablesResp)},
  { 225, 234, sizeof(::exec::user::GetColumnsReq)},
  { 238, 260, sizeof(::exec::user::ColumnMetadata)},
  { 277, 285, sizeof(::exec::user::GetColumnsResp)},
  { 288, 294, sizeof(::exec::user::CreatePreparedStatementReq)},
  { 295, 319, sizeof(::exec::user::ResultColumnMetadata)},
  { 338, 344, sizeof(::exec::user::PreparedStatementHandle)},
  { 345, 352, sizeof(::exec::user::PreparedStatement)},
  { 354, 362, sizeof(::exec::user::CreatePreparedStatementResp)},
  { 365, -1, sizeof(::exec::user::GetServerMetaReq)},
  { 370, 377, sizeof(::exec::user::ConvertSupport)},
  { 379, 387, sizeof(::exec::user::GetServerMetaResp)},
  { 390, 445, sizeof(::exec::user::ServerMeta)},
  { 495, 506, sizeof(::exec::user::RunQuery)},
};

static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_Property_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_UserProperties_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_RpcEndpointInfos_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_UserToBitHandshake_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_RequestResults_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_GetQueryPlanFragments_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_QueryPlanFragments_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_BitToUserHandshake_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_LikeFilter_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_GetCatalogsReq_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_CatalogMetadata_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_GetCatalogsResp_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_GetSchemasReq_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_SchemaMetadata_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_GetSchemasResp_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_GetTablesReq_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_TableMetadata_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_GetTablesResp_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_GetColumnsReq_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_ColumnMetadata_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_GetColumnsResp_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_CreatePreparedStatementReq_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_ResultColumnMetadata_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_PreparedStatementHandle_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_PreparedStatement_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_CreatePreparedStatementResp_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_GetServerMetaReq_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_ConvertSupport_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_GetServerMetaResp_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_ServerMeta_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::exec::user::_RunQuery_default_instance_),
};

const char descriptor_table_protodef_User_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n\nUser.proto\022\texec.user\032\017SchemaDef.proto"
  "\032\013Types.proto\032\023UserBitShared.proto\032\rBitD"
  "ata.proto\032\020BitControl.proto\032\025ExecutionPr"
  "otos.proto\"&\n\010Property\022\013\n\003key\030\001 \002(\t\022\r\n\005v"
  "alue\030\002 \002(\t\"9\n\016UserProperties\022\'\n\nproperti"
  "es\030\001 \003(\0132\023.exec.user.Property\"\267\001\n\020RpcEnd"
  "pointInfos\022\014\n\004name\030\001 \001(\t\022\017\n\007version\030\002 \001("
  "\t\022\024\n\014majorVersion\030\003 \001(\r\022\024\n\014minorVersion\030"
  "\004 \001(\r\022\024\n\014patchVersion\030\005 \001(\r\022\023\n\013applicati"
  "on\030\006 \001(\t\022\023\n\013buildNumber\030\007 \001(\r\022\030\n\020version"
  "Qualifier\030\010 \001(\t\"\375\002\n\022UserToBitHandshake\022."
  "\n\007channel\030\001 \001(\0162\027.exec.shared.RpcChannel"
  ":\004USER\022\031\n\021support_listening\030\002 \001(\010\022\023\n\013rpc"
  "_version\030\003 \001(\005\0221\n\013credentials\030\004 \001(\0132\034.ex"
  "ec.shared.UserCredentials\022-\n\nproperties\030"
  "\005 \001(\0132\031.exec.user.UserProperties\022$\n\025supp"
  "ort_complex_types\030\006 \001(\010:\005false\022\036\n\017suppor"
  "t_timeout\030\007 \001(\010:\005false\0221\n\014client_infos\030\010"
  " \001(\0132\033.exec.user.RpcEndpointInfos\022,\n\014sas"
  "l_support\030\t \001(\0162\026.exec.user.SaslSupport\""
  "S\n\016RequestResults\022&\n\010query_id\030\001 \001(\0132\024.ex"
  "ec.shared.QueryId\022\031\n\021maximum_responses\030\002"
  " \001(\005\"g\n\025GetQueryPlanFragments\022\r\n\005query\030\001"
  " \002(\t\022$\n\004type\030\002 \001(\0162\026.exec.shared.QueryTy"
  "pe\022\031\n\nsplit_plan\030\003 \001(\010:\005false\"\316\001\n\022QueryP"
  "lanFragments\0223\n\006status\030\001 \002(\0162#.exec.shar"
  "ed.QueryResult.QueryState\022&\n\010query_id\030\002 "
  "\001(\0132\024.exec.shared.QueryId\0221\n\tfragments\030\003"
  " \003(\0132\036.exec.bit.control.PlanFragment\022(\n\005"
  "error\030\004 \001(\0132\031.exec.shared.DrillPBError\"\253"
  "\002\n\022BitToUserHandshake\022\023\n\013rpc_version\030\002 \001"
  "(\005\022*\n\006status\030\003 \001(\0162\032.exec.user.Handshake"
  "Status\022\017\n\007errorId\030\004 \001(\t\022\024\n\014errorMessage\030"
  "\005 \001(\t\0221\n\014server_infos\030\006 \001(\0132\033.exec.user."
  "RpcEndpointInfos\022 \n\030authenticationMechan"
  "isms\030\007 \003(\t\022-\n\021supported_methods\030\010 \003(\0162\022."
  "exec.user.RpcType\022\021\n\tencrypted\030\t \001(\010\022\026\n\016"
  "maxWrappedSize\030\n \001(\005\"-\n\nLikeFilter\022\017\n\007pa"
  "ttern\030\001 \001(\t\022\016\n\006escape\030\002 \001(\t\"D\n\016GetCatalo"
  "gsReq\0222\n\023catalog_name_filter\030\001 \001(\0132\025.exe"
  "c.user.LikeFilter\"M\n\017CatalogMetadata\022\024\n\014"
  "catalog_name\030\001 \001(\t\022\023\n\013description\030\002 \001(\t\022"
  "\017\n\007connect\030\003 \001(\t\"\223\001\n\017GetCatalogsResp\022(\n\006"
  "status\030\001 \001(\0162\030.exec.user.RequestStatus\022,"
  "\n\010catalogs\030\002 \003(\0132\032.exec.user.CatalogMeta"
  "data\022(\n\005error\030\003 \001(\0132\031.exec.shared.DrillP"
  "BError\"v\n\rGetSchemasReq\0222\n\023catalog_name_"
  "filter\030\001 \001(\0132\025.exec.user.LikeFilter\0221\n\022s"
  "chema_name_filter\030\002 \001(\0132\025.exec.user.Like"
  "Filter\"i\n\016SchemaMetadata\022\024\n\014catalog_name"
  "\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\r\n\005owner\030\003 \001"
  "(\t\022\014\n\004type\030\004 \001(\t\022\017\n\007mutable\030\005 \001(\t\"\220\001\n\016Ge"
  "tSchemasResp\022(\n\006status\030\001 \001(\0162\030.exec.user"
  ".RequestStatus\022*\n\007schemas\030\002 \003(\0132\031.exec.u"
  "ser.SchemaMetadata\022(\n\005error\030\003 \001(\0132\031.exec"
  ".shared.DrillPBError\"\302\001\n\014GetTablesReq\0222\n"
  "\023catalog_name_filter\030\001 \001(\0132\025.exec.user.L"
  "ikeFilter\0221\n\022schema_name_filter\030\002 \001(\0132\025."
  "exec.user.LikeFilter\0220\n\021table_name_filte"
  "r\030\003 \001(\0132\025.exec.user.LikeFilter\022\031\n\021table_"
  "type_filter\030\004 \003(\t\"\\\n\rTableMetadata\022\024\n\014ca"
  "talog_name\030\001 \001(\t\022\023\n\013schema_name\030\002 \001(\t\022\022\n"
  "\ntable_name\030\003 \001(\t\022\014\n\004type\030\004 \001(\t\"\215\001\n\rGetT"
  "ablesResp\022(\n\006status\030\001 \001(\0162\030.exec.user.Re"
  "questStatus\022(\n\006tables\030\002 \003(\0132\030.exec.user."
  "TableMetadata\022(\n\005error\030\003 \001(\0132\031.exec.shar"
  "ed.DrillPBError\"\333\001\n\rGetColumnsReq\0222\n\023cat"
  "alog_name_filter\030\001 \001(\0132\025.exec.user.LikeF"
  "ilter\0221\n\022schema_name_filter\030\002 \001(\0132\025.exec"
  ".user.LikeFilter\0220\n\021table_name_filter\030\003 "
  "\001(\0132\025.exec.user.LikeFilter\0221\n\022column_nam"
  "e_filter\030\004 \001(\0132\025.exec.user.LikeFilter\"\251\003"
  "\n\016ColumnMetadata\022\024\n\014catalog_name\030\001 \001(\t\022\023"
  "\n\013schema_name\030\002 \001(\t\022\022\n\ntable_name\030\003 \001(\t\022"
  "\023\n\013column_name\030\004 \001(\t\022\030\n\020ordinal_position"
  "\030\005 \001(\005\022\025\n\rdefault_value\030\006 \001(\t\022\023\n\013is_null"
  "able\030\007 \001(\010\022\021\n\tdata_type\030\010 \001(\t\022\027\n\017char_ma"
  "x_length\030\t \001(\005\022\031\n\021char_octet_length\030\n \001("
  "\005\022\031\n\021numeric_precision\030\013 \001(\005\022\037\n\027numeric_"
  "precision_radix\030\014 \001(\005\022\025\n\rnumeric_scale\030\r"
  " \001(\005\022\033\n\023date_time_precision\030\016 \001(\005\022\025\n\rint"
  "erval_type\030\017 \001(\t\022\032\n\022interval_precision\030\020"
  " \001(\005\022\023\n\013column_size\030\021 \001(\005\"\220\001\n\016GetColumns"
  "Resp\022(\n\006status\030\001 \001(\0162\030.exec.user.Request"
  "Status\022*\n\007columns\030\002 \003(\0132\031.exec.user.Colu"
  "mnMetadata\022(\n\005error\030\003 \001(\0132\031.exec.shared."
  "DrillPBError\"/\n\032CreatePreparedStatementR"
  "eq\022\021\n\tsql_query\030\001 \001(\t\"\326\003\n\024ResultColumnMe"
  "tadata\022\024\n\014catalog_name\030\001 \001(\t\022\023\n\013schema_n"
  "ame\030\002 \001(\t\022\022\n\ntable_name\030\003 \001(\t\022\023\n\013column_"
  "name\030\004 \001(\t\022\r\n\005label\030\005 \001(\t\022\021\n\tdata_type\030\006"
  " \001(\t\022\023\n\013is_nullable\030\007 \001(\010\022\021\n\tprecision\030\010"
  " \001(\005\022\r\n\005scale\030\t \001(\005\022\016\n\006signed\030\n \001(\010\022\024\n\014d"
  "isplay_size\030\013 \001(\005\022\022\n\nis_aliased\030\014 \001(\010\0225\n"
  "\rsearchability\030\r \001(\0162\036.exec.user.ColumnS"
  "earchability\0223\n\014updatability\030\016 \001(\0162\035.exe"
  "c.user.ColumnUpdatability\022\026\n\016auto_increm"
  "ent\030\017 \001(\010\022\030\n\020case_sensitivity\030\020 \001(\010\022\020\n\010s"
  "ortable\030\021 \001(\010\022\022\n\nclass_name\030\022 \001(\t\022\023\n\013is_"
  "currency\030\024 \001(\010\".\n\027PreparedStatementHandl"
  "e\022\023\n\013server_info\030\001 \001(\014\"\200\001\n\021PreparedState"
  "ment\0220\n\007columns\030\001 \003(\0132\037.exec.user.Result"
  "ColumnMetadata\0229\n\rserver_handle\030\002 \001(\0132\"."
  "exec.user.PreparedStatementHandle\"\253\001\n\033Cr"
  "eatePreparedStatementResp\022(\n\006status\030\001 \001("
  "\0162\030.exec.user.RequestStatus\0228\n\022prepared_"
  "statement\030\002 \001(\0132\034.exec.user.PreparedStat"
  "ement\022(\n\005error\030\003 \001(\0132\031.exec.shared.Drill"
  "PBError\"\022\n\020GetServerMetaReq\"P\n\016ConvertSu"
  "pport\022\037\n\004from\030\001 \002(\0162\021.common.MinorType\022\035"
  "\n\002to\030\002 \002(\0162\021.common.MinorType\"\223\001\n\021GetSer"
  "verMetaResp\022(\n\006status\030\001 \001(\0162\030.exec.user."
  "RequestStatus\022*\n\013server_meta\030\002 \001(\0132\025.exe"
  "c.user.ServerMeta\022(\n\005error\030\003 \001(\0132\031.exec."
  "shared.DrillPBError\"\227\016\n\nServerMeta\022\035\n\025al"
  "l_tables_selectable\030\001 \001(\010\022%\n\035blob_includ"
  "ed_in_max_row_size\030\002 \001(\010\022\030\n\020catalog_at_s"
  "tart\030\003 \001(\010\022\031\n\021catalog_separator\030\004 \001(\t\022\024\n"
  "\014catalog_term\030\005 \001(\t\0222\n\017collate_support\030\006"
  " \003(\0162\031.exec.user.CollateSupport\022!\n\031colum"
  "n_aliasing_supported\030\007 \001(\010\0222\n\017convert_su"
  "pport\030\010 \003(\0132\031.exec.user.ConvertSupport\022E"
  "\n\031correlation_names_support\030\t \001(\0162\".exec"
  ".user.CorrelationNamesSupport\022\033\n\023date_ti"
  "me_functions\030\n \003(\t\022F\n\032date_time_literals"
  "_support\030\013 \003(\0162\".exec.user.DateTimeLiter"
  "alsSupport\0223\n\020group_by_support\030\014 \001(\0162\031.e"
  "xec.user.GroupBySupport\0226\n\021identifier_ca"
  "sing\030\r \001(\0162\033.exec.user.IdentifierCasing\022"
  "\037\n\027identifier_quote_string\030\016 \001(\t\022$\n\034like"
  "_escape_clause_supported\030\017 \001(\010\022!\n\031max_bi"
  "nary_literal_length\030\020 \001(\r\022\037\n\027max_catalog"
  "_name_length\030\021 \001(\r\022\037\n\027max_char_literal_l"
  "ength\030\022 \001(\r\022\036\n\026max_column_name_length\030\023 "
  "\001(\r\022\037\n\027max_columns_in_group_by\030\024 \001(\r\022\037\n\027"
  "max_columns_in_order_by\030\025 \001(\r\022\035\n\025max_col"
  "umns_in_select\030\026 \001(\r\022\036\n\026max_cursor_name_"
  "length\030\027 \001(\r\022\034\n\024max_logical_lob_size\030\030 \001"
  "(\r\022\024\n\014max_row_size\030\031 \001(\r\022\036\n\026max_schema_n"
  "ame_length\030\032 \001(\r\022\034\n\024max_statement_length"
  "\030\033 \001(\r\022\026\n\016max_statements\030\034 \001(\r\022\035\n\025max_ta"
  "ble_name_length\030\035 \001(\r\022\034\n\024max_tables_in_s"
  "elect\030\036 \001(\r\022\034\n\024max_user_name_length\030\037 \001("
  "\r\0220\n\016null_collation\030  \001(\0162\030.exec.user.Nu"
  "llCollation\022&\n\036null_plus_non_null_equals"
  "_null\030! \001(\010\022\031\n\021numeric_functions\030\" \003(\t\0223"
  "\n\020order_by_support\030# \003(\0162\031.exec.user.Ord"
  "erBySupport\0227\n\022outer_join_support\030$ \003(\0162"
  "\033.exec.user.OuterJoinSupport\022=\n\030quoted_i"
  "dentifier_casing\030% \001(\0162\033.exec.user.Ident"
  "ifierCasing\022\021\n\tread_only\030& \001(\010\022\023\n\013schema"
  "_term\030\' \001(\t\022\034\n\024search_escape_string\030( \001("
  "\t\022#\n\033select_for_update_supported\030) \001(\010\022\032"
  "\n\022special_characters\030* \001(\t\022\024\n\014sql_keywor"
  "ds\030+ \003(\t\022\030\n\020string_functions\030, \003(\t\0224\n\020su"
  "bquery_support\030- \003(\0162\032.exec.user.SubQuer"
  "ySupport\022\030\n\020system_functions\030. \003(\t\022\022\n\nta"
  "ble_term\030/ \001(\t\022\035\n\025transaction_supported\030"
  "0 \001(\010\022.\n\runion_support\0301 \003(\0162\027.exec.user"
  ".UnionSupport\022\026\n\016current_schema\0302 \001(\t\"\207\002"
  "\n\010RunQuery\0221\n\014results_mode\030\001 \001(\0162\033.exec."
  "user.QueryResultsMode\022$\n\004type\030\002 \001(\0162\026.ex"
  "ec.shared.QueryType\022\014\n\004plan\030\003 \001(\t\0221\n\tfra"
  "gments\030\004 \003(\0132\036.exec.bit.control.PlanFrag"
  "ment\022E\n\031prepared_statement_handle\030\005 \001(\0132"
  "\".exec.user.PreparedStatementHandle\022\032\n\022a"
  "utolimit_rowcount\030\006 \001(\005*\320\003\n\007RpcType\022\r\n\tH"
  "ANDSHAKE\020\000\022\007\n\003ACK\020\001\022\013\n\007GOODBYE\020\002\022\r\n\tRUN_"
  "QUERY\020\003\022\020\n\014CANCEL_QUERY\020\004\022\023\n\017REQUEST_RES"
  "ULTS\020\005\022\027\n\023RESUME_PAUSED_QUERY\020\013\022\034\n\030GET_Q"
  "UERY_PLAN_FRAGMENTS\020\014\022\020\n\014GET_CATALOGS\020\016\022"
  "\017\n\013GET_SCHEMAS\020\017\022\016\n\nGET_TABLES\020\020\022\017\n\013GET_"
  "COLUMNS\020\021\022\035\n\031CREATE_PREPARED_STATEMENT\020\026"
  "\022\023\n\017GET_SERVER_META\020\010\022\016\n\nQUERY_DATA\020\006\022\020\n"
  "\014QUERY_HANDLE\020\007\022\030\n\024QUERY_PLAN_FRAGMENTS\020"
  "\r\022\014\n\010CATALOGS\020\022\022\013\n\007SCHEMAS\020\023\022\n\n\006TABLES\020\024"
  "\022\013\n\007COLUMNS\020\025\022\026\n\022PREPARED_STATEMENT\020\027\022\017\n"
  "\013SERVER_META\020\t\022\020\n\014QUERY_RESULT\020\n\022\020\n\014SASL"
  "_MESSAGE\020\030*H\n\013SaslSupport\022\030\n\024UNKNOWN_SAS"
  "L_SUPPORT\020\000\022\r\n\tSASL_AUTH\020\001\022\020\n\014SASL_PRIVA"
  "CY\020\002*#\n\020QueryResultsMode\022\017\n\013STREAM_FULL\020"
  "\001*q\n\017HandshakeStatus\022\013\n\007SUCCESS\020\001\022\030\n\024RPC"
  "_VERSION_MISMATCH\020\002\022\017\n\013AUTH_FAILED\020\003\022\023\n\017"
  "UNKNOWN_FAILURE\020\004\022\021\n\rAUTH_REQUIRED\020\005*D\n\r"
  "RequestStatus\022\022\n\016UNKNOWN_STATUS\020\000\022\006\n\002OK\020"
  "\001\022\n\n\006FAILED\020\002\022\013\n\007TIMEOUT\020\003*Y\n\023ColumnSear"
  "chability\022\031\n\025UNKNOWN_SEARCHABILITY\020\000\022\010\n\004"
  "NONE\020\001\022\010\n\004CHAR\020\002\022\n\n\006NUMBER\020\003\022\007\n\003ALL\020\004*K\n"
  "\022ColumnUpdatability\022\030\n\024UNKNOWN_UPDATABIL"
  "ITY\020\000\022\r\n\tREAD_ONLY\020\001\022\014\n\010WRITABLE\020\002*1\n\016Co"
  "llateSupport\022\016\n\nCS_UNKNOWN\020\000\022\017\n\013CS_GROUP"
  "_BY\020\001*J\n\027CorrelationNamesSupport\022\013\n\007CN_N"
  "ONE\020\001\022\026\n\022CN_DIFFERENT_NAMES\020\002\022\n\n\006CN_ANY\020"
  "\003*\271\003\n\027DateTimeLiteralsSupport\022\016\n\nDL_UNKN"
  "OWN\020\000\022\013\n\007DL_DATE\020\001\022\013\n\007DL_TIME\020\002\022\020\n\014DL_TI"
  "MESTAMP\020\003\022\024\n\020DL_INTERVAL_YEAR\020\004\022\025\n\021DL_IN"
  "TERVAL_MONTH\020\005\022\023\n\017DL_INTERVAL_DAY\020\006\022\024\n\020D"
  "L_INTERVAL_HOUR\020\007\022\026\n\022DL_INTERVAL_MINUTE\020"
  "\010\022\026\n\022DL_INTERVAL_SECOND\020\t\022\035\n\031DL_INTERVAL"
  "_YEAR_TO_MONTH\020\n\022\033\n\027DL_INTERVAL_DAY_TO_H"
  "OUR\020\013\022\035\n\031DL_INTERVAL_DAY_TO_MINUTE\020\014\022\035\n\031"
  "DL_INTERVAL_DAY_TO_SECOND\020\r\022\036\n\032DL_INTERV"
  "AL_HOUR_TO_MINUTE\020\016\022\036\n\032DL_INTERVAL_HOUR_"
  "TO_SECOND\020\017\022 \n\034DL_INTERVAL_MINUTE_TO_SEC"
  "OND\020\020*Y\n\016GroupBySupport\022\013\n\007GB_NONE\020\001\022\022\n\016"
  "GB_SELECT_ONLY\020\002\022\024\n\020GB_BEYOND_SELECT\020\003\022\020"
  "\n\014GB_UNRELATED\020\004*x\n\020IdentifierCasing\022\016\n\n"
  "IC_UNKNOWN\020\000\022\023\n\017IC_STORES_LOWER\020\001\022\023\n\017IC_"
  "STORES_MIXED\020\002\022\023\n\017IC_STORES_UPPER\020\003\022\025\n\021I"
  "C_SUPPORTS_MIXED\020\004*X\n\rNullCollation\022\016\n\nN"
  "C_UNKNOWN\020\000\022\017\n\013NC_AT_START\020\001\022\r\n\tNC_AT_EN"
  "D\020\002\022\013\n\007NC_HIGH\020\003\022\n\n\006NC_LOW\020\004*E\n\016OrderByS"
  "upport\022\016\n\nOB_UNKNOWN\020\000\022\020\n\014OB_UNRELATED\020\001"
  "\022\021\n\rOB_EXPRESSION\020\002*\226\001\n\020OuterJoinSupport"
  "\022\016\n\nOJ_UNKNOWN\020\000\022\013\n\007OJ_LEFT\020\001\022\014\n\010OJ_RIGH"
  "T\020\002\022\013\n\007OJ_FULL\020\003\022\r\n\tOJ_NESTED\020\004\022\022\n\016OJ_NO"
  "T_ORDERED\020\005\022\014\n\010OJ_INNER\020\006\022\031\n\025OJ_ALL_COMP"
  "ARISON_OPS\020\007*\204\001\n\017SubQuerySupport\022\016\n\nSQ_U"
  "NKNOWN\020\000\022\021\n\rSQ_CORRELATED\020\001\022\024\n\020SQ_IN_COM"
  "PARISON\020\002\022\020\n\014SQ_IN_EXISTS\020\003\022\020\n\014SQ_IN_INS"
  "ERT\020\004\022\024\n\020SQ_IN_QUANTIFIED\020\005*;\n\014UnionSupp"
  "ort\022\r\n\tU_UNKNOWN\020\000\022\013\n\007U_UNION\020\001\022\017\n\013U_UNI"
  "ON_ALL\020\002B+\n\033org.apache.drill.exec.protoB"
  "\nUserProtosH\001"
  ;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_User_2eproto_deps[6] = {
  &::descriptor_table_BitControl_2eproto,
  &::descriptor_table_BitData_2eproto,
  &::descriptor_table_ExecutionProtos_2eproto,
  &::descriptor_table_SchemaDef_2eproto,
  &::descriptor_table_Types_2eproto,
  &::descriptor_table_UserBitShared_2eproto,
};
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_User_2eproto_once;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_User_2eproto = {
  false, false, 8933, descriptor_table_protodef_User_2eproto, "User.proto", 
  &descriptor_table_User_2eproto_once, descriptor_table_User_2eproto_deps, 6, 31,
  schemas, file_default_instances, TableStruct_User_2eproto::offsets,
  file_level_metadata_User_2eproto, file_level_enum_descriptors_User_2eproto, file_level_service_descriptors_User_2eproto,
};
PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_User_2eproto_getter() {
  return &descriptor_table_User_2eproto;
}

// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_User_2eproto(&descriptor_table_User_2eproto);
namespace exec {
namespace user {
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RpcType_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[0];
}
bool RpcType_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
    case 11:
    case 12:
    case 13:
    case 14:
    case 15:
    case 16:
    case 17:
    case 18:
    case 19:
    case 20:
    case 21:
    case 22:
    case 23:
    case 24:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SaslSupport_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[1];
}
bool SaslSupport_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* QueryResultsMode_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[2];
}
bool QueryResultsMode_IsValid(int value) {
  switch (value) {
    case 1:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* HandshakeStatus_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[3];
}
bool HandshakeStatus_IsValid(int value) {
  switch (value) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* RequestStatus_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[4];
}
bool RequestStatus_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ColumnSearchability_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[5];
}
bool ColumnSearchability_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ColumnUpdatability_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[6];
}
bool ColumnUpdatability_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CollateSupport_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[7];
}
bool CollateSupport_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* CorrelationNamesSupport_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[8];
}
bool CorrelationNamesSupport_IsValid(int value) {
  switch (value) {
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* DateTimeLiteralsSupport_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[9];
}
bool DateTimeLiteralsSupport_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
    case 11:
    case 12:
    case 13:
    case 14:
    case 15:
    case 16:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* GroupBySupport_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[10];
}
bool GroupBySupport_IsValid(int value) {
  switch (value) {
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* IdentifierCasing_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[11];
}
bool IdentifierCasing_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* NullCollation_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[12];
}
bool NullCollation_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* OrderBySupport_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[13];
}
bool OrderBySupport_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* OuterJoinSupport_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[14];
}
bool OuterJoinSupport_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SubQuerySupport_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[15];
}
bool SubQuerySupport_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* UnionSupport_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_User_2eproto);
  return file_level_enum_descriptors_User_2eproto[16];
}
bool UnionSupport_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
      return true;
    default:
      return false;
  }
}


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

class Property::_Internal {
 public:
  using HasBits = decltype(std::declval<Property>()._has_bits_);
  static void set_has_key(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_value(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static bool MissingRequiredFields(const HasBits& has_bits) {
    return ((has_bits[0] & 0x00000003) ^ 0x00000003) != 0;
  }
};

Property::Property(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.Property)
}
Property::Property(const Property& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  key_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_key()) {
    key_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_key(), 
      GetArena());
  }
  value_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_value()) {
    value_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_value(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:exec.user.Property)
}

void Property::SharedCtor() {
key_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
value_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

Property::~Property() {
  // @@protoc_insertion_point(destructor:exec.user.Property)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void Property::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  key_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  value_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void Property::ArenaDtor(void* object) {
  Property* _this = reinterpret_cast< Property* >(object);
  (void)_this;
}
void Property::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Property::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void Property::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.Property)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      key_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      value_.ClearNonDefaultToEmpty();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Property::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // required string key = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_key();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.Property.key");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // required string value = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_value();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.Property.value");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* Property::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.Property)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required string key = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_key().data(), static_cast<int>(this->_internal_key().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.Property.key");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_key(), target);
  }

  // required string value = 2;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_value().data(), static_cast<int>(this->_internal_value().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.Property.value");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_value(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.Property)
  return target;
}

size_t Property::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:exec.user.Property)
  size_t total_size = 0;

  if (_internal_has_key()) {
    // required string key = 1;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_key());
  }

  if (_internal_has_value()) {
    // required string value = 2;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_value());
  }

  return total_size;
}
size_t Property::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.Property)
  size_t total_size = 0;

  if (((_has_bits_[0] & 0x00000003) ^ 0x00000003) == 0) {  // All required fields are present.
    // required string key = 1;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_key());

    // required string value = 2;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_value());

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Property::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.Property)
  GOOGLE_DCHECK_NE(&from, this);
  const Property* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Property>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.Property)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.Property)
    MergeFrom(*source);
  }
}

void Property::MergeFrom(const Property& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.Property)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_key(from._internal_key());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_set_value(from._internal_value());
    }
  }
}

void Property::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.Property)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Property::CopyFrom(const Property& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.Property)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Property::IsInitialized() const {
  if (_Internal::MissingRequiredFields(_has_bits_)) return false;
  return true;
}

void Property::InternalSwap(Property* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  key_.Swap(&other->key_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  value_.Swap(&other->value_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata Property::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[0]);
}

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

class UserProperties::_Internal {
 public:
};

UserProperties::UserProperties(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  properties_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.UserProperties)
}
UserProperties::UserProperties(const UserProperties& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      properties_(from.properties_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:exec.user.UserProperties)
}

void UserProperties::SharedCtor() {
}

UserProperties::~UserProperties() {
  // @@protoc_insertion_point(destructor:exec.user.UserProperties)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void UserProperties::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void UserProperties::ArenaDtor(void* object) {
  UserProperties* _this = reinterpret_cast< UserProperties* >(object);
  (void)_this;
}
void UserProperties::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void UserProperties::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void UserProperties::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.UserProperties)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  properties_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* UserProperties::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .exec.user.Property properties = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_properties(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* UserProperties::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.UserProperties)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .exec.user.Property properties = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_properties_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_properties(i), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.UserProperties)
  return target;
}

size_t UserProperties::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.UserProperties)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .exec.user.Property properties = 1;
  total_size += 1UL * this->_internal_properties_size();
  for (const auto& msg : this->properties_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void UserProperties::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.UserProperties)
  GOOGLE_DCHECK_NE(&from, this);
  const UserProperties* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<UserProperties>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.UserProperties)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.UserProperties)
    MergeFrom(*source);
  }
}

void UserProperties::MergeFrom(const UserProperties& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.UserProperties)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  properties_.MergeFrom(from.properties_);
}

void UserProperties::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.UserProperties)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void UserProperties::CopyFrom(const UserProperties& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.UserProperties)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool UserProperties::IsInitialized() const {
  if (!::PROTOBUF_NAMESPACE_ID::internal::AllAreInitialized(properties_)) return false;
  return true;
}

void UserProperties::InternalSwap(UserProperties* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  properties_.InternalSwap(&other->properties_);
}

::PROTOBUF_NAMESPACE_ID::Metadata UserProperties::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[1]);
}

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

class RpcEndpointInfos::_Internal {
 public:
  using HasBits = decltype(std::declval<RpcEndpointInfos>()._has_bits_);
  static void set_has_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_version(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_majorversion(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_minorversion(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_patchversion(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static void set_has_application(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_buildnumber(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
  static void set_has_versionqualifier(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
};

RpcEndpointInfos::RpcEndpointInfos(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.RpcEndpointInfos)
}
RpcEndpointInfos::RpcEndpointInfos(const RpcEndpointInfos& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_name()) {
    name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(), 
      GetArena());
  }
  version_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_version()) {
    version_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_version(), 
      GetArena());
  }
  application_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_application()) {
    application_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_application(), 
      GetArena());
  }
  versionqualifier_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_versionqualifier()) {
    versionqualifier_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_versionqualifier(), 
      GetArena());
  }
  ::memcpy(&majorversion_, &from.majorversion_,
    static_cast<size_t>(reinterpret_cast<char*>(&buildnumber_) -
    reinterpret_cast<char*>(&majorversion_)) + sizeof(buildnumber_));
  // @@protoc_insertion_point(copy_constructor:exec.user.RpcEndpointInfos)
}

void RpcEndpointInfos::SharedCtor() {
name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
version_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
application_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
versionqualifier_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&majorversion_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&buildnumber_) -
    reinterpret_cast<char*>(&majorversion_)) + sizeof(buildnumber_));
}

RpcEndpointInfos::~RpcEndpointInfos() {
  // @@protoc_insertion_point(destructor:exec.user.RpcEndpointInfos)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RpcEndpointInfos::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  version_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  application_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  versionqualifier_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void RpcEndpointInfos::ArenaDtor(void* object) {
  RpcEndpointInfos* _this = reinterpret_cast< RpcEndpointInfos* >(object);
  (void)_this;
}
void RpcEndpointInfos::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RpcEndpointInfos::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void RpcEndpointInfos::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.RpcEndpointInfos)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      version_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      application_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000008u) {
      versionqualifier_.ClearNonDefaultToEmpty();
    }
  }
  if (cached_has_bits & 0x000000f0u) {
    ::memset(&majorversion_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&buildnumber_) -
        reinterpret_cast<char*>(&majorversion_)) + sizeof(buildnumber_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RpcEndpointInfos::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.RpcEndpointInfos.name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string version = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_version();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.RpcEndpointInfos.version");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 majorVersion = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          _Internal::set_has_majorversion(&has_bits);
          majorversion_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 minorVersion = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          _Internal::set_has_minorversion(&has_bits);
          minorversion_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 patchVersion = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          _Internal::set_has_patchversion(&has_bits);
          patchversion_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string application = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          auto str = _internal_mutable_application();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.RpcEndpointInfos.application");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 buildNumber = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          _Internal::set_has_buildnumber(&has_bits);
          buildnumber_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string versionQualifier = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          auto str = _internal_mutable_versionqualifier();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.RpcEndpointInfos.versionQualifier");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* RpcEndpointInfos::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.RpcEndpointInfos)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.RpcEndpointInfos.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), target);
  }

  // optional string version = 2;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_version().data(), static_cast<int>(this->_internal_version().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.RpcEndpointInfos.version");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_version(), target);
  }

  // optional uint32 majorVersion = 3;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(3, this->_internal_majorversion(), target);
  }

  // optional uint32 minorVersion = 4;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(4, this->_internal_minorversion(), target);
  }

  // optional uint32 patchVersion = 5;
  if (cached_has_bits & 0x00000040u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(5, this->_internal_patchversion(), target);
  }

  // optional string application = 6;
  if (cached_has_bits & 0x00000004u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_application().data(), static_cast<int>(this->_internal_application().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.RpcEndpointInfos.application");
    target = stream->WriteStringMaybeAliased(
        6, this->_internal_application(), target);
  }

  // optional uint32 buildNumber = 7;
  if (cached_has_bits & 0x00000080u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(7, this->_internal_buildnumber(), target);
  }

  // optional string versionQualifier = 8;
  if (cached_has_bits & 0x00000008u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_versionqualifier().data(), static_cast<int>(this->_internal_versionqualifier().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.RpcEndpointInfos.versionQualifier");
    target = stream->WriteStringMaybeAliased(
        8, this->_internal_versionqualifier(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.RpcEndpointInfos)
  return target;
}

size_t RpcEndpointInfos::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.RpcEndpointInfos)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    // optional string name = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_name());
    }

    // optional string version = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_version());
    }

    // optional string application = 6;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_application());
    }

    // optional string versionQualifier = 8;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_versionqualifier());
    }

    // optional uint32 majorVersion = 3;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_majorversion());
    }

    // optional uint32 minorVersion = 4;
    if (cached_has_bits & 0x00000020u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_minorversion());
    }

    // optional uint32 patchVersion = 5;
    if (cached_has_bits & 0x00000040u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_patchversion());
    }

    // optional uint32 buildNumber = 7;
    if (cached_has_bits & 0x00000080u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_buildnumber());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void RpcEndpointInfos::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.RpcEndpointInfos)
  GOOGLE_DCHECK_NE(&from, this);
  const RpcEndpointInfos* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RpcEndpointInfos>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.RpcEndpointInfos)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.RpcEndpointInfos)
    MergeFrom(*source);
  }
}

void RpcEndpointInfos::MergeFrom(const RpcEndpointInfos& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.RpcEndpointInfos)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_name(from._internal_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_set_version(from._internal_version());
    }
    if (cached_has_bits & 0x00000004u) {
      _internal_set_application(from._internal_application());
    }
    if (cached_has_bits & 0x00000008u) {
      _internal_set_versionqualifier(from._internal_versionqualifier());
    }
    if (cached_has_bits & 0x00000010u) {
      majorversion_ = from.majorversion_;
    }
    if (cached_has_bits & 0x00000020u) {
      minorversion_ = from.minorversion_;
    }
    if (cached_has_bits & 0x00000040u) {
      patchversion_ = from.patchversion_;
    }
    if (cached_has_bits & 0x00000080u) {
      buildnumber_ = from.buildnumber_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void RpcEndpointInfos::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.RpcEndpointInfos)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RpcEndpointInfos::CopyFrom(const RpcEndpointInfos& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.RpcEndpointInfos)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RpcEndpointInfos::IsInitialized() const {
  return true;
}

void RpcEndpointInfos::InternalSwap(RpcEndpointInfos* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  name_.Swap(&other->name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  version_.Swap(&other->version_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  application_.Swap(&other->application_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  versionqualifier_.Swap(&other->versionqualifier_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RpcEndpointInfos, buildnumber_)
      + sizeof(RpcEndpointInfos::buildnumber_)
      - PROTOBUF_FIELD_OFFSET(RpcEndpointInfos, majorversion_)>(
          reinterpret_cast<char*>(&majorversion_),
          reinterpret_cast<char*>(&other->majorversion_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RpcEndpointInfos::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[2]);
}

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

class UserToBitHandshake::_Internal {
 public:
  using HasBits = decltype(std::declval<UserToBitHandshake>()._has_bits_);
  static void set_has_channel(HasBits* has_bits) {
    (*has_bits)[0] |= 256u;
  }
  static void set_has_support_listening(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_rpc_version(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static const ::exec::shared::UserCredentials& credentials(const UserToBitHandshake* msg);
  static void set_has_credentials(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::exec::user::UserProperties& properties(const UserToBitHandshake* msg);
  static void set_has_properties(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_support_complex_types(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_support_timeout(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static const ::exec::user::RpcEndpointInfos& client_infos(const UserToBitHandshake* msg);
  static void set_has_client_infos(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_sasl_support(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
};

const ::exec::shared::UserCredentials&
UserToBitHandshake::_Internal::credentials(const UserToBitHandshake* msg) {
  return *msg->credentials_;
}
const ::exec::user::UserProperties&
UserToBitHandshake::_Internal::properties(const UserToBitHandshake* msg) {
  return *msg->properties_;
}
const ::exec::user::RpcEndpointInfos&
UserToBitHandshake::_Internal::client_infos(const UserToBitHandshake* msg) {
  return *msg->client_infos_;
}
void UserToBitHandshake::clear_credentials() {
  if (credentials_ != nullptr) credentials_->Clear();
  _has_bits_[0] &= ~0x00000001u;
}
UserToBitHandshake::UserToBitHandshake(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.UserToBitHandshake)
}
UserToBitHandshake::UserToBitHandshake(const UserToBitHandshake& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_credentials()) {
    credentials_ = new ::exec::shared::UserCredentials(*from.credentials_);
  } else {
    credentials_ = nullptr;
  }
  if (from._internal_has_properties()) {
    properties_ = new ::exec::user::UserProperties(*from.properties_);
  } else {
    properties_ = nullptr;
  }
  if (from._internal_has_client_infos()) {
    client_infos_ = new ::exec::user::RpcEndpointInfos(*from.client_infos_);
  } else {
    client_infos_ = nullptr;
  }
  ::memcpy(&rpc_version_, &from.rpc_version_,
    static_cast<size_t>(reinterpret_cast<char*>(&channel_) -
    reinterpret_cast<char*>(&rpc_version_)) + sizeof(channel_));
  // @@protoc_insertion_point(copy_constructor:exec.user.UserToBitHandshake)
}

void UserToBitHandshake::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&credentials_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&sasl_support_) -
    reinterpret_cast<char*>(&credentials_)) + sizeof(sasl_support_));
channel_ = 2;
}

UserToBitHandshake::~UserToBitHandshake() {
  // @@protoc_insertion_point(destructor:exec.user.UserToBitHandshake)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void UserToBitHandshake::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete credentials_;
  if (this != internal_default_instance()) delete properties_;
  if (this != internal_default_instance()) delete client_infos_;
}

void UserToBitHandshake::ArenaDtor(void* object) {
  UserToBitHandshake* _this = reinterpret_cast< UserToBitHandshake* >(object);
  (void)_this;
}
void UserToBitHandshake::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void UserToBitHandshake::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void UserToBitHandshake::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.UserToBitHandshake)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(credentials_ != nullptr);
      credentials_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(properties_ != nullptr);
      properties_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(client_infos_ != nullptr);
      client_infos_->Clear();
    }
  }
  if (cached_has_bits & 0x000000f8u) {
    ::memset(&rpc_version_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&sasl_support_) -
        reinterpret_cast<char*>(&rpc_version_)) + sizeof(sasl_support_));
  }
  channel_ = 2;
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* UserToBitHandshake::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .exec.shared.RpcChannel channel = 1 [default = USER];
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::shared::RpcChannel_IsValid(val))) {
            _internal_set_channel(static_cast<::exec::shared::RpcChannel>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional bool support_listening = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          _Internal::set_has_support_listening(&has_bits);
          support_listening_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 rpc_version = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          _Internal::set_has_rpc_version(&has_bits);
          rpc_version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.shared.UserCredentials credentials = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_credentials(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.user.UserProperties properties = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_properties(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional bool support_complex_types = 6 [default = false];
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          _Internal::set_has_support_complex_types(&has_bits);
          support_complex_types_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional bool support_timeout = 7 [default = false];
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          _Internal::set_has_support_timeout(&has_bits);
          support_timeout_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.user.RpcEndpointInfos client_infos = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr = ctx->ParseMessage(_internal_mutable_client_infos(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.user.SaslSupport sasl_support = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::user::SaslSupport_IsValid(val))) {
            _internal_set_sasl_support(static_cast<::exec::user::SaslSupport>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(9, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* UserToBitHandshake::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.UserToBitHandshake)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .exec.shared.RpcChannel channel = 1 [default = USER];
  if (cached_has_bits & 0x00000100u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_channel(), target);
  }

  // optional bool support_listening = 2;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_support_listening(), target);
  }

  // optional int32 rpc_version = 3;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_rpc_version(), target);
  }

  // optional .exec.shared.UserCredentials credentials = 4;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::credentials(this), target, stream);
  }

  // optional .exec.user.UserProperties properties = 5;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        5, _Internal::properties(this), target, stream);
  }

  // optional bool support_complex_types = 6 [default = false];
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(6, this->_internal_support_complex_types(), target);
  }

  // optional bool support_timeout = 7 [default = false];
  if (cached_has_bits & 0x00000040u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(7, this->_internal_support_timeout(), target);
  }

  // optional .exec.user.RpcEndpointInfos client_infos = 8;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        8, _Internal::client_infos(this), target, stream);
  }

  // optional .exec.user.SaslSupport sasl_support = 9;
  if (cached_has_bits & 0x00000080u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      9, this->_internal_sasl_support(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.UserToBitHandshake)
  return target;
}

size_t UserToBitHandshake::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.UserToBitHandshake)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    // optional .exec.shared.UserCredentials credentials = 4;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *credentials_);
    }

    // optional .exec.user.UserProperties properties = 5;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *properties_);
    }

    // optional .exec.user.RpcEndpointInfos client_infos = 8;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *client_infos_);
    }

    // optional int32 rpc_version = 3;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_rpc_version());
    }

    // optional bool support_listening = 2;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 + 1;
    }

    // optional bool support_complex_types = 6 [default = false];
    if (cached_has_bits & 0x00000020u) {
      total_size += 1 + 1;
    }

    // optional bool support_timeout = 7 [default = false];
    if (cached_has_bits & 0x00000040u) {
      total_size += 1 + 1;
    }

    // optional .exec.user.SaslSupport sasl_support = 9;
    if (cached_has_bits & 0x00000080u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_sasl_support());
    }

  }
  // optional .exec.shared.RpcChannel channel = 1 [default = USER];
  if (cached_has_bits & 0x00000100u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_channel());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void UserToBitHandshake::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.UserToBitHandshake)
  GOOGLE_DCHECK_NE(&from, this);
  const UserToBitHandshake* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<UserToBitHandshake>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.UserToBitHandshake)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.UserToBitHandshake)
    MergeFrom(*source);
  }
}

void UserToBitHandshake::MergeFrom(const UserToBitHandshake& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.UserToBitHandshake)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_mutable_credentials()->::exec::shared::UserCredentials::MergeFrom(from._internal_credentials());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_mutable_properties()->::exec::user::UserProperties::MergeFrom(from._internal_properties());
    }
    if (cached_has_bits & 0x00000004u) {
      _internal_mutable_client_infos()->::exec::user::RpcEndpointInfos::MergeFrom(from._internal_client_infos());
    }
    if (cached_has_bits & 0x00000008u) {
      rpc_version_ = from.rpc_version_;
    }
    if (cached_has_bits & 0x00000010u) {
      support_listening_ = from.support_listening_;
    }
    if (cached_has_bits & 0x00000020u) {
      support_complex_types_ = from.support_complex_types_;
    }
    if (cached_has_bits & 0x00000040u) {
      support_timeout_ = from.support_timeout_;
    }
    if (cached_has_bits & 0x00000080u) {
      sasl_support_ = from.sasl_support_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00000100u) {
    _internal_set_channel(from._internal_channel());
  }
}

void UserToBitHandshake::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.UserToBitHandshake)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void UserToBitHandshake::CopyFrom(const UserToBitHandshake& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.UserToBitHandshake)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool UserToBitHandshake::IsInitialized() const {
  if (_internal_has_properties()) {
    if (!properties_->IsInitialized()) return false;
  }
  return true;
}

void UserToBitHandshake::InternalSwap(UserToBitHandshake* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(UserToBitHandshake, sasl_support_)
      + sizeof(UserToBitHandshake::sasl_support_)
      - PROTOBUF_FIELD_OFFSET(UserToBitHandshake, credentials_)>(
          reinterpret_cast<char*>(&credentials_),
          reinterpret_cast<char*>(&other->credentials_));
  swap(channel_, other->channel_);
}

::PROTOBUF_NAMESPACE_ID::Metadata UserToBitHandshake::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[3]);
}

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

class RequestResults::_Internal {
 public:
  using HasBits = decltype(std::declval<RequestResults>()._has_bits_);
  static const ::exec::shared::QueryId& query_id(const RequestResults* msg);
  static void set_has_query_id(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_maximum_responses(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::exec::shared::QueryId&
RequestResults::_Internal::query_id(const RequestResults* msg) {
  return *msg->query_id_;
}
void RequestResults::clear_query_id() {
  if (query_id_ != nullptr) query_id_->Clear();
  _has_bits_[0] &= ~0x00000001u;
}
RequestResults::RequestResults(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.RequestResults)
}
RequestResults::RequestResults(const RequestResults& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_query_id()) {
    query_id_ = new ::exec::shared::QueryId(*from.query_id_);
  } else {
    query_id_ = nullptr;
  }
  maximum_responses_ = from.maximum_responses_;
  // @@protoc_insertion_point(copy_constructor:exec.user.RequestResults)
}

void RequestResults::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&query_id_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&maximum_responses_) -
    reinterpret_cast<char*>(&query_id_)) + sizeof(maximum_responses_));
}

RequestResults::~RequestResults() {
  // @@protoc_insertion_point(destructor:exec.user.RequestResults)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RequestResults::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete query_id_;
}

void RequestResults::ArenaDtor(void* object) {
  RequestResults* _this = reinterpret_cast< RequestResults* >(object);
  (void)_this;
}
void RequestResults::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RequestResults::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void RequestResults::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.RequestResults)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(query_id_ != nullptr);
    query_id_->Clear();
  }
  maximum_responses_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RequestResults::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .exec.shared.QueryId query_id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_query_id(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 maximum_responses = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          _Internal::set_has_maximum_responses(&has_bits);
          maximum_responses_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* RequestResults::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.RequestResults)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .exec.shared.QueryId query_id = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::query_id(this), target, stream);
  }

  // optional int32 maximum_responses = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_maximum_responses(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.RequestResults)
  return target;
}

size_t RequestResults::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.RequestResults)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional .exec.shared.QueryId query_id = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *query_id_);
    }

    // optional int32 maximum_responses = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_maximum_responses());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void RequestResults::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.RequestResults)
  GOOGLE_DCHECK_NE(&from, this);
  const RequestResults* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RequestResults>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.RequestResults)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.RequestResults)
    MergeFrom(*source);
  }
}

void RequestResults::MergeFrom(const RequestResults& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.RequestResults)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _internal_mutable_query_id()->::exec::shared::QueryId::MergeFrom(from._internal_query_id());
    }
    if (cached_has_bits & 0x00000002u) {
      maximum_responses_ = from.maximum_responses_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void RequestResults::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.RequestResults)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RequestResults::CopyFrom(const RequestResults& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.RequestResults)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RequestResults::IsInitialized() const {
  return true;
}

void RequestResults::InternalSwap(RequestResults* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RequestResults, maximum_responses_)
      + sizeof(RequestResults::maximum_responses_)
      - PROTOBUF_FIELD_OFFSET(RequestResults, query_id_)>(
          reinterpret_cast<char*>(&query_id_),
          reinterpret_cast<char*>(&other->query_id_));
}

::PROTOBUF_NAMESPACE_ID::Metadata RequestResults::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[4]);
}

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

class GetQueryPlanFragments::_Internal {
 public:
  using HasBits = decltype(std::declval<GetQueryPlanFragments>()._has_bits_);
  static void set_has_query(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_type(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_split_plan(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static bool MissingRequiredFields(const HasBits& has_bits) {
    return ((has_bits[0] & 0x00000001) ^ 0x00000001) != 0;
  }
};

GetQueryPlanFragments::GetQueryPlanFragments(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.GetQueryPlanFragments)
}
GetQueryPlanFragments::GetQueryPlanFragments(const GetQueryPlanFragments& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  query_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_query()) {
    query_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_query(), 
      GetArena());
  }
  ::memcpy(&split_plan_, &from.split_plan_,
    static_cast<size_t>(reinterpret_cast<char*>(&type_) -
    reinterpret_cast<char*>(&split_plan_)) + sizeof(type_));
  // @@protoc_insertion_point(copy_constructor:exec.user.GetQueryPlanFragments)
}

void GetQueryPlanFragments::SharedCtor() {
query_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
split_plan_ = false;
type_ = 1;
}

GetQueryPlanFragments::~GetQueryPlanFragments() {
  // @@protoc_insertion_point(destructor:exec.user.GetQueryPlanFragments)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void GetQueryPlanFragments::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  query_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void GetQueryPlanFragments::ArenaDtor(void* object) {
  GetQueryPlanFragments* _this = reinterpret_cast< GetQueryPlanFragments* >(object);
  (void)_this;
}
void GetQueryPlanFragments::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void GetQueryPlanFragments::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void GetQueryPlanFragments::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.GetQueryPlanFragments)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    query_.ClearNonDefaultToEmpty();
  }
  if (cached_has_bits & 0x00000006u) {
    split_plan_ = false;
    type_ = 1;
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GetQueryPlanFragments::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // required string query = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_query();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.GetQueryPlanFragments.query");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.shared.QueryType type = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::shared::QueryType_IsValid(val))) {
            _internal_set_type(static_cast<::exec::shared::QueryType>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(2, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional bool split_plan = 3 [default = false];
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          _Internal::set_has_split_plan(&has_bits);
          split_plan_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* GetQueryPlanFragments::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.GetQueryPlanFragments)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required string query = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_query().data(), static_cast<int>(this->_internal_query().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.GetQueryPlanFragments.query");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_query(), target);
  }

  // optional .exec.shared.QueryType type = 2;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_type(), target);
  }

  // optional bool split_plan = 3 [default = false];
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_split_plan(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.GetQueryPlanFragments)
  return target;
}

size_t GetQueryPlanFragments::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.GetQueryPlanFragments)
  size_t total_size = 0;

  // required string query = 1;
  if (_internal_has_query()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_query());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000006u) {
    // optional bool split_plan = 3 [default = false];
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 + 1;
    }

    // optional .exec.shared.QueryType type = 2;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_type());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetQueryPlanFragments::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.GetQueryPlanFragments)
  GOOGLE_DCHECK_NE(&from, this);
  const GetQueryPlanFragments* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<GetQueryPlanFragments>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.GetQueryPlanFragments)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.GetQueryPlanFragments)
    MergeFrom(*source);
  }
}

void GetQueryPlanFragments::MergeFrom(const GetQueryPlanFragments& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.GetQueryPlanFragments)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_query(from._internal_query());
    }
    if (cached_has_bits & 0x00000002u) {
      split_plan_ = from.split_plan_;
    }
    if (cached_has_bits & 0x00000004u) {
      type_ = from.type_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void GetQueryPlanFragments::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.GetQueryPlanFragments)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GetQueryPlanFragments::CopyFrom(const GetQueryPlanFragments& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.GetQueryPlanFragments)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetQueryPlanFragments::IsInitialized() const {
  if (_Internal::MissingRequiredFields(_has_bits_)) return false;
  return true;
}

void GetQueryPlanFragments::InternalSwap(GetQueryPlanFragments* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  query_.Swap(&other->query_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  swap(split_plan_, other->split_plan_);
  swap(type_, other->type_);
}

::PROTOBUF_NAMESPACE_ID::Metadata GetQueryPlanFragments::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[5]);
}

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

class QueryPlanFragments::_Internal {
 public:
  using HasBits = decltype(std::declval<QueryPlanFragments>()._has_bits_);
  static void set_has_status(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::exec::shared::QueryId& query_id(const QueryPlanFragments* msg);
  static void set_has_query_id(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::exec::shared::DrillPBError& error(const QueryPlanFragments* msg);
  static void set_has_error(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static bool MissingRequiredFields(const HasBits& has_bits) {
    return ((has_bits[0] & 0x00000004) ^ 0x00000004) != 0;
  }
};

const ::exec::shared::QueryId&
QueryPlanFragments::_Internal::query_id(const QueryPlanFragments* msg) {
  return *msg->query_id_;
}
const ::exec::shared::DrillPBError&
QueryPlanFragments::_Internal::error(const QueryPlanFragments* msg) {
  return *msg->error_;
}
void QueryPlanFragments::clear_query_id() {
  if (query_id_ != nullptr) query_id_->Clear();
  _has_bits_[0] &= ~0x00000001u;
}
void QueryPlanFragments::clear_fragments() {
  fragments_.Clear();
}
void QueryPlanFragments::clear_error() {
  if (error_ != nullptr) error_->Clear();
  _has_bits_[0] &= ~0x00000002u;
}
QueryPlanFragments::QueryPlanFragments(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  fragments_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.QueryPlanFragments)
}
QueryPlanFragments::QueryPlanFragments(const QueryPlanFragments& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      fragments_(from.fragments_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_query_id()) {
    query_id_ = new ::exec::shared::QueryId(*from.query_id_);
  } else {
    query_id_ = nullptr;
  }
  if (from._internal_has_error()) {
    error_ = new ::exec::shared::DrillPBError(*from.error_);
  } else {
    error_ = nullptr;
  }
  status_ = from.status_;
  // @@protoc_insertion_point(copy_constructor:exec.user.QueryPlanFragments)
}

void QueryPlanFragments::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&query_id_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&status_) -
    reinterpret_cast<char*>(&query_id_)) + sizeof(status_));
}

QueryPlanFragments::~QueryPlanFragments() {
  // @@protoc_insertion_point(destructor:exec.user.QueryPlanFragments)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void QueryPlanFragments::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete query_id_;
  if (this != internal_default_instance()) delete error_;
}

void QueryPlanFragments::ArenaDtor(void* object) {
  QueryPlanFragments* _this = reinterpret_cast< QueryPlanFragments* >(object);
  (void)_this;
}
void QueryPlanFragments::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void QueryPlanFragments::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void QueryPlanFragments::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.QueryPlanFragments)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  fragments_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(query_id_ != nullptr);
      query_id_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(error_ != nullptr);
      error_->Clear();
    }
  }
  status_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* QueryPlanFragments::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // required .exec.shared.QueryResult.QueryState status = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::shared::QueryResult_QueryState_IsValid(val))) {
            _internal_set_status(static_cast<::exec::shared::QueryResult_QueryState>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional .exec.shared.QueryId query_id = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_query_id(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .exec.bit.control.PlanFragment fragments = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_fragments(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else goto handle_unusual;
        continue;
      // optional .exec.shared.DrillPBError error = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* QueryPlanFragments::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.QueryPlanFragments)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .exec.shared.QueryResult.QueryState status = 1;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_status(), target);
  }

  // optional .exec.shared.QueryId query_id = 2;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::query_id(this), target, stream);
  }

  // repeated .exec.bit.control.PlanFragment fragments = 3;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_fragments_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, this->_internal_fragments(i), target, stream);
  }

  // optional .exec.shared.DrillPBError error = 4;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::error(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.QueryPlanFragments)
  return target;
}

size_t QueryPlanFragments::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.QueryPlanFragments)
  size_t total_size = 0;

  // required .exec.shared.QueryResult.QueryState status = 1;
  if (_internal_has_status()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_status());
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .exec.bit.control.PlanFragment fragments = 3;
  total_size += 1UL * this->_internal_fragments_size();
  for (const auto& msg : this->fragments_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional .exec.shared.QueryId query_id = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *query_id_);
    }

    // optional .exec.shared.DrillPBError error = 4;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *error_);
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void QueryPlanFragments::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.QueryPlanFragments)
  GOOGLE_DCHECK_NE(&from, this);
  const QueryPlanFragments* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<QueryPlanFragments>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.QueryPlanFragments)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.QueryPlanFragments)
    MergeFrom(*source);
  }
}

void QueryPlanFragments::MergeFrom(const QueryPlanFragments& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.QueryPlanFragments)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  fragments_.MergeFrom(from.fragments_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _internal_mutable_query_id()->::exec::shared::QueryId::MergeFrom(from._internal_query_id());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_mutable_error()->::exec::shared::DrillPBError::MergeFrom(from._internal_error());
    }
    if (cached_has_bits & 0x00000004u) {
      status_ = from.status_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void QueryPlanFragments::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.QueryPlanFragments)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void QueryPlanFragments::CopyFrom(const QueryPlanFragments& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.QueryPlanFragments)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool QueryPlanFragments::IsInitialized() const {
  if (_Internal::MissingRequiredFields(_has_bits_)) return false;
  return true;
}

void QueryPlanFragments::InternalSwap(QueryPlanFragments* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  fragments_.InternalSwap(&other->fragments_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(QueryPlanFragments, status_)
      + sizeof(QueryPlanFragments::status_)
      - PROTOBUF_FIELD_OFFSET(QueryPlanFragments, query_id_)>(
          reinterpret_cast<char*>(&query_id_),
          reinterpret_cast<char*>(&other->query_id_));
}

::PROTOBUF_NAMESPACE_ID::Metadata QueryPlanFragments::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[6]);
}

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

class BitToUserHandshake::_Internal {
 public:
  using HasBits = decltype(std::declval<BitToUserHandshake>()._has_bits_);
  static void set_has_rpc_version(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_status(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static void set_has_errorid(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_errormessage(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::exec::user::RpcEndpointInfos& server_infos(const BitToUserHandshake* msg);
  static void set_has_server_infos(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_encrypted(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_maxwrappedsize(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
};

const ::exec::user::RpcEndpointInfos&
BitToUserHandshake::_Internal::server_infos(const BitToUserHandshake* msg) {
  return *msg->server_infos_;
}
BitToUserHandshake::BitToUserHandshake(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  authenticationmechanisms_(arena),
  supported_methods_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.BitToUserHandshake)
}
BitToUserHandshake::BitToUserHandshake(const BitToUserHandshake& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      authenticationmechanisms_(from.authenticationmechanisms_),
      supported_methods_(from.supported_methods_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  errorid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_errorid()) {
    errorid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_errorid(), 
      GetArena());
  }
  errormessage_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_errormessage()) {
    errormessage_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_errormessage(), 
      GetArena());
  }
  if (from._internal_has_server_infos()) {
    server_infos_ = new ::exec::user::RpcEndpointInfos(*from.server_infos_);
  } else {
    server_infos_ = nullptr;
  }
  ::memcpy(&rpc_version_, &from.rpc_version_,
    static_cast<size_t>(reinterpret_cast<char*>(&status_) -
    reinterpret_cast<char*>(&rpc_version_)) + sizeof(status_));
  // @@protoc_insertion_point(copy_constructor:exec.user.BitToUserHandshake)
}

void BitToUserHandshake::SharedCtor() {
errorid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
errormessage_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&server_infos_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&maxwrappedsize_) -
    reinterpret_cast<char*>(&server_infos_)) + sizeof(maxwrappedsize_));
status_ = 1;
}

BitToUserHandshake::~BitToUserHandshake() {
  // @@protoc_insertion_point(destructor:exec.user.BitToUserHandshake)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void BitToUserHandshake::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  errorid_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  errormessage_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete server_infos_;
}

void BitToUserHandshake::ArenaDtor(void* object) {
  BitToUserHandshake* _this = reinterpret_cast< BitToUserHandshake* >(object);
  (void)_this;
}
void BitToUserHandshake::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void BitToUserHandshake::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void BitToUserHandshake::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.BitToUserHandshake)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  authenticationmechanisms_.Clear();
  supported_methods_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      errorid_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      errormessage_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(server_infos_ != nullptr);
      server_infos_->Clear();
    }
  }
  if (cached_has_bits & 0x00000078u) {
    ::memset(&rpc_version_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&maxwrappedsize_) -
        reinterpret_cast<char*>(&rpc_version_)) + sizeof(maxwrappedsize_));
    status_ = 1;
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* BitToUserHandshake::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional int32 rpc_version = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          _Internal::set_has_rpc_version(&has_bits);
          rpc_version_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.user.HandshakeStatus status = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::user::HandshakeStatus_IsValid(val))) {
            _internal_set_status(static_cast<::exec::user::HandshakeStatus>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(3, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional string errorId = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_errorid();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.BitToUserHandshake.errorId");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string errorMessage = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          auto str = _internal_mutable_errormessage();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.BitToUserHandshake.errorMessage");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.user.RpcEndpointInfos server_infos = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          ptr = ctx->ParseMessage(_internal_mutable_server_infos(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated string authenticationMechanisms = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_authenticationmechanisms();
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
            #ifndef NDEBUG
            ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.BitToUserHandshake.authenticationMechanisms");
            #endif  // !NDEBUG
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<58>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .exec.user.RpcType supported_methods = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          ptr -= 1;
          do {
            ptr += 1;
            ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
            CHK_(ptr);
            if (PROTOBUF_PREDICT_TRUE(::exec::user::RpcType_IsValid(val))) {
              _internal_add_supported_methods(static_cast<::exec::user::RpcType>(val));
            } else {
              ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(8, val, mutable_unknown_fields());
            }
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<64>(ptr));
        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(_internal_mutable_supported_methods(), ptr, ctx, ::exec::user::RpcType_IsValid, &_internal_metadata_, 8);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional bool encrypted = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          _Internal::set_has_encrypted(&has_bits);
          encrypted_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 maxWrappedSize = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
          _Internal::set_has_maxwrappedsize(&has_bits);
          maxwrappedsize_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* BitToUserHandshake::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.BitToUserHandshake)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional int32 rpc_version = 2;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_rpc_version(), target);
  }

  // optional .exec.user.HandshakeStatus status = 3;
  if (cached_has_bits & 0x00000040u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      3, this->_internal_status(), target);
  }

  // optional string errorId = 4;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_errorid().data(), static_cast<int>(this->_internal_errorid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.BitToUserHandshake.errorId");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_errorid(), target);
  }

  // optional string errorMessage = 5;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_errormessage().data(), static_cast<int>(this->_internal_errormessage().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.BitToUserHandshake.errorMessage");
    target = stream->WriteStringMaybeAliased(
        5, this->_internal_errormessage(), target);
  }

  // optional .exec.user.RpcEndpointInfos server_infos = 6;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        6, _Internal::server_infos(this), target, stream);
  }

  // repeated string authenticationMechanisms = 7;
  for (int i = 0, n = this->_internal_authenticationmechanisms_size(); i < n; i++) {
    const auto& s = this->_internal_authenticationmechanisms(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.BitToUserHandshake.authenticationMechanisms");
    target = stream->WriteString(7, s, target);
  }

  // repeated .exec.user.RpcType supported_methods = 8;
  for (int i = 0, n = this->_internal_supported_methods_size(); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
        8, this->_internal_supported_methods(i), target);
  }

  // optional bool encrypted = 9;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(9, this->_internal_encrypted(), target);
  }

  // optional int32 maxWrappedSize = 10;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(10, this->_internal_maxwrappedsize(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.BitToUserHandshake)
  return target;
}

size_t BitToUserHandshake::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.BitToUserHandshake)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated string authenticationMechanisms = 7;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(authenticationmechanisms_.size());
  for (int i = 0, n = authenticationmechanisms_.size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      authenticationmechanisms_.Get(i));
  }

  // repeated .exec.user.RpcType supported_methods = 8;
  {
    size_t data_size = 0;
    unsigned int count = static_cast<unsigned int>(this->_internal_supported_methods_size());for (unsigned int i = 0; i < count; i++) {
      data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(
        this->_internal_supported_methods(static_cast<int>(i)));
    }
    total_size += (1UL * count) + data_size;
  }

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    // optional string errorId = 4;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_errorid());
    }

    // optional string errorMessage = 5;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_errormessage());
    }

    // optional .exec.user.RpcEndpointInfos server_infos = 6;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *server_infos_);
    }

    // optional int32 rpc_version = 2;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_rpc_version());
    }

    // optional bool encrypted = 9;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 + 1;
    }

    // optional int32 maxWrappedSize = 10;
    if (cached_has_bits & 0x00000020u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_maxwrappedsize());
    }

    // optional .exec.user.HandshakeStatus status = 3;
    if (cached_has_bits & 0x00000040u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_status());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void BitToUserHandshake::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.BitToUserHandshake)
  GOOGLE_DCHECK_NE(&from, this);
  const BitToUserHandshake* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<BitToUserHandshake>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.BitToUserHandshake)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.BitToUserHandshake)
    MergeFrom(*source);
  }
}

void BitToUserHandshake::MergeFrom(const BitToUserHandshake& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.BitToUserHandshake)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  authenticationmechanisms_.MergeFrom(from.authenticationmechanisms_);
  supported_methods_.MergeFrom(from.supported_methods_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_errorid(from._internal_errorid());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_set_errormessage(from._internal_errormessage());
    }
    if (cached_has_bits & 0x00000004u) {
      _internal_mutable_server_infos()->::exec::user::RpcEndpointInfos::MergeFrom(from._internal_server_infos());
    }
    if (cached_has_bits & 0x00000008u) {
      rpc_version_ = from.rpc_version_;
    }
    if (cached_has_bits & 0x00000010u) {
      encrypted_ = from.encrypted_;
    }
    if (cached_has_bits & 0x00000020u) {
      maxwrappedsize_ = from.maxwrappedsize_;
    }
    if (cached_has_bits & 0x00000040u) {
      status_ = from.status_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void BitToUserHandshake::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.BitToUserHandshake)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void BitToUserHandshake::CopyFrom(const BitToUserHandshake& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.BitToUserHandshake)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool BitToUserHandshake::IsInitialized() const {
  return true;
}

void BitToUserHandshake::InternalSwap(BitToUserHandshake* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  authenticationmechanisms_.InternalSwap(&other->authenticationmechanisms_);
  supported_methods_.InternalSwap(&other->supported_methods_);
  errorid_.Swap(&other->errorid_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  errormessage_.Swap(&other->errormessage_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BitToUserHandshake, maxwrappedsize_)
      + sizeof(BitToUserHandshake::maxwrappedsize_)
      - PROTOBUF_FIELD_OFFSET(BitToUserHandshake, server_infos_)>(
          reinterpret_cast<char*>(&server_infos_),
          reinterpret_cast<char*>(&other->server_infos_));
  swap(status_, other->status_);
}

::PROTOBUF_NAMESPACE_ID::Metadata BitToUserHandshake::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[7]);
}

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

class LikeFilter::_Internal {
 public:
  using HasBits = decltype(std::declval<LikeFilter>()._has_bits_);
  static void set_has_pattern(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_escape(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

LikeFilter::LikeFilter(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.LikeFilter)
}
LikeFilter::LikeFilter(const LikeFilter& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  pattern_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_pattern()) {
    pattern_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_pattern(), 
      GetArena());
  }
  escape_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_escape()) {
    escape_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_escape(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:exec.user.LikeFilter)
}

void LikeFilter::SharedCtor() {
pattern_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
escape_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

LikeFilter::~LikeFilter() {
  // @@protoc_insertion_point(destructor:exec.user.LikeFilter)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void LikeFilter::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  pattern_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  escape_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void LikeFilter::ArenaDtor(void* object) {
  LikeFilter* _this = reinterpret_cast< LikeFilter* >(object);
  (void)_this;
}
void LikeFilter::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void LikeFilter::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void LikeFilter::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.LikeFilter)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      pattern_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      escape_.ClearNonDefaultToEmpty();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* LikeFilter::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string pattern = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_pattern();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.LikeFilter.pattern");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string escape = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_escape();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.LikeFilter.escape");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* LikeFilter::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.LikeFilter)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string pattern = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_pattern().data(), static_cast<int>(this->_internal_pattern().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.LikeFilter.pattern");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_pattern(), target);
  }

  // optional string escape = 2;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_escape().data(), static_cast<int>(this->_internal_escape().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.LikeFilter.escape");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_escape(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.LikeFilter)
  return target;
}

size_t LikeFilter::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.LikeFilter)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional string pattern = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_pattern());
    }

    // optional string escape = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_escape());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void LikeFilter::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.LikeFilter)
  GOOGLE_DCHECK_NE(&from, this);
  const LikeFilter* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<LikeFilter>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.LikeFilter)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.LikeFilter)
    MergeFrom(*source);
  }
}

void LikeFilter::MergeFrom(const LikeFilter& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.LikeFilter)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_pattern(from._internal_pattern());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_set_escape(from._internal_escape());
    }
  }
}

void LikeFilter::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.LikeFilter)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void LikeFilter::CopyFrom(const LikeFilter& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.LikeFilter)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool LikeFilter::IsInitialized() const {
  return true;
}

void LikeFilter::InternalSwap(LikeFilter* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  pattern_.Swap(&other->pattern_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  escape_.Swap(&other->escape_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata LikeFilter::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[8]);
}

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

class GetCatalogsReq::_Internal {
 public:
  using HasBits = decltype(std::declval<GetCatalogsReq>()._has_bits_);
  static const ::exec::user::LikeFilter& catalog_name_filter(const GetCatalogsReq* msg);
  static void set_has_catalog_name_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::exec::user::LikeFilter&
GetCatalogsReq::_Internal::catalog_name_filter(const GetCatalogsReq* msg) {
  return *msg->catalog_name_filter_;
}
GetCatalogsReq::GetCatalogsReq(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.GetCatalogsReq)
}
GetCatalogsReq::GetCatalogsReq(const GetCatalogsReq& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_catalog_name_filter()) {
    catalog_name_filter_ = new ::exec::user::LikeFilter(*from.catalog_name_filter_);
  } else {
    catalog_name_filter_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:exec.user.GetCatalogsReq)
}

void GetCatalogsReq::SharedCtor() {
catalog_name_filter_ = nullptr;
}

GetCatalogsReq::~GetCatalogsReq() {
  // @@protoc_insertion_point(destructor:exec.user.GetCatalogsReq)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void GetCatalogsReq::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete catalog_name_filter_;
}

void GetCatalogsReq::ArenaDtor(void* object) {
  GetCatalogsReq* _this = reinterpret_cast< GetCatalogsReq* >(object);
  (void)_this;
}
void GetCatalogsReq::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void GetCatalogsReq::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void GetCatalogsReq::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.GetCatalogsReq)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(catalog_name_filter_ != nullptr);
    catalog_name_filter_->Clear();
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GetCatalogsReq::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .exec.user.LikeFilter catalog_name_filter = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_catalog_name_filter(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* GetCatalogsReq::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.GetCatalogsReq)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .exec.user.LikeFilter catalog_name_filter = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::catalog_name_filter(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.GetCatalogsReq)
  return target;
}

size_t GetCatalogsReq::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.GetCatalogsReq)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // optional .exec.user.LikeFilter catalog_name_filter = 1;
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *catalog_name_filter_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCatalogsReq::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.GetCatalogsReq)
  GOOGLE_DCHECK_NE(&from, this);
  const GetCatalogsReq* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<GetCatalogsReq>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.GetCatalogsReq)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.GetCatalogsReq)
    MergeFrom(*source);
  }
}

void GetCatalogsReq::MergeFrom(const GetCatalogsReq& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.GetCatalogsReq)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_catalog_name_filter()) {
    _internal_mutable_catalog_name_filter()->::exec::user::LikeFilter::MergeFrom(from._internal_catalog_name_filter());
  }
}

void GetCatalogsReq::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.GetCatalogsReq)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GetCatalogsReq::CopyFrom(const GetCatalogsReq& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.GetCatalogsReq)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCatalogsReq::IsInitialized() const {
  return true;
}

void GetCatalogsReq::InternalSwap(GetCatalogsReq* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  swap(catalog_name_filter_, other->catalog_name_filter_);
}

::PROTOBUF_NAMESPACE_ID::Metadata GetCatalogsReq::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[9]);
}

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

class CatalogMetadata::_Internal {
 public:
  using HasBits = decltype(std::declval<CatalogMetadata>()._has_bits_);
  static void set_has_catalog_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_description(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_connect(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

CatalogMetadata::CatalogMetadata(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.CatalogMetadata)
}
CatalogMetadata::CatalogMetadata(const CatalogMetadata& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  catalog_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_catalog_name()) {
    catalog_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_catalog_name(), 
      GetArena());
  }
  description_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_description()) {
    description_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_description(), 
      GetArena());
  }
  connect_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_connect()) {
    connect_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_connect(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:exec.user.CatalogMetadata)
}

void CatalogMetadata::SharedCtor() {
catalog_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
description_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
connect_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

CatalogMetadata::~CatalogMetadata() {
  // @@protoc_insertion_point(destructor:exec.user.CatalogMetadata)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CatalogMetadata::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  catalog_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  description_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  connect_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void CatalogMetadata::ArenaDtor(void* object) {
  CatalogMetadata* _this = reinterpret_cast< CatalogMetadata* >(object);
  (void)_this;
}
void CatalogMetadata::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CatalogMetadata::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void CatalogMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.CatalogMetadata)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      catalog_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      description_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      connect_.ClearNonDefaultToEmpty();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CatalogMetadata::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string catalog_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_catalog_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.CatalogMetadata.catalog_name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string description = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_description();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.CatalogMetadata.description");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string connect = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_connect();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.CatalogMetadata.connect");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* CatalogMetadata::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.CatalogMetadata)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string catalog_name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_catalog_name().data(), static_cast<int>(this->_internal_catalog_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.CatalogMetadata.catalog_name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_catalog_name(), target);
  }

  // optional string description = 2;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_description().data(), static_cast<int>(this->_internal_description().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.CatalogMetadata.description");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_description(), target);
  }

  // optional string connect = 3;
  if (cached_has_bits & 0x00000004u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_connect().data(), static_cast<int>(this->_internal_connect().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.CatalogMetadata.connect");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_connect(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.CatalogMetadata)
  return target;
}

size_t CatalogMetadata::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.CatalogMetadata)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // optional string catalog_name = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_catalog_name());
    }

    // optional string description = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_description());
    }

    // optional string connect = 3;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_connect());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CatalogMetadata::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.CatalogMetadata)
  GOOGLE_DCHECK_NE(&from, this);
  const CatalogMetadata* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CatalogMetadata>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.CatalogMetadata)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.CatalogMetadata)
    MergeFrom(*source);
  }
}

void CatalogMetadata::MergeFrom(const CatalogMetadata& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.CatalogMetadata)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_catalog_name(from._internal_catalog_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_set_description(from._internal_description());
    }
    if (cached_has_bits & 0x00000004u) {
      _internal_set_connect(from._internal_connect());
    }
  }
}

void CatalogMetadata::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.CatalogMetadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CatalogMetadata::CopyFrom(const CatalogMetadata& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.CatalogMetadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CatalogMetadata::IsInitialized() const {
  return true;
}

void CatalogMetadata::InternalSwap(CatalogMetadata* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  catalog_name_.Swap(&other->catalog_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  description_.Swap(&other->description_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  connect_.Swap(&other->connect_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata CatalogMetadata::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[10]);
}

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

class GetCatalogsResp::_Internal {
 public:
  using HasBits = decltype(std::declval<GetCatalogsResp>()._has_bits_);
  static void set_has_status(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::exec::shared::DrillPBError& error(const GetCatalogsResp* msg);
  static void set_has_error(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::exec::shared::DrillPBError&
GetCatalogsResp::_Internal::error(const GetCatalogsResp* msg) {
  return *msg->error_;
}
void GetCatalogsResp::clear_error() {
  if (error_ != nullptr) error_->Clear();
  _has_bits_[0] &= ~0x00000001u;
}
GetCatalogsResp::GetCatalogsResp(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  catalogs_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.GetCatalogsResp)
}
GetCatalogsResp::GetCatalogsResp(const GetCatalogsResp& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      catalogs_(from.catalogs_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_error()) {
    error_ = new ::exec::shared::DrillPBError(*from.error_);
  } else {
    error_ = nullptr;
  }
  status_ = from.status_;
  // @@protoc_insertion_point(copy_constructor:exec.user.GetCatalogsResp)
}

void GetCatalogsResp::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&error_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&status_) -
    reinterpret_cast<char*>(&error_)) + sizeof(status_));
}

GetCatalogsResp::~GetCatalogsResp() {
  // @@protoc_insertion_point(destructor:exec.user.GetCatalogsResp)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void GetCatalogsResp::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete error_;
}

void GetCatalogsResp::ArenaDtor(void* object) {
  GetCatalogsResp* _this = reinterpret_cast< GetCatalogsResp* >(object);
  (void)_this;
}
void GetCatalogsResp::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void GetCatalogsResp::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void GetCatalogsResp::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.GetCatalogsResp)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  catalogs_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(error_ != nullptr);
    error_->Clear();
  }
  status_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GetCatalogsResp::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .exec.user.RequestStatus status = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::user::RequestStatus_IsValid(val))) {
            _internal_set_status(static_cast<::exec::user::RequestStatus>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // repeated .exec.user.CatalogMetadata catalogs = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_catalogs(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // optional .exec.shared.DrillPBError error = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* GetCatalogsResp::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.GetCatalogsResp)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .exec.user.RequestStatus status = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_status(), target);
  }

  // repeated .exec.user.CatalogMetadata catalogs = 2;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_catalogs_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_catalogs(i), target, stream);
  }

  // optional .exec.shared.DrillPBError error = 3;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::error(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.GetCatalogsResp)
  return target;
}

size_t GetCatalogsResp::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.GetCatalogsResp)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .exec.user.CatalogMetadata catalogs = 2;
  total_size += 1UL * this->_internal_catalogs_size();
  for (const auto& msg : this->catalogs_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional .exec.shared.DrillPBError error = 3;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *error_);
    }

    // optional .exec.user.RequestStatus status = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_status());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetCatalogsResp::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.GetCatalogsResp)
  GOOGLE_DCHECK_NE(&from, this);
  const GetCatalogsResp* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<GetCatalogsResp>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.GetCatalogsResp)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.GetCatalogsResp)
    MergeFrom(*source);
  }
}

void GetCatalogsResp::MergeFrom(const GetCatalogsResp& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.GetCatalogsResp)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  catalogs_.MergeFrom(from.catalogs_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _internal_mutable_error()->::exec::shared::DrillPBError::MergeFrom(from._internal_error());
    }
    if (cached_has_bits & 0x00000002u) {
      status_ = from.status_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void GetCatalogsResp::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.GetCatalogsResp)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GetCatalogsResp::CopyFrom(const GetCatalogsResp& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.GetCatalogsResp)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetCatalogsResp::IsInitialized() const {
  return true;
}

void GetCatalogsResp::InternalSwap(GetCatalogsResp* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  catalogs_.InternalSwap(&other->catalogs_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetCatalogsResp, status_)
      + sizeof(GetCatalogsResp::status_)
      - PROTOBUF_FIELD_OFFSET(GetCatalogsResp, error_)>(
          reinterpret_cast<char*>(&error_),
          reinterpret_cast<char*>(&other->error_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GetCatalogsResp::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[11]);
}

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

class GetSchemasReq::_Internal {
 public:
  using HasBits = decltype(std::declval<GetSchemasReq>()._has_bits_);
  static const ::exec::user::LikeFilter& catalog_name_filter(const GetSchemasReq* msg);
  static void set_has_catalog_name_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::exec::user::LikeFilter& schema_name_filter(const GetSchemasReq* msg);
  static void set_has_schema_name_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::exec::user::LikeFilter&
GetSchemasReq::_Internal::catalog_name_filter(const GetSchemasReq* msg) {
  return *msg->catalog_name_filter_;
}
const ::exec::user::LikeFilter&
GetSchemasReq::_Internal::schema_name_filter(const GetSchemasReq* msg) {
  return *msg->schema_name_filter_;
}
GetSchemasReq::GetSchemasReq(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.GetSchemasReq)
}
GetSchemasReq::GetSchemasReq(const GetSchemasReq& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_catalog_name_filter()) {
    catalog_name_filter_ = new ::exec::user::LikeFilter(*from.catalog_name_filter_);
  } else {
    catalog_name_filter_ = nullptr;
  }
  if (from._internal_has_schema_name_filter()) {
    schema_name_filter_ = new ::exec::user::LikeFilter(*from.schema_name_filter_);
  } else {
    schema_name_filter_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:exec.user.GetSchemasReq)
}

void GetSchemasReq::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&catalog_name_filter_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&schema_name_filter_) -
    reinterpret_cast<char*>(&catalog_name_filter_)) + sizeof(schema_name_filter_));
}

GetSchemasReq::~GetSchemasReq() {
  // @@protoc_insertion_point(destructor:exec.user.GetSchemasReq)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void GetSchemasReq::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete catalog_name_filter_;
  if (this != internal_default_instance()) delete schema_name_filter_;
}

void GetSchemasReq::ArenaDtor(void* object) {
  GetSchemasReq* _this = reinterpret_cast< GetSchemasReq* >(object);
  (void)_this;
}
void GetSchemasReq::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void GetSchemasReq::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void GetSchemasReq::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.GetSchemasReq)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(catalog_name_filter_ != nullptr);
      catalog_name_filter_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(schema_name_filter_ != nullptr);
      schema_name_filter_->Clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GetSchemasReq::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .exec.user.LikeFilter catalog_name_filter = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_catalog_name_filter(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.user.LikeFilter schema_name_filter = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_schema_name_filter(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* GetSchemasReq::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.GetSchemasReq)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .exec.user.LikeFilter catalog_name_filter = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::catalog_name_filter(this), target, stream);
  }

  // optional .exec.user.LikeFilter schema_name_filter = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::schema_name_filter(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.GetSchemasReq)
  return target;
}

size_t GetSchemasReq::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.GetSchemasReq)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional .exec.user.LikeFilter catalog_name_filter = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *catalog_name_filter_);
    }

    // optional .exec.user.LikeFilter schema_name_filter = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *schema_name_filter_);
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetSchemasReq::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.GetSchemasReq)
  GOOGLE_DCHECK_NE(&from, this);
  const GetSchemasReq* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<GetSchemasReq>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.GetSchemasReq)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.GetSchemasReq)
    MergeFrom(*source);
  }
}

void GetSchemasReq::MergeFrom(const GetSchemasReq& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.GetSchemasReq)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _internal_mutable_catalog_name_filter()->::exec::user::LikeFilter::MergeFrom(from._internal_catalog_name_filter());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_mutable_schema_name_filter()->::exec::user::LikeFilter::MergeFrom(from._internal_schema_name_filter());
    }
  }
}

void GetSchemasReq::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.GetSchemasReq)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GetSchemasReq::CopyFrom(const GetSchemasReq& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.GetSchemasReq)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetSchemasReq::IsInitialized() const {
  return true;
}

void GetSchemasReq::InternalSwap(GetSchemasReq* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetSchemasReq, schema_name_filter_)
      + sizeof(GetSchemasReq::schema_name_filter_)
      - PROTOBUF_FIELD_OFFSET(GetSchemasReq, catalog_name_filter_)>(
          reinterpret_cast<char*>(&catalog_name_filter_),
          reinterpret_cast<char*>(&other->catalog_name_filter_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GetSchemasReq::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[12]);
}

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

class SchemaMetadata::_Internal {
 public:
  using HasBits = decltype(std::declval<SchemaMetadata>()._has_bits_);
  static void set_has_catalog_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_schema_name(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_owner(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_type(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_mutable_(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
};

SchemaMetadata::SchemaMetadata(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.SchemaMetadata)
}
SchemaMetadata::SchemaMetadata(const SchemaMetadata& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  catalog_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_catalog_name()) {
    catalog_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_catalog_name(), 
      GetArena());
  }
  schema_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_schema_name()) {
    schema_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_schema_name(), 
      GetArena());
  }
  owner_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_owner()) {
    owner_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_owner(), 
      GetArena());
  }
  type_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_type()) {
    type_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_type(), 
      GetArena());
  }
  mutable__.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_mutable_()) {
    mutable__.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_mutable_(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:exec.user.SchemaMetadata)
}

void SchemaMetadata::SharedCtor() {
catalog_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
schema_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
owner_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
type_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
mutable__.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

SchemaMetadata::~SchemaMetadata() {
  // @@protoc_insertion_point(destructor:exec.user.SchemaMetadata)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void SchemaMetadata::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  catalog_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  schema_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  owner_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  type_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  mutable__.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void SchemaMetadata::ArenaDtor(void* object) {
  SchemaMetadata* _this = reinterpret_cast< SchemaMetadata* >(object);
  (void)_this;
}
void SchemaMetadata::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void SchemaMetadata::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void SchemaMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.SchemaMetadata)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      catalog_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      schema_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      owner_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000008u) {
      type_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000010u) {
      mutable__.ClearNonDefaultToEmpty();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* SchemaMetadata::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string catalog_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_catalog_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.SchemaMetadata.catalog_name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string schema_name = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_schema_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.SchemaMetadata.schema_name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string owner = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_owner();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.SchemaMetadata.owner");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string type = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_type();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.SchemaMetadata.type");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string mutable = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          auto str = _internal_mutable_mutable_();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.SchemaMetadata.mutable");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* SchemaMetadata::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.SchemaMetadata)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string catalog_name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_catalog_name().data(), static_cast<int>(this->_internal_catalog_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.SchemaMetadata.catalog_name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_catalog_name(), target);
  }

  // optional string schema_name = 2;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_schema_name().data(), static_cast<int>(this->_internal_schema_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.SchemaMetadata.schema_name");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_schema_name(), target);
  }

  // optional string owner = 3;
  if (cached_has_bits & 0x00000004u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_owner().data(), static_cast<int>(this->_internal_owner().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.SchemaMetadata.owner");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_owner(), target);
  }

  // optional string type = 4;
  if (cached_has_bits & 0x00000008u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_type().data(), static_cast<int>(this->_internal_type().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.SchemaMetadata.type");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_type(), target);
  }

  // optional string mutable = 5;
  if (cached_has_bits & 0x00000010u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_mutable_().data(), static_cast<int>(this->_internal_mutable_().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.SchemaMetadata.mutable");
    target = stream->WriteStringMaybeAliased(
        5, this->_internal_mutable_(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.SchemaMetadata)
  return target;
}

size_t SchemaMetadata::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.SchemaMetadata)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    // optional string catalog_name = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_catalog_name());
    }

    // optional string schema_name = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_schema_name());
    }

    // optional string owner = 3;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_owner());
    }

    // optional string type = 4;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_type());
    }

    // optional string mutable = 5;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_mutable_());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void SchemaMetadata::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.SchemaMetadata)
  GOOGLE_DCHECK_NE(&from, this);
  const SchemaMetadata* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<SchemaMetadata>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.SchemaMetadata)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.SchemaMetadata)
    MergeFrom(*source);
  }
}

void SchemaMetadata::MergeFrom(const SchemaMetadata& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.SchemaMetadata)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_catalog_name(from._internal_catalog_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_set_schema_name(from._internal_schema_name());
    }
    if (cached_has_bits & 0x00000004u) {
      _internal_set_owner(from._internal_owner());
    }
    if (cached_has_bits & 0x00000008u) {
      _internal_set_type(from._internal_type());
    }
    if (cached_has_bits & 0x00000010u) {
      _internal_set_mutable_(from._internal_mutable_());
    }
  }
}

void SchemaMetadata::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.SchemaMetadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void SchemaMetadata::CopyFrom(const SchemaMetadata& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.SchemaMetadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool SchemaMetadata::IsInitialized() const {
  return true;
}

void SchemaMetadata::InternalSwap(SchemaMetadata* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  catalog_name_.Swap(&other->catalog_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  schema_name_.Swap(&other->schema_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  owner_.Swap(&other->owner_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  type_.Swap(&other->type_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  mutable__.Swap(&other->mutable__, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata SchemaMetadata::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[13]);
}

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

class GetSchemasResp::_Internal {
 public:
  using HasBits = decltype(std::declval<GetSchemasResp>()._has_bits_);
  static void set_has_status(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::exec::shared::DrillPBError& error(const GetSchemasResp* msg);
  static void set_has_error(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::exec::shared::DrillPBError&
GetSchemasResp::_Internal::error(const GetSchemasResp* msg) {
  return *msg->error_;
}
void GetSchemasResp::clear_error() {
  if (error_ != nullptr) error_->Clear();
  _has_bits_[0] &= ~0x00000001u;
}
GetSchemasResp::GetSchemasResp(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  schemas_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.GetSchemasResp)
}
GetSchemasResp::GetSchemasResp(const GetSchemasResp& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      schemas_(from.schemas_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_error()) {
    error_ = new ::exec::shared::DrillPBError(*from.error_);
  } else {
    error_ = nullptr;
  }
  status_ = from.status_;
  // @@protoc_insertion_point(copy_constructor:exec.user.GetSchemasResp)
}

void GetSchemasResp::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&error_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&status_) -
    reinterpret_cast<char*>(&error_)) + sizeof(status_));
}

GetSchemasResp::~GetSchemasResp() {
  // @@protoc_insertion_point(destructor:exec.user.GetSchemasResp)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void GetSchemasResp::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete error_;
}

void GetSchemasResp::ArenaDtor(void* object) {
  GetSchemasResp* _this = reinterpret_cast< GetSchemasResp* >(object);
  (void)_this;
}
void GetSchemasResp::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void GetSchemasResp::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void GetSchemasResp::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.GetSchemasResp)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  schemas_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(error_ != nullptr);
    error_->Clear();
  }
  status_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GetSchemasResp::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .exec.user.RequestStatus status = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::user::RequestStatus_IsValid(val))) {
            _internal_set_status(static_cast<::exec::user::RequestStatus>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // repeated .exec.user.SchemaMetadata schemas = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_schemas(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // optional .exec.shared.DrillPBError error = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* GetSchemasResp::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.GetSchemasResp)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .exec.user.RequestStatus status = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_status(), target);
  }

  // repeated .exec.user.SchemaMetadata schemas = 2;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_schemas_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_schemas(i), target, stream);
  }

  // optional .exec.shared.DrillPBError error = 3;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::error(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.GetSchemasResp)
  return target;
}

size_t GetSchemasResp::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.GetSchemasResp)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .exec.user.SchemaMetadata schemas = 2;
  total_size += 1UL * this->_internal_schemas_size();
  for (const auto& msg : this->schemas_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional .exec.shared.DrillPBError error = 3;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *error_);
    }

    // optional .exec.user.RequestStatus status = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_status());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetSchemasResp::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.GetSchemasResp)
  GOOGLE_DCHECK_NE(&from, this);
  const GetSchemasResp* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<GetSchemasResp>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.GetSchemasResp)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.GetSchemasResp)
    MergeFrom(*source);
  }
}

void GetSchemasResp::MergeFrom(const GetSchemasResp& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.GetSchemasResp)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  schemas_.MergeFrom(from.schemas_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _internal_mutable_error()->::exec::shared::DrillPBError::MergeFrom(from._internal_error());
    }
    if (cached_has_bits & 0x00000002u) {
      status_ = from.status_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void GetSchemasResp::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.GetSchemasResp)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GetSchemasResp::CopyFrom(const GetSchemasResp& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.GetSchemasResp)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetSchemasResp::IsInitialized() const {
  return true;
}

void GetSchemasResp::InternalSwap(GetSchemasResp* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  schemas_.InternalSwap(&other->schemas_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetSchemasResp, status_)
      + sizeof(GetSchemasResp::status_)
      - PROTOBUF_FIELD_OFFSET(GetSchemasResp, error_)>(
          reinterpret_cast<char*>(&error_),
          reinterpret_cast<char*>(&other->error_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GetSchemasResp::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[14]);
}

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

class GetTablesReq::_Internal {
 public:
  using HasBits = decltype(std::declval<GetTablesReq>()._has_bits_);
  static const ::exec::user::LikeFilter& catalog_name_filter(const GetTablesReq* msg);
  static void set_has_catalog_name_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::exec::user::LikeFilter& schema_name_filter(const GetTablesReq* msg);
  static void set_has_schema_name_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::exec::user::LikeFilter& table_name_filter(const GetTablesReq* msg);
  static void set_has_table_name_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::exec::user::LikeFilter&
GetTablesReq::_Internal::catalog_name_filter(const GetTablesReq* msg) {
  return *msg->catalog_name_filter_;
}
const ::exec::user::LikeFilter&
GetTablesReq::_Internal::schema_name_filter(const GetTablesReq* msg) {
  return *msg->schema_name_filter_;
}
const ::exec::user::LikeFilter&
GetTablesReq::_Internal::table_name_filter(const GetTablesReq* msg) {
  return *msg->table_name_filter_;
}
GetTablesReq::GetTablesReq(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  table_type_filter_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.GetTablesReq)
}
GetTablesReq::GetTablesReq(const GetTablesReq& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      table_type_filter_(from.table_type_filter_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_catalog_name_filter()) {
    catalog_name_filter_ = new ::exec::user::LikeFilter(*from.catalog_name_filter_);
  } else {
    catalog_name_filter_ = nullptr;
  }
  if (from._internal_has_schema_name_filter()) {
    schema_name_filter_ = new ::exec::user::LikeFilter(*from.schema_name_filter_);
  } else {
    schema_name_filter_ = nullptr;
  }
  if (from._internal_has_table_name_filter()) {
    table_name_filter_ = new ::exec::user::LikeFilter(*from.table_name_filter_);
  } else {
    table_name_filter_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:exec.user.GetTablesReq)
}

void GetTablesReq::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&catalog_name_filter_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&table_name_filter_) -
    reinterpret_cast<char*>(&catalog_name_filter_)) + sizeof(table_name_filter_));
}

GetTablesReq::~GetTablesReq() {
  // @@protoc_insertion_point(destructor:exec.user.GetTablesReq)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void GetTablesReq::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete catalog_name_filter_;
  if (this != internal_default_instance()) delete schema_name_filter_;
  if (this != internal_default_instance()) delete table_name_filter_;
}

void GetTablesReq::ArenaDtor(void* object) {
  GetTablesReq* _this = reinterpret_cast< GetTablesReq* >(object);
  (void)_this;
}
void GetTablesReq::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void GetTablesReq::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void GetTablesReq::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.GetTablesReq)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  table_type_filter_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(catalog_name_filter_ != nullptr);
      catalog_name_filter_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(schema_name_filter_ != nullptr);
      schema_name_filter_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(table_name_filter_ != nullptr);
      table_name_filter_->Clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GetTablesReq::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .exec.user.LikeFilter catalog_name_filter = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_catalog_name_filter(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.user.LikeFilter schema_name_filter = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_schema_name_filter(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.user.LikeFilter table_name_filter = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_table_name_filter(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated string table_type_filter = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_table_type_filter();
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
            #ifndef NDEBUG
            ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.GetTablesReq.table_type_filter");
            #endif  // !NDEBUG
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* GetTablesReq::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.GetTablesReq)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .exec.user.LikeFilter catalog_name_filter = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::catalog_name_filter(this), target, stream);
  }

  // optional .exec.user.LikeFilter schema_name_filter = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::schema_name_filter(this), target, stream);
  }

  // optional .exec.user.LikeFilter table_name_filter = 3;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::table_name_filter(this), target, stream);
  }

  // repeated string table_type_filter = 4;
  for (int i = 0, n = this->_internal_table_type_filter_size(); i < n; i++) {
    const auto& s = this->_internal_table_type_filter(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.GetTablesReq.table_type_filter");
    target = stream->WriteString(4, s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.GetTablesReq)
  return target;
}

size_t GetTablesReq::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.GetTablesReq)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated string table_type_filter = 4;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(table_type_filter_.size());
  for (int i = 0, n = table_type_filter_.size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      table_type_filter_.Get(i));
  }

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // optional .exec.user.LikeFilter catalog_name_filter = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *catalog_name_filter_);
    }

    // optional .exec.user.LikeFilter schema_name_filter = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *schema_name_filter_);
    }

    // optional .exec.user.LikeFilter table_name_filter = 3;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *table_name_filter_);
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetTablesReq::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.GetTablesReq)
  GOOGLE_DCHECK_NE(&from, this);
  const GetTablesReq* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<GetTablesReq>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.GetTablesReq)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.GetTablesReq)
    MergeFrom(*source);
  }
}

void GetTablesReq::MergeFrom(const GetTablesReq& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.GetTablesReq)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  table_type_filter_.MergeFrom(from.table_type_filter_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _internal_mutable_catalog_name_filter()->::exec::user::LikeFilter::MergeFrom(from._internal_catalog_name_filter());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_mutable_schema_name_filter()->::exec::user::LikeFilter::MergeFrom(from._internal_schema_name_filter());
    }
    if (cached_has_bits & 0x00000004u) {
      _internal_mutable_table_name_filter()->::exec::user::LikeFilter::MergeFrom(from._internal_table_name_filter());
    }
  }
}

void GetTablesReq::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.GetTablesReq)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GetTablesReq::CopyFrom(const GetTablesReq& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.GetTablesReq)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetTablesReq::IsInitialized() const {
  return true;
}

void GetTablesReq::InternalSwap(GetTablesReq* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  table_type_filter_.InternalSwap(&other->table_type_filter_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetTablesReq, table_name_filter_)
      + sizeof(GetTablesReq::table_name_filter_)
      - PROTOBUF_FIELD_OFFSET(GetTablesReq, catalog_name_filter_)>(
          reinterpret_cast<char*>(&catalog_name_filter_),
          reinterpret_cast<char*>(&other->catalog_name_filter_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GetTablesReq::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[15]);
}

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

class TableMetadata::_Internal {
 public:
  using HasBits = decltype(std::declval<TableMetadata>()._has_bits_);
  static void set_has_catalog_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_schema_name(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_table_name(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_type(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
};

TableMetadata::TableMetadata(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.TableMetadata)
}
TableMetadata::TableMetadata(const TableMetadata& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  catalog_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_catalog_name()) {
    catalog_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_catalog_name(), 
      GetArena());
  }
  schema_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_schema_name()) {
    schema_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_schema_name(), 
      GetArena());
  }
  table_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_table_name()) {
    table_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_table_name(), 
      GetArena());
  }
  type_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_type()) {
    type_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_type(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:exec.user.TableMetadata)
}

void TableMetadata::SharedCtor() {
catalog_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
schema_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
table_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
type_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

TableMetadata::~TableMetadata() {
  // @@protoc_insertion_point(destructor:exec.user.TableMetadata)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void TableMetadata::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  catalog_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  schema_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  table_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  type_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void TableMetadata::ArenaDtor(void* object) {
  TableMetadata* _this = reinterpret_cast< TableMetadata* >(object);
  (void)_this;
}
void TableMetadata::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void TableMetadata::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void TableMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.TableMetadata)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      catalog_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      schema_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      table_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000008u) {
      type_.ClearNonDefaultToEmpty();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* TableMetadata::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string catalog_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_catalog_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.TableMetadata.catalog_name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string schema_name = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_schema_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.TableMetadata.schema_name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string table_name = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_table_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.TableMetadata.table_name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string type = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_type();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.TableMetadata.type");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* TableMetadata::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.TableMetadata)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string catalog_name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_catalog_name().data(), static_cast<int>(this->_internal_catalog_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.TableMetadata.catalog_name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_catalog_name(), target);
  }

  // optional string schema_name = 2;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_schema_name().data(), static_cast<int>(this->_internal_schema_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.TableMetadata.schema_name");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_schema_name(), target);
  }

  // optional string table_name = 3;
  if (cached_has_bits & 0x00000004u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_table_name().data(), static_cast<int>(this->_internal_table_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.TableMetadata.table_name");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_table_name(), target);
  }

  // optional string type = 4;
  if (cached_has_bits & 0x00000008u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_type().data(), static_cast<int>(this->_internal_type().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.TableMetadata.type");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_type(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.TableMetadata)
  return target;
}

size_t TableMetadata::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.TableMetadata)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    // optional string catalog_name = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_catalog_name());
    }

    // optional string schema_name = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_schema_name());
    }

    // optional string table_name = 3;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_table_name());
    }

    // optional string type = 4;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_type());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void TableMetadata::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.TableMetadata)
  GOOGLE_DCHECK_NE(&from, this);
  const TableMetadata* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TableMetadata>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.TableMetadata)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.TableMetadata)
    MergeFrom(*source);
  }
}

void TableMetadata::MergeFrom(const TableMetadata& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.TableMetadata)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_catalog_name(from._internal_catalog_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_set_schema_name(from._internal_schema_name());
    }
    if (cached_has_bits & 0x00000004u) {
      _internal_set_table_name(from._internal_table_name());
    }
    if (cached_has_bits & 0x00000008u) {
      _internal_set_type(from._internal_type());
    }
  }
}

void TableMetadata::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.TableMetadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void TableMetadata::CopyFrom(const TableMetadata& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.TableMetadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool TableMetadata::IsInitialized() const {
  return true;
}

void TableMetadata::InternalSwap(TableMetadata* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  catalog_name_.Swap(&other->catalog_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  schema_name_.Swap(&other->schema_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  table_name_.Swap(&other->table_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  type_.Swap(&other->type_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata TableMetadata::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[16]);
}

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

class GetTablesResp::_Internal {
 public:
  using HasBits = decltype(std::declval<GetTablesResp>()._has_bits_);
  static void set_has_status(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::exec::shared::DrillPBError& error(const GetTablesResp* msg);
  static void set_has_error(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::exec::shared::DrillPBError&
GetTablesResp::_Internal::error(const GetTablesResp* msg) {
  return *msg->error_;
}
void GetTablesResp::clear_error() {
  if (error_ != nullptr) error_->Clear();
  _has_bits_[0] &= ~0x00000001u;
}
GetTablesResp::GetTablesResp(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  tables_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.GetTablesResp)
}
GetTablesResp::GetTablesResp(const GetTablesResp& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      tables_(from.tables_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_error()) {
    error_ = new ::exec::shared::DrillPBError(*from.error_);
  } else {
    error_ = nullptr;
  }
  status_ = from.status_;
  // @@protoc_insertion_point(copy_constructor:exec.user.GetTablesResp)
}

void GetTablesResp::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&error_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&status_) -
    reinterpret_cast<char*>(&error_)) + sizeof(status_));
}

GetTablesResp::~GetTablesResp() {
  // @@protoc_insertion_point(destructor:exec.user.GetTablesResp)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void GetTablesResp::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete error_;
}

void GetTablesResp::ArenaDtor(void* object) {
  GetTablesResp* _this = reinterpret_cast< GetTablesResp* >(object);
  (void)_this;
}
void GetTablesResp::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void GetTablesResp::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void GetTablesResp::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.GetTablesResp)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  tables_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(error_ != nullptr);
    error_->Clear();
  }
  status_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GetTablesResp::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .exec.user.RequestStatus status = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::user::RequestStatus_IsValid(val))) {
            _internal_set_status(static_cast<::exec::user::RequestStatus>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // repeated .exec.user.TableMetadata tables = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_tables(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // optional .exec.shared.DrillPBError error = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* GetTablesResp::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.GetTablesResp)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .exec.user.RequestStatus status = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_status(), target);
  }

  // repeated .exec.user.TableMetadata tables = 2;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_tables_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_tables(i), target, stream);
  }

  // optional .exec.shared.DrillPBError error = 3;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::error(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.GetTablesResp)
  return target;
}

size_t GetTablesResp::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.GetTablesResp)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .exec.user.TableMetadata tables = 2;
  total_size += 1UL * this->_internal_tables_size();
  for (const auto& msg : this->tables_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional .exec.shared.DrillPBError error = 3;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *error_);
    }

    // optional .exec.user.RequestStatus status = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_status());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetTablesResp::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.GetTablesResp)
  GOOGLE_DCHECK_NE(&from, this);
  const GetTablesResp* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<GetTablesResp>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.GetTablesResp)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.GetTablesResp)
    MergeFrom(*source);
  }
}

void GetTablesResp::MergeFrom(const GetTablesResp& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.GetTablesResp)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  tables_.MergeFrom(from.tables_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _internal_mutable_error()->::exec::shared::DrillPBError::MergeFrom(from._internal_error());
    }
    if (cached_has_bits & 0x00000002u) {
      status_ = from.status_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void GetTablesResp::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.GetTablesResp)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GetTablesResp::CopyFrom(const GetTablesResp& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.GetTablesResp)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetTablesResp::IsInitialized() const {
  return true;
}

void GetTablesResp::InternalSwap(GetTablesResp* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  tables_.InternalSwap(&other->tables_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetTablesResp, status_)
      + sizeof(GetTablesResp::status_)
      - PROTOBUF_FIELD_OFFSET(GetTablesResp, error_)>(
          reinterpret_cast<char*>(&error_),
          reinterpret_cast<char*>(&other->error_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GetTablesResp::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[17]);
}

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

class GetColumnsReq::_Internal {
 public:
  using HasBits = decltype(std::declval<GetColumnsReq>()._has_bits_);
  static const ::exec::user::LikeFilter& catalog_name_filter(const GetColumnsReq* msg);
  static void set_has_catalog_name_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::exec::user::LikeFilter& schema_name_filter(const GetColumnsReq* msg);
  static void set_has_schema_name_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::exec::user::LikeFilter& table_name_filter(const GetColumnsReq* msg);
  static void set_has_table_name_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::exec::user::LikeFilter& column_name_filter(const GetColumnsReq* msg);
  static void set_has_column_name_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
};

const ::exec::user::LikeFilter&
GetColumnsReq::_Internal::catalog_name_filter(const GetColumnsReq* msg) {
  return *msg->catalog_name_filter_;
}
const ::exec::user::LikeFilter&
GetColumnsReq::_Internal::schema_name_filter(const GetColumnsReq* msg) {
  return *msg->schema_name_filter_;
}
const ::exec::user::LikeFilter&
GetColumnsReq::_Internal::table_name_filter(const GetColumnsReq* msg) {
  return *msg->table_name_filter_;
}
const ::exec::user::LikeFilter&
GetColumnsReq::_Internal::column_name_filter(const GetColumnsReq* msg) {
  return *msg->column_name_filter_;
}
GetColumnsReq::GetColumnsReq(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.GetColumnsReq)
}
GetColumnsReq::GetColumnsReq(const GetColumnsReq& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_catalog_name_filter()) {
    catalog_name_filter_ = new ::exec::user::LikeFilter(*from.catalog_name_filter_);
  } else {
    catalog_name_filter_ = nullptr;
  }
  if (from._internal_has_schema_name_filter()) {
    schema_name_filter_ = new ::exec::user::LikeFilter(*from.schema_name_filter_);
  } else {
    schema_name_filter_ = nullptr;
  }
  if (from._internal_has_table_name_filter()) {
    table_name_filter_ = new ::exec::user::LikeFilter(*from.table_name_filter_);
  } else {
    table_name_filter_ = nullptr;
  }
  if (from._internal_has_column_name_filter()) {
    column_name_filter_ = new ::exec::user::LikeFilter(*from.column_name_filter_);
  } else {
    column_name_filter_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:exec.user.GetColumnsReq)
}

void GetColumnsReq::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&catalog_name_filter_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&column_name_filter_) -
    reinterpret_cast<char*>(&catalog_name_filter_)) + sizeof(column_name_filter_));
}

GetColumnsReq::~GetColumnsReq() {
  // @@protoc_insertion_point(destructor:exec.user.GetColumnsReq)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void GetColumnsReq::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete catalog_name_filter_;
  if (this != internal_default_instance()) delete schema_name_filter_;
  if (this != internal_default_instance()) delete table_name_filter_;
  if (this != internal_default_instance()) delete column_name_filter_;
}

void GetColumnsReq::ArenaDtor(void* object) {
  GetColumnsReq* _this = reinterpret_cast< GetColumnsReq* >(object);
  (void)_this;
}
void GetColumnsReq::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void GetColumnsReq::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void GetColumnsReq::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.GetColumnsReq)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(catalog_name_filter_ != nullptr);
      catalog_name_filter_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(schema_name_filter_ != nullptr);
      schema_name_filter_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      GOOGLE_DCHECK(table_name_filter_ != nullptr);
      table_name_filter_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      GOOGLE_DCHECK(column_name_filter_ != nullptr);
      column_name_filter_->Clear();
    }
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GetColumnsReq::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .exec.user.LikeFilter catalog_name_filter = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_catalog_name_filter(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.user.LikeFilter schema_name_filter = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_schema_name_filter(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.user.LikeFilter table_name_filter = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_table_name_filter(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.user.LikeFilter column_name_filter = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_column_name_filter(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* GetColumnsReq::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.GetColumnsReq)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .exec.user.LikeFilter catalog_name_filter = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        1, _Internal::catalog_name_filter(this), target, stream);
  }

  // optional .exec.user.LikeFilter schema_name_filter = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::schema_name_filter(this), target, stream);
  }

  // optional .exec.user.LikeFilter table_name_filter = 3;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::table_name_filter(this), target, stream);
  }

  // optional .exec.user.LikeFilter column_name_filter = 4;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        4, _Internal::column_name_filter(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.GetColumnsReq)
  return target;
}

size_t GetColumnsReq::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.GetColumnsReq)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    // optional .exec.user.LikeFilter catalog_name_filter = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *catalog_name_filter_);
    }

    // optional .exec.user.LikeFilter schema_name_filter = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *schema_name_filter_);
    }

    // optional .exec.user.LikeFilter table_name_filter = 3;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *table_name_filter_);
    }

    // optional .exec.user.LikeFilter column_name_filter = 4;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *column_name_filter_);
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetColumnsReq::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.GetColumnsReq)
  GOOGLE_DCHECK_NE(&from, this);
  const GetColumnsReq* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<GetColumnsReq>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.GetColumnsReq)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.GetColumnsReq)
    MergeFrom(*source);
  }
}

void GetColumnsReq::MergeFrom(const GetColumnsReq& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.GetColumnsReq)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_mutable_catalog_name_filter()->::exec::user::LikeFilter::MergeFrom(from._internal_catalog_name_filter());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_mutable_schema_name_filter()->::exec::user::LikeFilter::MergeFrom(from._internal_schema_name_filter());
    }
    if (cached_has_bits & 0x00000004u) {
      _internal_mutable_table_name_filter()->::exec::user::LikeFilter::MergeFrom(from._internal_table_name_filter());
    }
    if (cached_has_bits & 0x00000008u) {
      _internal_mutable_column_name_filter()->::exec::user::LikeFilter::MergeFrom(from._internal_column_name_filter());
    }
  }
}

void GetColumnsReq::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.GetColumnsReq)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GetColumnsReq::CopyFrom(const GetColumnsReq& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.GetColumnsReq)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetColumnsReq::IsInitialized() const {
  return true;
}

void GetColumnsReq::InternalSwap(GetColumnsReq* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetColumnsReq, column_name_filter_)
      + sizeof(GetColumnsReq::column_name_filter_)
      - PROTOBUF_FIELD_OFFSET(GetColumnsReq, catalog_name_filter_)>(
          reinterpret_cast<char*>(&catalog_name_filter_),
          reinterpret_cast<char*>(&other->catalog_name_filter_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GetColumnsReq::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[18]);
}

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

class ColumnMetadata::_Internal {
 public:
  using HasBits = decltype(std::declval<ColumnMetadata>()._has_bits_);
  static void set_has_catalog_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_schema_name(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_table_name(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_column_name(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_ordinal_position(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
  static void set_has_default_value(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_is_nullable(HasBits* has_bits) {
    (*has_bits)[0] |= 256u;
  }
  static void set_has_data_type(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_char_max_length(HasBits* has_bits) {
    (*has_bits)[0] |= 512u;
  }
  static void set_has_char_octet_length(HasBits* has_bits) {
    (*has_bits)[0] |= 1024u;
  }
  static void set_has_numeric_precision(HasBits* has_bits) {
    (*has_bits)[0] |= 2048u;
  }
  static void set_has_numeric_precision_radix(HasBits* has_bits) {
    (*has_bits)[0] |= 4096u;
  }
  static void set_has_numeric_scale(HasBits* has_bits) {
    (*has_bits)[0] |= 8192u;
  }
  static void set_has_date_time_precision(HasBits* has_bits) {
    (*has_bits)[0] |= 16384u;
  }
  static void set_has_interval_type(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static void set_has_interval_precision(HasBits* has_bits) {
    (*has_bits)[0] |= 32768u;
  }
  static void set_has_column_size(HasBits* has_bits) {
    (*has_bits)[0] |= 65536u;
  }
};

ColumnMetadata::ColumnMetadata(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.ColumnMetadata)
}
ColumnMetadata::ColumnMetadata(const ColumnMetadata& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  catalog_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_catalog_name()) {
    catalog_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_catalog_name(), 
      GetArena());
  }
  schema_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_schema_name()) {
    schema_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_schema_name(), 
      GetArena());
  }
  table_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_table_name()) {
    table_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_table_name(), 
      GetArena());
  }
  column_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_column_name()) {
    column_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_column_name(), 
      GetArena());
  }
  default_value_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_default_value()) {
    default_value_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_default_value(), 
      GetArena());
  }
  data_type_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_data_type()) {
    data_type_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_data_type(), 
      GetArena());
  }
  interval_type_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_interval_type()) {
    interval_type_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_interval_type(), 
      GetArena());
  }
  ::memcpy(&ordinal_position_, &from.ordinal_position_,
    static_cast<size_t>(reinterpret_cast<char*>(&column_size_) -
    reinterpret_cast<char*>(&ordinal_position_)) + sizeof(column_size_));
  // @@protoc_insertion_point(copy_constructor:exec.user.ColumnMetadata)
}

void ColumnMetadata::SharedCtor() {
catalog_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
schema_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
table_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
column_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
default_value_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
data_type_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
interval_type_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&ordinal_position_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&column_size_) -
    reinterpret_cast<char*>(&ordinal_position_)) + sizeof(column_size_));
}

ColumnMetadata::~ColumnMetadata() {
  // @@protoc_insertion_point(destructor:exec.user.ColumnMetadata)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ColumnMetadata::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  catalog_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  schema_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  table_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  column_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  default_value_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  data_type_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  interval_type_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void ColumnMetadata::ArenaDtor(void* object) {
  ColumnMetadata* _this = reinterpret_cast< ColumnMetadata* >(object);
  (void)_this;
}
void ColumnMetadata::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ColumnMetadata::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void ColumnMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.ColumnMetadata)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    if (cached_has_bits & 0x00000001u) {
      catalog_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      schema_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      table_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000008u) {
      column_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000010u) {
      default_value_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000020u) {
      data_type_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000040u) {
      interval_type_.ClearNonDefaultToEmpty();
    }
  }
  ordinal_position_ = 0;
  if (cached_has_bits & 0x0000ff00u) {
    ::memset(&is_nullable_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&interval_precision_) -
        reinterpret_cast<char*>(&is_nullable_)) + sizeof(interval_precision_));
  }
  column_size_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ColumnMetadata::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string catalog_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_catalog_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ColumnMetadata.catalog_name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string schema_name = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_schema_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ColumnMetadata.schema_name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string table_name = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_table_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ColumnMetadata.table_name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string column_name = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_column_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ColumnMetadata.column_name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 ordinal_position = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          _Internal::set_has_ordinal_position(&has_bits);
          ordinal_position_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string default_value = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          auto str = _internal_mutable_default_value();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ColumnMetadata.default_value");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional bool is_nullable = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          _Internal::set_has_is_nullable(&has_bits);
          is_nullable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string data_type = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          auto str = _internal_mutable_data_type();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ColumnMetadata.data_type");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 char_max_length = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          _Internal::set_has_char_max_length(&has_bits);
          char_max_length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 char_octet_length = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
          _Internal::set_has_char_octet_length(&has_bits);
          char_octet_length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 numeric_precision = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
          _Internal::set_has_numeric_precision(&has_bits);
          numeric_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 numeric_precision_radix = 12;
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
          _Internal::set_has_numeric_precision_radix(&has_bits);
          numeric_precision_radix_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 numeric_scale = 13;
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
          _Internal::set_has_numeric_scale(&has_bits);
          numeric_scale_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 date_time_precision = 14;
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
          _Internal::set_has_date_time_precision(&has_bits);
          date_time_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string interval_type = 15;
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          auto str = _internal_mutable_interval_type();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ColumnMetadata.interval_type");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 interval_precision = 16;
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
          _Internal::set_has_interval_precision(&has_bits);
          interval_precision_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 column_size = 17;
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
          _Internal::set_has_column_size(&has_bits);
          column_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* ColumnMetadata::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.ColumnMetadata)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string catalog_name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_catalog_name().data(), static_cast<int>(this->_internal_catalog_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ColumnMetadata.catalog_name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_catalog_name(), target);
  }

  // optional string schema_name = 2;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_schema_name().data(), static_cast<int>(this->_internal_schema_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ColumnMetadata.schema_name");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_schema_name(), target);
  }

  // optional string table_name = 3;
  if (cached_has_bits & 0x00000004u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_table_name().data(), static_cast<int>(this->_internal_table_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ColumnMetadata.table_name");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_table_name(), target);
  }

  // optional string column_name = 4;
  if (cached_has_bits & 0x00000008u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_column_name().data(), static_cast<int>(this->_internal_column_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ColumnMetadata.column_name");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_column_name(), target);
  }

  // optional int32 ordinal_position = 5;
  if (cached_has_bits & 0x00000080u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(5, this->_internal_ordinal_position(), target);
  }

  // optional string default_value = 6;
  if (cached_has_bits & 0x00000010u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_default_value().data(), static_cast<int>(this->_internal_default_value().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ColumnMetadata.default_value");
    target = stream->WriteStringMaybeAliased(
        6, this->_internal_default_value(), target);
  }

  // optional bool is_nullable = 7;
  if (cached_has_bits & 0x00000100u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(7, this->_internal_is_nullable(), target);
  }

  // optional string data_type = 8;
  if (cached_has_bits & 0x00000020u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_data_type().data(), static_cast<int>(this->_internal_data_type().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ColumnMetadata.data_type");
    target = stream->WriteStringMaybeAliased(
        8, this->_internal_data_type(), target);
  }

  // optional int32 char_max_length = 9;
  if (cached_has_bits & 0x00000200u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(9, this->_internal_char_max_length(), target);
  }

  // optional int32 char_octet_length = 10;
  if (cached_has_bits & 0x00000400u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(10, this->_internal_char_octet_length(), target);
  }

  // optional int32 numeric_precision = 11;
  if (cached_has_bits & 0x00000800u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(11, this->_internal_numeric_precision(), target);
  }

  // optional int32 numeric_precision_radix = 12;
  if (cached_has_bits & 0x00001000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(12, this->_internal_numeric_precision_radix(), target);
  }

  // optional int32 numeric_scale = 13;
  if (cached_has_bits & 0x00002000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(13, this->_internal_numeric_scale(), target);
  }

  // optional int32 date_time_precision = 14;
  if (cached_has_bits & 0x00004000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(14, this->_internal_date_time_precision(), target);
  }

  // optional string interval_type = 15;
  if (cached_has_bits & 0x00000040u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_interval_type().data(), static_cast<int>(this->_internal_interval_type().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ColumnMetadata.interval_type");
    target = stream->WriteStringMaybeAliased(
        15, this->_internal_interval_type(), target);
  }

  // optional int32 interval_precision = 16;
  if (cached_has_bits & 0x00008000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(16, this->_internal_interval_precision(), target);
  }

  // optional int32 column_size = 17;
  if (cached_has_bits & 0x00010000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(17, this->_internal_column_size(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.ColumnMetadata)
  return target;
}

size_t ColumnMetadata::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.ColumnMetadata)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    // optional string catalog_name = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_catalog_name());
    }

    // optional string schema_name = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_schema_name());
    }

    // optional string table_name = 3;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_table_name());
    }

    // optional string column_name = 4;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_column_name());
    }

    // optional string default_value = 6;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_default_value());
    }

    // optional string data_type = 8;
    if (cached_has_bits & 0x00000020u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_data_type());
    }

    // optional string interval_type = 15;
    if (cached_has_bits & 0x00000040u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_interval_type());
    }

    // optional int32 ordinal_position = 5;
    if (cached_has_bits & 0x00000080u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_ordinal_position());
    }

  }
  if (cached_has_bits & 0x0000ff00u) {
    // optional bool is_nullable = 7;
    if (cached_has_bits & 0x00000100u) {
      total_size += 1 + 1;
    }

    // optional int32 char_max_length = 9;
    if (cached_has_bits & 0x00000200u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_char_max_length());
    }

    // optional int32 char_octet_length = 10;
    if (cached_has_bits & 0x00000400u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_char_octet_length());
    }

    // optional int32 numeric_precision = 11;
    if (cached_has_bits & 0x00000800u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_numeric_precision());
    }

    // optional int32 numeric_precision_radix = 12;
    if (cached_has_bits & 0x00001000u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_numeric_precision_radix());
    }

    // optional int32 numeric_scale = 13;
    if (cached_has_bits & 0x00002000u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_numeric_scale());
    }

    // optional int32 date_time_precision = 14;
    if (cached_has_bits & 0x00004000u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_date_time_precision());
    }

    // optional int32 interval_precision = 16;
    if (cached_has_bits & 0x00008000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_interval_precision());
    }

  }
  // optional int32 column_size = 17;
  if (cached_has_bits & 0x00010000u) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
        this->_internal_column_size());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ColumnMetadata::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.ColumnMetadata)
  GOOGLE_DCHECK_NE(&from, this);
  const ColumnMetadata* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ColumnMetadata>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.ColumnMetadata)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.ColumnMetadata)
    MergeFrom(*source);
  }
}

void ColumnMetadata::MergeFrom(const ColumnMetadata& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.ColumnMetadata)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_catalog_name(from._internal_catalog_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_set_schema_name(from._internal_schema_name());
    }
    if (cached_has_bits & 0x00000004u) {
      _internal_set_table_name(from._internal_table_name());
    }
    if (cached_has_bits & 0x00000008u) {
      _internal_set_column_name(from._internal_column_name());
    }
    if (cached_has_bits & 0x00000010u) {
      _internal_set_default_value(from._internal_default_value());
    }
    if (cached_has_bits & 0x00000020u) {
      _internal_set_data_type(from._internal_data_type());
    }
    if (cached_has_bits & 0x00000040u) {
      _internal_set_interval_type(from._internal_interval_type());
    }
    if (cached_has_bits & 0x00000080u) {
      ordinal_position_ = from.ordinal_position_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x0000ff00u) {
    if (cached_has_bits & 0x00000100u) {
      is_nullable_ = from.is_nullable_;
    }
    if (cached_has_bits & 0x00000200u) {
      char_max_length_ = from.char_max_length_;
    }
    if (cached_has_bits & 0x00000400u) {
      char_octet_length_ = from.char_octet_length_;
    }
    if (cached_has_bits & 0x00000800u) {
      numeric_precision_ = from.numeric_precision_;
    }
    if (cached_has_bits & 0x00001000u) {
      numeric_precision_radix_ = from.numeric_precision_radix_;
    }
    if (cached_has_bits & 0x00002000u) {
      numeric_scale_ = from.numeric_scale_;
    }
    if (cached_has_bits & 0x00004000u) {
      date_time_precision_ = from.date_time_precision_;
    }
    if (cached_has_bits & 0x00008000u) {
      interval_precision_ = from.interval_precision_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00010000u) {
    _internal_set_column_size(from._internal_column_size());
  }
}

void ColumnMetadata::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.ColumnMetadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ColumnMetadata::CopyFrom(const ColumnMetadata& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.ColumnMetadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ColumnMetadata::IsInitialized() const {
  return true;
}

void ColumnMetadata::InternalSwap(ColumnMetadata* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  catalog_name_.Swap(&other->catalog_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  schema_name_.Swap(&other->schema_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  table_name_.Swap(&other->table_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  column_name_.Swap(&other->column_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  default_value_.Swap(&other->default_value_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  data_type_.Swap(&other->data_type_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  interval_type_.Swap(&other->interval_type_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ColumnMetadata, column_size_)
      + sizeof(ColumnMetadata::column_size_)
      - PROTOBUF_FIELD_OFFSET(ColumnMetadata, ordinal_position_)>(
          reinterpret_cast<char*>(&ordinal_position_),
          reinterpret_cast<char*>(&other->ordinal_position_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ColumnMetadata::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[19]);
}

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

class GetColumnsResp::_Internal {
 public:
  using HasBits = decltype(std::declval<GetColumnsResp>()._has_bits_);
  static void set_has_status(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::exec::shared::DrillPBError& error(const GetColumnsResp* msg);
  static void set_has_error(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::exec::shared::DrillPBError&
GetColumnsResp::_Internal::error(const GetColumnsResp* msg) {
  return *msg->error_;
}
void GetColumnsResp::clear_error() {
  if (error_ != nullptr) error_->Clear();
  _has_bits_[0] &= ~0x00000001u;
}
GetColumnsResp::GetColumnsResp(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  columns_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.GetColumnsResp)
}
GetColumnsResp::GetColumnsResp(const GetColumnsResp& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      columns_(from.columns_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_error()) {
    error_ = new ::exec::shared::DrillPBError(*from.error_);
  } else {
    error_ = nullptr;
  }
  status_ = from.status_;
  // @@protoc_insertion_point(copy_constructor:exec.user.GetColumnsResp)
}

void GetColumnsResp::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&error_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&status_) -
    reinterpret_cast<char*>(&error_)) + sizeof(status_));
}

GetColumnsResp::~GetColumnsResp() {
  // @@protoc_insertion_point(destructor:exec.user.GetColumnsResp)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void GetColumnsResp::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete error_;
}

void GetColumnsResp::ArenaDtor(void* object) {
  GetColumnsResp* _this = reinterpret_cast< GetColumnsResp* >(object);
  (void)_this;
}
void GetColumnsResp::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void GetColumnsResp::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void GetColumnsResp::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.GetColumnsResp)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  columns_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(error_ != nullptr);
    error_->Clear();
  }
  status_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GetColumnsResp::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .exec.user.RequestStatus status = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::user::RequestStatus_IsValid(val))) {
            _internal_set_status(static_cast<::exec::user::RequestStatus>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // repeated .exec.user.ColumnMetadata columns = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_columns(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else goto handle_unusual;
        continue;
      // optional .exec.shared.DrillPBError error = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* GetColumnsResp::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.GetColumnsResp)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .exec.user.RequestStatus status = 1;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_status(), target);
  }

  // repeated .exec.user.ColumnMetadata columns = 2;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_columns_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, this->_internal_columns(i), target, stream);
  }

  // optional .exec.shared.DrillPBError error = 3;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::error(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.GetColumnsResp)
  return target;
}

size_t GetColumnsResp::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.GetColumnsResp)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .exec.user.ColumnMetadata columns = 2;
  total_size += 1UL * this->_internal_columns_size();
  for (const auto& msg : this->columns_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // optional .exec.shared.DrillPBError error = 3;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *error_);
    }

    // optional .exec.user.RequestStatus status = 1;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_status());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetColumnsResp::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.GetColumnsResp)
  GOOGLE_DCHECK_NE(&from, this);
  const GetColumnsResp* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<GetColumnsResp>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.GetColumnsResp)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.GetColumnsResp)
    MergeFrom(*source);
  }
}

void GetColumnsResp::MergeFrom(const GetColumnsResp& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.GetColumnsResp)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  columns_.MergeFrom(from.columns_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _internal_mutable_error()->::exec::shared::DrillPBError::MergeFrom(from._internal_error());
    }
    if (cached_has_bits & 0x00000002u) {
      status_ = from.status_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void GetColumnsResp::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.GetColumnsResp)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GetColumnsResp::CopyFrom(const GetColumnsResp& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.GetColumnsResp)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetColumnsResp::IsInitialized() const {
  return true;
}

void GetColumnsResp::InternalSwap(GetColumnsResp* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  columns_.InternalSwap(&other->columns_);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetColumnsResp, status_)
      + sizeof(GetColumnsResp::status_)
      - PROTOBUF_FIELD_OFFSET(GetColumnsResp, error_)>(
          reinterpret_cast<char*>(&error_),
          reinterpret_cast<char*>(&other->error_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GetColumnsResp::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[20]);
}

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

class CreatePreparedStatementReq::_Internal {
 public:
  using HasBits = decltype(std::declval<CreatePreparedStatementReq>()._has_bits_);
  static void set_has_sql_query(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

CreatePreparedStatementReq::CreatePreparedStatementReq(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.CreatePreparedStatementReq)
}
CreatePreparedStatementReq::CreatePreparedStatementReq(const CreatePreparedStatementReq& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  sql_query_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_sql_query()) {
    sql_query_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_sql_query(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:exec.user.CreatePreparedStatementReq)
}

void CreatePreparedStatementReq::SharedCtor() {
sql_query_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

CreatePreparedStatementReq::~CreatePreparedStatementReq() {
  // @@protoc_insertion_point(destructor:exec.user.CreatePreparedStatementReq)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreatePreparedStatementReq::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  sql_query_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void CreatePreparedStatementReq::ArenaDtor(void* object) {
  CreatePreparedStatementReq* _this = reinterpret_cast< CreatePreparedStatementReq* >(object);
  (void)_this;
}
void CreatePreparedStatementReq::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreatePreparedStatementReq::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void CreatePreparedStatementReq::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.CreatePreparedStatementReq)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    sql_query_.ClearNonDefaultToEmpty();
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreatePreparedStatementReq::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string sql_query = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_sql_query();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.CreatePreparedStatementReq.sql_query");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* CreatePreparedStatementReq::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.CreatePreparedStatementReq)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string sql_query = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_sql_query().data(), static_cast<int>(this->_internal_sql_query().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.CreatePreparedStatementReq.sql_query");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_sql_query(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.CreatePreparedStatementReq)
  return target;
}

size_t CreatePreparedStatementReq::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.CreatePreparedStatementReq)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // optional string sql_query = 1;
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_sql_query());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CreatePreparedStatementReq::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.CreatePreparedStatementReq)
  GOOGLE_DCHECK_NE(&from, this);
  const CreatePreparedStatementReq* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreatePreparedStatementReq>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.CreatePreparedStatementReq)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.CreatePreparedStatementReq)
    MergeFrom(*source);
  }
}

void CreatePreparedStatementReq::MergeFrom(const CreatePreparedStatementReq& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.CreatePreparedStatementReq)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_sql_query()) {
    _internal_set_sql_query(from._internal_sql_query());
  }
}

void CreatePreparedStatementReq::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.CreatePreparedStatementReq)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreatePreparedStatementReq::CopyFrom(const CreatePreparedStatementReq& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.CreatePreparedStatementReq)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreatePreparedStatementReq::IsInitialized() const {
  return true;
}

void CreatePreparedStatementReq::InternalSwap(CreatePreparedStatementReq* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  sql_query_.Swap(&other->sql_query_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata CreatePreparedStatementReq::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[21]);
}

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

class ResultColumnMetadata::_Internal {
 public:
  using HasBits = decltype(std::declval<ResultColumnMetadata>()._has_bits_);
  static void set_has_catalog_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_schema_name(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_table_name(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_column_name(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_label(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_data_type(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_is_nullable(HasBits* has_bits) {
    (*has_bits)[0] |= 1024u;
  }
  static void set_has_precision(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
  static void set_has_scale(HasBits* has_bits) {
    (*has_bits)[0] |= 256u;
  }
  static void set_has_signed_(HasBits* has_bits) {
    (*has_bits)[0] |= 2048u;
  }
  static void set_has_display_size(HasBits* has_bits) {
    (*has_bits)[0] |= 512u;
  }
  static void set_has_is_aliased(HasBits* has_bits) {
    (*has_bits)[0] |= 4096u;
  }
  static void set_has_searchability(HasBits* has_bits) {
    (*has_bits)[0] |= 16384u;
  }
  static void set_has_updatability(HasBits* has_bits) {
    (*has_bits)[0] |= 32768u;
  }
  static void set_has_auto_increment(HasBits* has_bits) {
    (*has_bits)[0] |= 8192u;
  }
  static void set_has_case_sensitivity(HasBits* has_bits) {
    (*has_bits)[0] |= 65536u;
  }
  static void set_has_sortable(HasBits* has_bits) {
    (*has_bits)[0] |= 131072u;
  }
  static void set_has_class_name(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static void set_has_is_currency(HasBits* has_bits) {
    (*has_bits)[0] |= 262144u;
  }
};

ResultColumnMetadata::ResultColumnMetadata(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.ResultColumnMetadata)
}
ResultColumnMetadata::ResultColumnMetadata(const ResultColumnMetadata& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  catalog_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_catalog_name()) {
    catalog_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_catalog_name(), 
      GetArena());
  }
  schema_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_schema_name()) {
    schema_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_schema_name(), 
      GetArena());
  }
  table_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_table_name()) {
    table_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_table_name(), 
      GetArena());
  }
  column_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_column_name()) {
    column_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_column_name(), 
      GetArena());
  }
  label_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_label()) {
    label_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_label(), 
      GetArena());
  }
  data_type_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_data_type()) {
    data_type_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_data_type(), 
      GetArena());
  }
  class_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_class_name()) {
    class_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_class_name(), 
      GetArena());
  }
  ::memcpy(&precision_, &from.precision_,
    static_cast<size_t>(reinterpret_cast<char*>(&is_currency_) -
    reinterpret_cast<char*>(&precision_)) + sizeof(is_currency_));
  // @@protoc_insertion_point(copy_constructor:exec.user.ResultColumnMetadata)
}

void ResultColumnMetadata::SharedCtor() {
catalog_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
schema_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
table_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
column_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
label_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
data_type_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
class_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&precision_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&is_currency_) -
    reinterpret_cast<char*>(&precision_)) + sizeof(is_currency_));
}

ResultColumnMetadata::~ResultColumnMetadata() {
  // @@protoc_insertion_point(destructor:exec.user.ResultColumnMetadata)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ResultColumnMetadata::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  catalog_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  schema_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  table_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  column_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  label_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  data_type_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  class_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void ResultColumnMetadata::ArenaDtor(void* object) {
  ResultColumnMetadata* _this = reinterpret_cast< ResultColumnMetadata* >(object);
  (void)_this;
}
void ResultColumnMetadata::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ResultColumnMetadata::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void ResultColumnMetadata::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.ResultColumnMetadata)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    if (cached_has_bits & 0x00000001u) {
      catalog_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      schema_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      table_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000008u) {
      column_name_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000010u) {
      label_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000020u) {
      data_type_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000040u) {
      class_name_.ClearNonDefaultToEmpty();
    }
  }
  precision_ = 0;
  if (cached_has_bits & 0x0000ff00u) {
    ::memset(&scale_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&updatability_) -
        reinterpret_cast<char*>(&scale_)) + sizeof(updatability_));
  }
  if (cached_has_bits & 0x00070000u) {
    ::memset(&case_sensitivity_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&is_currency_) -
        reinterpret_cast<char*>(&case_sensitivity_)) + sizeof(is_currency_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ResultColumnMetadata::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional string catalog_name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_catalog_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ResultColumnMetadata.catalog_name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string schema_name = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_schema_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ResultColumnMetadata.schema_name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string table_name = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_table_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ResultColumnMetadata.table_name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string column_name = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_column_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ResultColumnMetadata.column_name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string label = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          auto str = _internal_mutable_label();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ResultColumnMetadata.label");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string data_type = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          auto str = _internal_mutable_data_type();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ResultColumnMetadata.data_type");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional bool is_nullable = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          _Internal::set_has_is_nullable(&has_bits);
          is_nullable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 precision = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          _Internal::set_has_precision(&has_bits);
          precision_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 scale = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          _Internal::set_has_scale(&has_bits);
          scale_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional bool signed = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
          _Internal::set_has_signed_(&has_bits);
          signed__ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 display_size = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
          _Internal::set_has_display_size(&has_bits);
          display_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional bool is_aliased = 12;
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
          _Internal::set_has_is_aliased(&has_bits);
          is_aliased_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.user.ColumnSearchability searchability = 13;
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::user::ColumnSearchability_IsValid(val))) {
            _internal_set_searchability(static_cast<::exec::user::ColumnSearchability>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(13, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional .exec.user.ColumnUpdatability updatability = 14;
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::user::ColumnUpdatability_IsValid(val))) {
            _internal_set_updatability(static_cast<::exec::user::ColumnUpdatability>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(14, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional bool auto_increment = 15;
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 120)) {
          _Internal::set_has_auto_increment(&has_bits);
          auto_increment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional bool case_sensitivity = 16;
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
          _Internal::set_has_case_sensitivity(&has_bits);
          case_sensitivity_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional bool sortable = 17;
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
          _Internal::set_has_sortable(&has_bits);
          sortable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string class_name = 18;
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
          auto str = _internal_mutable_class_name();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ResultColumnMetadata.class_name");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional bool is_currency = 20;
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 160)) {
          _Internal::set_has_is_currency(&has_bits);
          is_currency_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* ResultColumnMetadata::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.ResultColumnMetadata)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional string catalog_name = 1;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_catalog_name().data(), static_cast<int>(this->_internal_catalog_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ResultColumnMetadata.catalog_name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_catalog_name(), target);
  }

  // optional string schema_name = 2;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_schema_name().data(), static_cast<int>(this->_internal_schema_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ResultColumnMetadata.schema_name");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_schema_name(), target);
  }

  // optional string table_name = 3;
  if (cached_has_bits & 0x00000004u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_table_name().data(), static_cast<int>(this->_internal_table_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ResultColumnMetadata.table_name");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_table_name(), target);
  }

  // optional string column_name = 4;
  if (cached_has_bits & 0x00000008u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_column_name().data(), static_cast<int>(this->_internal_column_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ResultColumnMetadata.column_name");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_column_name(), target);
  }

  // optional string label = 5;
  if (cached_has_bits & 0x00000010u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_label().data(), static_cast<int>(this->_internal_label().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ResultColumnMetadata.label");
    target = stream->WriteStringMaybeAliased(
        5, this->_internal_label(), target);
  }

  // optional string data_type = 6;
  if (cached_has_bits & 0x00000020u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_data_type().data(), static_cast<int>(this->_internal_data_type().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ResultColumnMetadata.data_type");
    target = stream->WriteStringMaybeAliased(
        6, this->_internal_data_type(), target);
  }

  // optional bool is_nullable = 7;
  if (cached_has_bits & 0x00000400u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(7, this->_internal_is_nullable(), target);
  }

  // optional int32 precision = 8;
  if (cached_has_bits & 0x00000080u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(8, this->_internal_precision(), target);
  }

  // optional int32 scale = 9;
  if (cached_has_bits & 0x00000100u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(9, this->_internal_scale(), target);
  }

  // optional bool signed = 10;
  if (cached_has_bits & 0x00000800u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(10, this->_internal_signed_(), target);
  }

  // optional int32 display_size = 11;
  if (cached_has_bits & 0x00000200u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(11, this->_internal_display_size(), target);
  }

  // optional bool is_aliased = 12;
  if (cached_has_bits & 0x00001000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(12, this->_internal_is_aliased(), target);
  }

  // optional .exec.user.ColumnSearchability searchability = 13;
  if (cached_has_bits & 0x00004000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      13, this->_internal_searchability(), target);
  }

  // optional .exec.user.ColumnUpdatability updatability = 14;
  if (cached_has_bits & 0x00008000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      14, this->_internal_updatability(), target);
  }

  // optional bool auto_increment = 15;
  if (cached_has_bits & 0x00002000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(15, this->_internal_auto_increment(), target);
  }

  // optional bool case_sensitivity = 16;
  if (cached_has_bits & 0x00010000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(16, this->_internal_case_sensitivity(), target);
  }

  // optional bool sortable = 17;
  if (cached_has_bits & 0x00020000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(17, this->_internal_sortable(), target);
  }

  // optional string class_name = 18;
  if (cached_has_bits & 0x00000040u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_class_name().data(), static_cast<int>(this->_internal_class_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ResultColumnMetadata.class_name");
    target = stream->WriteStringMaybeAliased(
        18, this->_internal_class_name(), target);
  }

  // optional bool is_currency = 20;
  if (cached_has_bits & 0x00040000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(20, this->_internal_is_currency(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.ResultColumnMetadata)
  return target;
}

size_t ResultColumnMetadata::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.ResultColumnMetadata)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    // optional string catalog_name = 1;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_catalog_name());
    }

    // optional string schema_name = 2;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_schema_name());
    }

    // optional string table_name = 3;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_table_name());
    }

    // optional string column_name = 4;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_column_name());
    }

    // optional string label = 5;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_label());
    }

    // optional string data_type = 6;
    if (cached_has_bits & 0x00000020u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_data_type());
    }

    // optional string class_name = 18;
    if (cached_has_bits & 0x00000040u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_class_name());
    }

    // optional int32 precision = 8;
    if (cached_has_bits & 0x00000080u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_precision());
    }

  }
  if (cached_has_bits & 0x0000ff00u) {
    // optional int32 scale = 9;
    if (cached_has_bits & 0x00000100u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_scale());
    }

    // optional int32 display_size = 11;
    if (cached_has_bits & 0x00000200u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_display_size());
    }

    // optional bool is_nullable = 7;
    if (cached_has_bits & 0x00000400u) {
      total_size += 1 + 1;
    }

    // optional bool signed = 10;
    if (cached_has_bits & 0x00000800u) {
      total_size += 1 + 1;
    }

    // optional bool is_aliased = 12;
    if (cached_has_bits & 0x00001000u) {
      total_size += 1 + 1;
    }

    // optional bool auto_increment = 15;
    if (cached_has_bits & 0x00002000u) {
      total_size += 1 + 1;
    }

    // optional .exec.user.ColumnSearchability searchability = 13;
    if (cached_has_bits & 0x00004000u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_searchability());
    }

    // optional .exec.user.ColumnUpdatability updatability = 14;
    if (cached_has_bits & 0x00008000u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_updatability());
    }

  }
  if (cached_has_bits & 0x00070000u) {
    // optional bool case_sensitivity = 16;
    if (cached_has_bits & 0x00010000u) {
      total_size += 2 + 1;
    }

    // optional bool sortable = 17;
    if (cached_has_bits & 0x00020000u) {
      total_size += 2 + 1;
    }

    // optional bool is_currency = 20;
    if (cached_has_bits & 0x00040000u) {
      total_size += 2 + 1;
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ResultColumnMetadata::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.ResultColumnMetadata)
  GOOGLE_DCHECK_NE(&from, this);
  const ResultColumnMetadata* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ResultColumnMetadata>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.ResultColumnMetadata)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.ResultColumnMetadata)
    MergeFrom(*source);
  }
}

void ResultColumnMetadata::MergeFrom(const ResultColumnMetadata& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.ResultColumnMetadata)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_catalog_name(from._internal_catalog_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_set_schema_name(from._internal_schema_name());
    }
    if (cached_has_bits & 0x00000004u) {
      _internal_set_table_name(from._internal_table_name());
    }
    if (cached_has_bits & 0x00000008u) {
      _internal_set_column_name(from._internal_column_name());
    }
    if (cached_has_bits & 0x00000010u) {
      _internal_set_label(from._internal_label());
    }
    if (cached_has_bits & 0x00000020u) {
      _internal_set_data_type(from._internal_data_type());
    }
    if (cached_has_bits & 0x00000040u) {
      _internal_set_class_name(from._internal_class_name());
    }
    if (cached_has_bits & 0x00000080u) {
      precision_ = from.precision_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x0000ff00u) {
    if (cached_has_bits & 0x00000100u) {
      scale_ = from.scale_;
    }
    if (cached_has_bits & 0x00000200u) {
      display_size_ = from.display_size_;
    }
    if (cached_has_bits & 0x00000400u) {
      is_nullable_ = from.is_nullable_;
    }
    if (cached_has_bits & 0x00000800u) {
      signed__ = from.signed__;
    }
    if (cached_has_bits & 0x00001000u) {
      is_aliased_ = from.is_aliased_;
    }
    if (cached_has_bits & 0x00002000u) {
      auto_increment_ = from.auto_increment_;
    }
    if (cached_has_bits & 0x00004000u) {
      searchability_ = from.searchability_;
    }
    if (cached_has_bits & 0x00008000u) {
      updatability_ = from.updatability_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00070000u) {
    if (cached_has_bits & 0x00010000u) {
      case_sensitivity_ = from.case_sensitivity_;
    }
    if (cached_has_bits & 0x00020000u) {
      sortable_ = from.sortable_;
    }
    if (cached_has_bits & 0x00040000u) {
      is_currency_ = from.is_currency_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ResultColumnMetadata::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.ResultColumnMetadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ResultColumnMetadata::CopyFrom(const ResultColumnMetadata& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.ResultColumnMetadata)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ResultColumnMetadata::IsInitialized() const {
  return true;
}

void ResultColumnMetadata::InternalSwap(ResultColumnMetadata* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  catalog_name_.Swap(&other->catalog_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  schema_name_.Swap(&other->schema_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  table_name_.Swap(&other->table_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  column_name_.Swap(&other->column_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  label_.Swap(&other->label_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  data_type_.Swap(&other->data_type_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  class_name_.Swap(&other->class_name_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ResultColumnMetadata, is_currency_)
      + sizeof(ResultColumnMetadata::is_currency_)
      - PROTOBUF_FIELD_OFFSET(ResultColumnMetadata, precision_)>(
          reinterpret_cast<char*>(&precision_),
          reinterpret_cast<char*>(&other->precision_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ResultColumnMetadata::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[22]);
}

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

class PreparedStatementHandle::_Internal {
 public:
  using HasBits = decltype(std::declval<PreparedStatementHandle>()._has_bits_);
  static void set_has_server_info(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

PreparedStatementHandle::PreparedStatementHandle(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.PreparedStatementHandle)
}
PreparedStatementHandle::PreparedStatementHandle(const PreparedStatementHandle& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  server_info_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_server_info()) {
    server_info_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_server_info(), 
      GetArena());
  }
  // @@protoc_insertion_point(copy_constructor:exec.user.PreparedStatementHandle)
}

void PreparedStatementHandle::SharedCtor() {
server_info_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

PreparedStatementHandle::~PreparedStatementHandle() {
  // @@protoc_insertion_point(destructor:exec.user.PreparedStatementHandle)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void PreparedStatementHandle::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  server_info_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void PreparedStatementHandle::ArenaDtor(void* object) {
  PreparedStatementHandle* _this = reinterpret_cast< PreparedStatementHandle* >(object);
  (void)_this;
}
void PreparedStatementHandle::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void PreparedStatementHandle::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void PreparedStatementHandle::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.PreparedStatementHandle)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    server_info_.ClearNonDefaultToEmpty();
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PreparedStatementHandle::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional bytes server_info = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_server_info();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* PreparedStatementHandle::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.PreparedStatementHandle)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bytes server_info = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->WriteBytesMaybeAliased(
        1, this->_internal_server_info(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.PreparedStatementHandle)
  return target;
}

size_t PreparedStatementHandle::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.PreparedStatementHandle)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // optional bytes server_info = 1;
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
        this->_internal_server_info());
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PreparedStatementHandle::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.PreparedStatementHandle)
  GOOGLE_DCHECK_NE(&from, this);
  const PreparedStatementHandle* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PreparedStatementHandle>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.PreparedStatementHandle)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.PreparedStatementHandle)
    MergeFrom(*source);
  }
}

void PreparedStatementHandle::MergeFrom(const PreparedStatementHandle& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.PreparedStatementHandle)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_server_info()) {
    _internal_set_server_info(from._internal_server_info());
  }
}

void PreparedStatementHandle::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.PreparedStatementHandle)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void PreparedStatementHandle::CopyFrom(const PreparedStatementHandle& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.PreparedStatementHandle)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PreparedStatementHandle::IsInitialized() const {
  return true;
}

void PreparedStatementHandle::InternalSwap(PreparedStatementHandle* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  server_info_.Swap(&other->server_info_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
}

::PROTOBUF_NAMESPACE_ID::Metadata PreparedStatementHandle::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[23]);
}

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

class PreparedStatement::_Internal {
 public:
  using HasBits = decltype(std::declval<PreparedStatement>()._has_bits_);
  static const ::exec::user::PreparedStatementHandle& server_handle(const PreparedStatement* msg);
  static void set_has_server_handle(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::exec::user::PreparedStatementHandle&
PreparedStatement::_Internal::server_handle(const PreparedStatement* msg) {
  return *msg->server_handle_;
}
PreparedStatement::PreparedStatement(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  columns_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.PreparedStatement)
}
PreparedStatement::PreparedStatement(const PreparedStatement& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      columns_(from.columns_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_server_handle()) {
    server_handle_ = new ::exec::user::PreparedStatementHandle(*from.server_handle_);
  } else {
    server_handle_ = nullptr;
  }
  // @@protoc_insertion_point(copy_constructor:exec.user.PreparedStatement)
}

void PreparedStatement::SharedCtor() {
server_handle_ = nullptr;
}

PreparedStatement::~PreparedStatement() {
  // @@protoc_insertion_point(destructor:exec.user.PreparedStatement)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void PreparedStatement::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete server_handle_;
}

void PreparedStatement::ArenaDtor(void* object) {
  PreparedStatement* _this = reinterpret_cast< PreparedStatement* >(object);
  (void)_this;
}
void PreparedStatement::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void PreparedStatement::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void PreparedStatement::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.PreparedStatement)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  columns_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    GOOGLE_DCHECK(server_handle_ != nullptr);
    server_handle_->Clear();
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* PreparedStatement::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .exec.user.ResultColumnMetadata columns = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_columns(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else goto handle_unusual;
        continue;
      // optional .exec.user.PreparedStatementHandle server_handle = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_server_handle(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* PreparedStatement::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.PreparedStatement)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // repeated .exec.user.ResultColumnMetadata columns = 1;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_columns_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, this->_internal_columns(i), target, stream);
  }

  cached_has_bits = _has_bits_[0];
  // optional .exec.user.PreparedStatementHandle server_handle = 2;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::server_handle(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.PreparedStatement)
  return target;
}

size_t PreparedStatement::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.PreparedStatement)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .exec.user.ResultColumnMetadata columns = 1;
  total_size += 1UL * this->_internal_columns_size();
  for (const auto& msg : this->columns_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // optional .exec.user.PreparedStatementHandle server_handle = 2;
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *server_handle_);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void PreparedStatement::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.PreparedStatement)
  GOOGLE_DCHECK_NE(&from, this);
  const PreparedStatement* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PreparedStatement>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.PreparedStatement)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.PreparedStatement)
    MergeFrom(*source);
  }
}

void PreparedStatement::MergeFrom(const PreparedStatement& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.PreparedStatement)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  columns_.MergeFrom(from.columns_);
  if (from._internal_has_server_handle()) {
    _internal_mutable_server_handle()->::exec::user::PreparedStatementHandle::MergeFrom(from._internal_server_handle());
  }
}

void PreparedStatement::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.PreparedStatement)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void PreparedStatement::CopyFrom(const PreparedStatement& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.PreparedStatement)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool PreparedStatement::IsInitialized() const {
  return true;
}

void PreparedStatement::InternalSwap(PreparedStatement* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  columns_.InternalSwap(&other->columns_);
  swap(server_handle_, other->server_handle_);
}

::PROTOBUF_NAMESPACE_ID::Metadata PreparedStatement::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[24]);
}

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

class CreatePreparedStatementResp::_Internal {
 public:
  using HasBits = decltype(std::declval<CreatePreparedStatementResp>()._has_bits_);
  static void set_has_status(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::exec::user::PreparedStatement& prepared_statement(const CreatePreparedStatementResp* msg);
  static void set_has_prepared_statement(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::exec::shared::DrillPBError& error(const CreatePreparedStatementResp* msg);
  static void set_has_error(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::exec::user::PreparedStatement&
CreatePreparedStatementResp::_Internal::prepared_statement(const CreatePreparedStatementResp* msg) {
  return *msg->prepared_statement_;
}
const ::exec::shared::DrillPBError&
CreatePreparedStatementResp::_Internal::error(const CreatePreparedStatementResp* msg) {
  return *msg->error_;
}
void CreatePreparedStatementResp::clear_error() {
  if (error_ != nullptr) error_->Clear();
  _has_bits_[0] &= ~0x00000002u;
}
CreatePreparedStatementResp::CreatePreparedStatementResp(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.CreatePreparedStatementResp)
}
CreatePreparedStatementResp::CreatePreparedStatementResp(const CreatePreparedStatementResp& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_prepared_statement()) {
    prepared_statement_ = new ::exec::user::PreparedStatement(*from.prepared_statement_);
  } else {
    prepared_statement_ = nullptr;
  }
  if (from._internal_has_error()) {
    error_ = new ::exec::shared::DrillPBError(*from.error_);
  } else {
    error_ = nullptr;
  }
  status_ = from.status_;
  // @@protoc_insertion_point(copy_constructor:exec.user.CreatePreparedStatementResp)
}

void CreatePreparedStatementResp::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&prepared_statement_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&status_) -
    reinterpret_cast<char*>(&prepared_statement_)) + sizeof(status_));
}

CreatePreparedStatementResp::~CreatePreparedStatementResp() {
  // @@protoc_insertion_point(destructor:exec.user.CreatePreparedStatementResp)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void CreatePreparedStatementResp::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete prepared_statement_;
  if (this != internal_default_instance()) delete error_;
}

void CreatePreparedStatementResp::ArenaDtor(void* object) {
  CreatePreparedStatementResp* _this = reinterpret_cast< CreatePreparedStatementResp* >(object);
  (void)_this;
}
void CreatePreparedStatementResp::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void CreatePreparedStatementResp::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void CreatePreparedStatementResp::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.CreatePreparedStatementResp)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(prepared_statement_ != nullptr);
      prepared_statement_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(error_ != nullptr);
      error_->Clear();
    }
  }
  status_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* CreatePreparedStatementResp::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .exec.user.RequestStatus status = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::user::RequestStatus_IsValid(val))) {
            _internal_set_status(static_cast<::exec::user::RequestStatus>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional .exec.user.PreparedStatement prepared_statement = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_prepared_statement(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.shared.DrillPBError error = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* CreatePreparedStatementResp::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.CreatePreparedStatementResp)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .exec.user.RequestStatus status = 1;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_status(), target);
  }

  // optional .exec.user.PreparedStatement prepared_statement = 2;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::prepared_statement(this), target, stream);
  }

  // optional .exec.shared.DrillPBError error = 3;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::error(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.CreatePreparedStatementResp)
  return target;
}

size_t CreatePreparedStatementResp::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.CreatePreparedStatementResp)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // optional .exec.user.PreparedStatement prepared_statement = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *prepared_statement_);
    }

    // optional .exec.shared.DrillPBError error = 3;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *error_);
    }

    // optional .exec.user.RequestStatus status = 1;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_status());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void CreatePreparedStatementResp::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.CreatePreparedStatementResp)
  GOOGLE_DCHECK_NE(&from, this);
  const CreatePreparedStatementResp* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreatePreparedStatementResp>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.CreatePreparedStatementResp)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.CreatePreparedStatementResp)
    MergeFrom(*source);
  }
}

void CreatePreparedStatementResp::MergeFrom(const CreatePreparedStatementResp& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.CreatePreparedStatementResp)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _internal_mutable_prepared_statement()->::exec::user::PreparedStatement::MergeFrom(from._internal_prepared_statement());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_mutable_error()->::exec::shared::DrillPBError::MergeFrom(from._internal_error());
    }
    if (cached_has_bits & 0x00000004u) {
      status_ = from.status_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void CreatePreparedStatementResp::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.CreatePreparedStatementResp)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void CreatePreparedStatementResp::CopyFrom(const CreatePreparedStatementResp& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.CreatePreparedStatementResp)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool CreatePreparedStatementResp::IsInitialized() const {
  return true;
}

void CreatePreparedStatementResp::InternalSwap(CreatePreparedStatementResp* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreatePreparedStatementResp, status_)
      + sizeof(CreatePreparedStatementResp::status_)
      - PROTOBUF_FIELD_OFFSET(CreatePreparedStatementResp, prepared_statement_)>(
          reinterpret_cast<char*>(&prepared_statement_),
          reinterpret_cast<char*>(&other->prepared_statement_));
}

::PROTOBUF_NAMESPACE_ID::Metadata CreatePreparedStatementResp::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[25]);
}

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

class GetServerMetaReq::_Internal {
 public:
};

GetServerMetaReq::GetServerMetaReq(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.GetServerMetaReq)
}
GetServerMetaReq::GetServerMetaReq(const GetServerMetaReq& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:exec.user.GetServerMetaReq)
}

void GetServerMetaReq::SharedCtor() {
}

GetServerMetaReq::~GetServerMetaReq() {
  // @@protoc_insertion_point(destructor:exec.user.GetServerMetaReq)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void GetServerMetaReq::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void GetServerMetaReq::ArenaDtor(void* object) {
  GetServerMetaReq* _this = reinterpret_cast< GetServerMetaReq* >(object);
  (void)_this;
}
void GetServerMetaReq::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void GetServerMetaReq::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void GetServerMetaReq::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.GetServerMetaReq)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GetServerMetaReq::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* GetServerMetaReq::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.GetServerMetaReq)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.GetServerMetaReq)
  return target;
}

size_t GetServerMetaReq::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.GetServerMetaReq)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetServerMetaReq::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.GetServerMetaReq)
  GOOGLE_DCHECK_NE(&from, this);
  const GetServerMetaReq* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<GetServerMetaReq>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.GetServerMetaReq)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.GetServerMetaReq)
    MergeFrom(*source);
  }
}

void GetServerMetaReq::MergeFrom(const GetServerMetaReq& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.GetServerMetaReq)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

}

void GetServerMetaReq::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.GetServerMetaReq)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GetServerMetaReq::CopyFrom(const GetServerMetaReq& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.GetServerMetaReq)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetServerMetaReq::IsInitialized() const {
  return true;
}

void GetServerMetaReq::InternalSwap(GetServerMetaReq* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
}

::PROTOBUF_NAMESPACE_ID::Metadata GetServerMetaReq::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[26]);
}

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

class ConvertSupport::_Internal {
 public:
  using HasBits = decltype(std::declval<ConvertSupport>()._has_bits_);
  static void set_has_from(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_to(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static bool MissingRequiredFields(const HasBits& has_bits) {
    return ((has_bits[0] & 0x00000003) ^ 0x00000003) != 0;
  }
};

ConvertSupport::ConvertSupport(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.ConvertSupport)
}
ConvertSupport::ConvertSupport(const ConvertSupport& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::memcpy(&from_, &from.from_,
    static_cast<size_t>(reinterpret_cast<char*>(&to_) -
    reinterpret_cast<char*>(&from_)) + sizeof(to_));
  // @@protoc_insertion_point(copy_constructor:exec.user.ConvertSupport)
}

void ConvertSupport::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&from_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&to_) -
    reinterpret_cast<char*>(&from_)) + sizeof(to_));
}

ConvertSupport::~ConvertSupport() {
  // @@protoc_insertion_point(destructor:exec.user.ConvertSupport)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ConvertSupport::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
}

void ConvertSupport::ArenaDtor(void* object) {
  ConvertSupport* _this = reinterpret_cast< ConvertSupport* >(object);
  (void)_this;
}
void ConvertSupport::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ConvertSupport::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void ConvertSupport::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.ConvertSupport)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    ::memset(&from_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&to_) -
        reinterpret_cast<char*>(&from_)) + sizeof(to_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ConvertSupport::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // required .common.MinorType from = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::common::MinorType_IsValid(val))) {
            _internal_set_from(static_cast<::common::MinorType>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // required .common.MinorType to = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::common::MinorType_IsValid(val))) {
            _internal_set_to(static_cast<::common::MinorType>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(2, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* ConvertSupport::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.ConvertSupport)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // required .common.MinorType from = 1;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_from(), target);
  }

  // required .common.MinorType to = 2;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_to(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.ConvertSupport)
  return target;
}

size_t ConvertSupport::RequiredFieldsByteSizeFallback() const {
// @@protoc_insertion_point(required_fields_byte_size_fallback_start:exec.user.ConvertSupport)
  size_t total_size = 0;

  if (_internal_has_from()) {
    // required .common.MinorType from = 1;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_from());
  }

  if (_internal_has_to()) {
    // required .common.MinorType to = 2;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_to());
  }

  return total_size;
}
size_t ConvertSupport::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.ConvertSupport)
  size_t total_size = 0;

  if (((_has_bits_[0] & 0x00000003) ^ 0x00000003) == 0) {  // All required fields are present.
    // required .common.MinorType from = 1;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_from());

    // required .common.MinorType to = 2;
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_to());

  } else {
    total_size += RequiredFieldsByteSizeFallback();
  }
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ConvertSupport::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.ConvertSupport)
  GOOGLE_DCHECK_NE(&from, this);
  const ConvertSupport* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ConvertSupport>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.ConvertSupport)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.ConvertSupport)
    MergeFrom(*source);
  }
}

void ConvertSupport::MergeFrom(const ConvertSupport& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.ConvertSupport)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      from_ = from.from_;
    }
    if (cached_has_bits & 0x00000002u) {
      to_ = from.to_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void ConvertSupport::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.ConvertSupport)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ConvertSupport::CopyFrom(const ConvertSupport& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.ConvertSupport)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ConvertSupport::IsInitialized() const {
  if (_Internal::MissingRequiredFields(_has_bits_)) return false;
  return true;
}

void ConvertSupport::InternalSwap(ConvertSupport* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ConvertSupport, to_)
      + sizeof(ConvertSupport::to_)
      - PROTOBUF_FIELD_OFFSET(ConvertSupport, from_)>(
          reinterpret_cast<char*>(&from_),
          reinterpret_cast<char*>(&other->from_));
}

::PROTOBUF_NAMESPACE_ID::Metadata ConvertSupport::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[27]);
}

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

class GetServerMetaResp::_Internal {
 public:
  using HasBits = decltype(std::declval<GetServerMetaResp>()._has_bits_);
  static void set_has_status(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::exec::user::ServerMeta& server_meta(const GetServerMetaResp* msg);
  static void set_has_server_meta(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::exec::shared::DrillPBError& error(const GetServerMetaResp* msg);
  static void set_has_error(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::exec::user::ServerMeta&
GetServerMetaResp::_Internal::server_meta(const GetServerMetaResp* msg) {
  return *msg->server_meta_;
}
const ::exec::shared::DrillPBError&
GetServerMetaResp::_Internal::error(const GetServerMetaResp* msg) {
  return *msg->error_;
}
void GetServerMetaResp::clear_error() {
  if (error_ != nullptr) error_->Clear();
  _has_bits_[0] &= ~0x00000002u;
}
GetServerMetaResp::GetServerMetaResp(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.GetServerMetaResp)
}
GetServerMetaResp::GetServerMetaResp(const GetServerMetaResp& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_server_meta()) {
    server_meta_ = new ::exec::user::ServerMeta(*from.server_meta_);
  } else {
    server_meta_ = nullptr;
  }
  if (from._internal_has_error()) {
    error_ = new ::exec::shared::DrillPBError(*from.error_);
  } else {
    error_ = nullptr;
  }
  status_ = from.status_;
  // @@protoc_insertion_point(copy_constructor:exec.user.GetServerMetaResp)
}

void GetServerMetaResp::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&server_meta_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&status_) -
    reinterpret_cast<char*>(&server_meta_)) + sizeof(status_));
}

GetServerMetaResp::~GetServerMetaResp() {
  // @@protoc_insertion_point(destructor:exec.user.GetServerMetaResp)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void GetServerMetaResp::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  if (this != internal_default_instance()) delete server_meta_;
  if (this != internal_default_instance()) delete error_;
}

void GetServerMetaResp::ArenaDtor(void* object) {
  GetServerMetaResp* _this = reinterpret_cast< GetServerMetaResp* >(object);
  (void)_this;
}
void GetServerMetaResp::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void GetServerMetaResp::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void GetServerMetaResp::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.GetServerMetaResp)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      GOOGLE_DCHECK(server_meta_ != nullptr);
      server_meta_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(error_ != nullptr);
      error_->Clear();
    }
  }
  status_ = 0;
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* GetServerMetaResp::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .exec.user.RequestStatus status = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::user::RequestStatus_IsValid(val))) {
            _internal_set_status(static_cast<::exec::user::RequestStatus>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional .exec.user.ServerMeta server_meta = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_server_meta(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.shared.DrillPBError error = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_error(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* GetServerMetaResp::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.GetServerMetaResp)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .exec.user.RequestStatus status = 1;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_status(), target);
  }

  // optional .exec.user.ServerMeta server_meta = 2;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        2, _Internal::server_meta(this), target, stream);
  }

  // optional .exec.shared.DrillPBError error = 3;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        3, _Internal::error(this), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.GetServerMetaResp)
  return target;
}

size_t GetServerMetaResp::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.GetServerMetaResp)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // optional .exec.user.ServerMeta server_meta = 2;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *server_meta_);
    }

    // optional .exec.shared.DrillPBError error = 3;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *error_);
    }

    // optional .exec.user.RequestStatus status = 1;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_status());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void GetServerMetaResp::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.GetServerMetaResp)
  GOOGLE_DCHECK_NE(&from, this);
  const GetServerMetaResp* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<GetServerMetaResp>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.GetServerMetaResp)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.GetServerMetaResp)
    MergeFrom(*source);
  }
}

void GetServerMetaResp::MergeFrom(const GetServerMetaResp& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.GetServerMetaResp)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _internal_mutable_server_meta()->::exec::user::ServerMeta::MergeFrom(from._internal_server_meta());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_mutable_error()->::exec::shared::DrillPBError::MergeFrom(from._internal_error());
    }
    if (cached_has_bits & 0x00000004u) {
      status_ = from.status_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void GetServerMetaResp::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.GetServerMetaResp)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void GetServerMetaResp::CopyFrom(const GetServerMetaResp& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.GetServerMetaResp)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool GetServerMetaResp::IsInitialized() const {
  if (_internal_has_server_meta()) {
    if (!server_meta_->IsInitialized()) return false;
  }
  return true;
}

void GetServerMetaResp::InternalSwap(GetServerMetaResp* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GetServerMetaResp, status_)
      + sizeof(GetServerMetaResp::status_)
      - PROTOBUF_FIELD_OFFSET(GetServerMetaResp, server_meta_)>(
          reinterpret_cast<char*>(&server_meta_),
          reinterpret_cast<char*>(&other->server_meta_));
}

::PROTOBUF_NAMESPACE_ID::Metadata GetServerMetaResp::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[28]);
}

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

class ServerMeta::_Internal {
 public:
  using HasBits = decltype(std::declval<ServerMeta>()._has_bits_);
  static void set_has_all_tables_selectable(HasBits* has_bits) {
    (*has_bits)[0] |= 256u;
  }
  static void set_has_blob_included_in_max_row_size(HasBits* has_bits) {
    (*has_bits)[0] |= 512u;
  }
  static void set_has_catalog_at_start(HasBits* has_bits) {
    (*has_bits)[0] |= 1024u;
  }
  static void set_has_catalog_separator(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_catalog_term(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_column_aliasing_supported(HasBits* has_bits) {
    (*has_bits)[0] |= 2048u;
  }
  static void set_has_correlation_names_support(HasBits* has_bits) {
    (*has_bits)[1] |= 16u;
  }
  static void set_has_group_by_support(HasBits* has_bits) {
    (*has_bits)[1] |= 32u;
  }
  static void set_has_identifier_casing(HasBits* has_bits) {
    (*has_bits)[0] |= 4096u;
  }
  static void set_has_identifier_quote_string(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_like_escape_clause_supported(HasBits* has_bits) {
    (*has_bits)[0] |= 536870912u;
  }
  static void set_has_max_binary_literal_length(HasBits* has_bits) {
    (*has_bits)[0] |= 8192u;
  }
  static void set_has_max_catalog_name_length(HasBits* has_bits) {
    (*has_bits)[0] |= 16384u;
  }
  static void set_has_max_char_literal_length(HasBits* has_bits) {
    (*has_bits)[0] |= 32768u;
  }
  static void set_has_max_column_name_length(HasBits* has_bits) {
    (*has_bits)[0] |= 65536u;
  }
  static void set_has_max_columns_in_group_by(HasBits* has_bits) {
    (*has_bits)[0] |= 131072u;
  }
  static void set_has_max_columns_in_order_by(HasBits* has_bits) {
    (*has_bits)[0] |= 262144u;
  }
  static void set_has_max_columns_in_select(HasBits* has_bits) {
    (*has_bits)[0] |= 524288u;
  }
  static void set_has_max_cursor_name_length(HasBits* has_bits) {
    (*has_bits)[0] |= 1048576u;
  }
  static void set_has_max_logical_lob_size(HasBits* has_bits) {
    (*has_bits)[0] |= 2097152u;
  }
  static void set_has_max_row_size(HasBits* has_bits) {
    (*has_bits)[0] |= 4194304u;
  }
  static void set_has_max_schema_name_length(HasBits* has_bits) {
    (*has_bits)[0] |= 8388608u;
  }
  static void set_has_max_statement_length(HasBits* has_bits) {
    (*has_bits)[0] |= 16777216u;
  }
  static void set_has_max_statements(HasBits* has_bits) {
    (*has_bits)[0] |= 33554432u;
  }
  static void set_has_max_table_name_length(HasBits* has_bits) {
    (*has_bits)[0] |= 67108864u;
  }
  static void set_has_max_tables_in_select(HasBits* has_bits) {
    (*has_bits)[0] |= 134217728u;
  }
  static void set_has_max_user_name_length(HasBits* has_bits) {
    (*has_bits)[0] |= 268435456u;
  }
  static void set_has_null_collation(HasBits* has_bits) {
    (*has_bits)[1] |= 2u;
  }
  static void set_has_null_plus_non_null_equals_null(HasBits* has_bits) {
    (*has_bits)[0] |= 1073741824u;
  }
  static void set_has_quoted_identifier_casing(HasBits* has_bits) {
    (*has_bits)[1] |= 4u;
  }
  static void set_has_read_only(HasBits* has_bits) {
    (*has_bits)[0] |= 2147483648u;
  }
  static void set_has_schema_term(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_search_escape_string(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_select_for_update_supported(HasBits* has_bits) {
    (*has_bits)[1] |= 1u;
  }
  static void set_has_special_characters(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_table_term(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static void set_has_transaction_supported(HasBits* has_bits) {
    (*has_bits)[1] |= 8u;
  }
  static void set_has_current_schema(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
};

ServerMeta::ServerMeta(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  collate_support_(arena),
  convert_support_(arena),
  date_time_functions_(arena),
  date_time_literals_support_(arena),
  numeric_functions_(arena),
  order_by_support_(arena),
  outer_join_support_(arena),
  sql_keywords_(arena),
  string_functions_(arena),
  subquery_support_(arena),
  system_functions_(arena),
  union_support_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.ServerMeta)
}
ServerMeta::ServerMeta(const ServerMeta& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      collate_support_(from.collate_support_),
      convert_support_(from.convert_support_),
      date_time_functions_(from.date_time_functions_),
      date_time_literals_support_(from.date_time_literals_support_),
      numeric_functions_(from.numeric_functions_),
      order_by_support_(from.order_by_support_),
      outer_join_support_(from.outer_join_support_),
      sql_keywords_(from.sql_keywords_),
      string_functions_(from.string_functions_),
      subquery_support_(from.subquery_support_),
      system_functions_(from.system_functions_),
      union_support_(from.union_support_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  catalog_separator_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_catalog_separator()) {
    catalog_separator_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_catalog_separator(), 
      GetArena());
  }
  catalog_term_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_catalog_term()) {
    catalog_term_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_catalog_term(), 
      GetArena());
  }
  identifier_quote_string_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_identifier_quote_string()) {
    identifier_quote_string_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_identifier_quote_string(), 
      GetArena());
  }
  schema_term_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_schema_term()) {
    schema_term_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_schema_term(), 
      GetArena());
  }
  search_escape_string_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_search_escape_string()) {
    search_escape_string_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_search_escape_string(), 
      GetArena());
  }
  special_characters_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_special_characters()) {
    special_characters_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_special_characters(), 
      GetArena());
  }
  table_term_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_table_term()) {
    table_term_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_table_term(), 
      GetArena());
  }
  current_schema_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_current_schema()) {
    current_schema_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_current_schema(), 
      GetArena());
  }
  ::memcpy(&all_tables_selectable_, &from.all_tables_selectable_,
    static_cast<size_t>(reinterpret_cast<char*>(&group_by_support_) -
    reinterpret_cast<char*>(&all_tables_selectable_)) + sizeof(group_by_support_));
  // @@protoc_insertion_point(copy_constructor:exec.user.ServerMeta)
}

void ServerMeta::SharedCtor() {
catalog_separator_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
catalog_term_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
identifier_quote_string_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
schema_term_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
search_escape_string_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
special_characters_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
table_term_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
current_schema_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&all_tables_selectable_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&transaction_supported_) -
    reinterpret_cast<char*>(&all_tables_selectable_)) + sizeof(transaction_supported_));
correlation_names_support_ = 1;
group_by_support_ = 1;
}

ServerMeta::~ServerMeta() {
  // @@protoc_insertion_point(destructor:exec.user.ServerMeta)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void ServerMeta::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  catalog_separator_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  catalog_term_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  identifier_quote_string_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  schema_term_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  search_escape_string_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  special_characters_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  table_term_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  current_schema_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}

void ServerMeta::ArenaDtor(void* object) {
  ServerMeta* _this = reinterpret_cast< ServerMeta* >(object);
  (void)_this;
}
void ServerMeta::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void ServerMeta::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void ServerMeta::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.ServerMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  collate_support_.Clear();
  convert_support_.Clear();
  date_time_functions_.Clear();
  date_time_literals_support_.Clear();
  numeric_functions_.Clear();
  order_by_support_.Clear();
  outer_join_support_.Clear();
  sql_keywords_.Clear();
  string_functions_.Clear();
  subquery_support_.Clear();
  system_functions_.Clear();
  union_support_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      catalog_separator_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      catalog_term_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      identifier_quote_string_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000008u) {
      schema_term_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000010u) {
      search_escape_string_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000020u) {
      special_characters_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000040u) {
      table_term_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000080u) {
      current_schema_.ClearNonDefaultToEmpty();
    }
  }
  if (cached_has_bits & 0x0000ff00u) {
    ::memset(&all_tables_selectable_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&max_char_literal_length_) -
        reinterpret_cast<char*>(&all_tables_selectable_)) + sizeof(max_char_literal_length_));
  }
  if (cached_has_bits & 0x00ff0000u) {
    ::memset(&max_column_name_length_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&max_schema_name_length_) -
        reinterpret_cast<char*>(&max_column_name_length_)) + sizeof(max_schema_name_length_));
  }
  if (cached_has_bits & 0xff000000u) {
    ::memset(&max_statement_length_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&read_only_) -
        reinterpret_cast<char*>(&max_statement_length_)) + sizeof(read_only_));
  }
  cached_has_bits = _has_bits_[1];
  if (cached_has_bits & 0x0000003fu) {
    ::memset(&select_for_update_supported_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&transaction_supported_) -
        reinterpret_cast<char*>(&select_for_update_supported_)) + sizeof(transaction_supported_));
    correlation_names_support_ = 1;
    group_by_support_ = 1;
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ServerMeta::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional bool all_tables_selectable = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          _Internal::set_has_all_tables_selectable(&_has_bits_);
          all_tables_selectable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional bool blob_included_in_max_row_size = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          _Internal::set_has_blob_included_in_max_row_size(&_has_bits_);
          blob_included_in_max_row_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional bool catalog_at_start = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          _Internal::set_has_catalog_at_start(&_has_bits_);
          catalog_at_start_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string catalog_separator = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_catalog_separator();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ServerMeta.catalog_separator");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string catalog_term = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          auto str = _internal_mutable_catalog_term();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ServerMeta.catalog_term");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .exec.user.CollateSupport collate_support = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          ptr -= 1;
          do {
            ptr += 1;
            ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
            CHK_(ptr);
            if (PROTOBUF_PREDICT_TRUE(::exec::user::CollateSupport_IsValid(val))) {
              _internal_add_collate_support(static_cast<::exec::user::CollateSupport>(val));
            } else {
              ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(6, val, mutable_unknown_fields());
            }
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<48>(ptr));
        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(_internal_mutable_collate_support(), ptr, ctx, ::exec::user::CollateSupport_IsValid, &_internal_metadata_, 6);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional bool column_aliasing_supported = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          _Internal::set_has_column_aliasing_supported(&_has_bits_);
          column_aliasing_supported_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .exec.user.ConvertSupport convert_support = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_convert_support(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<66>(ptr));
        } else goto handle_unusual;
        continue;
      // optional .exec.user.CorrelationNamesSupport correlation_names_support = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::user::CorrelationNamesSupport_IsValid(val))) {
            _internal_set_correlation_names_support(static_cast<::exec::user::CorrelationNamesSupport>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(9, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // repeated string date_time_functions = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_date_time_functions();
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
            #ifndef NDEBUG
            ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ServerMeta.date_time_functions");
            #endif  // !NDEBUG
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<82>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .exec.user.DateTimeLiteralsSupport date_time_literals_support = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
          ptr -= 1;
          do {
            ptr += 1;
            ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
            CHK_(ptr);
            if (PROTOBUF_PREDICT_TRUE(::exec::user::DateTimeLiteralsSupport_IsValid(val))) {
              _internal_add_date_time_literals_support(static_cast<::exec::user::DateTimeLiteralsSupport>(val));
            } else {
              ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(11, val, mutable_unknown_fields());
            }
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<88>(ptr));
        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(_internal_mutable_date_time_literals_support(), ptr, ctx, ::exec::user::DateTimeLiteralsSupport_IsValid, &_internal_metadata_, 11);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.user.GroupBySupport group_by_support = 12;
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::user::GroupBySupport_IsValid(val))) {
            _internal_set_group_by_support(static_cast<::exec::user::GroupBySupport>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(12, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional .exec.user.IdentifierCasing identifier_casing = 13;
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::user::IdentifierCasing_IsValid(val))) {
            _internal_set_identifier_casing(static_cast<::exec::user::IdentifierCasing>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(13, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional string identifier_quote_string = 14;
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
          auto str = _internal_mutable_identifier_quote_string();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ServerMeta.identifier_quote_string");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional bool like_escape_clause_supported = 15;
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 120)) {
          _Internal::set_has_like_escape_clause_supported(&_has_bits_);
          like_escape_clause_supported_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 max_binary_literal_length = 16;
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
          _Internal::set_has_max_binary_literal_length(&_has_bits_);
          max_binary_literal_length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 max_catalog_name_length = 17;
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
          _Internal::set_has_max_catalog_name_length(&_has_bits_);
          max_catalog_name_length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 max_char_literal_length = 18;
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 144)) {
          _Internal::set_has_max_char_literal_length(&_has_bits_);
          max_char_literal_length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 max_column_name_length = 19;
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 152)) {
          _Internal::set_has_max_column_name_length(&_has_bits_);
          max_column_name_length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 max_columns_in_group_by = 20;
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 160)) {
          _Internal::set_has_max_columns_in_group_by(&_has_bits_);
          max_columns_in_group_by_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 max_columns_in_order_by = 21;
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 168)) {
          _Internal::set_has_max_columns_in_order_by(&_has_bits_);
          max_columns_in_order_by_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 max_columns_in_select = 22;
      case 22:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 176)) {
          _Internal::set_has_max_columns_in_select(&_has_bits_);
          max_columns_in_select_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 max_cursor_name_length = 23;
      case 23:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 184)) {
          _Internal::set_has_max_cursor_name_length(&_has_bits_);
          max_cursor_name_length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 max_logical_lob_size = 24;
      case 24:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 192)) {
          _Internal::set_has_max_logical_lob_size(&_has_bits_);
          max_logical_lob_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 max_row_size = 25;
      case 25:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 200)) {
          _Internal::set_has_max_row_size(&_has_bits_);
          max_row_size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 max_schema_name_length = 26;
      case 26:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 208)) {
          _Internal::set_has_max_schema_name_length(&_has_bits_);
          max_schema_name_length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 max_statement_length = 27;
      case 27:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 216)) {
          _Internal::set_has_max_statement_length(&_has_bits_);
          max_statement_length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 max_statements = 28;
      case 28:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 224)) {
          _Internal::set_has_max_statements(&_has_bits_);
          max_statements_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 max_table_name_length = 29;
      case 29:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 232)) {
          _Internal::set_has_max_table_name_length(&_has_bits_);
          max_table_name_length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 max_tables_in_select = 30;
      case 30:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 240)) {
          _Internal::set_has_max_tables_in_select(&_has_bits_);
          max_tables_in_select_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional uint32 max_user_name_length = 31;
      case 31:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 248)) {
          _Internal::set_has_max_user_name_length(&_has_bits_);
          max_user_name_length_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.user.NullCollation null_collation = 32;
      case 32:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 0)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::user::NullCollation_IsValid(val))) {
            _internal_set_null_collation(static_cast<::exec::user::NullCollation>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(32, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional bool null_plus_non_null_equals_null = 33;
      case 33:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          _Internal::set_has_null_plus_non_null_equals_null(&_has_bits_);
          null_plus_non_null_equals_null_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated string numeric_functions = 34;
      case 34:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          ptr -= 2;
          do {
            ptr += 2;
            auto str = _internal_add_numeric_functions();
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
            #ifndef NDEBUG
            ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ServerMeta.numeric_functions");
            #endif  // !NDEBUG
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<274>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .exec.user.OrderBySupport order_by_support = 35;
      case 35:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          ptr -= 2;
          do {
            ptr += 2;
            ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
            CHK_(ptr);
            if (PROTOBUF_PREDICT_TRUE(::exec::user::OrderBySupport_IsValid(val))) {
              _internal_add_order_by_support(static_cast<::exec::user::OrderBySupport>(val));
            } else {
              ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(35, val, mutable_unknown_fields());
            }
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<280>(ptr));
        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(_internal_mutable_order_by_support(), ptr, ctx, ::exec::user::OrderBySupport_IsValid, &_internal_metadata_, 35);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .exec.user.OuterJoinSupport outer_join_support = 36;
      case 36:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          ptr -= 2;
          do {
            ptr += 2;
            ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
            CHK_(ptr);
            if (PROTOBUF_PREDICT_TRUE(::exec::user::OuterJoinSupport_IsValid(val))) {
              _internal_add_outer_join_support(static_cast<::exec::user::OuterJoinSupport>(val));
            } else {
              ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(36, val, mutable_unknown_fields());
            }
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<288>(ptr));
        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(_internal_mutable_outer_join_support(), ptr, ctx, ::exec::user::OuterJoinSupport_IsValid, &_internal_metadata_, 36);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional .exec.user.IdentifierCasing quoted_identifier_casing = 37;
      case 37:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::user::IdentifierCasing_IsValid(val))) {
            _internal_set_quoted_identifier_casing(static_cast<::exec::user::IdentifierCasing>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(37, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional bool read_only = 38;
      case 38:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          _Internal::set_has_read_only(&_has_bits_);
          read_only_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string schema_term = 39;
      case 39:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          auto str = _internal_mutable_schema_term();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ServerMeta.schema_term");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string search_escape_string = 40;
      case 40:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          auto str = _internal_mutable_search_escape_string();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ServerMeta.search_escape_string");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional bool select_for_update_supported = 41;
      case 41:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 72)) {
          _Internal::set_has_select_for_update_supported(&_has_bits_);
          select_for_update_supported_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string special_characters = 42;
      case 42:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          auto str = _internal_mutable_special_characters();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ServerMeta.special_characters");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated string sql_keywords = 43;
      case 43:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          ptr -= 2;
          do {
            ptr += 2;
            auto str = _internal_add_sql_keywords();
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
            #ifndef NDEBUG
            ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ServerMeta.sql_keywords");
            #endif  // !NDEBUG
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<346>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated string string_functions = 44;
      case 44:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          ptr -= 2;
          do {
            ptr += 2;
            auto str = _internal_add_string_functions();
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
            #ifndef NDEBUG
            ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ServerMeta.string_functions");
            #endif  // !NDEBUG
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<354>(ptr));
        } else goto handle_unusual;
        continue;
      // repeated .exec.user.SubQuerySupport subquery_support = 45;
      case 45:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
          ptr -= 2;
          do {
            ptr += 2;
            ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
            CHK_(ptr);
            if (PROTOBUF_PREDICT_TRUE(::exec::user::SubQuerySupport_IsValid(val))) {
              _internal_add_subquery_support(static_cast<::exec::user::SubQuerySupport>(val));
            } else {
              ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(45, val, mutable_unknown_fields());
            }
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<360>(ptr));
        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(_internal_mutable_subquery_support(), ptr, ctx, ::exec::user::SubQuerySupport_IsValid, &_internal_metadata_, 45);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated string system_functions = 46;
      case 46:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
          ptr -= 2;
          do {
            ptr += 2;
            auto str = _internal_add_system_functions();
            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
            #ifndef NDEBUG
            ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ServerMeta.system_functions");
            #endif  // !NDEBUG
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<370>(ptr));
        } else goto handle_unusual;
        continue;
      // optional string table_term = 47;
      case 47:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          auto str = _internal_mutable_table_term();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ServerMeta.table_term");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional bool transaction_supported = 48;
      case 48:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
          _Internal::set_has_transaction_supported(&_has_bits_);
          transaction_supported_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .exec.user.UnionSupport union_support = 49;
      case 49:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
          ptr -= 2;
          do {
            ptr += 2;
            ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
            CHK_(ptr);
            if (PROTOBUF_PREDICT_TRUE(::exec::user::UnionSupport_IsValid(val))) {
              _internal_add_union_support(static_cast<::exec::user::UnionSupport>(val));
            } else {
              ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(49, val, mutable_unknown_fields());
            }
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<392>(ptr));
        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 138) {
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedEnumParser<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(_internal_mutable_union_support(), ptr, ctx, ::exec::user::UnionSupport_IsValid, &_internal_metadata_, 49);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional string current_schema = 50;
      case 50:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
          auto str = _internal_mutable_current_schema();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.ServerMeta.current_schema");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* ServerMeta::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.ServerMeta)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional bool all_tables_selectable = 1;
  if (cached_has_bits & 0x00000100u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_all_tables_selectable(), target);
  }

  // optional bool blob_included_in_max_row_size = 2;
  if (cached_has_bits & 0x00000200u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_blob_included_in_max_row_size(), target);
  }

  // optional bool catalog_at_start = 3;
  if (cached_has_bits & 0x00000400u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_catalog_at_start(), target);
  }

  // optional string catalog_separator = 4;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_catalog_separator().data(), static_cast<int>(this->_internal_catalog_separator().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ServerMeta.catalog_separator");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_catalog_separator(), target);
  }

  // optional string catalog_term = 5;
  if (cached_has_bits & 0x00000002u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_catalog_term().data(), static_cast<int>(this->_internal_catalog_term().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ServerMeta.catalog_term");
    target = stream->WriteStringMaybeAliased(
        5, this->_internal_catalog_term(), target);
  }

  // repeated .exec.user.CollateSupport collate_support = 6;
  for (int i = 0, n = this->_internal_collate_support_size(); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
        6, this->_internal_collate_support(i), target);
  }

  // optional bool column_aliasing_supported = 7;
  if (cached_has_bits & 0x00000800u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(7, this->_internal_column_aliasing_supported(), target);
  }

  // repeated .exec.user.ConvertSupport convert_support = 8;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_convert_support_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(8, this->_internal_convert_support(i), target, stream);
  }

  cached_has_bits = _has_bits_[1];
  // optional .exec.user.CorrelationNamesSupport correlation_names_support = 9;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      9, this->_internal_correlation_names_support(), target);
  }

  // repeated string date_time_functions = 10;
  for (int i = 0, n = this->_internal_date_time_functions_size(); i < n; i++) {
    const auto& s = this->_internal_date_time_functions(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ServerMeta.date_time_functions");
    target = stream->WriteString(10, s, target);
  }

  // repeated .exec.user.DateTimeLiteralsSupport date_time_literals_support = 11;
  for (int i = 0, n = this->_internal_date_time_literals_support_size(); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
        11, this->_internal_date_time_literals_support(i), target);
  }

  // optional .exec.user.GroupBySupport group_by_support = 12;
  if (cached_has_bits & 0x00000020u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      12, this->_internal_group_by_support(), target);
  }

  cached_has_bits = _has_bits_[0];
  // optional .exec.user.IdentifierCasing identifier_casing = 13;
  if (cached_has_bits & 0x00001000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      13, this->_internal_identifier_casing(), target);
  }

  // optional string identifier_quote_string = 14;
  if (cached_has_bits & 0x00000004u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_identifier_quote_string().data(), static_cast<int>(this->_internal_identifier_quote_string().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ServerMeta.identifier_quote_string");
    target = stream->WriteStringMaybeAliased(
        14, this->_internal_identifier_quote_string(), target);
  }

  // optional bool like_escape_clause_supported = 15;
  if (cached_has_bits & 0x20000000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(15, this->_internal_like_escape_clause_supported(), target);
  }

  // optional uint32 max_binary_literal_length = 16;
  if (cached_has_bits & 0x00002000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(16, this->_internal_max_binary_literal_length(), target);
  }

  // optional uint32 max_catalog_name_length = 17;
  if (cached_has_bits & 0x00004000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(17, this->_internal_max_catalog_name_length(), target);
  }

  // optional uint32 max_char_literal_length = 18;
  if (cached_has_bits & 0x00008000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(18, this->_internal_max_char_literal_length(), target);
  }

  // optional uint32 max_column_name_length = 19;
  if (cached_has_bits & 0x00010000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(19, this->_internal_max_column_name_length(), target);
  }

  // optional uint32 max_columns_in_group_by = 20;
  if (cached_has_bits & 0x00020000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(20, this->_internal_max_columns_in_group_by(), target);
  }

  // optional uint32 max_columns_in_order_by = 21;
  if (cached_has_bits & 0x00040000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(21, this->_internal_max_columns_in_order_by(), target);
  }

  // optional uint32 max_columns_in_select = 22;
  if (cached_has_bits & 0x00080000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(22, this->_internal_max_columns_in_select(), target);
  }

  // optional uint32 max_cursor_name_length = 23;
  if (cached_has_bits & 0x00100000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(23, this->_internal_max_cursor_name_length(), target);
  }

  // optional uint32 max_logical_lob_size = 24;
  if (cached_has_bits & 0x00200000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(24, this->_internal_max_logical_lob_size(), target);
  }

  // optional uint32 max_row_size = 25;
  if (cached_has_bits & 0x00400000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(25, this->_internal_max_row_size(), target);
  }

  // optional uint32 max_schema_name_length = 26;
  if (cached_has_bits & 0x00800000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(26, this->_internal_max_schema_name_length(), target);
  }

  // optional uint32 max_statement_length = 27;
  if (cached_has_bits & 0x01000000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(27, this->_internal_max_statement_length(), target);
  }

  // optional uint32 max_statements = 28;
  if (cached_has_bits & 0x02000000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(28, this->_internal_max_statements(), target);
  }

  // optional uint32 max_table_name_length = 29;
  if (cached_has_bits & 0x04000000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(29, this->_internal_max_table_name_length(), target);
  }

  // optional uint32 max_tables_in_select = 30;
  if (cached_has_bits & 0x08000000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(30, this->_internal_max_tables_in_select(), target);
  }

  // optional uint32 max_user_name_length = 31;
  if (cached_has_bits & 0x10000000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt32ToArray(31, this->_internal_max_user_name_length(), target);
  }

  cached_has_bits = _has_bits_[1];
  // optional .exec.user.NullCollation null_collation = 32;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      32, this->_internal_null_collation(), target);
  }

  cached_has_bits = _has_bits_[0];
  // optional bool null_plus_non_null_equals_null = 33;
  if (cached_has_bits & 0x40000000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(33, this->_internal_null_plus_non_null_equals_null(), target);
  }

  // repeated string numeric_functions = 34;
  for (int i = 0, n = this->_internal_numeric_functions_size(); i < n; i++) {
    const auto& s = this->_internal_numeric_functions(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ServerMeta.numeric_functions");
    target = stream->WriteString(34, s, target);
  }

  // repeated .exec.user.OrderBySupport order_by_support = 35;
  for (int i = 0, n = this->_internal_order_by_support_size(); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
        35, this->_internal_order_by_support(i), target);
  }

  // repeated .exec.user.OuterJoinSupport outer_join_support = 36;
  for (int i = 0, n = this->_internal_outer_join_support_size(); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
        36, this->_internal_outer_join_support(i), target);
  }

  cached_has_bits = _has_bits_[1];
  // optional .exec.user.IdentifierCasing quoted_identifier_casing = 37;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      37, this->_internal_quoted_identifier_casing(), target);
  }

  cached_has_bits = _has_bits_[0];
  // optional bool read_only = 38;
  if (cached_has_bits & 0x80000000u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(38, this->_internal_read_only(), target);
  }

  // optional string schema_term = 39;
  if (cached_has_bits & 0x00000008u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_schema_term().data(), static_cast<int>(this->_internal_schema_term().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ServerMeta.schema_term");
    target = stream->WriteStringMaybeAliased(
        39, this->_internal_schema_term(), target);
  }

  // optional string search_escape_string = 40;
  if (cached_has_bits & 0x00000010u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_search_escape_string().data(), static_cast<int>(this->_internal_search_escape_string().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ServerMeta.search_escape_string");
    target = stream->WriteStringMaybeAliased(
        40, this->_internal_search_escape_string(), target);
  }

  cached_has_bits = _has_bits_[1];
  // optional bool select_for_update_supported = 41;
  if (cached_has_bits & 0x00000001u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(41, this->_internal_select_for_update_supported(), target);
  }

  cached_has_bits = _has_bits_[0];
  // optional string special_characters = 42;
  if (cached_has_bits & 0x00000020u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_special_characters().data(), static_cast<int>(this->_internal_special_characters().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ServerMeta.special_characters");
    target = stream->WriteStringMaybeAliased(
        42, this->_internal_special_characters(), target);
  }

  // repeated string sql_keywords = 43;
  for (int i = 0, n = this->_internal_sql_keywords_size(); i < n; i++) {
    const auto& s = this->_internal_sql_keywords(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ServerMeta.sql_keywords");
    target = stream->WriteString(43, s, target);
  }

  // repeated string string_functions = 44;
  for (int i = 0, n = this->_internal_string_functions_size(); i < n; i++) {
    const auto& s = this->_internal_string_functions(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ServerMeta.string_functions");
    target = stream->WriteString(44, s, target);
  }

  // repeated .exec.user.SubQuerySupport subquery_support = 45;
  for (int i = 0, n = this->_internal_subquery_support_size(); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
        45, this->_internal_subquery_support(i), target);
  }

  // repeated string system_functions = 46;
  for (int i = 0, n = this->_internal_system_functions_size(); i < n; i++) {
    const auto& s = this->_internal_system_functions(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ServerMeta.system_functions");
    target = stream->WriteString(46, s, target);
  }

  // optional string table_term = 47;
  if (cached_has_bits & 0x00000040u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_table_term().data(), static_cast<int>(this->_internal_table_term().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ServerMeta.table_term");
    target = stream->WriteStringMaybeAliased(
        47, this->_internal_table_term(), target);
  }

  cached_has_bits = _has_bits_[1];
  // optional bool transaction_supported = 48;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(48, this->_internal_transaction_supported(), target);
  }

  // repeated .exec.user.UnionSupport union_support = 49;
  for (int i = 0, n = this->_internal_union_support_size(); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
        49, this->_internal_union_support(i), target);
  }

  cached_has_bits = _has_bits_[0];
  // optional string current_schema = 50;
  if (cached_has_bits & 0x00000080u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_current_schema().data(), static_cast<int>(this->_internal_current_schema().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.ServerMeta.current_schema");
    target = stream->WriteStringMaybeAliased(
        50, this->_internal_current_schema(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.ServerMeta)
  return target;
}

size_t ServerMeta::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.ServerMeta)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .exec.user.CollateSupport collate_support = 6;
  {
    size_t data_size = 0;
    unsigned int count = static_cast<unsigned int>(this->_internal_collate_support_size());for (unsigned int i = 0; i < count; i++) {
      data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(
        this->_internal_collate_support(static_cast<int>(i)));
    }
    total_size += (1UL * count) + data_size;
  }

  // repeated .exec.user.ConvertSupport convert_support = 8;
  total_size += 1UL * this->_internal_convert_support_size();
  for (const auto& msg : this->convert_support_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated string date_time_functions = 10;
  total_size += 1 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(date_time_functions_.size());
  for (int i = 0, n = date_time_functions_.size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      date_time_functions_.Get(i));
  }

  // repeated .exec.user.DateTimeLiteralsSupport date_time_literals_support = 11;
  {
    size_t data_size = 0;
    unsigned int count = static_cast<unsigned int>(this->_internal_date_time_literals_support_size());for (unsigned int i = 0; i < count; i++) {
      data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(
        this->_internal_date_time_literals_support(static_cast<int>(i)));
    }
    total_size += (1UL * count) + data_size;
  }

  // repeated string numeric_functions = 34;
  total_size += 2 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(numeric_functions_.size());
  for (int i = 0, n = numeric_functions_.size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      numeric_functions_.Get(i));
  }

  // repeated .exec.user.OrderBySupport order_by_support = 35;
  {
    size_t data_size = 0;
    unsigned int count = static_cast<unsigned int>(this->_internal_order_by_support_size());for (unsigned int i = 0; i < count; i++) {
      data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(
        this->_internal_order_by_support(static_cast<int>(i)));
    }
    total_size += (2UL * count) + data_size;
  }

  // repeated .exec.user.OuterJoinSupport outer_join_support = 36;
  {
    size_t data_size = 0;
    unsigned int count = static_cast<unsigned int>(this->_internal_outer_join_support_size());for (unsigned int i = 0; i < count; i++) {
      data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(
        this->_internal_outer_join_support(static_cast<int>(i)));
    }
    total_size += (2UL * count) + data_size;
  }

  // repeated string sql_keywords = 43;
  total_size += 2 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(sql_keywords_.size());
  for (int i = 0, n = sql_keywords_.size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      sql_keywords_.Get(i));
  }

  // repeated string string_functions = 44;
  total_size += 2 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(string_functions_.size());
  for (int i = 0, n = string_functions_.size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      string_functions_.Get(i));
  }

  // repeated .exec.user.SubQuerySupport subquery_support = 45;
  {
    size_t data_size = 0;
    unsigned int count = static_cast<unsigned int>(this->_internal_subquery_support_size());for (unsigned int i = 0; i < count; i++) {
      data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(
        this->_internal_subquery_support(static_cast<int>(i)));
    }
    total_size += (2UL * count) + data_size;
  }

  // repeated string system_functions = 46;
  total_size += 2 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(system_functions_.size());
  for (int i = 0, n = system_functions_.size(); i < n; i++) {
    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
      system_functions_.Get(i));
  }

  // repeated .exec.user.UnionSupport union_support = 49;
  {
    size_t data_size = 0;
    unsigned int count = static_cast<unsigned int>(this->_internal_union_support_size());for (unsigned int i = 0; i < count; i++) {
      data_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(
        this->_internal_union_support(static_cast<int>(i)));
    }
    total_size += (2UL * count) + data_size;
  }

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    // optional string catalog_separator = 4;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_catalog_separator());
    }

    // optional string catalog_term = 5;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_catalog_term());
    }

    // optional string identifier_quote_string = 14;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_identifier_quote_string());
    }

    // optional string schema_term = 39;
    if (cached_has_bits & 0x00000008u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_schema_term());
    }

    // optional string search_escape_string = 40;
    if (cached_has_bits & 0x00000010u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_search_escape_string());
    }

    // optional string special_characters = 42;
    if (cached_has_bits & 0x00000020u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_special_characters());
    }

    // optional string table_term = 47;
    if (cached_has_bits & 0x00000040u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_table_term());
    }

    // optional string current_schema = 50;
    if (cached_has_bits & 0x00000080u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_current_schema());
    }

  }
  if (cached_has_bits & 0x0000ff00u) {
    // optional bool all_tables_selectable = 1;
    if (cached_has_bits & 0x00000100u) {
      total_size += 1 + 1;
    }

    // optional bool blob_included_in_max_row_size = 2;
    if (cached_has_bits & 0x00000200u) {
      total_size += 1 + 1;
    }

    // optional bool catalog_at_start = 3;
    if (cached_has_bits & 0x00000400u) {
      total_size += 1 + 1;
    }

    // optional bool column_aliasing_supported = 7;
    if (cached_has_bits & 0x00000800u) {
      total_size += 1 + 1;
    }

    // optional .exec.user.IdentifierCasing identifier_casing = 13;
    if (cached_has_bits & 0x00001000u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_identifier_casing());
    }

    // optional uint32 max_binary_literal_length = 16;
    if (cached_has_bits & 0x00002000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_max_binary_literal_length());
    }

    // optional uint32 max_catalog_name_length = 17;
    if (cached_has_bits & 0x00004000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_max_catalog_name_length());
    }

    // optional uint32 max_char_literal_length = 18;
    if (cached_has_bits & 0x00008000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_max_char_literal_length());
    }

  }
  if (cached_has_bits & 0x00ff0000u) {
    // optional uint32 max_column_name_length = 19;
    if (cached_has_bits & 0x00010000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_max_column_name_length());
    }

    // optional uint32 max_columns_in_group_by = 20;
    if (cached_has_bits & 0x00020000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_max_columns_in_group_by());
    }

    // optional uint32 max_columns_in_order_by = 21;
    if (cached_has_bits & 0x00040000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_max_columns_in_order_by());
    }

    // optional uint32 max_columns_in_select = 22;
    if (cached_has_bits & 0x00080000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_max_columns_in_select());
    }

    // optional uint32 max_cursor_name_length = 23;
    if (cached_has_bits & 0x00100000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_max_cursor_name_length());
    }

    // optional uint32 max_logical_lob_size = 24;
    if (cached_has_bits & 0x00200000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_max_logical_lob_size());
    }

    // optional uint32 max_row_size = 25;
    if (cached_has_bits & 0x00400000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_max_row_size());
    }

    // optional uint32 max_schema_name_length = 26;
    if (cached_has_bits & 0x00800000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_max_schema_name_length());
    }

  }
  if (cached_has_bits & 0xff000000u) {
    // optional uint32 max_statement_length = 27;
    if (cached_has_bits & 0x01000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_max_statement_length());
    }

    // optional uint32 max_statements = 28;
    if (cached_has_bits & 0x02000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_max_statements());
    }

    // optional uint32 max_table_name_length = 29;
    if (cached_has_bits & 0x04000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_max_table_name_length());
    }

    // optional uint32 max_tables_in_select = 30;
    if (cached_has_bits & 0x08000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_max_tables_in_select());
    }

    // optional uint32 max_user_name_length = 31;
    if (cached_has_bits & 0x10000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt32Size(
          this->_internal_max_user_name_length());
    }

    // optional bool like_escape_clause_supported = 15;
    if (cached_has_bits & 0x20000000u) {
      total_size += 1 + 1;
    }

    // optional bool null_plus_non_null_equals_null = 33;
    if (cached_has_bits & 0x40000000u) {
      total_size += 2 + 1;
    }

    // optional bool read_only = 38;
    if (cached_has_bits & 0x80000000u) {
      total_size += 2 + 1;
    }

  }
  cached_has_bits = _has_bits_[1];
  if (cached_has_bits & 0x0000003fu) {
    // optional bool select_for_update_supported = 41;
    if (cached_has_bits & 0x00000001u) {
      total_size += 2 + 1;
    }

    // optional .exec.user.NullCollation null_collation = 32;
    if (cached_has_bits & 0x00000002u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_null_collation());
    }

    // optional .exec.user.IdentifierCasing quoted_identifier_casing = 37;
    if (cached_has_bits & 0x00000004u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_quoted_identifier_casing());
    }

    // optional bool transaction_supported = 48;
    if (cached_has_bits & 0x00000008u) {
      total_size += 2 + 1;
    }

    // optional .exec.user.CorrelationNamesSupport correlation_names_support = 9;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_correlation_names_support());
    }

    // optional .exec.user.GroupBySupport group_by_support = 12;
    if (cached_has_bits & 0x00000020u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_group_by_support());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void ServerMeta::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.ServerMeta)
  GOOGLE_DCHECK_NE(&from, this);
  const ServerMeta* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ServerMeta>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.ServerMeta)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.ServerMeta)
    MergeFrom(*source);
  }
}

void ServerMeta::MergeFrom(const ServerMeta& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.ServerMeta)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  collate_support_.MergeFrom(from.collate_support_);
  convert_support_.MergeFrom(from.convert_support_);
  date_time_functions_.MergeFrom(from.date_time_functions_);
  date_time_literals_support_.MergeFrom(from.date_time_literals_support_);
  numeric_functions_.MergeFrom(from.numeric_functions_);
  order_by_support_.MergeFrom(from.order_by_support_);
  outer_join_support_.MergeFrom(from.outer_join_support_);
  sql_keywords_.MergeFrom(from.sql_keywords_);
  string_functions_.MergeFrom(from.string_functions_);
  subquery_support_.MergeFrom(from.subquery_support_);
  system_functions_.MergeFrom(from.system_functions_);
  union_support_.MergeFrom(from.union_support_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_catalog_separator(from._internal_catalog_separator());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_set_catalog_term(from._internal_catalog_term());
    }
    if (cached_has_bits & 0x00000004u) {
      _internal_set_identifier_quote_string(from._internal_identifier_quote_string());
    }
    if (cached_has_bits & 0x00000008u) {
      _internal_set_schema_term(from._internal_schema_term());
    }
    if (cached_has_bits & 0x00000010u) {
      _internal_set_search_escape_string(from._internal_search_escape_string());
    }
    if (cached_has_bits & 0x00000020u) {
      _internal_set_special_characters(from._internal_special_characters());
    }
    if (cached_has_bits & 0x00000040u) {
      _internal_set_table_term(from._internal_table_term());
    }
    if (cached_has_bits & 0x00000080u) {
      _internal_set_current_schema(from._internal_current_schema());
    }
  }
  if (cached_has_bits & 0x0000ff00u) {
    if (cached_has_bits & 0x00000100u) {
      all_tables_selectable_ = from.all_tables_selectable_;
    }
    if (cached_has_bits & 0x00000200u) {
      blob_included_in_max_row_size_ = from.blob_included_in_max_row_size_;
    }
    if (cached_has_bits & 0x00000400u) {
      catalog_at_start_ = from.catalog_at_start_;
    }
    if (cached_has_bits & 0x00000800u) {
      column_aliasing_supported_ = from.column_aliasing_supported_;
    }
    if (cached_has_bits & 0x00001000u) {
      identifier_casing_ = from.identifier_casing_;
    }
    if (cached_has_bits & 0x00002000u) {
      max_binary_literal_length_ = from.max_binary_literal_length_;
    }
    if (cached_has_bits & 0x00004000u) {
      max_catalog_name_length_ = from.max_catalog_name_length_;
    }
    if (cached_has_bits & 0x00008000u) {
      max_char_literal_length_ = from.max_char_literal_length_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00ff0000u) {
    if (cached_has_bits & 0x00010000u) {
      max_column_name_length_ = from.max_column_name_length_;
    }
    if (cached_has_bits & 0x00020000u) {
      max_columns_in_group_by_ = from.max_columns_in_group_by_;
    }
    if (cached_has_bits & 0x00040000u) {
      max_columns_in_order_by_ = from.max_columns_in_order_by_;
    }
    if (cached_has_bits & 0x00080000u) {
      max_columns_in_select_ = from.max_columns_in_select_;
    }
    if (cached_has_bits & 0x00100000u) {
      max_cursor_name_length_ = from.max_cursor_name_length_;
    }
    if (cached_has_bits & 0x00200000u) {
      max_logical_lob_size_ = from.max_logical_lob_size_;
    }
    if (cached_has_bits & 0x00400000u) {
      max_row_size_ = from.max_row_size_;
    }
    if (cached_has_bits & 0x00800000u) {
      max_schema_name_length_ = from.max_schema_name_length_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  if (cached_has_bits & 0xff000000u) {
    if (cached_has_bits & 0x01000000u) {
      max_statement_length_ = from.max_statement_length_;
    }
    if (cached_has_bits & 0x02000000u) {
      max_statements_ = from.max_statements_;
    }
    if (cached_has_bits & 0x04000000u) {
      max_table_name_length_ = from.max_table_name_length_;
    }
    if (cached_has_bits & 0x08000000u) {
      max_tables_in_select_ = from.max_tables_in_select_;
    }
    if (cached_has_bits & 0x10000000u) {
      max_user_name_length_ = from.max_user_name_length_;
    }
    if (cached_has_bits & 0x20000000u) {
      like_escape_clause_supported_ = from.like_escape_clause_supported_;
    }
    if (cached_has_bits & 0x40000000u) {
      null_plus_non_null_equals_null_ = from.null_plus_non_null_equals_null_;
    }
    if (cached_has_bits & 0x80000000u) {
      read_only_ = from.read_only_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
  cached_has_bits = from._has_bits_[1];
  if (cached_has_bits & 0x0000003fu) {
    if (cached_has_bits & 0x00000001u) {
      select_for_update_supported_ = from.select_for_update_supported_;
    }
    if (cached_has_bits & 0x00000002u) {
      null_collation_ = from.null_collation_;
    }
    if (cached_has_bits & 0x00000004u) {
      quoted_identifier_casing_ = from.quoted_identifier_casing_;
    }
    if (cached_has_bits & 0x00000008u) {
      transaction_supported_ = from.transaction_supported_;
    }
    if (cached_has_bits & 0x00000010u) {
      correlation_names_support_ = from.correlation_names_support_;
    }
    if (cached_has_bits & 0x00000020u) {
      group_by_support_ = from.group_by_support_;
    }
    _has_bits_[1] |= cached_has_bits;
  }
}

void ServerMeta::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.ServerMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void ServerMeta::CopyFrom(const ServerMeta& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.ServerMeta)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool ServerMeta::IsInitialized() const {
  if (!::PROTOBUF_NAMESPACE_ID::internal::AllAreInitialized(convert_support_)) return false;
  return true;
}

void ServerMeta::InternalSwap(ServerMeta* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  swap(_has_bits_[1], other->_has_bits_[1]);
  collate_support_.InternalSwap(&other->collate_support_);
  convert_support_.InternalSwap(&other->convert_support_);
  date_time_functions_.InternalSwap(&other->date_time_functions_);
  date_time_literals_support_.InternalSwap(&other->date_time_literals_support_);
  numeric_functions_.InternalSwap(&other->numeric_functions_);
  order_by_support_.InternalSwap(&other->order_by_support_);
  outer_join_support_.InternalSwap(&other->outer_join_support_);
  sql_keywords_.InternalSwap(&other->sql_keywords_);
  string_functions_.InternalSwap(&other->string_functions_);
  subquery_support_.InternalSwap(&other->subquery_support_);
  system_functions_.InternalSwap(&other->system_functions_);
  union_support_.InternalSwap(&other->union_support_);
  catalog_separator_.Swap(&other->catalog_separator_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  catalog_term_.Swap(&other->catalog_term_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  identifier_quote_string_.Swap(&other->identifier_quote_string_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  schema_term_.Swap(&other->schema_term_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  search_escape_string_.Swap(&other->search_escape_string_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  special_characters_.Swap(&other->special_characters_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  table_term_.Swap(&other->table_term_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  current_schema_.Swap(&other->current_schema_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ServerMeta, transaction_supported_)
      + sizeof(ServerMeta::transaction_supported_)
      - PROTOBUF_FIELD_OFFSET(ServerMeta, all_tables_selectable_)>(
          reinterpret_cast<char*>(&all_tables_selectable_),
          reinterpret_cast<char*>(&other->all_tables_selectable_));
  swap(correlation_names_support_, other->correlation_names_support_);
  swap(group_by_support_, other->group_by_support_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ServerMeta::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[29]);
}

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

class RunQuery::_Internal {
 public:
  using HasBits = decltype(std::declval<RunQuery>()._has_bits_);
  static void set_has_results_mode(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_type(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_plan(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::exec::user::PreparedStatementHandle& prepared_statement_handle(const RunQuery* msg);
  static void set_has_prepared_statement_handle(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_autolimit_rowcount(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::exec::user::PreparedStatementHandle&
RunQuery::_Internal::prepared_statement_handle(const RunQuery* msg) {
  return *msg->prepared_statement_handle_;
}
void RunQuery::clear_fragments() {
  fragments_.Clear();
}
RunQuery::RunQuery(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  fragments_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:exec.user.RunQuery)
}
RunQuery::RunQuery(const RunQuery& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      fragments_(from.fragments_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  plan_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_plan()) {
    plan_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_plan(), 
      GetArena());
  }
  if (from._internal_has_prepared_statement_handle()) {
    prepared_statement_handle_ = new ::exec::user::PreparedStatementHandle(*from.prepared_statement_handle_);
  } else {
    prepared_statement_handle_ = nullptr;
  }
  ::memcpy(&autolimit_rowcount_, &from.autolimit_rowcount_,
    static_cast<size_t>(reinterpret_cast<char*>(&type_) -
    reinterpret_cast<char*>(&autolimit_rowcount_)) + sizeof(type_));
  // @@protoc_insertion_point(copy_constructor:exec.user.RunQuery)
}

void RunQuery::SharedCtor() {
plan_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&prepared_statement_handle_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&autolimit_rowcount_) -
    reinterpret_cast<char*>(&prepared_statement_handle_)) + sizeof(autolimit_rowcount_));
results_mode_ = 1;
type_ = 1;
}

RunQuery::~RunQuery() {
  // @@protoc_insertion_point(destructor:exec.user.RunQuery)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void RunQuery::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  plan_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete prepared_statement_handle_;
}

void RunQuery::ArenaDtor(void* object) {
  RunQuery* _this = reinterpret_cast< RunQuery* >(object);
  (void)_this;
}
void RunQuery::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void RunQuery::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}

void RunQuery::Clear() {
// @@protoc_insertion_point(message_clear_start:exec.user.RunQuery)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  fragments_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      plan_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      GOOGLE_DCHECK(prepared_statement_handle_ != nullptr);
      prepared_statement_handle_->Clear();
    }
  }
  if (cached_has_bits & 0x0000001cu) {
    autolimit_rowcount_ = 0;
    results_mode_ = 1;
    type_ = 1;
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* RunQuery::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  _Internal::HasBits has_bits{};
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // optional .exec.user.QueryResultsMode results_mode = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::user::QueryResultsMode_IsValid(val))) {
            _internal_set_results_mode(static_cast<::exec::user::QueryResultsMode>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional .exec.shared.QueryType type = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          if (PROTOBUF_PREDICT_TRUE(::exec::shared::QueryType_IsValid(val))) {
            _internal_set_type(static_cast<::exec::shared::QueryType>(val));
          } else {
            ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(2, val, mutable_unknown_fields());
          }
        } else goto handle_unusual;
        continue;
      // optional string plan = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_plan();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          #ifndef NDEBUG
          ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "exec.user.RunQuery.plan");
          #endif  // !NDEBUG
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // repeated .exec.bit.control.PlanFragment fragments = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_fragments(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else goto handle_unusual;
        continue;
      // optional .exec.user.PreparedStatementHandle prepared_statement_handle = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_prepared_statement_handle(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // optional int32 autolimit_rowcount = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          _Internal::set_has_autolimit_rowcount(&has_bits);
          autolimit_rowcount_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag == 0) || ((tag & 7) == 4)) {
          CHK_(ptr);
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  _has_bits_.Or(has_bits);
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* RunQuery::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:exec.user.RunQuery)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = _has_bits_[0];
  // optional .exec.user.QueryResultsMode results_mode = 1;
  if (cached_has_bits & 0x00000008u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      1, this->_internal_results_mode(), target);
  }

  // optional .exec.shared.QueryType type = 2;
  if (cached_has_bits & 0x00000010u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
      2, this->_internal_type(), target);
  }

  // optional string plan = 3;
  if (cached_has_bits & 0x00000001u) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField(
      this->_internal_plan().data(), static_cast<int>(this->_internal_plan().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE,
      "exec.user.RunQuery.plan");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_plan(), target);
  }

  // repeated .exec.bit.control.PlanFragment fragments = 4;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_fragments_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, this->_internal_fragments(i), target, stream);
  }

  // optional .exec.user.PreparedStatementHandle prepared_statement_handle = 5;
  if (cached_has_bits & 0x00000002u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        5, _Internal::prepared_statement_handle(this), target, stream);
  }

  // optional int32 autolimit_rowcount = 6;
  if (cached_has_bits & 0x00000004u) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(6, this->_internal_autolimit_rowcount(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:exec.user.RunQuery)
  return target;
}

size_t RunQuery::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:exec.user.RunQuery)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .exec.bit.control.PlanFragment fragments = 4;
  total_size += 1UL * this->_internal_fragments_size();
  for (const auto& msg : this->fragments_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    // optional string plan = 3;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_plan());
    }

    // optional .exec.user.PreparedStatementHandle prepared_statement_handle = 5;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *prepared_statement_handle_);
    }

    // optional int32 autolimit_rowcount = 6;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_autolimit_rowcount());
    }

    // optional .exec.user.QueryResultsMode results_mode = 1;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_results_mode());
    }

    // optional .exec.shared.QueryType type = 2;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_type());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void RunQuery::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:exec.user.RunQuery)
  GOOGLE_DCHECK_NE(&from, this);
  const RunQuery* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RunQuery>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:exec.user.RunQuery)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:exec.user.RunQuery)
    MergeFrom(*source);
  }
}

void RunQuery::MergeFrom(const RunQuery& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:exec.user.RunQuery)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  fragments_.MergeFrom(from.fragments_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_plan(from._internal_plan());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_mutable_prepared_statement_handle()->::exec::user::PreparedStatementHandle::MergeFrom(from._internal_prepared_statement_handle());
    }
    if (cached_has_bits & 0x00000004u) {
      autolimit_rowcount_ = from.autolimit_rowcount_;
    }
    if (cached_has_bits & 0x00000008u) {
      results_mode_ = from.results_mode_;
    }
    if (cached_has_bits & 0x00000010u) {
      type_ = from.type_;
    }
    _has_bits_[0] |= cached_has_bits;
  }
}

void RunQuery::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:exec.user.RunQuery)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void RunQuery::CopyFrom(const RunQuery& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:exec.user.RunQuery)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool RunQuery::IsInitialized() const {
  return true;
}

void RunQuery::InternalSwap(RunQuery* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  fragments_.InternalSwap(&other->fragments_);
  plan_.Swap(&other->plan_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RunQuery, autolimit_rowcount_)
      + sizeof(RunQuery::autolimit_rowcount_)
      - PROTOBUF_FIELD_OFFSET(RunQuery, prepared_statement_handle_)>(
          reinterpret_cast<char*>(&prepared_statement_handle_),
          reinterpret_cast<char*>(&other->prepared_statement_handle_));
  swap(results_mode_, other->results_mode_);
  swap(type_, other->type_);
}

::PROTOBUF_NAMESPACE_ID::Metadata RunQuery::GetMetadata() const {
  return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(
      &descriptor_table_User_2eproto_getter, &descriptor_table_User_2eproto_once,
      file_level_metadata_User_2eproto[30]);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace user
}  // namespace exec
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::exec::user::Property* Arena::CreateMaybeMessage< ::exec::user::Property >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::Property >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::UserProperties* Arena::CreateMaybeMessage< ::exec::user::UserProperties >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::UserProperties >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::RpcEndpointInfos* Arena::CreateMaybeMessage< ::exec::user::RpcEndpointInfos >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::RpcEndpointInfos >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::UserToBitHandshake* Arena::CreateMaybeMessage< ::exec::user::UserToBitHandshake >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::UserToBitHandshake >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::RequestResults* Arena::CreateMaybeMessage< ::exec::user::RequestResults >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::RequestResults >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::GetQueryPlanFragments* Arena::CreateMaybeMessage< ::exec::user::GetQueryPlanFragments >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::GetQueryPlanFragments >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::QueryPlanFragments* Arena::CreateMaybeMessage< ::exec::user::QueryPlanFragments >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::QueryPlanFragments >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::BitToUserHandshake* Arena::CreateMaybeMessage< ::exec::user::BitToUserHandshake >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::BitToUserHandshake >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::LikeFilter* Arena::CreateMaybeMessage< ::exec::user::LikeFilter >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::LikeFilter >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::GetCatalogsReq* Arena::CreateMaybeMessage< ::exec::user::GetCatalogsReq >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::GetCatalogsReq >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::CatalogMetadata* Arena::CreateMaybeMessage< ::exec::user::CatalogMetadata >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::CatalogMetadata >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::GetCatalogsResp* Arena::CreateMaybeMessage< ::exec::user::GetCatalogsResp >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::GetCatalogsResp >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::GetSchemasReq* Arena::CreateMaybeMessage< ::exec::user::GetSchemasReq >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::GetSchemasReq >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::SchemaMetadata* Arena::CreateMaybeMessage< ::exec::user::SchemaMetadata >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::SchemaMetadata >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::GetSchemasResp* Arena::CreateMaybeMessage< ::exec::user::GetSchemasResp >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::GetSchemasResp >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::GetTablesReq* Arena::CreateMaybeMessage< ::exec::user::GetTablesReq >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::GetTablesReq >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::TableMetadata* Arena::CreateMaybeMessage< ::exec::user::TableMetadata >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::TableMetadata >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::GetTablesResp* Arena::CreateMaybeMessage< ::exec::user::GetTablesResp >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::GetTablesResp >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::GetColumnsReq* Arena::CreateMaybeMessage< ::exec::user::GetColumnsReq >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::GetColumnsReq >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::ColumnMetadata* Arena::CreateMaybeMessage< ::exec::user::ColumnMetadata >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::ColumnMetadata >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::GetColumnsResp* Arena::CreateMaybeMessage< ::exec::user::GetColumnsResp >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::GetColumnsResp >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::CreatePreparedStatementReq* Arena::CreateMaybeMessage< ::exec::user::CreatePreparedStatementReq >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::CreatePreparedStatementReq >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::ResultColumnMetadata* Arena::CreateMaybeMessage< ::exec::user::ResultColumnMetadata >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::ResultColumnMetadata >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::PreparedStatementHandle* Arena::CreateMaybeMessage< ::exec::user::PreparedStatementHandle >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::PreparedStatementHandle >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::PreparedStatement* Arena::CreateMaybeMessage< ::exec::user::PreparedStatement >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::PreparedStatement >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::CreatePreparedStatementResp* Arena::CreateMaybeMessage< ::exec::user::CreatePreparedStatementResp >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::CreatePreparedStatementResp >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::GetServerMetaReq* Arena::CreateMaybeMessage< ::exec::user::GetServerMetaReq >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::GetServerMetaReq >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::ConvertSupport* Arena::CreateMaybeMessage< ::exec::user::ConvertSupport >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::ConvertSupport >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::GetServerMetaResp* Arena::CreateMaybeMessage< ::exec::user::GetServerMetaResp >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::GetServerMetaResp >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::ServerMeta* Arena::CreateMaybeMessage< ::exec::user::ServerMeta >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::ServerMeta >(arena);
}
template<> PROTOBUF_NOINLINE ::exec::user::RunQuery* Arena::CreateMaybeMessage< ::exec::user::RunQuery >(Arena* arena) {
  return Arena::CreateMessageInternal< ::exec::user::RunQuery >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
