From d78a93e7b3284e32093751ecfaec6f3677b20652 Mon Sep 17 00:00:00 2001 From: Matts966 Date: Wed, 18 Aug 2021 00:08:45 +0900 Subject: [PATCH 1/8] Use proto to create types and converters (services are not implemented) --- Makefile | 11 + alphasql/proto/alphasql_service.pb.cc | 2042 ++++++++++++++++++++ alphasql/proto/alphasql_service.pb.h | 2181 +++++++++++++++++++++ alphasql/proto/type.pb.cc | 2108 +++++++++++++++++++++ alphasql/proto/type.pb.h | 2511 +++++++++++++++++++++++++ proto/alphasql_service.proto | 55 + proto/type.proto | 139 ++ 7 files changed, 9047 insertions(+) create mode 100644 alphasql/proto/alphasql_service.pb.cc create mode 100644 alphasql/proto/alphasql_service.pb.h create mode 100644 alphasql/proto/type.pb.cc create mode 100644 alphasql/proto/type.pb.h create mode 100644 proto/alphasql_service.proto create mode 100644 proto/type.proto diff --git a/Makefile b/Makefile index e8248b82..86e3e5c7 100644 --- a/Makefile +++ b/Makefile @@ -77,3 +77,14 @@ side_effect_first_with_tables: osx .PHONY: test test: osx CC=g++ bazelisk test //alphasql:all + +.PHONY: proto +proto: proto/type.proto + protoc -I=proto --cpp_out=alphasql/proto proto/*.proto + +proto/type.proto: + svn export --force https://github.com/google/zetasql/branches/master/zetasql/public/type.proto proto/ + +.PHONY: proto-clean +proto-clean: + rm proto/type.proto diff --git a/alphasql/proto/alphasql_service.pb.cc b/alphasql/proto/alphasql_service.pb.cc new file mode 100644 index 00000000..2d3facb2 --- /dev/null +++ b/alphasql/proto/alphasql_service.pb.cc @@ -0,0 +1,2042 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: alphasql_service.proto + +#include "alphasql_service.pb.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) +#include + +PROTOBUF_PRAGMA_INIT_SEG +constexpr File::File( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , content_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){} +struct FileDefaultTypeInternal { + constexpr FileDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~FileDefaultTypeInternal() {} + union { + File _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FileDefaultTypeInternal _File_default_instance_; +constexpr AlphaDAGRequest::AlphaDAGRequest( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : files_() + , warning_as_error_(false) + , with_tables_(false) + , with_functions_(false) + , side_effect_first_(false){} +struct AlphaDAGRequestDefaultTypeInternal { + constexpr AlphaDAGRequestDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~AlphaDAGRequestDefaultTypeInternal() {} + union { + AlphaDAGRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AlphaDAGRequestDefaultTypeInternal _AlphaDAGRequest_default_instance_; +constexpr AlphaDAGResponse::AlphaDAGResponse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : external_required_tables_() + , dag_dot_string_() + , error_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){} +struct AlphaDAGResponseDefaultTypeInternal { + constexpr AlphaDAGResponseDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~AlphaDAGResponseDefaultTypeInternal() {} + union { + AlphaDAGResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AlphaDAGResponseDefaultTypeInternal _AlphaDAGResponse_default_instance_; +constexpr Column::Column( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : column_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , type_(nullptr){} +struct ColumnDefaultTypeInternal { + constexpr ColumnDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~ColumnDefaultTypeInternal() {} + union { + Column _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ColumnDefaultTypeInternal _Column_default_instance_; +constexpr TableSchema::TableSchema( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : columns_() + , table_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){} +struct TableSchemaDefaultTypeInternal { + constexpr TableSchemaDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~TableSchemaDefaultTypeInternal() {} + union { + TableSchema _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT TableSchemaDefaultTypeInternal _TableSchema_default_instance_; +constexpr AlphaCheckRequest::AlphaCheckRequest( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : external_required_tables_schema_() + , files_() + , dag_dot_string_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){} +struct AlphaCheckRequestDefaultTypeInternal { + constexpr AlphaCheckRequestDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~AlphaCheckRequestDefaultTypeInternal() {} + union { + AlphaCheckRequest _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AlphaCheckRequestDefaultTypeInternal _AlphaCheckRequest_default_instance_; +constexpr AlphaCheckResponse::AlphaCheckResponse( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : error_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){} +struct AlphaCheckResponseDefaultTypeInternal { + constexpr AlphaCheckResponseDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~AlphaCheckResponseDefaultTypeInternal() {} + union { + AlphaCheckResponse _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AlphaCheckResponseDefaultTypeInternal _AlphaCheckResponse_default_instance_; +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_alphasql_5fservice_2eproto[7]; +static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_alphasql_5fservice_2eproto = nullptr; +static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_alphasql_5fservice_2eproto = nullptr; + +const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_alphasql_5fservice_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::File, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::File, name_), + PROTOBUF_FIELD_OFFSET(::File, content_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::AlphaDAGRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::AlphaDAGRequest, warning_as_error_), + PROTOBUF_FIELD_OFFSET(::AlphaDAGRequest, with_tables_), + PROTOBUF_FIELD_OFFSET(::AlphaDAGRequest, with_functions_), + PROTOBUF_FIELD_OFFSET(::AlphaDAGRequest, side_effect_first_), + PROTOBUF_FIELD_OFFSET(::AlphaDAGRequest, files_), + PROTOBUF_FIELD_OFFSET(::AlphaDAGResponse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::AlphaDAGResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::AlphaDAGResponse, external_required_tables_), + PROTOBUF_FIELD_OFFSET(::AlphaDAGResponse, dag_dot_string_), + PROTOBUF_FIELD_OFFSET(::AlphaDAGResponse, error_), + ~0u, + ~0u, + 0, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::Column, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::Column, column_name_), + PROTOBUF_FIELD_OFFSET(::Column, type_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::TableSchema, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::TableSchema, table_name_), + PROTOBUF_FIELD_OFFSET(::TableSchema, columns_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::AlphaCheckRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::AlphaCheckRequest, external_required_tables_schema_), + PROTOBUF_FIELD_OFFSET(::AlphaCheckRequest, dag_dot_string_), + PROTOBUF_FIELD_OFFSET(::AlphaCheckRequest, files_), + PROTOBUF_FIELD_OFFSET(::AlphaCheckResponse, _has_bits_), + PROTOBUF_FIELD_OFFSET(::AlphaCheckResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::AlphaCheckResponse, error_), + 0, +}; +static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + { 0, -1, sizeof(::File)}, + { 7, -1, sizeof(::AlphaDAGRequest)}, + { 17, 25, sizeof(::AlphaDAGResponse)}, + { 28, -1, sizeof(::Column)}, + { 35, -1, sizeof(::TableSchema)}, + { 42, -1, sizeof(::AlphaCheckRequest)}, + { 50, 56, sizeof(::AlphaCheckResponse)}, +}; + +static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { + reinterpret_cast(&::_File_default_instance_), + reinterpret_cast(&::_AlphaDAGRequest_default_instance_), + reinterpret_cast(&::_AlphaDAGResponse_default_instance_), + reinterpret_cast(&::_Column_default_instance_), + reinterpret_cast(&::_TableSchema_default_instance_), + reinterpret_cast(&::_AlphaCheckRequest_default_instance_), + reinterpret_cast(&::_AlphaCheckResponse_default_instance_), +}; + +const char descriptor_table_protodef_alphasql_5fservice_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = + "\n\026alphasql_service.proto\032\ntype.proto\"%\n\004" + "File\022\014\n\004name\030\001 \001(\t\022\017\n\007content\030\002 \001(\t\"\211\001\n\017" + "AlphaDAGRequest\022\030\n\020warning_as_error\030\001 \001(" + "\010\022\023\n\013with_tables\030\002 \001(\010\022\026\n\016with_functions" + "\030\003 \001(\010\022\031\n\021side_effect_first\030\004 \001(\010\022\024\n\005fil" + "es\030\005 \003(\0132\005.File\"j\n\020AlphaDAGResponse\022 \n\030e" + "xternal_required_tables\030\001 \003(\t\022\026\n\016dag_dot" + "_string\030\002 \003(\t\022\022\n\005error\030\003 \001(\tH\000\210\001\001B\010\n\006_er" + "ror\"\?\n\006Column\022\023\n\013column_name\030\001 \001(\t\022 \n\004ty" + "pe\030\002 \001(\0132\022.zetasql.TypeProto\";\n\013TableSch" + "ema\022\022\n\ntable_name\030\001 \001(\t\022\030\n\007columns\030\002 \003(\013" + "2\007.Column\"x\n\021AlphaCheckRequest\0225\n\037extern" + "al_required_tables_schema\030\001 \003(\0132\014.TableS" + "chema\022\026\n\016dag_dot_string\030\002 \001(\t\022\024\n\005files\030\003" + " \003(\0132\005.File\"2\n\022AlphaCheckResponse\022\022\n\005err" + "or\030\001 \001(\tH\000\210\001\001B\010\n\006_error2v\n\010AlphaSQL\0221\n\010A" + "lphaDAG\022\020.AlphaDAGRequest\032\021.AlphaDAGResp" + "onse\"\000\0227\n\nAlphaCheck\022\022.AlphaCheckRequest" + "\032\023.AlphaCheckResponse\"\000b\006proto3" + ; +static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_alphasql_5fservice_2eproto_deps[1] = { + &::descriptor_table_type_2eproto, +}; +static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_alphasql_5fservice_2eproto_once; +const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_alphasql_5fservice_2eproto = { + false, false, 751, descriptor_table_protodef_alphasql_5fservice_2eproto, "alphasql_service.proto", + &descriptor_table_alphasql_5fservice_2eproto_once, descriptor_table_alphasql_5fservice_2eproto_deps, 1, 7, + schemas, file_default_instances, TableStruct_alphasql_5fservice_2eproto::offsets, + file_level_metadata_alphasql_5fservice_2eproto, file_level_enum_descriptors_alphasql_5fservice_2eproto, file_level_service_descriptors_alphasql_5fservice_2eproto, +}; +PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_alphasql_5fservice_2eproto_getter() { + return &descriptor_table_alphasql_5fservice_2eproto; +} + +// Force running AddDescriptors() at dynamic initialization time. +PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_alphasql_5fservice_2eproto(&descriptor_table_alphasql_5fservice_2eproto); + +// =================================================================== + +class File::_Internal { + public: +}; + +File::File(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:File) +} +File::File(const File& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_name().empty()) { + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(), + GetArenaForAllocation()); + } + content_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_content().empty()) { + content_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_content(), + GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:File) +} + +inline void File::SharedCtor() { +name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +content_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +File::~File() { + // @@protoc_insertion_point(destructor:File) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void File::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + content_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void File::ArenaDtor(void* object) { + File* _this = reinterpret_cast< File* >(object); + (void)_this; +} +void File::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void File::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void File::Clear() { +// @@protoc_insertion_point(message_clear_start:File) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + name_.ClearToEmpty(); + content_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* File::_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) { + // 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); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "File.name")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // string content = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_content(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "File.content")); + 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* File::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:File) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string name = 1; + if (!this->_internal_name().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_name().data(), static_cast(this->_internal_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "File.name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_name(), target); + } + + // string content = 2; + if (!this->_internal_content().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_content().data(), static_cast(this->_internal_content().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "File.content"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_content(), 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:File) + return target; +} + +size_t File::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:File) + 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; + + // string name = 1; + if (!this->_internal_name().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + // string content = 2; + if (!this->_internal_content().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_content()); + } + + 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; +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData File::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + File::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*File::GetClassData() const { return &_class_data_; } + +void File::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, + const ::PROTOBUF_NAMESPACE_ID::Message&from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void File::MergeFrom(const File& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:File) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_name().empty()) { + _internal_set_name(from._internal_name()); + } + if (!from._internal_content().empty()) { + _internal_set_content(from._internal_content()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void File::CopyFrom(const File& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:File) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool File::IsInitialized() const { + return true; +} + +void File::InternalSwap(File* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &name_, GetArenaForAllocation(), + &other->name_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &content_, GetArenaForAllocation(), + &other->content_, other->GetArenaForAllocation() + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata File::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, + file_level_metadata_alphasql_5fservice_2eproto[0]); +} + +// =================================================================== + +class AlphaDAGRequest::_Internal { + public: +}; + +AlphaDAGRequest::AlphaDAGRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + files_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:AlphaDAGRequest) +} +AlphaDAGRequest::AlphaDAGRequest(const AlphaDAGRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + files_(from.files_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + ::memcpy(&warning_as_error_, &from.warning_as_error_, + static_cast(reinterpret_cast(&side_effect_first_) - + reinterpret_cast(&warning_as_error_)) + sizeof(side_effect_first_)); + // @@protoc_insertion_point(copy_constructor:AlphaDAGRequest) +} + +inline void AlphaDAGRequest::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&warning_as_error_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&side_effect_first_) - + reinterpret_cast(&warning_as_error_)) + sizeof(side_effect_first_)); +} + +AlphaDAGRequest::~AlphaDAGRequest() { + // @@protoc_insertion_point(destructor:AlphaDAGRequest) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void AlphaDAGRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void AlphaDAGRequest::ArenaDtor(void* object) { + AlphaDAGRequest* _this = reinterpret_cast< AlphaDAGRequest* >(object); + (void)_this; +} +void AlphaDAGRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void AlphaDAGRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void AlphaDAGRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:AlphaDAGRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + files_.Clear(); + ::memset(&warning_as_error_, 0, static_cast( + reinterpret_cast(&side_effect_first_) - + reinterpret_cast(&warning_as_error_)) + sizeof(side_effect_first_)); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* AlphaDAGRequest::_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) { + // bool warning_as_error = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { + warning_as_error_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bool with_tables = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) { + with_tables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bool with_functions = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { + with_functions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // bool side_effect_first = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) { + side_effect_first_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // repeated .File files = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_files(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(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* AlphaDAGRequest::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:AlphaDAGRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // bool warning_as_error = 1; + if (this->_internal_warning_as_error() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_warning_as_error(), target); + } + + // bool with_tables = 2; + if (this->_internal_with_tables() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_with_tables(), target); + } + + // bool with_functions = 3; + if (this->_internal_with_functions() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_with_functions(), target); + } + + // bool side_effect_first = 4; + if (this->_internal_side_effect_first() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_side_effect_first(), target); + } + + // repeated .File files = 5; + for (unsigned int i = 0, + n = static_cast(this->_internal_files_size()); i < n; i++) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(5, this->_internal_files(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:AlphaDAGRequest) + return target; +} + +size_t AlphaDAGRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:AlphaDAGRequest) + 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 .File files = 5; + total_size += 1UL * this->_internal_files_size(); + for (const auto& msg : this->files_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // bool warning_as_error = 1; + if (this->_internal_warning_as_error() != 0) { + total_size += 1 + 1; + } + + // bool with_tables = 2; + if (this->_internal_with_tables() != 0) { + total_size += 1 + 1; + } + + // bool with_functions = 3; + if (this->_internal_with_functions() != 0) { + total_size += 1 + 1; + } + + // bool side_effect_first = 4; + if (this->_internal_side_effect_first() != 0) { + total_size += 1 + 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; +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlphaDAGRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + AlphaDAGRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlphaDAGRequest::GetClassData() const { return &_class_data_; } + +void AlphaDAGRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, + const ::PROTOBUF_NAMESPACE_ID::Message&from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void AlphaDAGRequest::MergeFrom(const AlphaDAGRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:AlphaDAGRequest) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + files_.MergeFrom(from.files_); + if (from._internal_warning_as_error() != 0) { + _internal_set_warning_as_error(from._internal_warning_as_error()); + } + if (from._internal_with_tables() != 0) { + _internal_set_with_tables(from._internal_with_tables()); + } + if (from._internal_with_functions() != 0) { + _internal_set_with_functions(from._internal_with_functions()); + } + if (from._internal_side_effect_first() != 0) { + _internal_set_side_effect_first(from._internal_side_effect_first()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void AlphaDAGRequest::CopyFrom(const AlphaDAGRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:AlphaDAGRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool AlphaDAGRequest::IsInitialized() const { + return true; +} + +void AlphaDAGRequest::InternalSwap(AlphaDAGRequest* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + files_.InternalSwap(&other->files_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(AlphaDAGRequest, side_effect_first_) + + sizeof(AlphaDAGRequest::side_effect_first_) + - PROTOBUF_FIELD_OFFSET(AlphaDAGRequest, warning_as_error_)>( + reinterpret_cast(&warning_as_error_), + reinterpret_cast(&other->warning_as_error_)); +} + +::PROTOBUF_NAMESPACE_ID::Metadata AlphaDAGRequest::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, + file_level_metadata_alphasql_5fservice_2eproto[1]); +} + +// =================================================================== + +class AlphaDAGResponse::_Internal { + public: + using HasBits = decltype(std::declval()._has_bits_); + static void set_has_error(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } +}; + +AlphaDAGResponse::AlphaDAGResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + external_required_tables_(arena), + dag_dot_string_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:AlphaDAGResponse) +} +AlphaDAGResponse::AlphaDAGResponse(const AlphaDAGResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + _has_bits_(from._has_bits_), + external_required_tables_(from.external_required_tables_), + dag_dot_string_(from.dag_dot_string_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + error_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (from._internal_has_error()) { + error_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_error(), + GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:AlphaDAGResponse) +} + +inline void AlphaDAGResponse::SharedCtor() { +error_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +AlphaDAGResponse::~AlphaDAGResponse() { + // @@protoc_insertion_point(destructor:AlphaDAGResponse) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void AlphaDAGResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + error_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void AlphaDAGResponse::ArenaDtor(void* object) { + AlphaDAGResponse* _this = reinterpret_cast< AlphaDAGResponse* >(object); + (void)_this; +} +void AlphaDAGResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void AlphaDAGResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void AlphaDAGResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:AlphaDAGResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + external_required_tables_.Clear(); + dag_dot_string_.Clear(); + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + error_.ClearNonDefaultToEmpty(); + } + _has_bits_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* AlphaDAGResponse::_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 string external_required_tables = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr -= 1; + do { + ptr += 1; + auto str = _internal_add_external_required_tables(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "AlphaDAGResponse.external_required_tables")); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); + } else goto handle_unusual; + continue; + // repeated string dag_dot_string = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr -= 1; + do { + ptr += 1; + auto str = _internal_add_dag_dot_string(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "AlphaDAGResponse.dag_dot_string")); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr)); + } else goto handle_unusual; + continue; + // optional string error = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + auto str = _internal_mutable_error(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "AlphaDAGResponse.error")); + 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* AlphaDAGResponse::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:AlphaDAGResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // repeated string external_required_tables = 1; + for (int i = 0, n = this->_internal_external_required_tables_size(); i < n; i++) { + const auto& s = this->_internal_external_required_tables(i); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast(s.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "AlphaDAGResponse.external_required_tables"); + target = stream->WriteString(1, s, target); + } + + // repeated string dag_dot_string = 2; + for (int i = 0, n = this->_internal_dag_dot_string_size(); i < n; i++) { + const auto& s = this->_internal_dag_dot_string(i); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + s.data(), static_cast(s.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "AlphaDAGResponse.dag_dot_string"); + target = stream->WriteString(2, s, target); + } + + // optional string error = 3; + if (_internal_has_error()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_error().data(), static_cast(this->_internal_error().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "AlphaDAGResponse.error"); + target = stream->WriteStringMaybeAliased( + 3, this->_internal_error(), 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:AlphaDAGResponse) + return target; +} + +size_t AlphaDAGResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:AlphaDAGResponse) + 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 external_required_tables = 1; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(external_required_tables_.size()); + for (int i = 0, n = external_required_tables_.size(); i < n; i++) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + external_required_tables_.Get(i)); + } + + // repeated string dag_dot_string = 2; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(dag_dot_string_.size()); + for (int i = 0, n = dag_dot_string_.size(); i < n; i++) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + dag_dot_string_.Get(i)); + } + + // optional string error = 3; + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_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; +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlphaDAGResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + AlphaDAGResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlphaDAGResponse::GetClassData() const { return &_class_data_; } + +void AlphaDAGResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, + const ::PROTOBUF_NAMESPACE_ID::Message&from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void AlphaDAGResponse::MergeFrom(const AlphaDAGResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:AlphaDAGResponse) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + external_required_tables_.MergeFrom(from.external_required_tables_); + dag_dot_string_.MergeFrom(from.dag_dot_string_); + if (from._internal_has_error()) { + _internal_set_error(from._internal_error()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void AlphaDAGResponse::CopyFrom(const AlphaDAGResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:AlphaDAGResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool AlphaDAGResponse::IsInitialized() const { + return true; +} + +void AlphaDAGResponse::InternalSwap(AlphaDAGResponse* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_has_bits_[0], other->_has_bits_[0]); + external_required_tables_.InternalSwap(&other->external_required_tables_); + dag_dot_string_.InternalSwap(&other->dag_dot_string_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &error_, GetArenaForAllocation(), + &other->error_, other->GetArenaForAllocation() + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata AlphaDAGResponse::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, + file_level_metadata_alphasql_5fservice_2eproto[2]); +} + +// =================================================================== + +class Column::_Internal { + public: + static const ::zetasql::TypeProto& type(const Column* msg); +}; + +const ::zetasql::TypeProto& +Column::_Internal::type(const Column* msg) { + return *msg->type_; +} +void Column::clear_type() { + if (GetArenaForAllocation() == nullptr && type_ != nullptr) { + delete type_; + } + type_ = nullptr; +} +Column::Column(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:Column) +} +Column::Column(const Column& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + column_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_column_name().empty()) { + column_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_column_name(), + GetArenaForAllocation()); + } + if (from._internal_has_type()) { + type_ = new ::zetasql::TypeProto(*from.type_); + } else { + type_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:Column) +} + +inline void Column::SharedCtor() { +column_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +type_ = nullptr; +} + +Column::~Column() { + // @@protoc_insertion_point(destructor:Column) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void Column::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + column_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (this != internal_default_instance()) delete type_; +} + +void Column::ArenaDtor(void* object) { + Column* _this = reinterpret_cast< Column* >(object); + (void)_this; +} +void Column::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void Column::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void Column::Clear() { +// @@protoc_insertion_point(message_clear_start:Column) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + column_name_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && type_ != nullptr) { + delete type_; + } + type_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* Column::_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) { + // string column_name = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_column_name(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "Column.column_name")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .zetasql.TypeProto type = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_type(), 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: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* Column::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:Column) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string column_name = 1; + if (!this->_internal_column_name().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_column_name().data(), static_cast(this->_internal_column_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "Column.column_name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_column_name(), target); + } + + // .zetasql.TypeProto type = 2; + if (this->_internal_has_type()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::type(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:Column) + return target; +} + +size_t Column::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:Column) + 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; + + // string column_name = 1; + if (!this->_internal_column_name().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_column_name()); + } + + // .zetasql.TypeProto type = 2; + if (this->_internal_has_type()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *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; +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Column::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + Column::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Column::GetClassData() const { return &_class_data_; } + +void Column::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, + const ::PROTOBUF_NAMESPACE_ID::Message&from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void Column::MergeFrom(const Column& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:Column) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_column_name().empty()) { + _internal_set_column_name(from._internal_column_name()); + } + if (from._internal_has_type()) { + _internal_mutable_type()->::zetasql::TypeProto::MergeFrom(from._internal_type()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void Column::CopyFrom(const Column& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:Column) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool Column::IsInitialized() const { + if (_internal_has_type()) { + if (!type_->IsInitialized()) return false; + } + return true; +} + +void Column::InternalSwap(Column* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &column_name_, GetArenaForAllocation(), + &other->column_name_, other->GetArenaForAllocation() + ); + swap(type_, other->type_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata Column::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, + file_level_metadata_alphasql_5fservice_2eproto[3]); +} + +// =================================================================== + +class TableSchema::_Internal { + public: +}; + +TableSchema::TableSchema(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + columns_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:TableSchema) +} +TableSchema::TableSchema(const TableSchema& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + columns_(from.columns_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + table_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_table_name().empty()) { + table_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_table_name(), + GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:TableSchema) +} + +inline void TableSchema::SharedCtor() { +table_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +TableSchema::~TableSchema() { + // @@protoc_insertion_point(destructor:TableSchema) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void TableSchema::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + table_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void TableSchema::ArenaDtor(void* object) { + TableSchema* _this = reinterpret_cast< TableSchema* >(object); + (void)_this; +} +void TableSchema::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void TableSchema::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void TableSchema::Clear() { +// @@protoc_insertion_point(message_clear_start:TableSchema) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + columns_.Clear(); + table_name_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* TableSchema::_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) { + // string table_name = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_table_name(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "TableSchema.table_name")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // repeated .Column 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; + 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* TableSchema::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:TableSchema) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string table_name = 1; + if (!this->_internal_table_name().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_table_name().data(), static_cast(this->_internal_table_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "TableSchema.table_name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_table_name(), target); + } + + // repeated .Column columns = 2; + for (unsigned int i = 0, + n = static_cast(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); + } + + 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:TableSchema) + return target; +} + +size_t TableSchema::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:TableSchema) + 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 .Column columns = 2; + total_size += 1UL * this->_internal_columns_size(); + for (const auto& msg : this->columns_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // string table_name = 1; + if (!this->_internal_table_name().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_table_name()); + } + + 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; +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TableSchema::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + TableSchema::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TableSchema::GetClassData() const { return &_class_data_; } + +void TableSchema::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, + const ::PROTOBUF_NAMESPACE_ID::Message&from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void TableSchema::MergeFrom(const TableSchema& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:TableSchema) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + columns_.MergeFrom(from.columns_); + if (!from._internal_table_name().empty()) { + _internal_set_table_name(from._internal_table_name()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void TableSchema::CopyFrom(const TableSchema& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:TableSchema) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool TableSchema::IsInitialized() const { + if (!::PROTOBUF_NAMESPACE_ID::internal::AllAreInitialized(columns_)) return false; + return true; +} + +void TableSchema::InternalSwap(TableSchema* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + columns_.InternalSwap(&other->columns_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &table_name_, GetArenaForAllocation(), + &other->table_name_, other->GetArenaForAllocation() + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata TableSchema::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, + file_level_metadata_alphasql_5fservice_2eproto[4]); +} + +// =================================================================== + +class AlphaCheckRequest::_Internal { + public: +}; + +AlphaCheckRequest::AlphaCheckRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + external_required_tables_schema_(arena), + files_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:AlphaCheckRequest) +} +AlphaCheckRequest::AlphaCheckRequest(const AlphaCheckRequest& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + external_required_tables_schema_(from.external_required_tables_schema_), + files_(from.files_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + dag_dot_string_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_dag_dot_string().empty()) { + dag_dot_string_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_dag_dot_string(), + GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:AlphaCheckRequest) +} + +inline void AlphaCheckRequest::SharedCtor() { +dag_dot_string_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +AlphaCheckRequest::~AlphaCheckRequest() { + // @@protoc_insertion_point(destructor:AlphaCheckRequest) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void AlphaCheckRequest::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + dag_dot_string_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void AlphaCheckRequest::ArenaDtor(void* object) { + AlphaCheckRequest* _this = reinterpret_cast< AlphaCheckRequest* >(object); + (void)_this; +} +void AlphaCheckRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void AlphaCheckRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void AlphaCheckRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:AlphaCheckRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + external_required_tables_schema_.Clear(); + files_.Clear(); + dag_dot_string_.ClearToEmpty(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* AlphaCheckRequest::_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 .TableSchema external_required_tables_schema = 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_external_required_tables_schema(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); + } else goto handle_unusual; + continue; + // string dag_dot_string = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_dag_dot_string(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "AlphaCheckRequest.dag_dot_string")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // repeated .File files = 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_files(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(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* AlphaCheckRequest::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:AlphaCheckRequest) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // repeated .TableSchema external_required_tables_schema = 1; + for (unsigned int i = 0, + n = static_cast(this->_internal_external_required_tables_schema_size()); i < n; i++) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, this->_internal_external_required_tables_schema(i), target, stream); + } + + // string dag_dot_string = 2; + if (!this->_internal_dag_dot_string().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_dag_dot_string().data(), static_cast(this->_internal_dag_dot_string().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "AlphaCheckRequest.dag_dot_string"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_dag_dot_string(), target); + } + + // repeated .File files = 3; + for (unsigned int i = 0, + n = static_cast(this->_internal_files_size()); i < n; i++) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(3, this->_internal_files(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:AlphaCheckRequest) + return target; +} + +size_t AlphaCheckRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:AlphaCheckRequest) + 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 .TableSchema external_required_tables_schema = 1; + total_size += 1UL * this->_internal_external_required_tables_schema_size(); + for (const auto& msg : this->external_required_tables_schema_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // repeated .File files = 3; + total_size += 1UL * this->_internal_files_size(); + for (const auto& msg : this->files_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // string dag_dot_string = 2; + if (!this->_internal_dag_dot_string().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_dag_dot_string()); + } + + 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; +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlphaCheckRequest::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + AlphaCheckRequest::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlphaCheckRequest::GetClassData() const { return &_class_data_; } + +void AlphaCheckRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, + const ::PROTOBUF_NAMESPACE_ID::Message&from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void AlphaCheckRequest::MergeFrom(const AlphaCheckRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:AlphaCheckRequest) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + external_required_tables_schema_.MergeFrom(from.external_required_tables_schema_); + files_.MergeFrom(from.files_); + if (!from._internal_dag_dot_string().empty()) { + _internal_set_dag_dot_string(from._internal_dag_dot_string()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void AlphaCheckRequest::CopyFrom(const AlphaCheckRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:AlphaCheckRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool AlphaCheckRequest::IsInitialized() const { + if (!::PROTOBUF_NAMESPACE_ID::internal::AllAreInitialized(external_required_tables_schema_)) return false; + return true; +} + +void AlphaCheckRequest::InternalSwap(AlphaCheckRequest* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + external_required_tables_schema_.InternalSwap(&other->external_required_tables_schema_); + files_.InternalSwap(&other->files_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &dag_dot_string_, GetArenaForAllocation(), + &other->dag_dot_string_, other->GetArenaForAllocation() + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata AlphaCheckRequest::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, + file_level_metadata_alphasql_5fservice_2eproto[5]); +} + +// =================================================================== + +class AlphaCheckResponse::_Internal { + public: + using HasBits = decltype(std::declval()._has_bits_); + static void set_has_error(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } +}; + +AlphaCheckResponse::AlphaCheckResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:AlphaCheckResponse) +} +AlphaCheckResponse::AlphaCheckResponse(const AlphaCheckResponse& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + _has_bits_(from._has_bits_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + error_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (from._internal_has_error()) { + error_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_error(), + GetArenaForAllocation()); + } + // @@protoc_insertion_point(copy_constructor:AlphaCheckResponse) +} + +inline void AlphaCheckResponse::SharedCtor() { +error_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +AlphaCheckResponse::~AlphaCheckResponse() { + // @@protoc_insertion_point(destructor:AlphaCheckResponse) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void AlphaCheckResponse::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + error_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void AlphaCheckResponse::ArenaDtor(void* object) { + AlphaCheckResponse* _this = reinterpret_cast< AlphaCheckResponse* >(object); + (void)_this; +} +void AlphaCheckResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void AlphaCheckResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void AlphaCheckResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:AlphaCheckResponse) + ::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) { + error_.ClearNonDefaultToEmpty(); + } + _has_bits_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* AlphaCheckResponse::_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 error = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_error(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "AlphaCheckResponse.error")); + 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* AlphaCheckResponse::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:AlphaCheckResponse) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // optional string error = 1; + if (_internal_has_error()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_error().data(), static_cast(this->_internal_error().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "AlphaCheckResponse.error"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_error(), 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:AlphaCheckResponse) + return target; +} + +size_t AlphaCheckResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:AlphaCheckResponse) + 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 error = 1; + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_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; +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlphaCheckResponse::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + AlphaCheckResponse::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlphaCheckResponse::GetClassData() const { return &_class_data_; } + +void AlphaCheckResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, + const ::PROTOBUF_NAMESPACE_ID::Message&from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void AlphaCheckResponse::MergeFrom(const AlphaCheckResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:AlphaCheckResponse) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_error()) { + _internal_set_error(from._internal_error()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void AlphaCheckResponse::CopyFrom(const AlphaCheckResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:AlphaCheckResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool AlphaCheckResponse::IsInitialized() const { + return true; +} + +void AlphaCheckResponse::InternalSwap(AlphaCheckResponse* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_has_bits_[0], other->_has_bits_[0]); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &error_, GetArenaForAllocation(), + &other->error_, other->GetArenaForAllocation() + ); +} + +::PROTOBUF_NAMESPACE_ID::Metadata AlphaCheckResponse::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, + file_level_metadata_alphasql_5fservice_2eproto[6]); +} + +// @@protoc_insertion_point(namespace_scope) +PROTOBUF_NAMESPACE_OPEN +template<> PROTOBUF_NOINLINE ::File* Arena::CreateMaybeMessage< ::File >(Arena* arena) { + return Arena::CreateMessageInternal< ::File >(arena); +} +template<> PROTOBUF_NOINLINE ::AlphaDAGRequest* Arena::CreateMaybeMessage< ::AlphaDAGRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::AlphaDAGRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::AlphaDAGResponse* Arena::CreateMaybeMessage< ::AlphaDAGResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::AlphaDAGResponse >(arena); +} +template<> PROTOBUF_NOINLINE ::Column* Arena::CreateMaybeMessage< ::Column >(Arena* arena) { + return Arena::CreateMessageInternal< ::Column >(arena); +} +template<> PROTOBUF_NOINLINE ::TableSchema* Arena::CreateMaybeMessage< ::TableSchema >(Arena* arena) { + return Arena::CreateMessageInternal< ::TableSchema >(arena); +} +template<> PROTOBUF_NOINLINE ::AlphaCheckRequest* Arena::CreateMaybeMessage< ::AlphaCheckRequest >(Arena* arena) { + return Arena::CreateMessageInternal< ::AlphaCheckRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::AlphaCheckResponse* Arena::CreateMaybeMessage< ::AlphaCheckResponse >(Arena* arena) { + return Arena::CreateMessageInternal< ::AlphaCheckResponse >(arena); +} +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) +#include diff --git a/alphasql/proto/alphasql_service.pb.h b/alphasql/proto/alphasql_service.pb.h new file mode 100644 index 00000000..5837e26f --- /dev/null +++ b/alphasql/proto/alphasql_service.pb.h @@ -0,0 +1,2181 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: alphasql_service.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_alphasql_5fservice_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_alphasql_5fservice_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3017000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3017003 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include "type.pb.h" +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_alphasql_5fservice_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_alphasql_5fservice_2eproto { + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[7] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; + static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; + static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_alphasql_5fservice_2eproto; +class AlphaCheckRequest; +struct AlphaCheckRequestDefaultTypeInternal; +extern AlphaCheckRequestDefaultTypeInternal _AlphaCheckRequest_default_instance_; +class AlphaCheckResponse; +struct AlphaCheckResponseDefaultTypeInternal; +extern AlphaCheckResponseDefaultTypeInternal _AlphaCheckResponse_default_instance_; +class AlphaDAGRequest; +struct AlphaDAGRequestDefaultTypeInternal; +extern AlphaDAGRequestDefaultTypeInternal _AlphaDAGRequest_default_instance_; +class AlphaDAGResponse; +struct AlphaDAGResponseDefaultTypeInternal; +extern AlphaDAGResponseDefaultTypeInternal _AlphaDAGResponse_default_instance_; +class Column; +struct ColumnDefaultTypeInternal; +extern ColumnDefaultTypeInternal _Column_default_instance_; +class File; +struct FileDefaultTypeInternal; +extern FileDefaultTypeInternal _File_default_instance_; +class TableSchema; +struct TableSchemaDefaultTypeInternal; +extern TableSchemaDefaultTypeInternal _TableSchema_default_instance_; +PROTOBUF_NAMESPACE_OPEN +template<> ::AlphaCheckRequest* Arena::CreateMaybeMessage<::AlphaCheckRequest>(Arena*); +template<> ::AlphaCheckResponse* Arena::CreateMaybeMessage<::AlphaCheckResponse>(Arena*); +template<> ::AlphaDAGRequest* Arena::CreateMaybeMessage<::AlphaDAGRequest>(Arena*); +template<> ::AlphaDAGResponse* Arena::CreateMaybeMessage<::AlphaDAGResponse>(Arena*); +template<> ::Column* Arena::CreateMaybeMessage<::Column>(Arena*); +template<> ::File* Arena::CreateMaybeMessage<::File>(Arena*); +template<> ::TableSchema* Arena::CreateMaybeMessage<::TableSchema>(Arena*); +PROTOBUF_NAMESPACE_CLOSE + +// =================================================================== + +class File final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:File) */ { + public: + inline File() : File(nullptr) {} + ~File() override; + explicit constexpr File(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + File(const File& from); + File(File&& from) noexcept + : File() { + *this = ::std::move(from); + } + + inline File& operator=(const File& from) { + CopyFrom(from); + return *this; + } + inline File& operator=(File&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const File& default_instance() { + return *internal_default_instance(); + } + static inline const File* internal_default_instance() { + return reinterpret_cast( + &_File_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(File& a, File& b) { + a.Swap(&b); + } + inline void Swap(File* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(File* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline File* New() const final { + return new File(); + } + + File* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const File& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const File& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(File* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "File"; + } + protected: + explicit File(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 1, + kContentFieldNumber = 2, + }; + // string name = 1; + void clear_name(); + const std::string& name() const; + template + void set_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_name(); + PROTOBUF_MUST_USE_RESULT std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // string content = 2; + void clear_content(); + const std::string& content() const; + template + void set_content(ArgT0&& arg0, ArgT... args); + std::string* mutable_content(); + PROTOBUF_MUST_USE_RESULT std::string* release_content(); + void set_allocated_content(std::string* content); + private: + const std::string& _internal_content() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_content(const std::string& value); + std::string* _internal_mutable_content(); + public: + + // @@protoc_insertion_point(class_scope:File) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr content_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_alphasql_5fservice_2eproto; +}; +// ------------------------------------------------------------------- + +class AlphaDAGRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:AlphaDAGRequest) */ { + public: + inline AlphaDAGRequest() : AlphaDAGRequest(nullptr) {} + ~AlphaDAGRequest() override; + explicit constexpr AlphaDAGRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + AlphaDAGRequest(const AlphaDAGRequest& from); + AlphaDAGRequest(AlphaDAGRequest&& from) noexcept + : AlphaDAGRequest() { + *this = ::std::move(from); + } + + inline AlphaDAGRequest& operator=(const AlphaDAGRequest& from) { + CopyFrom(from); + return *this; + } + inline AlphaDAGRequest& operator=(AlphaDAGRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const AlphaDAGRequest& default_instance() { + return *internal_default_instance(); + } + static inline const AlphaDAGRequest* internal_default_instance() { + return reinterpret_cast( + &_AlphaDAGRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + friend void swap(AlphaDAGRequest& a, AlphaDAGRequest& b) { + a.Swap(&b); + } + inline void Swap(AlphaDAGRequest* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(AlphaDAGRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline AlphaDAGRequest* New() const final { + return new AlphaDAGRequest(); + } + + AlphaDAGRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const AlphaDAGRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const AlphaDAGRequest& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(AlphaDAGRequest* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "AlphaDAGRequest"; + } + protected: + explicit AlphaDAGRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kFilesFieldNumber = 5, + kWarningAsErrorFieldNumber = 1, + kWithTablesFieldNumber = 2, + kWithFunctionsFieldNumber = 3, + kSideEffectFirstFieldNumber = 4, + }; + // repeated .File files = 5; + int files_size() const; + private: + int _internal_files_size() const; + public: + void clear_files(); + ::File* mutable_files(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File >* + mutable_files(); + private: + const ::File& _internal_files(int index) const; + ::File* _internal_add_files(); + public: + const ::File& files(int index) const; + ::File* add_files(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File >& + files() const; + + // bool warning_as_error = 1; + void clear_warning_as_error(); + bool warning_as_error() const; + void set_warning_as_error(bool value); + private: + bool _internal_warning_as_error() const; + void _internal_set_warning_as_error(bool value); + public: + + // bool with_tables = 2; + void clear_with_tables(); + bool with_tables() const; + void set_with_tables(bool value); + private: + bool _internal_with_tables() const; + void _internal_set_with_tables(bool value); + public: + + // bool with_functions = 3; + void clear_with_functions(); + bool with_functions() const; + void set_with_functions(bool value); + private: + bool _internal_with_functions() const; + void _internal_set_with_functions(bool value); + public: + + // bool side_effect_first = 4; + void clear_side_effect_first(); + bool side_effect_first() const; + void set_side_effect_first(bool value); + private: + bool _internal_side_effect_first() const; + void _internal_set_side_effect_first(bool value); + public: + + // @@protoc_insertion_point(class_scope:AlphaDAGRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File > files_; + bool warning_as_error_; + bool with_tables_; + bool with_functions_; + bool side_effect_first_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_alphasql_5fservice_2eproto; +}; +// ------------------------------------------------------------------- + +class AlphaDAGResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:AlphaDAGResponse) */ { + public: + inline AlphaDAGResponse() : AlphaDAGResponse(nullptr) {} + ~AlphaDAGResponse() override; + explicit constexpr AlphaDAGResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + AlphaDAGResponse(const AlphaDAGResponse& from); + AlphaDAGResponse(AlphaDAGResponse&& from) noexcept + : AlphaDAGResponse() { + *this = ::std::move(from); + } + + inline AlphaDAGResponse& operator=(const AlphaDAGResponse& from) { + CopyFrom(from); + return *this; + } + inline AlphaDAGResponse& operator=(AlphaDAGResponse&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const AlphaDAGResponse& default_instance() { + return *internal_default_instance(); + } + static inline const AlphaDAGResponse* internal_default_instance() { + return reinterpret_cast( + &_AlphaDAGResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(AlphaDAGResponse& a, AlphaDAGResponse& b) { + a.Swap(&b); + } + inline void Swap(AlphaDAGResponse* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(AlphaDAGResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline AlphaDAGResponse* New() const final { + return new AlphaDAGResponse(); + } + + AlphaDAGResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const AlphaDAGResponse& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const AlphaDAGResponse& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(AlphaDAGResponse* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "AlphaDAGResponse"; + } + protected: + explicit AlphaDAGResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kExternalRequiredTablesFieldNumber = 1, + kDagDotStringFieldNumber = 2, + kErrorFieldNumber = 3, + }; + // repeated string external_required_tables = 1; + int external_required_tables_size() const; + private: + int _internal_external_required_tables_size() const; + public: + void clear_external_required_tables(); + const std::string& external_required_tables(int index) const; + std::string* mutable_external_required_tables(int index); + void set_external_required_tables(int index, const std::string& value); + void set_external_required_tables(int index, std::string&& value); + void set_external_required_tables(int index, const char* value); + void set_external_required_tables(int index, const char* value, size_t size); + std::string* add_external_required_tables(); + void add_external_required_tables(const std::string& value); + void add_external_required_tables(std::string&& value); + void add_external_required_tables(const char* value); + void add_external_required_tables(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& external_required_tables() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_external_required_tables(); + private: + const std::string& _internal_external_required_tables(int index) const; + std::string* _internal_add_external_required_tables(); + public: + + // repeated string dag_dot_string = 2; + int dag_dot_string_size() const; + private: + int _internal_dag_dot_string_size() const; + public: + void clear_dag_dot_string(); + const std::string& dag_dot_string(int index) const; + std::string* mutable_dag_dot_string(int index); + void set_dag_dot_string(int index, const std::string& value); + void set_dag_dot_string(int index, std::string&& value); + void set_dag_dot_string(int index, const char* value); + void set_dag_dot_string(int index, const char* value, size_t size); + std::string* add_dag_dot_string(); + void add_dag_dot_string(const std::string& value); + void add_dag_dot_string(std::string&& value); + void add_dag_dot_string(const char* value); + void add_dag_dot_string(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& dag_dot_string() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_dag_dot_string(); + private: + const std::string& _internal_dag_dot_string(int index) const; + std::string* _internal_add_dag_dot_string(); + public: + + // optional string error = 3; + bool has_error() const; + private: + bool _internal_has_error() const; + public: + void clear_error(); + const std::string& error() const; + template + void set_error(ArgT0&& arg0, ArgT... args); + std::string* mutable_error(); + PROTOBUF_MUST_USE_RESULT std::string* release_error(); + void set_allocated_error(std::string* error); + private: + const std::string& _internal_error() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_error(const std::string& value); + std::string* _internal_mutable_error(); + public: + + // @@protoc_insertion_point(class_scope:AlphaDAGResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField external_required_tables_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField dag_dot_string_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr error_; + friend struct ::TableStruct_alphasql_5fservice_2eproto; +}; +// ------------------------------------------------------------------- + +class Column final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Column) */ { + public: + inline Column() : Column(nullptr) {} + ~Column() override; + explicit constexpr Column(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + Column(const Column& from); + Column(Column&& from) noexcept + : Column() { + *this = ::std::move(from); + } + + inline Column& operator=(const Column& from) { + CopyFrom(from); + return *this; + } + inline Column& operator=(Column&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Column& default_instance() { + return *internal_default_instance(); + } + static inline const Column* internal_default_instance() { + return reinterpret_cast( + &_Column_default_instance_); + } + static constexpr int kIndexInFileMessages = + 3; + + friend void swap(Column& a, Column& b) { + a.Swap(&b); + } + inline void Swap(Column* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Column* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline Column* New() const final { + return new Column(); + } + + Column* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const Column& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const Column& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(Column* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "Column"; + } + protected: + explicit Column(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kColumnNameFieldNumber = 1, + kTypeFieldNumber = 2, + }; + // string column_name = 1; + void clear_column_name(); + const std::string& column_name() const; + template + void set_column_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_column_name(); + PROTOBUF_MUST_USE_RESULT std::string* release_column_name(); + void set_allocated_column_name(std::string* column_name); + private: + const std::string& _internal_column_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_column_name(const std::string& value); + std::string* _internal_mutable_column_name(); + public: + + // .zetasql.TypeProto type = 2; + bool has_type() const; + private: + bool _internal_has_type() const; + public: + void clear_type(); + const ::zetasql::TypeProto& type() const; + PROTOBUF_MUST_USE_RESULT ::zetasql::TypeProto* release_type(); + ::zetasql::TypeProto* mutable_type(); + void set_allocated_type(::zetasql::TypeProto* type); + private: + const ::zetasql::TypeProto& _internal_type() const; + ::zetasql::TypeProto* _internal_mutable_type(); + public: + void unsafe_arena_set_allocated_type( + ::zetasql::TypeProto* type); + ::zetasql::TypeProto* unsafe_arena_release_type(); + + // @@protoc_insertion_point(class_scope:Column) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr column_name_; + ::zetasql::TypeProto* type_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_alphasql_5fservice_2eproto; +}; +// ------------------------------------------------------------------- + +class TableSchema final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:TableSchema) */ { + public: + inline TableSchema() : TableSchema(nullptr) {} + ~TableSchema() override; + explicit constexpr TableSchema(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + TableSchema(const TableSchema& from); + TableSchema(TableSchema&& from) noexcept + : TableSchema() { + *this = ::std::move(from); + } + + inline TableSchema& operator=(const TableSchema& from) { + CopyFrom(from); + return *this; + } + inline TableSchema& operator=(TableSchema&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const TableSchema& default_instance() { + return *internal_default_instance(); + } + static inline const TableSchema* internal_default_instance() { + return reinterpret_cast( + &_TableSchema_default_instance_); + } + static constexpr int kIndexInFileMessages = + 4; + + friend void swap(TableSchema& a, TableSchema& b) { + a.Swap(&b); + } + inline void Swap(TableSchema* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(TableSchema* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline TableSchema* New() const final { + return new TableSchema(); + } + + TableSchema* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const TableSchema& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const TableSchema& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(TableSchema* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "TableSchema"; + } + protected: + explicit TableSchema(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kColumnsFieldNumber = 2, + kTableNameFieldNumber = 1, + }; + // repeated .Column columns = 2; + int columns_size() const; + private: + int _internal_columns_size() const; + public: + void clear_columns(); + ::Column* mutable_columns(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column >* + mutable_columns(); + private: + const ::Column& _internal_columns(int index) const; + ::Column* _internal_add_columns(); + public: + const ::Column& columns(int index) const; + ::Column* add_columns(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column >& + columns() const; + + // string table_name = 1; + void clear_table_name(); + const std::string& table_name() const; + template + void set_table_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_table_name(); + PROTOBUF_MUST_USE_RESULT std::string* release_table_name(); + void set_allocated_table_name(std::string* table_name); + private: + const std::string& _internal_table_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_table_name(const std::string& value); + std::string* _internal_mutable_table_name(); + public: + + // @@protoc_insertion_point(class_scope:TableSchema) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column > columns_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr table_name_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_alphasql_5fservice_2eproto; +}; +// ------------------------------------------------------------------- + +class AlphaCheckRequest final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:AlphaCheckRequest) */ { + public: + inline AlphaCheckRequest() : AlphaCheckRequest(nullptr) {} + ~AlphaCheckRequest() override; + explicit constexpr AlphaCheckRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + AlphaCheckRequest(const AlphaCheckRequest& from); + AlphaCheckRequest(AlphaCheckRequest&& from) noexcept + : AlphaCheckRequest() { + *this = ::std::move(from); + } + + inline AlphaCheckRequest& operator=(const AlphaCheckRequest& from) { + CopyFrom(from); + return *this; + } + inline AlphaCheckRequest& operator=(AlphaCheckRequest&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const AlphaCheckRequest& default_instance() { + return *internal_default_instance(); + } + static inline const AlphaCheckRequest* internal_default_instance() { + return reinterpret_cast( + &_AlphaCheckRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 5; + + friend void swap(AlphaCheckRequest& a, AlphaCheckRequest& b) { + a.Swap(&b); + } + inline void Swap(AlphaCheckRequest* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(AlphaCheckRequest* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline AlphaCheckRequest* New() const final { + return new AlphaCheckRequest(); + } + + AlphaCheckRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const AlphaCheckRequest& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const AlphaCheckRequest& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(AlphaCheckRequest* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "AlphaCheckRequest"; + } + protected: + explicit AlphaCheckRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kExternalRequiredTablesSchemaFieldNumber = 1, + kFilesFieldNumber = 3, + kDagDotStringFieldNumber = 2, + }; + // repeated .TableSchema external_required_tables_schema = 1; + int external_required_tables_schema_size() const; + private: + int _internal_external_required_tables_schema_size() const; + public: + void clear_external_required_tables_schema(); + ::TableSchema* mutable_external_required_tables_schema(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::TableSchema >* + mutable_external_required_tables_schema(); + private: + const ::TableSchema& _internal_external_required_tables_schema(int index) const; + ::TableSchema* _internal_add_external_required_tables_schema(); + public: + const ::TableSchema& external_required_tables_schema(int index) const; + ::TableSchema* add_external_required_tables_schema(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::TableSchema >& + external_required_tables_schema() const; + + // repeated .File files = 3; + int files_size() const; + private: + int _internal_files_size() const; + public: + void clear_files(); + ::File* mutable_files(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File >* + mutable_files(); + private: + const ::File& _internal_files(int index) const; + ::File* _internal_add_files(); + public: + const ::File& files(int index) const; + ::File* add_files(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File >& + files() const; + + // string dag_dot_string = 2; + void clear_dag_dot_string(); + const std::string& dag_dot_string() const; + template + void set_dag_dot_string(ArgT0&& arg0, ArgT... args); + std::string* mutable_dag_dot_string(); + PROTOBUF_MUST_USE_RESULT std::string* release_dag_dot_string(); + void set_allocated_dag_dot_string(std::string* dag_dot_string); + private: + const std::string& _internal_dag_dot_string() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_dag_dot_string(const std::string& value); + std::string* _internal_mutable_dag_dot_string(); + public: + + // @@protoc_insertion_point(class_scope:AlphaCheckRequest) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::TableSchema > external_required_tables_schema_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File > files_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr dag_dot_string_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_alphasql_5fservice_2eproto; +}; +// ------------------------------------------------------------------- + +class AlphaCheckResponse final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:AlphaCheckResponse) */ { + public: + inline AlphaCheckResponse() : AlphaCheckResponse(nullptr) {} + ~AlphaCheckResponse() override; + explicit constexpr AlphaCheckResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + AlphaCheckResponse(const AlphaCheckResponse& from); + AlphaCheckResponse(AlphaCheckResponse&& from) noexcept + : AlphaCheckResponse() { + *this = ::std::move(from); + } + + inline AlphaCheckResponse& operator=(const AlphaCheckResponse& from) { + CopyFrom(from); + return *this; + } + inline AlphaCheckResponse& operator=(AlphaCheckResponse&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const AlphaCheckResponse& default_instance() { + return *internal_default_instance(); + } + static inline const AlphaCheckResponse* internal_default_instance() { + return reinterpret_cast( + &_AlphaCheckResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 6; + + friend void swap(AlphaCheckResponse& a, AlphaCheckResponse& b) { + a.Swap(&b); + } + inline void Swap(AlphaCheckResponse* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(AlphaCheckResponse* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline AlphaCheckResponse* New() const final { + return new AlphaCheckResponse(); + } + + AlphaCheckResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const AlphaCheckResponse& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const AlphaCheckResponse& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(AlphaCheckResponse* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "AlphaCheckResponse"; + } + protected: + explicit AlphaCheckResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kErrorFieldNumber = 1, + }; + // optional string error = 1; + bool has_error() const; + private: + bool _internal_has_error() const; + public: + void clear_error(); + const std::string& error() const; + template + void set_error(ArgT0&& arg0, ArgT... args); + std::string* mutable_error(); + PROTOBUF_MUST_USE_RESULT std::string* release_error(); + void set_allocated_error(std::string* error); + private: + const std::string& _internal_error() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_error(const std::string& value); + std::string* _internal_mutable_error(); + public: + + // @@protoc_insertion_point(class_scope:AlphaCheckResponse) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr error_; + friend struct ::TableStruct_alphasql_5fservice_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// File + +// string name = 1; +inline void File::clear_name() { + name_.ClearToEmpty(); +} +inline const std::string& File::name() const { + // @@protoc_insertion_point(field_get:File.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void File::set_name(ArgT0&& arg0, ArgT... args) { + + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:File.name) +} +inline std::string* File::mutable_name() { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:File.name) + return _s; +} +inline const std::string& File::_internal_name() const { + return name_.Get(); +} +inline void File::_internal_set_name(const std::string& value) { + + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* File::_internal_mutable_name() { + + return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* File::release_name() { + // @@protoc_insertion_point(field_release:File.name) + return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void File::set_allocated_name(std::string* name) { + if (name != nullptr) { + + } else { + + } + name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:File.name) +} + +// string content = 2; +inline void File::clear_content() { + content_.ClearToEmpty(); +} +inline const std::string& File::content() const { + // @@protoc_insertion_point(field_get:File.content) + return _internal_content(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void File::set_content(ArgT0&& arg0, ArgT... args) { + + content_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:File.content) +} +inline std::string* File::mutable_content() { + std::string* _s = _internal_mutable_content(); + // @@protoc_insertion_point(field_mutable:File.content) + return _s; +} +inline const std::string& File::_internal_content() const { + return content_.Get(); +} +inline void File::_internal_set_content(const std::string& value) { + + content_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* File::_internal_mutable_content() { + + return content_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* File::release_content() { + // @@protoc_insertion_point(field_release:File.content) + return content_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void File::set_allocated_content(std::string* content) { + if (content != nullptr) { + + } else { + + } + content_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), content, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:File.content) +} + +// ------------------------------------------------------------------- + +// AlphaDAGRequest + +// bool warning_as_error = 1; +inline void AlphaDAGRequest::clear_warning_as_error() { + warning_as_error_ = false; +} +inline bool AlphaDAGRequest::_internal_warning_as_error() const { + return warning_as_error_; +} +inline bool AlphaDAGRequest::warning_as_error() const { + // @@protoc_insertion_point(field_get:AlphaDAGRequest.warning_as_error) + return _internal_warning_as_error(); +} +inline void AlphaDAGRequest::_internal_set_warning_as_error(bool value) { + + warning_as_error_ = value; +} +inline void AlphaDAGRequest::set_warning_as_error(bool value) { + _internal_set_warning_as_error(value); + // @@protoc_insertion_point(field_set:AlphaDAGRequest.warning_as_error) +} + +// bool with_tables = 2; +inline void AlphaDAGRequest::clear_with_tables() { + with_tables_ = false; +} +inline bool AlphaDAGRequest::_internal_with_tables() const { + return with_tables_; +} +inline bool AlphaDAGRequest::with_tables() const { + // @@protoc_insertion_point(field_get:AlphaDAGRequest.with_tables) + return _internal_with_tables(); +} +inline void AlphaDAGRequest::_internal_set_with_tables(bool value) { + + with_tables_ = value; +} +inline void AlphaDAGRequest::set_with_tables(bool value) { + _internal_set_with_tables(value); + // @@protoc_insertion_point(field_set:AlphaDAGRequest.with_tables) +} + +// bool with_functions = 3; +inline void AlphaDAGRequest::clear_with_functions() { + with_functions_ = false; +} +inline bool AlphaDAGRequest::_internal_with_functions() const { + return with_functions_; +} +inline bool AlphaDAGRequest::with_functions() const { + // @@protoc_insertion_point(field_get:AlphaDAGRequest.with_functions) + return _internal_with_functions(); +} +inline void AlphaDAGRequest::_internal_set_with_functions(bool value) { + + with_functions_ = value; +} +inline void AlphaDAGRequest::set_with_functions(bool value) { + _internal_set_with_functions(value); + // @@protoc_insertion_point(field_set:AlphaDAGRequest.with_functions) +} + +// bool side_effect_first = 4; +inline void AlphaDAGRequest::clear_side_effect_first() { + side_effect_first_ = false; +} +inline bool AlphaDAGRequest::_internal_side_effect_first() const { + return side_effect_first_; +} +inline bool AlphaDAGRequest::side_effect_first() const { + // @@protoc_insertion_point(field_get:AlphaDAGRequest.side_effect_first) + return _internal_side_effect_first(); +} +inline void AlphaDAGRequest::_internal_set_side_effect_first(bool value) { + + side_effect_first_ = value; +} +inline void AlphaDAGRequest::set_side_effect_first(bool value) { + _internal_set_side_effect_first(value); + // @@protoc_insertion_point(field_set:AlphaDAGRequest.side_effect_first) +} + +// repeated .File files = 5; +inline int AlphaDAGRequest::_internal_files_size() const { + return files_.size(); +} +inline int AlphaDAGRequest::files_size() const { + return _internal_files_size(); +} +inline void AlphaDAGRequest::clear_files() { + files_.Clear(); +} +inline ::File* AlphaDAGRequest::mutable_files(int index) { + // @@protoc_insertion_point(field_mutable:AlphaDAGRequest.files) + return files_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File >* +AlphaDAGRequest::mutable_files() { + // @@protoc_insertion_point(field_mutable_list:AlphaDAGRequest.files) + return &files_; +} +inline const ::File& AlphaDAGRequest::_internal_files(int index) const { + return files_.Get(index); +} +inline const ::File& AlphaDAGRequest::files(int index) const { + // @@protoc_insertion_point(field_get:AlphaDAGRequest.files) + return _internal_files(index); +} +inline ::File* AlphaDAGRequest::_internal_add_files() { + return files_.Add(); +} +inline ::File* AlphaDAGRequest::add_files() { + ::File* _add = _internal_add_files(); + // @@protoc_insertion_point(field_add:AlphaDAGRequest.files) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File >& +AlphaDAGRequest::files() const { + // @@protoc_insertion_point(field_list:AlphaDAGRequest.files) + return files_; +} + +// ------------------------------------------------------------------- + +// AlphaDAGResponse + +// repeated string external_required_tables = 1; +inline int AlphaDAGResponse::_internal_external_required_tables_size() const { + return external_required_tables_.size(); +} +inline int AlphaDAGResponse::external_required_tables_size() const { + return _internal_external_required_tables_size(); +} +inline void AlphaDAGResponse::clear_external_required_tables() { + external_required_tables_.Clear(); +} +inline std::string* AlphaDAGResponse::add_external_required_tables() { + std::string* _s = _internal_add_external_required_tables(); + // @@protoc_insertion_point(field_add_mutable:AlphaDAGResponse.external_required_tables) + return _s; +} +inline const std::string& AlphaDAGResponse::_internal_external_required_tables(int index) const { + return external_required_tables_.Get(index); +} +inline const std::string& AlphaDAGResponse::external_required_tables(int index) const { + // @@protoc_insertion_point(field_get:AlphaDAGResponse.external_required_tables) + return _internal_external_required_tables(index); +} +inline std::string* AlphaDAGResponse::mutable_external_required_tables(int index) { + // @@protoc_insertion_point(field_mutable:AlphaDAGResponse.external_required_tables) + return external_required_tables_.Mutable(index); +} +inline void AlphaDAGResponse::set_external_required_tables(int index, const std::string& value) { + external_required_tables_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set:AlphaDAGResponse.external_required_tables) +} +inline void AlphaDAGResponse::set_external_required_tables(int index, std::string&& value) { + external_required_tables_.Mutable(index)->assign(std::move(value)); + // @@protoc_insertion_point(field_set:AlphaDAGResponse.external_required_tables) +} +inline void AlphaDAGResponse::set_external_required_tables(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + external_required_tables_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:AlphaDAGResponse.external_required_tables) +} +inline void AlphaDAGResponse::set_external_required_tables(int index, const char* value, size_t size) { + external_required_tables_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:AlphaDAGResponse.external_required_tables) +} +inline std::string* AlphaDAGResponse::_internal_add_external_required_tables() { + return external_required_tables_.Add(); +} +inline void AlphaDAGResponse::add_external_required_tables(const std::string& value) { + external_required_tables_.Add()->assign(value); + // @@protoc_insertion_point(field_add:AlphaDAGResponse.external_required_tables) +} +inline void AlphaDAGResponse::add_external_required_tables(std::string&& value) { + external_required_tables_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:AlphaDAGResponse.external_required_tables) +} +inline void AlphaDAGResponse::add_external_required_tables(const char* value) { + GOOGLE_DCHECK(value != nullptr); + external_required_tables_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:AlphaDAGResponse.external_required_tables) +} +inline void AlphaDAGResponse::add_external_required_tables(const char* value, size_t size) { + external_required_tables_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:AlphaDAGResponse.external_required_tables) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& +AlphaDAGResponse::external_required_tables() const { + // @@protoc_insertion_point(field_list:AlphaDAGResponse.external_required_tables) + return external_required_tables_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* +AlphaDAGResponse::mutable_external_required_tables() { + // @@protoc_insertion_point(field_mutable_list:AlphaDAGResponse.external_required_tables) + return &external_required_tables_; +} + +// repeated string dag_dot_string = 2; +inline int AlphaDAGResponse::_internal_dag_dot_string_size() const { + return dag_dot_string_.size(); +} +inline int AlphaDAGResponse::dag_dot_string_size() const { + return _internal_dag_dot_string_size(); +} +inline void AlphaDAGResponse::clear_dag_dot_string() { + dag_dot_string_.Clear(); +} +inline std::string* AlphaDAGResponse::add_dag_dot_string() { + std::string* _s = _internal_add_dag_dot_string(); + // @@protoc_insertion_point(field_add_mutable:AlphaDAGResponse.dag_dot_string) + return _s; +} +inline const std::string& AlphaDAGResponse::_internal_dag_dot_string(int index) const { + return dag_dot_string_.Get(index); +} +inline const std::string& AlphaDAGResponse::dag_dot_string(int index) const { + // @@protoc_insertion_point(field_get:AlphaDAGResponse.dag_dot_string) + return _internal_dag_dot_string(index); +} +inline std::string* AlphaDAGResponse::mutable_dag_dot_string(int index) { + // @@protoc_insertion_point(field_mutable:AlphaDAGResponse.dag_dot_string) + return dag_dot_string_.Mutable(index); +} +inline void AlphaDAGResponse::set_dag_dot_string(int index, const std::string& value) { + dag_dot_string_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set:AlphaDAGResponse.dag_dot_string) +} +inline void AlphaDAGResponse::set_dag_dot_string(int index, std::string&& value) { + dag_dot_string_.Mutable(index)->assign(std::move(value)); + // @@protoc_insertion_point(field_set:AlphaDAGResponse.dag_dot_string) +} +inline void AlphaDAGResponse::set_dag_dot_string(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + dag_dot_string_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:AlphaDAGResponse.dag_dot_string) +} +inline void AlphaDAGResponse::set_dag_dot_string(int index, const char* value, size_t size) { + dag_dot_string_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:AlphaDAGResponse.dag_dot_string) +} +inline std::string* AlphaDAGResponse::_internal_add_dag_dot_string() { + return dag_dot_string_.Add(); +} +inline void AlphaDAGResponse::add_dag_dot_string(const std::string& value) { + dag_dot_string_.Add()->assign(value); + // @@protoc_insertion_point(field_add:AlphaDAGResponse.dag_dot_string) +} +inline void AlphaDAGResponse::add_dag_dot_string(std::string&& value) { + dag_dot_string_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:AlphaDAGResponse.dag_dot_string) +} +inline void AlphaDAGResponse::add_dag_dot_string(const char* value) { + GOOGLE_DCHECK(value != nullptr); + dag_dot_string_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:AlphaDAGResponse.dag_dot_string) +} +inline void AlphaDAGResponse::add_dag_dot_string(const char* value, size_t size) { + dag_dot_string_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:AlphaDAGResponse.dag_dot_string) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& +AlphaDAGResponse::dag_dot_string() const { + // @@protoc_insertion_point(field_list:AlphaDAGResponse.dag_dot_string) + return dag_dot_string_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* +AlphaDAGResponse::mutable_dag_dot_string() { + // @@protoc_insertion_point(field_mutable_list:AlphaDAGResponse.dag_dot_string) + return &dag_dot_string_; +} + +// optional string error = 3; +inline bool AlphaDAGResponse::_internal_has_error() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool AlphaDAGResponse::has_error() const { + return _internal_has_error(); +} +inline void AlphaDAGResponse::clear_error() { + error_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; +} +inline const std::string& AlphaDAGResponse::error() const { + // @@protoc_insertion_point(field_get:AlphaDAGResponse.error) + return _internal_error(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void AlphaDAGResponse::set_error(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + error_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:AlphaDAGResponse.error) +} +inline std::string* AlphaDAGResponse::mutable_error() { + std::string* _s = _internal_mutable_error(); + // @@protoc_insertion_point(field_mutable:AlphaDAGResponse.error) + return _s; +} +inline const std::string& AlphaDAGResponse::_internal_error() const { + return error_.Get(); +} +inline void AlphaDAGResponse::_internal_set_error(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + error_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* AlphaDAGResponse::_internal_mutable_error() { + _has_bits_[0] |= 0x00000001u; + return error_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* AlphaDAGResponse::release_error() { + // @@protoc_insertion_point(field_release:AlphaDAGResponse.error) + if (!_internal_has_error()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + return error_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void AlphaDAGResponse::set_allocated_error(std::string* error) { + if (error != nullptr) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + error_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), error, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:AlphaDAGResponse.error) +} + +// ------------------------------------------------------------------- + +// Column + +// string column_name = 1; +inline void Column::clear_column_name() { + column_name_.ClearToEmpty(); +} +inline const std::string& Column::column_name() const { + // @@protoc_insertion_point(field_get:Column.column_name) + return _internal_column_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void Column::set_column_name(ArgT0&& arg0, ArgT... args) { + + column_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Column.column_name) +} +inline std::string* Column::mutable_column_name() { + std::string* _s = _internal_mutable_column_name(); + // @@protoc_insertion_point(field_mutable:Column.column_name) + return _s; +} +inline const std::string& Column::_internal_column_name() const { + return column_name_.Get(); +} +inline void Column::_internal_set_column_name(const std::string& value) { + + column_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* Column::_internal_mutable_column_name() { + + return column_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* Column::release_column_name() { + // @@protoc_insertion_point(field_release:Column.column_name) + return column_name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void Column::set_allocated_column_name(std::string* column_name) { + if (column_name != nullptr) { + + } else { + + } + column_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), column_name, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:Column.column_name) +} + +// .zetasql.TypeProto type = 2; +inline bool Column::_internal_has_type() const { + return this != internal_default_instance() && type_ != nullptr; +} +inline bool Column::has_type() const { + return _internal_has_type(); +} +inline const ::zetasql::TypeProto& Column::_internal_type() const { + const ::zetasql::TypeProto* p = type_; + return p != nullptr ? *p : reinterpret_cast( + ::zetasql::_TypeProto_default_instance_); +} +inline const ::zetasql::TypeProto& Column::type() const { + // @@protoc_insertion_point(field_get:Column.type) + return _internal_type(); +} +inline void Column::unsafe_arena_set_allocated_type( + ::zetasql::TypeProto* type) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(type_); + } + type_ = type; + if (type) { + + } else { + + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Column.type) +} +inline ::zetasql::TypeProto* Column::release_type() { + + ::zetasql::TypeProto* temp = type_; + type_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::zetasql::TypeProto* Column::unsafe_arena_release_type() { + // @@protoc_insertion_point(field_release:Column.type) + + ::zetasql::TypeProto* temp = type_; + type_ = nullptr; + return temp; +} +inline ::zetasql::TypeProto* Column::_internal_mutable_type() { + + if (type_ == nullptr) { + auto* p = CreateMaybeMessage<::zetasql::TypeProto>(GetArenaForAllocation()); + type_ = p; + } + return type_; +} +inline ::zetasql::TypeProto* Column::mutable_type() { + ::zetasql::TypeProto* _msg = _internal_mutable_type(); + // @@protoc_insertion_point(field_mutable:Column.type) + return _msg; +} +inline void Column::set_allocated_type(::zetasql::TypeProto* type) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(type_); + } + if (type) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< + ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(type)); + if (message_arena != submessage_arena) { + type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, type, submessage_arena); + } + + } else { + + } + type_ = type; + // @@protoc_insertion_point(field_set_allocated:Column.type) +} + +// ------------------------------------------------------------------- + +// TableSchema + +// string table_name = 1; +inline void TableSchema::clear_table_name() { + table_name_.ClearToEmpty(); +} +inline const std::string& TableSchema::table_name() const { + // @@protoc_insertion_point(field_get:TableSchema.table_name) + return _internal_table_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void TableSchema::set_table_name(ArgT0&& arg0, ArgT... args) { + + table_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:TableSchema.table_name) +} +inline std::string* TableSchema::mutable_table_name() { + std::string* _s = _internal_mutable_table_name(); + // @@protoc_insertion_point(field_mutable:TableSchema.table_name) + return _s; +} +inline const std::string& TableSchema::_internal_table_name() const { + return table_name_.Get(); +} +inline void TableSchema::_internal_set_table_name(const std::string& value) { + + table_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* TableSchema::_internal_mutable_table_name() { + + return table_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* TableSchema::release_table_name() { + // @@protoc_insertion_point(field_release:TableSchema.table_name) + return table_name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void TableSchema::set_allocated_table_name(std::string* table_name) { + if (table_name != nullptr) { + + } else { + + } + table_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), table_name, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:TableSchema.table_name) +} + +// repeated .Column columns = 2; +inline int TableSchema::_internal_columns_size() const { + return columns_.size(); +} +inline int TableSchema::columns_size() const { + return _internal_columns_size(); +} +inline void TableSchema::clear_columns() { + columns_.Clear(); +} +inline ::Column* TableSchema::mutable_columns(int index) { + // @@protoc_insertion_point(field_mutable:TableSchema.columns) + return columns_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column >* +TableSchema::mutable_columns() { + // @@protoc_insertion_point(field_mutable_list:TableSchema.columns) + return &columns_; +} +inline const ::Column& TableSchema::_internal_columns(int index) const { + return columns_.Get(index); +} +inline const ::Column& TableSchema::columns(int index) const { + // @@protoc_insertion_point(field_get:TableSchema.columns) + return _internal_columns(index); +} +inline ::Column* TableSchema::_internal_add_columns() { + return columns_.Add(); +} +inline ::Column* TableSchema::add_columns() { + ::Column* _add = _internal_add_columns(); + // @@protoc_insertion_point(field_add:TableSchema.columns) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column >& +TableSchema::columns() const { + // @@protoc_insertion_point(field_list:TableSchema.columns) + return columns_; +} + +// ------------------------------------------------------------------- + +// AlphaCheckRequest + +// repeated .TableSchema external_required_tables_schema = 1; +inline int AlphaCheckRequest::_internal_external_required_tables_schema_size() const { + return external_required_tables_schema_.size(); +} +inline int AlphaCheckRequest::external_required_tables_schema_size() const { + return _internal_external_required_tables_schema_size(); +} +inline void AlphaCheckRequest::clear_external_required_tables_schema() { + external_required_tables_schema_.Clear(); +} +inline ::TableSchema* AlphaCheckRequest::mutable_external_required_tables_schema(int index) { + // @@protoc_insertion_point(field_mutable:AlphaCheckRequest.external_required_tables_schema) + return external_required_tables_schema_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::TableSchema >* +AlphaCheckRequest::mutable_external_required_tables_schema() { + // @@protoc_insertion_point(field_mutable_list:AlphaCheckRequest.external_required_tables_schema) + return &external_required_tables_schema_; +} +inline const ::TableSchema& AlphaCheckRequest::_internal_external_required_tables_schema(int index) const { + return external_required_tables_schema_.Get(index); +} +inline const ::TableSchema& AlphaCheckRequest::external_required_tables_schema(int index) const { + // @@protoc_insertion_point(field_get:AlphaCheckRequest.external_required_tables_schema) + return _internal_external_required_tables_schema(index); +} +inline ::TableSchema* AlphaCheckRequest::_internal_add_external_required_tables_schema() { + return external_required_tables_schema_.Add(); +} +inline ::TableSchema* AlphaCheckRequest::add_external_required_tables_schema() { + ::TableSchema* _add = _internal_add_external_required_tables_schema(); + // @@protoc_insertion_point(field_add:AlphaCheckRequest.external_required_tables_schema) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::TableSchema >& +AlphaCheckRequest::external_required_tables_schema() const { + // @@protoc_insertion_point(field_list:AlphaCheckRequest.external_required_tables_schema) + return external_required_tables_schema_; +} + +// string dag_dot_string = 2; +inline void AlphaCheckRequest::clear_dag_dot_string() { + dag_dot_string_.ClearToEmpty(); +} +inline const std::string& AlphaCheckRequest::dag_dot_string() const { + // @@protoc_insertion_point(field_get:AlphaCheckRequest.dag_dot_string) + return _internal_dag_dot_string(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void AlphaCheckRequest::set_dag_dot_string(ArgT0&& arg0, ArgT... args) { + + dag_dot_string_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:AlphaCheckRequest.dag_dot_string) +} +inline std::string* AlphaCheckRequest::mutable_dag_dot_string() { + std::string* _s = _internal_mutable_dag_dot_string(); + // @@protoc_insertion_point(field_mutable:AlphaCheckRequest.dag_dot_string) + return _s; +} +inline const std::string& AlphaCheckRequest::_internal_dag_dot_string() const { + return dag_dot_string_.Get(); +} +inline void AlphaCheckRequest::_internal_set_dag_dot_string(const std::string& value) { + + dag_dot_string_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* AlphaCheckRequest::_internal_mutable_dag_dot_string() { + + return dag_dot_string_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* AlphaCheckRequest::release_dag_dot_string() { + // @@protoc_insertion_point(field_release:AlphaCheckRequest.dag_dot_string) + return dag_dot_string_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void AlphaCheckRequest::set_allocated_dag_dot_string(std::string* dag_dot_string) { + if (dag_dot_string != nullptr) { + + } else { + + } + dag_dot_string_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), dag_dot_string, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:AlphaCheckRequest.dag_dot_string) +} + +// repeated .File files = 3; +inline int AlphaCheckRequest::_internal_files_size() const { + return files_.size(); +} +inline int AlphaCheckRequest::files_size() const { + return _internal_files_size(); +} +inline void AlphaCheckRequest::clear_files() { + files_.Clear(); +} +inline ::File* AlphaCheckRequest::mutable_files(int index) { + // @@protoc_insertion_point(field_mutable:AlphaCheckRequest.files) + return files_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File >* +AlphaCheckRequest::mutable_files() { + // @@protoc_insertion_point(field_mutable_list:AlphaCheckRequest.files) + return &files_; +} +inline const ::File& AlphaCheckRequest::_internal_files(int index) const { + return files_.Get(index); +} +inline const ::File& AlphaCheckRequest::files(int index) const { + // @@protoc_insertion_point(field_get:AlphaCheckRequest.files) + return _internal_files(index); +} +inline ::File* AlphaCheckRequest::_internal_add_files() { + return files_.Add(); +} +inline ::File* AlphaCheckRequest::add_files() { + ::File* _add = _internal_add_files(); + // @@protoc_insertion_point(field_add:AlphaCheckRequest.files) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File >& +AlphaCheckRequest::files() const { + // @@protoc_insertion_point(field_list:AlphaCheckRequest.files) + return files_; +} + +// ------------------------------------------------------------------- + +// AlphaCheckResponse + +// optional string error = 1; +inline bool AlphaCheckResponse::_internal_has_error() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool AlphaCheckResponse::has_error() const { + return _internal_has_error(); +} +inline void AlphaCheckResponse::clear_error() { + error_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; +} +inline const std::string& AlphaCheckResponse::error() const { + // @@protoc_insertion_point(field_get:AlphaCheckResponse.error) + return _internal_error(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void AlphaCheckResponse::set_error(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + error_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:AlphaCheckResponse.error) +} +inline std::string* AlphaCheckResponse::mutable_error() { + std::string* _s = _internal_mutable_error(); + // @@protoc_insertion_point(field_mutable:AlphaCheckResponse.error) + return _s; +} +inline const std::string& AlphaCheckResponse::_internal_error() const { + return error_.Get(); +} +inline void AlphaCheckResponse::_internal_set_error(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + error_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* AlphaCheckResponse::_internal_mutable_error() { + _has_bits_[0] |= 0x00000001u; + return error_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* AlphaCheckResponse::release_error() { + // @@protoc_insertion_point(field_release:AlphaCheckResponse.error) + if (!_internal_has_error()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + return error_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void AlphaCheckResponse::set_allocated_error(std::string* error) { + if (error != nullptr) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + error_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), error, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:AlphaCheckResponse.error) +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_alphasql_5fservice_2eproto diff --git a/alphasql/proto/type.pb.cc b/alphasql/proto/type.pb.cc new file mode 100644 index 00000000..866b00d1 --- /dev/null +++ b/alphasql/proto/type.pb.cc @@ -0,0 +1,2108 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: type.proto + +#include "type.pb.h" + +#include + +#include +#include +#include +#include +#include +#include +#include +// @@protoc_insertion_point(includes) +#include + +PROTOBUF_PRAGMA_INIT_SEG +namespace zetasql { +constexpr TypeProto::TypeProto( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : file_descriptor_set_() + , array_type_(nullptr) + , struct_type_(nullptr) + , proto_type_(nullptr) + , enum_type_(nullptr) + , type_kind_(-1) +{} +struct TypeProtoDefaultTypeInternal { + constexpr TypeProtoDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~TypeProtoDefaultTypeInternal() {} + union { + TypeProto _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT TypeProtoDefaultTypeInternal _TypeProto_default_instance_; +constexpr ArrayTypeProto::ArrayTypeProto( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : element_type_(nullptr){} +struct ArrayTypeProtoDefaultTypeInternal { + constexpr ArrayTypeProtoDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~ArrayTypeProtoDefaultTypeInternal() {} + union { + ArrayTypeProto _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ArrayTypeProtoDefaultTypeInternal _ArrayTypeProto_default_instance_; +constexpr StructFieldProto::StructFieldProto( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : field_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , field_type_(nullptr){} +struct StructFieldProtoDefaultTypeInternal { + constexpr StructFieldProtoDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~StructFieldProtoDefaultTypeInternal() {} + union { + StructFieldProto _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT StructFieldProtoDefaultTypeInternal _StructFieldProto_default_instance_; +constexpr StructTypeProto::StructTypeProto( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : field_(){} +struct StructTypeProtoDefaultTypeInternal { + constexpr StructTypeProtoDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~StructTypeProtoDefaultTypeInternal() {} + union { + StructTypeProto _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT StructTypeProtoDefaultTypeInternal _StructTypeProto_default_instance_; +constexpr ProtoTypeProto::ProtoTypeProto( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : catalog_name_path_() + , proto_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , proto_file_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , file_descriptor_set_index_(0){} +struct ProtoTypeProtoDefaultTypeInternal { + constexpr ProtoTypeProtoDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~ProtoTypeProtoDefaultTypeInternal() {} + union { + ProtoTypeProto _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ProtoTypeProtoDefaultTypeInternal _ProtoTypeProto_default_instance_; +constexpr EnumTypeProto::EnumTypeProto( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : catalog_name_path_() + , enum_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , enum_file_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , file_descriptor_set_index_(0){} +struct EnumTypeProtoDefaultTypeInternal { + constexpr EnumTypeProtoDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~EnumTypeProtoDefaultTypeInternal() {} + union { + EnumTypeProto _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT EnumTypeProtoDefaultTypeInternal _EnumTypeProto_default_instance_; +} // namespace zetasql +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_type_2eproto[6]; +static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_type_2eproto[1]; +static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_type_2eproto = nullptr; + +const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_type_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + PROTOBUF_FIELD_OFFSET(::zetasql::TypeProto, _has_bits_), + PROTOBUF_FIELD_OFFSET(::zetasql::TypeProto, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::zetasql::TypeProto, type_kind_), + PROTOBUF_FIELD_OFFSET(::zetasql::TypeProto, array_type_), + PROTOBUF_FIELD_OFFSET(::zetasql::TypeProto, struct_type_), + PROTOBUF_FIELD_OFFSET(::zetasql::TypeProto, proto_type_), + PROTOBUF_FIELD_OFFSET(::zetasql::TypeProto, enum_type_), + PROTOBUF_FIELD_OFFSET(::zetasql::TypeProto, file_descriptor_set_), + 4, + 0, + 1, + 2, + 3, + ~0u, + PROTOBUF_FIELD_OFFSET(::zetasql::ArrayTypeProto, _has_bits_), + PROTOBUF_FIELD_OFFSET(::zetasql::ArrayTypeProto, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::zetasql::ArrayTypeProto, element_type_), + 0, + PROTOBUF_FIELD_OFFSET(::zetasql::StructFieldProto, _has_bits_), + PROTOBUF_FIELD_OFFSET(::zetasql::StructFieldProto, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::zetasql::StructFieldProto, field_name_), + PROTOBUF_FIELD_OFFSET(::zetasql::StructFieldProto, field_type_), + 0, + 1, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::zetasql::StructTypeProto, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::zetasql::StructTypeProto, field_), + PROTOBUF_FIELD_OFFSET(::zetasql::ProtoTypeProto, _has_bits_), + PROTOBUF_FIELD_OFFSET(::zetasql::ProtoTypeProto, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::zetasql::ProtoTypeProto, proto_name_), + PROTOBUF_FIELD_OFFSET(::zetasql::ProtoTypeProto, proto_file_name_), + PROTOBUF_FIELD_OFFSET(::zetasql::ProtoTypeProto, file_descriptor_set_index_), + PROTOBUF_FIELD_OFFSET(::zetasql::ProtoTypeProto, catalog_name_path_), + 0, + 1, + 2, + ~0u, + PROTOBUF_FIELD_OFFSET(::zetasql::EnumTypeProto, _has_bits_), + PROTOBUF_FIELD_OFFSET(::zetasql::EnumTypeProto, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::zetasql::EnumTypeProto, enum_name_), + PROTOBUF_FIELD_OFFSET(::zetasql::EnumTypeProto, enum_file_name_), + PROTOBUF_FIELD_OFFSET(::zetasql::EnumTypeProto, file_descriptor_set_index_), + PROTOBUF_FIELD_OFFSET(::zetasql::EnumTypeProto, catalog_name_path_), + 0, + 1, + 2, + ~0u, +}; +static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { + { 0, 11, sizeof(::zetasql::TypeProto)}, + { 17, 23, sizeof(::zetasql::ArrayTypeProto)}, + { 24, 31, sizeof(::zetasql::StructFieldProto)}, + { 33, -1, sizeof(::zetasql::StructTypeProto)}, + { 39, 48, sizeof(::zetasql::ProtoTypeProto)}, + { 52, 61, sizeof(::zetasql::EnumTypeProto)}, +}; + +static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { + reinterpret_cast(&::zetasql::_TypeProto_default_instance_), + reinterpret_cast(&::zetasql::_ArrayTypeProto_default_instance_), + reinterpret_cast(&::zetasql::_StructFieldProto_default_instance_), + reinterpret_cast(&::zetasql::_StructTypeProto_default_instance_), + reinterpret_cast(&::zetasql::_ProtoTypeProto_default_instance_), + reinterpret_cast(&::zetasql::_EnumTypeProto_default_instance_), +}; + +const char descriptor_table_protodef_type_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = + "\n\ntype.proto\022\007zetasql\032 google/protobuf/d" + "escriptor.proto\"\246\002\n\tTypeProto\022$\n\ttype_ki" + "nd\030\001 \001(\0162\021.zetasql.TypeKind\022+\n\narray_typ" + "e\030\002 \001(\0132\027.zetasql.ArrayTypeProto\022-\n\013stru" + "ct_type\030\003 \001(\0132\030.zetasql.StructTypeProto\022" + "+\n\nproto_type\030\004 \001(\0132\027.zetasql.ProtoTypeP" + "roto\022)\n\tenum_type\030\005 \001(\0132\026.zetasql.EnumTy" + "peProto\022\?\n\023file_descriptor_set\030\006 \003(\0132\".g" + "oogle.protobuf.FileDescriptorSet\":\n\016Arra" + "yTypeProto\022(\n\014element_type\030\001 \001(\0132\022.zetas" + "ql.TypeProto\"N\n\020StructFieldProto\022\022\n\nfiel" + "d_name\030\001 \001(\t\022&\n\nfield_type\030\002 \001(\0132\022.zetas" + "ql.TypeProto\";\n\017StructTypeProto\022(\n\005field" + "\030\001 \003(\0132\031.zetasql.StructFieldProto\"~\n\016Pro" + "toTypeProto\022\022\n\nproto_name\030\001 \001(\t\022\027\n\017proto" + "_file_name\030\002 \001(\t\022$\n\031file_descriptor_set_" + "index\030\003 \001(\005:\0010\022\031\n\021catalog_name_path\030\004 \003(" + "\t\"{\n\rEnumTypeProto\022\021\n\tenum_name\030\001 \001(\t\022\026\n" + "\016enum_file_name\030\002 \001(\t\022$\n\031file_descriptor" + "_set_index\030\003 \001(\005:\0010\022\031\n\021catalog_name_path" + "\030\004 \003(\t*\357\003\n\010TypeKind\0225\n(__TypeKind__switc" + "h_must_have_a_default__\020\377\377\377\377\377\377\377\377\377\001\022\020\n\014TY" + "PE_UNKNOWN\020\000\022\016\n\nTYPE_INT32\020\001\022\016\n\nTYPE_INT" + "64\020\002\022\017\n\013TYPE_UINT32\020\003\022\017\n\013TYPE_UINT64\020\004\022\r" + "\n\tTYPE_BOOL\020\005\022\016\n\nTYPE_FLOAT\020\006\022\017\n\013TYPE_DO" + "UBLE\020\007\022\017\n\013TYPE_STRING\020\010\022\016\n\nTYPE_BYTES\020\t\022" + "\r\n\tTYPE_DATE\020\n\022\022\n\016TYPE_TIMESTAMP\020\023\022\r\n\tTY" + "PE_ENUM\020\017\022\016\n\nTYPE_ARRAY\020\020\022\017\n\013TYPE_STRUCT" + "\020\021\022\016\n\nTYPE_PROTO\020\022\022\r\n\tTYPE_TIME\020\024\022\021\n\rTYP" + "E_DATETIME\020\025\022\022\n\016TYPE_GEOGRAPHY\020\026\022\020\n\014TYPE" + "_NUMERIC\020\027\022\023\n\017TYPE_BIGNUMERIC\020\030\022\021\n\rTYPE_" + "EXTENDED\020\031\022\r\n\tTYPE_JSON\020\032\022\021\n\rTYPE_INTERV" + "AL\020\033\022\022\n\016TYPE_TOKENLIST\020\034B$\n\022com.google.z" + "etasqlB\013ZetaSQLType\370\001\001" + ; +static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_type_2eproto_deps[1] = { + &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, +}; +static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_type_2eproto_once; +const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_type_2eproto = { + false, false, 1342, descriptor_table_protodef_type_2eproto, "type.proto", + &descriptor_table_type_2eproto_once, descriptor_table_type_2eproto_deps, 1, 6, + schemas, file_default_instances, TableStruct_type_2eproto::offsets, + file_level_metadata_type_2eproto, file_level_enum_descriptors_type_2eproto, file_level_service_descriptors_type_2eproto, +}; +PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_type_2eproto_getter() { + return &descriptor_table_type_2eproto; +} + +// Force running AddDescriptors() at dynamic initialization time. +PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_type_2eproto(&descriptor_table_type_2eproto); +namespace zetasql { +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* TypeKind_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_type_2eproto); + return file_level_enum_descriptors_type_2eproto[0]; +} +bool TypeKind_IsValid(int value) { + switch (value) { + case -1: + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + case 28: + return true; + default: + return false; + } +} + + +// =================================================================== + +class TypeProto::_Internal { + public: + using HasBits = decltype(std::declval()._has_bits_); + static void set_has_type_kind(HasBits* has_bits) { + (*has_bits)[0] |= 16u; + } + static const ::zetasql::ArrayTypeProto& array_type(const TypeProto* msg); + static void set_has_array_type(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } + static const ::zetasql::StructTypeProto& struct_type(const TypeProto* msg); + static void set_has_struct_type(HasBits* has_bits) { + (*has_bits)[0] |= 2u; + } + static const ::zetasql::ProtoTypeProto& proto_type(const TypeProto* msg); + static void set_has_proto_type(HasBits* has_bits) { + (*has_bits)[0] |= 4u; + } + static const ::zetasql::EnumTypeProto& enum_type(const TypeProto* msg); + static void set_has_enum_type(HasBits* has_bits) { + (*has_bits)[0] |= 8u; + } +}; + +const ::zetasql::ArrayTypeProto& +TypeProto::_Internal::array_type(const TypeProto* msg) { + return *msg->array_type_; +} +const ::zetasql::StructTypeProto& +TypeProto::_Internal::struct_type(const TypeProto* msg) { + return *msg->struct_type_; +} +const ::zetasql::ProtoTypeProto& +TypeProto::_Internal::proto_type(const TypeProto* msg) { + return *msg->proto_type_; +} +const ::zetasql::EnumTypeProto& +TypeProto::_Internal::enum_type(const TypeProto* msg) { + return *msg->enum_type_; +} +void TypeProto::clear_file_descriptor_set() { + file_descriptor_set_.Clear(); +} +TypeProto::TypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + file_descriptor_set_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:zetasql.TypeProto) +} +TypeProto::TypeProto(const TypeProto& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + _has_bits_(from._has_bits_), + file_descriptor_set_(from.file_descriptor_set_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_array_type()) { + array_type_ = new ::zetasql::ArrayTypeProto(*from.array_type_); + } else { + array_type_ = nullptr; + } + if (from._internal_has_struct_type()) { + struct_type_ = new ::zetasql::StructTypeProto(*from.struct_type_); + } else { + struct_type_ = nullptr; + } + if (from._internal_has_proto_type()) { + proto_type_ = new ::zetasql::ProtoTypeProto(*from.proto_type_); + } else { + proto_type_ = nullptr; + } + if (from._internal_has_enum_type()) { + enum_type_ = new ::zetasql::EnumTypeProto(*from.enum_type_); + } else { + enum_type_ = nullptr; + } + type_kind_ = from.type_kind_; + // @@protoc_insertion_point(copy_constructor:zetasql.TypeProto) +} + +inline void TypeProto::SharedCtor() { +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&array_type_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&enum_type_) - + reinterpret_cast(&array_type_)) + sizeof(enum_type_)); +type_kind_ = -1; +} + +TypeProto::~TypeProto() { + // @@protoc_insertion_point(destructor:zetasql.TypeProto) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void TypeProto::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete array_type_; + if (this != internal_default_instance()) delete struct_type_; + if (this != internal_default_instance()) delete proto_type_; + if (this != internal_default_instance()) delete enum_type_; +} + +void TypeProto::ArenaDtor(void* object) { + TypeProto* _this = reinterpret_cast< TypeProto* >(object); + (void)_this; +} +void TypeProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void TypeProto::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void TypeProto::Clear() { +// @@protoc_insertion_point(message_clear_start:zetasql.TypeProto) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + file_descriptor_set_.Clear(); + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x0000001fu) { + if (cached_has_bits & 0x00000001u) { + GOOGLE_DCHECK(array_type_ != nullptr); + array_type_->Clear(); + } + if (cached_has_bits & 0x00000002u) { + GOOGLE_DCHECK(struct_type_ != nullptr); + struct_type_->Clear(); + } + if (cached_has_bits & 0x00000004u) { + GOOGLE_DCHECK(proto_type_ != nullptr); + proto_type_->Clear(); + } + if (cached_has_bits & 0x00000008u) { + GOOGLE_DCHECK(enum_type_ != nullptr); + enum_type_->Clear(); + } + type_kind_ = -1; + } + _has_bits_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* TypeProto::_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 .zetasql.TypeKind type_kind = 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(::zetasql::TypeKind_IsValid(val))) { + _internal_set_type_kind(static_cast<::zetasql::TypeKind>(val)); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields()); + } + } else goto handle_unusual; + continue; + // optional .zetasql.ArrayTypeProto array_type = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_array_type(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // optional .zetasql.StructTypeProto struct_type = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_struct_type(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // optional .zetasql.ProtoTypeProto proto_type = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + ptr = ctx->ParseMessage(_internal_mutable_proto_type(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // optional .zetasql.EnumTypeProto enum_type = 5; + case 5: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) { + ptr = ctx->ParseMessage(_internal_mutable_enum_type(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // repeated .google.protobuf.FileDescriptorSet file_descriptor_set = 6; + case 6: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) { + ptr -= 1; + do { + ptr += 1; + ptr = ctx->ParseMessage(_internal_add_file_descriptor_set(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(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* TypeProto::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:zetasql.TypeProto) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + cached_has_bits = _has_bits_[0]; + // optional .zetasql.TypeKind type_kind = 1; + if (cached_has_bits & 0x00000010u) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( + 1, this->_internal_type_kind(), target); + } + + // optional .zetasql.ArrayTypeProto array_type = 2; + if (cached_has_bits & 0x00000001u) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::array_type(this), target, stream); + } + + // optional .zetasql.StructTypeProto struct_type = 3; + if (cached_has_bits & 0x00000002u) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 3, _Internal::struct_type(this), target, stream); + } + + // optional .zetasql.ProtoTypeProto proto_type = 4; + if (cached_has_bits & 0x00000004u) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 4, _Internal::proto_type(this), target, stream); + } + + // optional .zetasql.EnumTypeProto enum_type = 5; + if (cached_has_bits & 0x00000008u) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 5, _Internal::enum_type(this), target, stream); + } + + // repeated .google.protobuf.FileDescriptorSet file_descriptor_set = 6; + for (unsigned int i = 0, + n = static_cast(this->_internal_file_descriptor_set_size()); i < n; i++) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(6, this->_internal_file_descriptor_set(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:zetasql.TypeProto) + return target; +} + +size_t TypeProto::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:zetasql.TypeProto) + 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 .google.protobuf.FileDescriptorSet file_descriptor_set = 6; + total_size += 1UL * this->_internal_file_descriptor_set_size(); + for (const auto& msg : this->file_descriptor_set_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x0000001fu) { + // optional .zetasql.ArrayTypeProto array_type = 2; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *array_type_); + } + + // optional .zetasql.StructTypeProto struct_type = 3; + if (cached_has_bits & 0x00000002u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *struct_type_); + } + + // optional .zetasql.ProtoTypeProto proto_type = 4; + if (cached_has_bits & 0x00000004u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *proto_type_); + } + + // optional .zetasql.EnumTypeProto enum_type = 5; + if (cached_has_bits & 0x00000008u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *enum_type_); + } + + // optional .zetasql.TypeKind type_kind = 1; + if (cached_has_bits & 0x00000010u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_type_kind()); + } + + } + 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; +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TypeProto::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + TypeProto::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TypeProto::GetClassData() const { return &_class_data_; } + +void TypeProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, + const ::PROTOBUF_NAMESPACE_ID::Message&from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void TypeProto::MergeFrom(const TypeProto& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:zetasql.TypeProto) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + file_descriptor_set_.MergeFrom(from.file_descriptor_set_); + cached_has_bits = from._has_bits_[0]; + if (cached_has_bits & 0x0000001fu) { + if (cached_has_bits & 0x00000001u) { + _internal_mutable_array_type()->::zetasql::ArrayTypeProto::MergeFrom(from._internal_array_type()); + } + if (cached_has_bits & 0x00000002u) { + _internal_mutable_struct_type()->::zetasql::StructTypeProto::MergeFrom(from._internal_struct_type()); + } + if (cached_has_bits & 0x00000004u) { + _internal_mutable_proto_type()->::zetasql::ProtoTypeProto::MergeFrom(from._internal_proto_type()); + } + if (cached_has_bits & 0x00000008u) { + _internal_mutable_enum_type()->::zetasql::EnumTypeProto::MergeFrom(from._internal_enum_type()); + } + if (cached_has_bits & 0x00000010u) { + type_kind_ = from.type_kind_; + } + _has_bits_[0] |= cached_has_bits; + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void TypeProto::CopyFrom(const TypeProto& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:zetasql.TypeProto) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool TypeProto::IsInitialized() const { + if (!::PROTOBUF_NAMESPACE_ID::internal::AllAreInitialized(file_descriptor_set_)) return false; + if (_internal_has_array_type()) { + if (!array_type_->IsInitialized()) return false; + } + if (_internal_has_struct_type()) { + if (!struct_type_->IsInitialized()) return false; + } + return true; +} + +void TypeProto::InternalSwap(TypeProto* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_has_bits_[0], other->_has_bits_[0]); + file_descriptor_set_.InternalSwap(&other->file_descriptor_set_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(TypeProto, enum_type_) + + sizeof(TypeProto::enum_type_) + - PROTOBUF_FIELD_OFFSET(TypeProto, array_type_)>( + reinterpret_cast(&array_type_), + reinterpret_cast(&other->array_type_)); + swap(type_kind_, other->type_kind_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata TypeProto::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_type_2eproto_getter, &descriptor_table_type_2eproto_once, + file_level_metadata_type_2eproto[0]); +} + +// =================================================================== + +class ArrayTypeProto::_Internal { + public: + using HasBits = decltype(std::declval()._has_bits_); + static const ::zetasql::TypeProto& element_type(const ArrayTypeProto* msg); + static void set_has_element_type(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } +}; + +const ::zetasql::TypeProto& +ArrayTypeProto::_Internal::element_type(const ArrayTypeProto* msg) { + return *msg->element_type_; +} +ArrayTypeProto::ArrayTypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:zetasql.ArrayTypeProto) +} +ArrayTypeProto::ArrayTypeProto(const ArrayTypeProto& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + _has_bits_(from._has_bits_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + if (from._internal_has_element_type()) { + element_type_ = new ::zetasql::TypeProto(*from.element_type_); + } else { + element_type_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:zetasql.ArrayTypeProto) +} + +inline void ArrayTypeProto::SharedCtor() { +element_type_ = nullptr; +} + +ArrayTypeProto::~ArrayTypeProto() { + // @@protoc_insertion_point(destructor:zetasql.ArrayTypeProto) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void ArrayTypeProto::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (this != internal_default_instance()) delete element_type_; +} + +void ArrayTypeProto::ArenaDtor(void* object) { + ArrayTypeProto* _this = reinterpret_cast< ArrayTypeProto* >(object); + (void)_this; +} +void ArrayTypeProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void ArrayTypeProto::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void ArrayTypeProto::Clear() { +// @@protoc_insertion_point(message_clear_start:zetasql.ArrayTypeProto) + ::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(element_type_ != nullptr); + element_type_->Clear(); + } + _has_bits_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ArrayTypeProto::_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 .zetasql.TypeProto element_type = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + ptr = ctx->ParseMessage(_internal_mutable_element_type(), 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* ArrayTypeProto::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:zetasql.ArrayTypeProto) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + cached_has_bits = _has_bits_[0]; + // optional .zetasql.TypeProto element_type = 1; + if (cached_has_bits & 0x00000001u) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 1, _Internal::element_type(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:zetasql.ArrayTypeProto) + return target; +} + +size_t ArrayTypeProto::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:zetasql.ArrayTypeProto) + 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 .zetasql.TypeProto element_type = 1; + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *element_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; +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ArrayTypeProto::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + ArrayTypeProto::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ArrayTypeProto::GetClassData() const { return &_class_data_; } + +void ArrayTypeProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, + const ::PROTOBUF_NAMESPACE_ID::Message&from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void ArrayTypeProto::MergeFrom(const ArrayTypeProto& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:zetasql.ArrayTypeProto) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_has_element_type()) { + _internal_mutable_element_type()->::zetasql::TypeProto::MergeFrom(from._internal_element_type()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ArrayTypeProto::CopyFrom(const ArrayTypeProto& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:zetasql.ArrayTypeProto) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ArrayTypeProto::IsInitialized() const { + if (_internal_has_element_type()) { + if (!element_type_->IsInitialized()) return false; + } + return true; +} + +void ArrayTypeProto::InternalSwap(ArrayTypeProto* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_has_bits_[0], other->_has_bits_[0]); + swap(element_type_, other->element_type_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ArrayTypeProto::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_type_2eproto_getter, &descriptor_table_type_2eproto_once, + file_level_metadata_type_2eproto[1]); +} + +// =================================================================== + +class StructFieldProto::_Internal { + public: + using HasBits = decltype(std::declval()._has_bits_); + static void set_has_field_name(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } + static const ::zetasql::TypeProto& field_type(const StructFieldProto* msg); + static void set_has_field_type(HasBits* has_bits) { + (*has_bits)[0] |= 2u; + } +}; + +const ::zetasql::TypeProto& +StructFieldProto::_Internal::field_type(const StructFieldProto* msg) { + return *msg->field_type_; +} +StructFieldProto::StructFieldProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:zetasql.StructFieldProto) +} +StructFieldProto::StructFieldProto(const StructFieldProto& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + _has_bits_(from._has_bits_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + field_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (from._internal_has_field_name()) { + field_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_field_name(), + GetArenaForAllocation()); + } + if (from._internal_has_field_type()) { + field_type_ = new ::zetasql::TypeProto(*from.field_type_); + } else { + field_type_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:zetasql.StructFieldProto) +} + +inline void StructFieldProto::SharedCtor() { +field_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +field_type_ = nullptr; +} + +StructFieldProto::~StructFieldProto() { + // @@protoc_insertion_point(destructor:zetasql.StructFieldProto) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void StructFieldProto::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + field_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (this != internal_default_instance()) delete field_type_; +} + +void StructFieldProto::ArenaDtor(void* object) { + StructFieldProto* _this = reinterpret_cast< StructFieldProto* >(object); + (void)_this; +} +void StructFieldProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void StructFieldProto::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void StructFieldProto::Clear() { +// @@protoc_insertion_point(message_clear_start:zetasql.StructFieldProto) + ::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) { + field_name_.ClearNonDefaultToEmpty(); + } + if (cached_has_bits & 0x00000002u) { + GOOGLE_DCHECK(field_type_ != nullptr); + field_type_->Clear(); + } + } + _has_bits_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* StructFieldProto::_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 field_name = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_field_name(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + #ifndef NDEBUG + ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "zetasql.StructFieldProto.field_name"); + #endif // !NDEBUG + CHK_(ptr); + } else goto handle_unusual; + continue; + // optional .zetasql.TypeProto field_type = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_field_type(), 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* StructFieldProto::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:zetasql.StructFieldProto) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + cached_has_bits = _has_bits_[0]; + // optional string field_name = 1; + if (cached_has_bits & 0x00000001u) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField( + this->_internal_field_name().data(), static_cast(this->_internal_field_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE, + "zetasql.StructFieldProto.field_name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_field_name(), target); + } + + // optional .zetasql.TypeProto field_type = 2; + if (cached_has_bits & 0x00000002u) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::field_type(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:zetasql.StructFieldProto) + return target; +} + +size_t StructFieldProto::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:zetasql.StructFieldProto) + 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 field_name = 1; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_field_name()); + } + + // optional .zetasql.TypeProto field_type = 2; + if (cached_has_bits & 0x00000002u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *field_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; +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData StructFieldProto::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + StructFieldProto::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*StructFieldProto::GetClassData() const { return &_class_data_; } + +void StructFieldProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, + const ::PROTOBUF_NAMESPACE_ID::Message&from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void StructFieldProto::MergeFrom(const StructFieldProto& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:zetasql.StructFieldProto) + GOOGLE_DCHECK_NE(&from, this); + ::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_field_name(from._internal_field_name()); + } + if (cached_has_bits & 0x00000002u) { + _internal_mutable_field_type()->::zetasql::TypeProto::MergeFrom(from._internal_field_type()); + } + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void StructFieldProto::CopyFrom(const StructFieldProto& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:zetasql.StructFieldProto) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool StructFieldProto::IsInitialized() const { + if (_internal_has_field_type()) { + if (!field_type_->IsInitialized()) return false; + } + return true; +} + +void StructFieldProto::InternalSwap(StructFieldProto* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_has_bits_[0], other->_has_bits_[0]); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &field_name_, GetArenaForAllocation(), + &other->field_name_, other->GetArenaForAllocation() + ); + swap(field_type_, other->field_type_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata StructFieldProto::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_type_2eproto_getter, &descriptor_table_type_2eproto_once, + file_level_metadata_type_2eproto[2]); +} + +// =================================================================== + +class StructTypeProto::_Internal { + public: +}; + +StructTypeProto::StructTypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + field_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:zetasql.StructTypeProto) +} +StructTypeProto::StructTypeProto(const StructTypeProto& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + field_(from.field_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + // @@protoc_insertion_point(copy_constructor:zetasql.StructTypeProto) +} + +inline void StructTypeProto::SharedCtor() { +} + +StructTypeProto::~StructTypeProto() { + // @@protoc_insertion_point(destructor:zetasql.StructTypeProto) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void StructTypeProto::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); +} + +void StructTypeProto::ArenaDtor(void* object) { + StructTypeProto* _this = reinterpret_cast< StructTypeProto* >(object); + (void)_this; +} +void StructTypeProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void StructTypeProto::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void StructTypeProto::Clear() { +// @@protoc_insertion_point(message_clear_start:zetasql.StructTypeProto) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + field_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* StructTypeProto::_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 .zetasql.StructFieldProto field = 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_field(), 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* StructTypeProto::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:zetasql.StructTypeProto) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // repeated .zetasql.StructFieldProto field = 1; + for (unsigned int i = 0, + n = static_cast(this->_internal_field_size()); i < n; i++) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage(1, this->_internal_field(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:zetasql.StructTypeProto) + return target; +} + +size_t StructTypeProto::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:zetasql.StructTypeProto) + 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 .zetasql.StructFieldProto field = 1; + total_size += 1UL * this->_internal_field_size(); + for (const auto& msg : this->field_) { + 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; +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData StructTypeProto::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + StructTypeProto::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*StructTypeProto::GetClassData() const { return &_class_data_; } + +void StructTypeProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, + const ::PROTOBUF_NAMESPACE_ID::Message&from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void StructTypeProto::MergeFrom(const StructTypeProto& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:zetasql.StructTypeProto) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + field_.MergeFrom(from.field_); + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void StructTypeProto::CopyFrom(const StructTypeProto& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:zetasql.StructTypeProto) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool StructTypeProto::IsInitialized() const { + if (!::PROTOBUF_NAMESPACE_ID::internal::AllAreInitialized(field_)) return false; + return true; +} + +void StructTypeProto::InternalSwap(StructTypeProto* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + field_.InternalSwap(&other->field_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata StructTypeProto::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_type_2eproto_getter, &descriptor_table_type_2eproto_once, + file_level_metadata_type_2eproto[3]); +} + +// =================================================================== + +class ProtoTypeProto::_Internal { + public: + using HasBits = decltype(std::declval()._has_bits_); + static void set_has_proto_name(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } + static void set_has_proto_file_name(HasBits* has_bits) { + (*has_bits)[0] |= 2u; + } + static void set_has_file_descriptor_set_index(HasBits* has_bits) { + (*has_bits)[0] |= 4u; + } +}; + +ProtoTypeProto::ProtoTypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + catalog_name_path_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:zetasql.ProtoTypeProto) +} +ProtoTypeProto::ProtoTypeProto(const ProtoTypeProto& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + _has_bits_(from._has_bits_), + catalog_name_path_(from.catalog_name_path_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + proto_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (from._internal_has_proto_name()) { + proto_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_proto_name(), + GetArenaForAllocation()); + } + proto_file_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (from._internal_has_proto_file_name()) { + proto_file_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_proto_file_name(), + GetArenaForAllocation()); + } + file_descriptor_set_index_ = from.file_descriptor_set_index_; + // @@protoc_insertion_point(copy_constructor:zetasql.ProtoTypeProto) +} + +inline void ProtoTypeProto::SharedCtor() { +proto_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +proto_file_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +file_descriptor_set_index_ = 0; +} + +ProtoTypeProto::~ProtoTypeProto() { + // @@protoc_insertion_point(destructor:zetasql.ProtoTypeProto) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void ProtoTypeProto::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + proto_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + proto_file_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void ProtoTypeProto::ArenaDtor(void* object) { + ProtoTypeProto* _this = reinterpret_cast< ProtoTypeProto* >(object); + (void)_this; +} +void ProtoTypeProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void ProtoTypeProto::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void ProtoTypeProto::Clear() { +// @@protoc_insertion_point(message_clear_start:zetasql.ProtoTypeProto) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + catalog_name_path_.Clear(); + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000001u) { + proto_name_.ClearNonDefaultToEmpty(); + } + if (cached_has_bits & 0x00000002u) { + proto_file_name_.ClearNonDefaultToEmpty(); + } + } + file_descriptor_set_index_ = 0; + _has_bits_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ProtoTypeProto::_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 proto_name = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_proto_name(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + #ifndef NDEBUG + ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "zetasql.ProtoTypeProto.proto_name"); + #endif // !NDEBUG + CHK_(ptr); + } else goto handle_unusual; + continue; + // optional string proto_file_name = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_proto_file_name(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + #ifndef NDEBUG + ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "zetasql.ProtoTypeProto.proto_file_name"); + #endif // !NDEBUG + CHK_(ptr); + } else goto handle_unusual; + continue; + // optional int32 file_descriptor_set_index = 3 [default = 0]; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { + _Internal::set_has_file_descriptor_set_index(&has_bits); + file_descriptor_set_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // repeated string catalog_name_path = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + ptr -= 1; + do { + ptr += 1; + auto str = _internal_add_catalog_name_path(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + #ifndef NDEBUG + ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "zetasql.ProtoTypeProto.catalog_name_path"); + #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* ProtoTypeProto::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:zetasql.ProtoTypeProto) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + cached_has_bits = _has_bits_[0]; + // optional string proto_name = 1; + if (cached_has_bits & 0x00000001u) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField( + this->_internal_proto_name().data(), static_cast(this->_internal_proto_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE, + "zetasql.ProtoTypeProto.proto_name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_proto_name(), target); + } + + // optional string proto_file_name = 2; + if (cached_has_bits & 0x00000002u) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField( + this->_internal_proto_file_name().data(), static_cast(this->_internal_proto_file_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE, + "zetasql.ProtoTypeProto.proto_file_name"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_proto_file_name(), target); + } + + // optional int32 file_descriptor_set_index = 3 [default = 0]; + if (cached_has_bits & 0x00000004u) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_file_descriptor_set_index(), target); + } + + // repeated string catalog_name_path = 4; + for (int i = 0, n = this->_internal_catalog_name_path_size(); i < n; i++) { + const auto& s = this->_internal_catalog_name_path(i); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField( + s.data(), static_cast(s.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE, + "zetasql.ProtoTypeProto.catalog_name_path"); + 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:zetasql.ProtoTypeProto) + return target; +} + +size_t ProtoTypeProto::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:zetasql.ProtoTypeProto) + 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 catalog_name_path = 4; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(catalog_name_path_.size()); + for (int i = 0, n = catalog_name_path_.size(); i < n; i++) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + catalog_name_path_.Get(i)); + } + + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000007u) { + // optional string proto_name = 1; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_proto_name()); + } + + // optional string proto_file_name = 2; + if (cached_has_bits & 0x00000002u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_proto_file_name()); + } + + // optional int32 file_descriptor_set_index = 3 [default = 0]; + if (cached_has_bits & 0x00000004u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_file_descriptor_set_index()); + } + + } + 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; +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ProtoTypeProto::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + ProtoTypeProto::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ProtoTypeProto::GetClassData() const { return &_class_data_; } + +void ProtoTypeProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, + const ::PROTOBUF_NAMESPACE_ID::Message&from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void ProtoTypeProto::MergeFrom(const ProtoTypeProto& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:zetasql.ProtoTypeProto) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + catalog_name_path_.MergeFrom(from.catalog_name_path_); + cached_has_bits = from._has_bits_[0]; + if (cached_has_bits & 0x00000007u) { + if (cached_has_bits & 0x00000001u) { + _internal_set_proto_name(from._internal_proto_name()); + } + if (cached_has_bits & 0x00000002u) { + _internal_set_proto_file_name(from._internal_proto_file_name()); + } + if (cached_has_bits & 0x00000004u) { + file_descriptor_set_index_ = from.file_descriptor_set_index_; + } + _has_bits_[0] |= cached_has_bits; + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ProtoTypeProto::CopyFrom(const ProtoTypeProto& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:zetasql.ProtoTypeProto) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ProtoTypeProto::IsInitialized() const { + return true; +} + +void ProtoTypeProto::InternalSwap(ProtoTypeProto* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_has_bits_[0], other->_has_bits_[0]); + catalog_name_path_.InternalSwap(&other->catalog_name_path_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &proto_name_, GetArenaForAllocation(), + &other->proto_name_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &proto_file_name_, GetArenaForAllocation(), + &other->proto_file_name_, other->GetArenaForAllocation() + ); + swap(file_descriptor_set_index_, other->file_descriptor_set_index_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ProtoTypeProto::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_type_2eproto_getter, &descriptor_table_type_2eproto_once, + file_level_metadata_type_2eproto[4]); +} + +// =================================================================== + +class EnumTypeProto::_Internal { + public: + using HasBits = decltype(std::declval()._has_bits_); + static void set_has_enum_name(HasBits* has_bits) { + (*has_bits)[0] |= 1u; + } + static void set_has_enum_file_name(HasBits* has_bits) { + (*has_bits)[0] |= 2u; + } + static void set_has_file_descriptor_set_index(HasBits* has_bits) { + (*has_bits)[0] |= 4u; + } +}; + +EnumTypeProto::EnumTypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + catalog_name_path_(arena) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:zetasql.EnumTypeProto) +} +EnumTypeProto::EnumTypeProto(const EnumTypeProto& from) + : ::PROTOBUF_NAMESPACE_ID::Message(), + _has_bits_(from._has_bits_), + catalog_name_path_(from.catalog_name_path_) { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + enum_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (from._internal_has_enum_name()) { + enum_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_enum_name(), + GetArenaForAllocation()); + } + enum_file_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (from._internal_has_enum_file_name()) { + enum_file_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_enum_file_name(), + GetArenaForAllocation()); + } + file_descriptor_set_index_ = from.file_descriptor_set_index_; + // @@protoc_insertion_point(copy_constructor:zetasql.EnumTypeProto) +} + +inline void EnumTypeProto::SharedCtor() { +enum_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +enum_file_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +file_descriptor_set_index_ = 0; +} + +EnumTypeProto::~EnumTypeProto() { + // @@protoc_insertion_point(destructor:zetasql.EnumTypeProto) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void EnumTypeProto::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + enum_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + enum_file_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +} + +void EnumTypeProto::ArenaDtor(void* object) { + EnumTypeProto* _this = reinterpret_cast< EnumTypeProto* >(object); + (void)_this; +} +void EnumTypeProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void EnumTypeProto::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void EnumTypeProto::Clear() { +// @@protoc_insertion_point(message_clear_start:zetasql.EnumTypeProto) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + catalog_name_path_.Clear(); + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000001u) { + enum_name_.ClearNonDefaultToEmpty(); + } + if (cached_has_bits & 0x00000002u) { + enum_file_name_.ClearNonDefaultToEmpty(); + } + } + file_descriptor_set_index_ = 0; + _has_bits_.Clear(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* EnumTypeProto::_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 enum_name = 1; + case 1: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { + auto str = _internal_mutable_enum_name(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + #ifndef NDEBUG + ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "zetasql.EnumTypeProto.enum_name"); + #endif // !NDEBUG + CHK_(ptr); + } else goto handle_unusual; + continue; + // optional string enum_file_name = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + auto str = _internal_mutable_enum_file_name(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + #ifndef NDEBUG + ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "zetasql.EnumTypeProto.enum_file_name"); + #endif // !NDEBUG + CHK_(ptr); + } else goto handle_unusual; + continue; + // optional int32 file_descriptor_set_index = 3 [default = 0]; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { + _Internal::set_has_file_descriptor_set_index(&has_bits); + file_descriptor_set_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // repeated string catalog_name_path = 4; + case 4: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { + ptr -= 1; + do { + ptr += 1; + auto str = _internal_add_catalog_name_path(); + ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); + #ifndef NDEBUG + ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "zetasql.EnumTypeProto.catalog_name_path"); + #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* EnumTypeProto::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:zetasql.EnumTypeProto) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + cached_has_bits = _has_bits_[0]; + // optional string enum_name = 1; + if (cached_has_bits & 0x00000001u) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField( + this->_internal_enum_name().data(), static_cast(this->_internal_enum_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE, + "zetasql.EnumTypeProto.enum_name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_enum_name(), target); + } + + // optional string enum_file_name = 2; + if (cached_has_bits & 0x00000002u) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField( + this->_internal_enum_file_name().data(), static_cast(this->_internal_enum_file_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE, + "zetasql.EnumTypeProto.enum_file_name"); + target = stream->WriteStringMaybeAliased( + 2, this->_internal_enum_file_name(), target); + } + + // optional int32 file_descriptor_set_index = 3 [default = 0]; + if (cached_has_bits & 0x00000004u) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_file_descriptor_set_index(), target); + } + + // repeated string catalog_name_path = 4; + for (int i = 0, n = this->_internal_catalog_name_path_size(); i < n; i++) { + const auto& s = this->_internal_catalog_name_path(i); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField( + s.data(), static_cast(s.length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE, + "zetasql.EnumTypeProto.catalog_name_path"); + 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:zetasql.EnumTypeProto) + return target; +} + +size_t EnumTypeProto::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:zetasql.EnumTypeProto) + 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 catalog_name_path = 4; + total_size += 1 * + ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(catalog_name_path_.size()); + for (int i = 0, n = catalog_name_path_.size(); i < n; i++) { + total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + catalog_name_path_.Get(i)); + } + + cached_has_bits = _has_bits_[0]; + if (cached_has_bits & 0x00000007u) { + // optional string enum_name = 1; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_enum_name()); + } + + // optional string enum_file_name = 2; + if (cached_has_bits & 0x00000002u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_enum_file_name()); + } + + // optional int32 file_descriptor_set_index = 3 [default = 0]; + if (cached_has_bits & 0x00000004u) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( + this->_internal_file_descriptor_set_index()); + } + + } + 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; +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData EnumTypeProto::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + EnumTypeProto::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*EnumTypeProto::GetClassData() const { return &_class_data_; } + +void EnumTypeProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, + const ::PROTOBUF_NAMESPACE_ID::Message&from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void EnumTypeProto::MergeFrom(const EnumTypeProto& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:zetasql.EnumTypeProto) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + catalog_name_path_.MergeFrom(from.catalog_name_path_); + cached_has_bits = from._has_bits_[0]; + if (cached_has_bits & 0x00000007u) { + if (cached_has_bits & 0x00000001u) { + _internal_set_enum_name(from._internal_enum_name()); + } + if (cached_has_bits & 0x00000002u) { + _internal_set_enum_file_name(from._internal_enum_file_name()); + } + if (cached_has_bits & 0x00000004u) { + file_descriptor_set_index_ = from.file_descriptor_set_index_; + } + _has_bits_[0] |= cached_has_bits; + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void EnumTypeProto::CopyFrom(const EnumTypeProto& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:zetasql.EnumTypeProto) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool EnumTypeProto::IsInitialized() const { + return true; +} + +void EnumTypeProto::InternalSwap(EnumTypeProto* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_has_bits_[0], other->_has_bits_[0]); + catalog_name_path_.InternalSwap(&other->catalog_name_path_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &enum_name_, GetArenaForAllocation(), + &other->enum_name_, other->GetArenaForAllocation() + ); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &enum_file_name_, GetArenaForAllocation(), + &other->enum_file_name_, other->GetArenaForAllocation() + ); + swap(file_descriptor_set_index_, other->file_descriptor_set_index_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata EnumTypeProto::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_type_2eproto_getter, &descriptor_table_type_2eproto_once, + file_level_metadata_type_2eproto[5]); +} + +// @@protoc_insertion_point(namespace_scope) +} // namespace zetasql +PROTOBUF_NAMESPACE_OPEN +template<> PROTOBUF_NOINLINE ::zetasql::TypeProto* Arena::CreateMaybeMessage< ::zetasql::TypeProto >(Arena* arena) { + return Arena::CreateMessageInternal< ::zetasql::TypeProto >(arena); +} +template<> PROTOBUF_NOINLINE ::zetasql::ArrayTypeProto* Arena::CreateMaybeMessage< ::zetasql::ArrayTypeProto >(Arena* arena) { + return Arena::CreateMessageInternal< ::zetasql::ArrayTypeProto >(arena); +} +template<> PROTOBUF_NOINLINE ::zetasql::StructFieldProto* Arena::CreateMaybeMessage< ::zetasql::StructFieldProto >(Arena* arena) { + return Arena::CreateMessageInternal< ::zetasql::StructFieldProto >(arena); +} +template<> PROTOBUF_NOINLINE ::zetasql::StructTypeProto* Arena::CreateMaybeMessage< ::zetasql::StructTypeProto >(Arena* arena) { + return Arena::CreateMessageInternal< ::zetasql::StructTypeProto >(arena); +} +template<> PROTOBUF_NOINLINE ::zetasql::ProtoTypeProto* Arena::CreateMaybeMessage< ::zetasql::ProtoTypeProto >(Arena* arena) { + return Arena::CreateMessageInternal< ::zetasql::ProtoTypeProto >(arena); +} +template<> PROTOBUF_NOINLINE ::zetasql::EnumTypeProto* Arena::CreateMaybeMessage< ::zetasql::EnumTypeProto >(Arena* arena) { + return Arena::CreateMessageInternal< ::zetasql::EnumTypeProto >(arena); +} +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) +#include diff --git a/alphasql/proto/type.pb.h b/alphasql/proto/type.pb.h new file mode 100644 index 00000000..ca75622f --- /dev/null +++ b/alphasql/proto/type.pb.h @@ -0,0 +1,2511 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: type.proto + +#ifndef GOOGLE_PROTOBUF_INCLUDED_type_2eproto +#define GOOGLE_PROTOBUF_INCLUDED_type_2eproto + +#include +#include + +#include +#if PROTOBUF_VERSION < 3017000 +#error This file was generated by a newer version of protoc which is +#error incompatible with your Protocol Buffer headers. Please update +#error your headers. +#endif +#if 3017003 < PROTOBUF_MIN_PROTOC_VERSION +#error This file was generated by an older version of protoc which is +#error incompatible with your Protocol Buffer headers. Please +#error regenerate this file with a newer version of protoc. +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // IWYU pragma: export +#include // IWYU pragma: export +#include +#include +#include +// @@protoc_insertion_point(includes) +#include +#define PROTOBUF_INTERNAL_EXPORT_type_2eproto +PROTOBUF_NAMESPACE_OPEN +namespace internal { +class AnyMetadata; +} // namespace internal +PROTOBUF_NAMESPACE_CLOSE + +// Internal implementation detail -- do not use these members. +struct TableStruct_type_2eproto { + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[6] + PROTOBUF_SECTION_VARIABLE(protodesc_cold); + static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; + static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; + static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]; +}; +extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_type_2eproto; +namespace zetasql { +class ArrayTypeProto; +struct ArrayTypeProtoDefaultTypeInternal; +extern ArrayTypeProtoDefaultTypeInternal _ArrayTypeProto_default_instance_; +class EnumTypeProto; +struct EnumTypeProtoDefaultTypeInternal; +extern EnumTypeProtoDefaultTypeInternal _EnumTypeProto_default_instance_; +class ProtoTypeProto; +struct ProtoTypeProtoDefaultTypeInternal; +extern ProtoTypeProtoDefaultTypeInternal _ProtoTypeProto_default_instance_; +class StructFieldProto; +struct StructFieldProtoDefaultTypeInternal; +extern StructFieldProtoDefaultTypeInternal _StructFieldProto_default_instance_; +class StructTypeProto; +struct StructTypeProtoDefaultTypeInternal; +extern StructTypeProtoDefaultTypeInternal _StructTypeProto_default_instance_; +class TypeProto; +struct TypeProtoDefaultTypeInternal; +extern TypeProtoDefaultTypeInternal _TypeProto_default_instance_; +} // namespace zetasql +PROTOBUF_NAMESPACE_OPEN +template<> ::zetasql::ArrayTypeProto* Arena::CreateMaybeMessage<::zetasql::ArrayTypeProto>(Arena*); +template<> ::zetasql::EnumTypeProto* Arena::CreateMaybeMessage<::zetasql::EnumTypeProto>(Arena*); +template<> ::zetasql::ProtoTypeProto* Arena::CreateMaybeMessage<::zetasql::ProtoTypeProto>(Arena*); +template<> ::zetasql::StructFieldProto* Arena::CreateMaybeMessage<::zetasql::StructFieldProto>(Arena*); +template<> ::zetasql::StructTypeProto* Arena::CreateMaybeMessage<::zetasql::StructTypeProto>(Arena*); +template<> ::zetasql::TypeProto* Arena::CreateMaybeMessage<::zetasql::TypeProto>(Arena*); +PROTOBUF_NAMESPACE_CLOSE +namespace zetasql { + +enum TypeKind : int { + __TypeKind__switch_must_have_a_default__ = -1, + TYPE_UNKNOWN = 0, + TYPE_INT32 = 1, + TYPE_INT64 = 2, + TYPE_UINT32 = 3, + TYPE_UINT64 = 4, + TYPE_BOOL = 5, + TYPE_FLOAT = 6, + TYPE_DOUBLE = 7, + TYPE_STRING = 8, + TYPE_BYTES = 9, + TYPE_DATE = 10, + TYPE_TIMESTAMP = 19, + TYPE_ENUM = 15, + TYPE_ARRAY = 16, + TYPE_STRUCT = 17, + TYPE_PROTO = 18, + TYPE_TIME = 20, + TYPE_DATETIME = 21, + TYPE_GEOGRAPHY = 22, + TYPE_NUMERIC = 23, + TYPE_BIGNUMERIC = 24, + TYPE_EXTENDED = 25, + TYPE_JSON = 26, + TYPE_INTERVAL = 27, + TYPE_TOKENLIST = 28 +}; +bool TypeKind_IsValid(int value); +constexpr TypeKind TypeKind_MIN = __TypeKind__switch_must_have_a_default__; +constexpr TypeKind TypeKind_MAX = TYPE_TOKENLIST; +constexpr int TypeKind_ARRAYSIZE = TypeKind_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* TypeKind_descriptor(); +template +inline const std::string& TypeKind_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function TypeKind_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + TypeKind_descriptor(), enum_t_value); +} +inline bool TypeKind_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, TypeKind* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + TypeKind_descriptor(), name, value); +} +// =================================================================== + +class TypeProto final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:zetasql.TypeProto) */ { + public: + inline TypeProto() : TypeProto(nullptr) {} + ~TypeProto() override; + explicit constexpr TypeProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + TypeProto(const TypeProto& from); + TypeProto(TypeProto&& from) noexcept + : TypeProto() { + *this = ::std::move(from); + } + + inline TypeProto& operator=(const TypeProto& from) { + CopyFrom(from); + return *this; + } + inline TypeProto& operator=(TypeProto&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const TypeProto& default_instance() { + return *internal_default_instance(); + } + static inline const TypeProto* internal_default_instance() { + return reinterpret_cast( + &_TypeProto_default_instance_); + } + static constexpr int kIndexInFileMessages = + 0; + + friend void swap(TypeProto& a, TypeProto& b) { + a.Swap(&b); + } + inline void Swap(TypeProto* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(TypeProto* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline TypeProto* New() const final { + return new TypeProto(); + } + + TypeProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const TypeProto& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const TypeProto& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(TypeProto* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "zetasql.TypeProto"; + } + protected: + explicit TypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kFileDescriptorSetFieldNumber = 6, + kArrayTypeFieldNumber = 2, + kStructTypeFieldNumber = 3, + kProtoTypeFieldNumber = 4, + kEnumTypeFieldNumber = 5, + kTypeKindFieldNumber = 1, + }; + // repeated .google.protobuf.FileDescriptorSet file_descriptor_set = 6; + int file_descriptor_set_size() const; + private: + int _internal_file_descriptor_set_size() const; + public: + void clear_file_descriptor_set(); + PROTOBUF_NAMESPACE_ID::FileDescriptorSet* mutable_file_descriptor_set(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< PROTOBUF_NAMESPACE_ID::FileDescriptorSet >* + mutable_file_descriptor_set(); + private: + const PROTOBUF_NAMESPACE_ID::FileDescriptorSet& _internal_file_descriptor_set(int index) const; + PROTOBUF_NAMESPACE_ID::FileDescriptorSet* _internal_add_file_descriptor_set(); + public: + const PROTOBUF_NAMESPACE_ID::FileDescriptorSet& file_descriptor_set(int index) const; + PROTOBUF_NAMESPACE_ID::FileDescriptorSet* add_file_descriptor_set(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< PROTOBUF_NAMESPACE_ID::FileDescriptorSet >& + file_descriptor_set() const; + + // optional .zetasql.ArrayTypeProto array_type = 2; + bool has_array_type() const; + private: + bool _internal_has_array_type() const; + public: + void clear_array_type(); + const ::zetasql::ArrayTypeProto& array_type() const; + PROTOBUF_MUST_USE_RESULT ::zetasql::ArrayTypeProto* release_array_type(); + ::zetasql::ArrayTypeProto* mutable_array_type(); + void set_allocated_array_type(::zetasql::ArrayTypeProto* array_type); + private: + const ::zetasql::ArrayTypeProto& _internal_array_type() const; + ::zetasql::ArrayTypeProto* _internal_mutable_array_type(); + public: + void unsafe_arena_set_allocated_array_type( + ::zetasql::ArrayTypeProto* array_type); + ::zetasql::ArrayTypeProto* unsafe_arena_release_array_type(); + + // optional .zetasql.StructTypeProto struct_type = 3; + bool has_struct_type() const; + private: + bool _internal_has_struct_type() const; + public: + void clear_struct_type(); + const ::zetasql::StructTypeProto& struct_type() const; + PROTOBUF_MUST_USE_RESULT ::zetasql::StructTypeProto* release_struct_type(); + ::zetasql::StructTypeProto* mutable_struct_type(); + void set_allocated_struct_type(::zetasql::StructTypeProto* struct_type); + private: + const ::zetasql::StructTypeProto& _internal_struct_type() const; + ::zetasql::StructTypeProto* _internal_mutable_struct_type(); + public: + void unsafe_arena_set_allocated_struct_type( + ::zetasql::StructTypeProto* struct_type); + ::zetasql::StructTypeProto* unsafe_arena_release_struct_type(); + + // optional .zetasql.ProtoTypeProto proto_type = 4; + bool has_proto_type() const; + private: + bool _internal_has_proto_type() const; + public: + void clear_proto_type(); + const ::zetasql::ProtoTypeProto& proto_type() const; + PROTOBUF_MUST_USE_RESULT ::zetasql::ProtoTypeProto* release_proto_type(); + ::zetasql::ProtoTypeProto* mutable_proto_type(); + void set_allocated_proto_type(::zetasql::ProtoTypeProto* proto_type); + private: + const ::zetasql::ProtoTypeProto& _internal_proto_type() const; + ::zetasql::ProtoTypeProto* _internal_mutable_proto_type(); + public: + void unsafe_arena_set_allocated_proto_type( + ::zetasql::ProtoTypeProto* proto_type); + ::zetasql::ProtoTypeProto* unsafe_arena_release_proto_type(); + + // optional .zetasql.EnumTypeProto enum_type = 5; + bool has_enum_type() const; + private: + bool _internal_has_enum_type() const; + public: + void clear_enum_type(); + const ::zetasql::EnumTypeProto& enum_type() const; + PROTOBUF_MUST_USE_RESULT ::zetasql::EnumTypeProto* release_enum_type(); + ::zetasql::EnumTypeProto* mutable_enum_type(); + void set_allocated_enum_type(::zetasql::EnumTypeProto* enum_type); + private: + const ::zetasql::EnumTypeProto& _internal_enum_type() const; + ::zetasql::EnumTypeProto* _internal_mutable_enum_type(); + public: + void unsafe_arena_set_allocated_enum_type( + ::zetasql::EnumTypeProto* enum_type); + ::zetasql::EnumTypeProto* unsafe_arena_release_enum_type(); + + // optional .zetasql.TypeKind type_kind = 1; + bool has_type_kind() const; + private: + bool _internal_has_type_kind() const; + public: + void clear_type_kind(); + ::zetasql::TypeKind type_kind() const; + void set_type_kind(::zetasql::TypeKind value); + private: + ::zetasql::TypeKind _internal_type_kind() const; + void _internal_set_type_kind(::zetasql::TypeKind value); + public: + + // @@protoc_insertion_point(class_scope:zetasql.TypeProto) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< PROTOBUF_NAMESPACE_ID::FileDescriptorSet > file_descriptor_set_; + ::zetasql::ArrayTypeProto* array_type_; + ::zetasql::StructTypeProto* struct_type_; + ::zetasql::ProtoTypeProto* proto_type_; + ::zetasql::EnumTypeProto* enum_type_; + int type_kind_; + friend struct ::TableStruct_type_2eproto; +}; +// ------------------------------------------------------------------- + +class ArrayTypeProto final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:zetasql.ArrayTypeProto) */ { + public: + inline ArrayTypeProto() : ArrayTypeProto(nullptr) {} + ~ArrayTypeProto() override; + explicit constexpr ArrayTypeProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ArrayTypeProto(const ArrayTypeProto& from); + ArrayTypeProto(ArrayTypeProto&& from) noexcept + : ArrayTypeProto() { + *this = ::std::move(from); + } + + inline ArrayTypeProto& operator=(const ArrayTypeProto& from) { + CopyFrom(from); + return *this; + } + inline ArrayTypeProto& operator=(ArrayTypeProto&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ArrayTypeProto& default_instance() { + return *internal_default_instance(); + } + static inline const ArrayTypeProto* internal_default_instance() { + return reinterpret_cast( + &_ArrayTypeProto_default_instance_); + } + static constexpr int kIndexInFileMessages = + 1; + + friend void swap(ArrayTypeProto& a, ArrayTypeProto& b) { + a.Swap(&b); + } + inline void Swap(ArrayTypeProto* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ArrayTypeProto* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ArrayTypeProto* New() const final { + return new ArrayTypeProto(); + } + + ArrayTypeProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ArrayTypeProto& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const ArrayTypeProto& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ArrayTypeProto* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "zetasql.ArrayTypeProto"; + } + protected: + explicit ArrayTypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kElementTypeFieldNumber = 1, + }; + // optional .zetasql.TypeProto element_type = 1; + bool has_element_type() const; + private: + bool _internal_has_element_type() const; + public: + void clear_element_type(); + const ::zetasql::TypeProto& element_type() const; + PROTOBUF_MUST_USE_RESULT ::zetasql::TypeProto* release_element_type(); + ::zetasql::TypeProto* mutable_element_type(); + void set_allocated_element_type(::zetasql::TypeProto* element_type); + private: + const ::zetasql::TypeProto& _internal_element_type() const; + ::zetasql::TypeProto* _internal_mutable_element_type(); + public: + void unsafe_arena_set_allocated_element_type( + ::zetasql::TypeProto* element_type); + ::zetasql::TypeProto* unsafe_arena_release_element_type(); + + // @@protoc_insertion_point(class_scope:zetasql.ArrayTypeProto) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::zetasql::TypeProto* element_type_; + friend struct ::TableStruct_type_2eproto; +}; +// ------------------------------------------------------------------- + +class StructFieldProto final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:zetasql.StructFieldProto) */ { + public: + inline StructFieldProto() : StructFieldProto(nullptr) {} + ~StructFieldProto() override; + explicit constexpr StructFieldProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + StructFieldProto(const StructFieldProto& from); + StructFieldProto(StructFieldProto&& from) noexcept + : StructFieldProto() { + *this = ::std::move(from); + } + + inline StructFieldProto& operator=(const StructFieldProto& from) { + CopyFrom(from); + return *this; + } + inline StructFieldProto& operator=(StructFieldProto&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const StructFieldProto& default_instance() { + return *internal_default_instance(); + } + static inline const StructFieldProto* internal_default_instance() { + return reinterpret_cast( + &_StructFieldProto_default_instance_); + } + static constexpr int kIndexInFileMessages = + 2; + + friend void swap(StructFieldProto& a, StructFieldProto& b) { + a.Swap(&b); + } + inline void Swap(StructFieldProto* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(StructFieldProto* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline StructFieldProto* New() const final { + return new StructFieldProto(); + } + + StructFieldProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const StructFieldProto& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const StructFieldProto& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(StructFieldProto* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "zetasql.StructFieldProto"; + } + protected: + explicit StructFieldProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kFieldNameFieldNumber = 1, + kFieldTypeFieldNumber = 2, + }; + // optional string field_name = 1; + bool has_field_name() const; + private: + bool _internal_has_field_name() const; + public: + void clear_field_name(); + const std::string& field_name() const; + template + void set_field_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_field_name(); + PROTOBUF_MUST_USE_RESULT std::string* release_field_name(); + void set_allocated_field_name(std::string* field_name); + private: + const std::string& _internal_field_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_field_name(const std::string& value); + std::string* _internal_mutable_field_name(); + public: + + // optional .zetasql.TypeProto field_type = 2; + bool has_field_type() const; + private: + bool _internal_has_field_type() const; + public: + void clear_field_type(); + const ::zetasql::TypeProto& field_type() const; + PROTOBUF_MUST_USE_RESULT ::zetasql::TypeProto* release_field_type(); + ::zetasql::TypeProto* mutable_field_type(); + void set_allocated_field_type(::zetasql::TypeProto* field_type); + private: + const ::zetasql::TypeProto& _internal_field_type() const; + ::zetasql::TypeProto* _internal_mutable_field_type(); + public: + void unsafe_arena_set_allocated_field_type( + ::zetasql::TypeProto* field_type); + ::zetasql::TypeProto* unsafe_arena_release_field_type(); + + // @@protoc_insertion_point(class_scope:zetasql.StructFieldProto) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr field_name_; + ::zetasql::TypeProto* field_type_; + friend struct ::TableStruct_type_2eproto; +}; +// ------------------------------------------------------------------- + +class StructTypeProto final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:zetasql.StructTypeProto) */ { + public: + inline StructTypeProto() : StructTypeProto(nullptr) {} + ~StructTypeProto() override; + explicit constexpr StructTypeProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + StructTypeProto(const StructTypeProto& from); + StructTypeProto(StructTypeProto&& from) noexcept + : StructTypeProto() { + *this = ::std::move(from); + } + + inline StructTypeProto& operator=(const StructTypeProto& from) { + CopyFrom(from); + return *this; + } + inline StructTypeProto& operator=(StructTypeProto&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const StructTypeProto& default_instance() { + return *internal_default_instance(); + } + static inline const StructTypeProto* internal_default_instance() { + return reinterpret_cast( + &_StructTypeProto_default_instance_); + } + static constexpr int kIndexInFileMessages = + 3; + + friend void swap(StructTypeProto& a, StructTypeProto& b) { + a.Swap(&b); + } + inline void Swap(StructTypeProto* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(StructTypeProto* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline StructTypeProto* New() const final { + return new StructTypeProto(); + } + + StructTypeProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const StructTypeProto& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const StructTypeProto& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(StructTypeProto* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "zetasql.StructTypeProto"; + } + protected: + explicit StructTypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kFieldFieldNumber = 1, + }; + // repeated .zetasql.StructFieldProto field = 1; + int field_size() const; + private: + int _internal_field_size() const; + public: + void clear_field(); + ::zetasql::StructFieldProto* mutable_field(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::zetasql::StructFieldProto >* + mutable_field(); + private: + const ::zetasql::StructFieldProto& _internal_field(int index) const; + ::zetasql::StructFieldProto* _internal_add_field(); + public: + const ::zetasql::StructFieldProto& field(int index) const; + ::zetasql::StructFieldProto* add_field(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::zetasql::StructFieldProto >& + field() const; + + // @@protoc_insertion_point(class_scope:zetasql.StructTypeProto) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::zetasql::StructFieldProto > field_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_type_2eproto; +}; +// ------------------------------------------------------------------- + +class ProtoTypeProto final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:zetasql.ProtoTypeProto) */ { + public: + inline ProtoTypeProto() : ProtoTypeProto(nullptr) {} + ~ProtoTypeProto() override; + explicit constexpr ProtoTypeProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ProtoTypeProto(const ProtoTypeProto& from); + ProtoTypeProto(ProtoTypeProto&& from) noexcept + : ProtoTypeProto() { + *this = ::std::move(from); + } + + inline ProtoTypeProto& operator=(const ProtoTypeProto& from) { + CopyFrom(from); + return *this; + } + inline ProtoTypeProto& operator=(ProtoTypeProto&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ProtoTypeProto& default_instance() { + return *internal_default_instance(); + } + static inline const ProtoTypeProto* internal_default_instance() { + return reinterpret_cast( + &_ProtoTypeProto_default_instance_); + } + static constexpr int kIndexInFileMessages = + 4; + + friend void swap(ProtoTypeProto& a, ProtoTypeProto& b) { + a.Swap(&b); + } + inline void Swap(ProtoTypeProto* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ProtoTypeProto* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ProtoTypeProto* New() const final { + return new ProtoTypeProto(); + } + + ProtoTypeProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ProtoTypeProto& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const ProtoTypeProto& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ProtoTypeProto* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "zetasql.ProtoTypeProto"; + } + protected: + explicit ProtoTypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kCatalogNamePathFieldNumber = 4, + kProtoNameFieldNumber = 1, + kProtoFileNameFieldNumber = 2, + kFileDescriptorSetIndexFieldNumber = 3, + }; + // repeated string catalog_name_path = 4; + int catalog_name_path_size() const; + private: + int _internal_catalog_name_path_size() const; + public: + void clear_catalog_name_path(); + const std::string& catalog_name_path(int index) const; + std::string* mutable_catalog_name_path(int index); + void set_catalog_name_path(int index, const std::string& value); + void set_catalog_name_path(int index, std::string&& value); + void set_catalog_name_path(int index, const char* value); + void set_catalog_name_path(int index, const char* value, size_t size); + std::string* add_catalog_name_path(); + void add_catalog_name_path(const std::string& value); + void add_catalog_name_path(std::string&& value); + void add_catalog_name_path(const char* value); + void add_catalog_name_path(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& catalog_name_path() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_catalog_name_path(); + private: + const std::string& _internal_catalog_name_path(int index) const; + std::string* _internal_add_catalog_name_path(); + public: + + // optional string proto_name = 1; + bool has_proto_name() const; + private: + bool _internal_has_proto_name() const; + public: + void clear_proto_name(); + const std::string& proto_name() const; + template + void set_proto_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_proto_name(); + PROTOBUF_MUST_USE_RESULT std::string* release_proto_name(); + void set_allocated_proto_name(std::string* proto_name); + private: + const std::string& _internal_proto_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_proto_name(const std::string& value); + std::string* _internal_mutable_proto_name(); + public: + + // optional string proto_file_name = 2; + bool has_proto_file_name() const; + private: + bool _internal_has_proto_file_name() const; + public: + void clear_proto_file_name(); + const std::string& proto_file_name() const; + template + void set_proto_file_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_proto_file_name(); + PROTOBUF_MUST_USE_RESULT std::string* release_proto_file_name(); + void set_allocated_proto_file_name(std::string* proto_file_name); + private: + const std::string& _internal_proto_file_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_proto_file_name(const std::string& value); + std::string* _internal_mutable_proto_file_name(); + public: + + // optional int32 file_descriptor_set_index = 3 [default = 0]; + bool has_file_descriptor_set_index() const; + private: + bool _internal_has_file_descriptor_set_index() const; + public: + void clear_file_descriptor_set_index(); + ::PROTOBUF_NAMESPACE_ID::int32 file_descriptor_set_index() const; + void set_file_descriptor_set_index(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_file_descriptor_set_index() const; + void _internal_set_file_descriptor_set_index(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // @@protoc_insertion_point(class_scope:zetasql.ProtoTypeProto) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField catalog_name_path_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr proto_name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr proto_file_name_; + ::PROTOBUF_NAMESPACE_ID::int32 file_descriptor_set_index_; + friend struct ::TableStruct_type_2eproto; +}; +// ------------------------------------------------------------------- + +class EnumTypeProto final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:zetasql.EnumTypeProto) */ { + public: + inline EnumTypeProto() : EnumTypeProto(nullptr) {} + ~EnumTypeProto() override; + explicit constexpr EnumTypeProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + EnumTypeProto(const EnumTypeProto& from); + EnumTypeProto(EnumTypeProto&& from) noexcept + : EnumTypeProto() { + *this = ::std::move(from); + } + + inline EnumTypeProto& operator=(const EnumTypeProto& from) { + CopyFrom(from); + return *this; + } + inline EnumTypeProto& operator=(EnumTypeProto&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { + return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); + } + inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { + return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const EnumTypeProto& default_instance() { + return *internal_default_instance(); + } + static inline const EnumTypeProto* internal_default_instance() { + return reinterpret_cast( + &_EnumTypeProto_default_instance_); + } + static constexpr int kIndexInFileMessages = + 5; + + friend void swap(EnumTypeProto& a, EnumTypeProto& b) { + a.Swap(&b); + } + inline void Swap(EnumTypeProto* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(EnumTypeProto* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline EnumTypeProto* New() const final { + return new EnumTypeProto(); + } + + EnumTypeProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const EnumTypeProto& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const EnumTypeProto& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(EnumTypeProto* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "zetasql.EnumTypeProto"; + } + protected: + explicit EnumTypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kCatalogNamePathFieldNumber = 4, + kEnumNameFieldNumber = 1, + kEnumFileNameFieldNumber = 2, + kFileDescriptorSetIndexFieldNumber = 3, + }; + // repeated string catalog_name_path = 4; + int catalog_name_path_size() const; + private: + int _internal_catalog_name_path_size() const; + public: + void clear_catalog_name_path(); + const std::string& catalog_name_path(int index) const; + std::string* mutable_catalog_name_path(int index); + void set_catalog_name_path(int index, const std::string& value); + void set_catalog_name_path(int index, std::string&& value); + void set_catalog_name_path(int index, const char* value); + void set_catalog_name_path(int index, const char* value, size_t size); + std::string* add_catalog_name_path(); + void add_catalog_name_path(const std::string& value); + void add_catalog_name_path(std::string&& value); + void add_catalog_name_path(const char* value); + void add_catalog_name_path(const char* value, size_t size); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& catalog_name_path() const; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_catalog_name_path(); + private: + const std::string& _internal_catalog_name_path(int index) const; + std::string* _internal_add_catalog_name_path(); + public: + + // optional string enum_name = 1; + bool has_enum_name() const; + private: + bool _internal_has_enum_name() const; + public: + void clear_enum_name(); + const std::string& enum_name() const; + template + void set_enum_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_enum_name(); + PROTOBUF_MUST_USE_RESULT std::string* release_enum_name(); + void set_allocated_enum_name(std::string* enum_name); + private: + const std::string& _internal_enum_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_enum_name(const std::string& value); + std::string* _internal_mutable_enum_name(); + public: + + // optional string enum_file_name = 2; + bool has_enum_file_name() const; + private: + bool _internal_has_enum_file_name() const; + public: + void clear_enum_file_name(); + const std::string& enum_file_name() const; + template + void set_enum_file_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_enum_file_name(); + PROTOBUF_MUST_USE_RESULT std::string* release_enum_file_name(); + void set_allocated_enum_file_name(std::string* enum_file_name); + private: + const std::string& _internal_enum_file_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_enum_file_name(const std::string& value); + std::string* _internal_mutable_enum_file_name(); + public: + + // optional int32 file_descriptor_set_index = 3 [default = 0]; + bool has_file_descriptor_set_index() const; + private: + bool _internal_has_file_descriptor_set_index() const; + public: + void clear_file_descriptor_set_index(); + ::PROTOBUF_NAMESPACE_ID::int32 file_descriptor_set_index() const; + void set_file_descriptor_set_index(::PROTOBUF_NAMESPACE_ID::int32 value); + private: + ::PROTOBUF_NAMESPACE_ID::int32 _internal_file_descriptor_set_index() const; + void _internal_set_file_descriptor_set_index(::PROTOBUF_NAMESPACE_ID::int32 value); + public: + + // @@protoc_insertion_point(class_scope:zetasql.EnumTypeProto) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField catalog_name_path_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr enum_name_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr enum_file_name_; + ::PROTOBUF_NAMESPACE_ID::int32 file_descriptor_set_index_; + friend struct ::TableStruct_type_2eproto; +}; +// =================================================================== + + +// =================================================================== + +#ifdef __GNUC__ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// TypeProto + +// optional .zetasql.TypeKind type_kind = 1; +inline bool TypeProto::_internal_has_type_kind() const { + bool value = (_has_bits_[0] & 0x00000010u) != 0; + return value; +} +inline bool TypeProto::has_type_kind() const { + return _internal_has_type_kind(); +} +inline void TypeProto::clear_type_kind() { + type_kind_ = -1; + _has_bits_[0] &= ~0x00000010u; +} +inline ::zetasql::TypeKind TypeProto::_internal_type_kind() const { + return static_cast< ::zetasql::TypeKind >(type_kind_); +} +inline ::zetasql::TypeKind TypeProto::type_kind() const { + // @@protoc_insertion_point(field_get:zetasql.TypeProto.type_kind) + return _internal_type_kind(); +} +inline void TypeProto::_internal_set_type_kind(::zetasql::TypeKind value) { + assert(::zetasql::TypeKind_IsValid(value)); + _has_bits_[0] |= 0x00000010u; + type_kind_ = value; +} +inline void TypeProto::set_type_kind(::zetasql::TypeKind value) { + _internal_set_type_kind(value); + // @@protoc_insertion_point(field_set:zetasql.TypeProto.type_kind) +} + +// optional .zetasql.ArrayTypeProto array_type = 2; +inline bool TypeProto::_internal_has_array_type() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || array_type_ != nullptr); + return value; +} +inline bool TypeProto::has_array_type() const { + return _internal_has_array_type(); +} +inline void TypeProto::clear_array_type() { + if (array_type_ != nullptr) array_type_->Clear(); + _has_bits_[0] &= ~0x00000001u; +} +inline const ::zetasql::ArrayTypeProto& TypeProto::_internal_array_type() const { + const ::zetasql::ArrayTypeProto* p = array_type_; + return p != nullptr ? *p : reinterpret_cast( + ::zetasql::_ArrayTypeProto_default_instance_); +} +inline const ::zetasql::ArrayTypeProto& TypeProto::array_type() const { + // @@protoc_insertion_point(field_get:zetasql.TypeProto.array_type) + return _internal_array_type(); +} +inline void TypeProto::unsafe_arena_set_allocated_array_type( + ::zetasql::ArrayTypeProto* array_type) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(array_type_); + } + array_type_ = array_type; + if (array_type) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:zetasql.TypeProto.array_type) +} +inline ::zetasql::ArrayTypeProto* TypeProto::release_array_type() { + _has_bits_[0] &= ~0x00000001u; + ::zetasql::ArrayTypeProto* temp = array_type_; + array_type_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::zetasql::ArrayTypeProto* TypeProto::unsafe_arena_release_array_type() { + // @@protoc_insertion_point(field_release:zetasql.TypeProto.array_type) + _has_bits_[0] &= ~0x00000001u; + ::zetasql::ArrayTypeProto* temp = array_type_; + array_type_ = nullptr; + return temp; +} +inline ::zetasql::ArrayTypeProto* TypeProto::_internal_mutable_array_type() { + _has_bits_[0] |= 0x00000001u; + if (array_type_ == nullptr) { + auto* p = CreateMaybeMessage<::zetasql::ArrayTypeProto>(GetArenaForAllocation()); + array_type_ = p; + } + return array_type_; +} +inline ::zetasql::ArrayTypeProto* TypeProto::mutable_array_type() { + ::zetasql::ArrayTypeProto* _msg = _internal_mutable_array_type(); + // @@protoc_insertion_point(field_mutable:zetasql.TypeProto.array_type) + return _msg; +} +inline void TypeProto::set_allocated_array_type(::zetasql::ArrayTypeProto* array_type) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete array_type_; + } + if (array_type) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::zetasql::ArrayTypeProto>::GetOwningArena(array_type); + if (message_arena != submessage_arena) { + array_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, array_type, submessage_arena); + } + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + array_type_ = array_type; + // @@protoc_insertion_point(field_set_allocated:zetasql.TypeProto.array_type) +} + +// optional .zetasql.StructTypeProto struct_type = 3; +inline bool TypeProto::_internal_has_struct_type() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || struct_type_ != nullptr); + return value; +} +inline bool TypeProto::has_struct_type() const { + return _internal_has_struct_type(); +} +inline void TypeProto::clear_struct_type() { + if (struct_type_ != nullptr) struct_type_->Clear(); + _has_bits_[0] &= ~0x00000002u; +} +inline const ::zetasql::StructTypeProto& TypeProto::_internal_struct_type() const { + const ::zetasql::StructTypeProto* p = struct_type_; + return p != nullptr ? *p : reinterpret_cast( + ::zetasql::_StructTypeProto_default_instance_); +} +inline const ::zetasql::StructTypeProto& TypeProto::struct_type() const { + // @@protoc_insertion_point(field_get:zetasql.TypeProto.struct_type) + return _internal_struct_type(); +} +inline void TypeProto::unsafe_arena_set_allocated_struct_type( + ::zetasql::StructTypeProto* struct_type) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(struct_type_); + } + struct_type_ = struct_type; + if (struct_type) { + _has_bits_[0] |= 0x00000002u; + } else { + _has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:zetasql.TypeProto.struct_type) +} +inline ::zetasql::StructTypeProto* TypeProto::release_struct_type() { + _has_bits_[0] &= ~0x00000002u; + ::zetasql::StructTypeProto* temp = struct_type_; + struct_type_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::zetasql::StructTypeProto* TypeProto::unsafe_arena_release_struct_type() { + // @@protoc_insertion_point(field_release:zetasql.TypeProto.struct_type) + _has_bits_[0] &= ~0x00000002u; + ::zetasql::StructTypeProto* temp = struct_type_; + struct_type_ = nullptr; + return temp; +} +inline ::zetasql::StructTypeProto* TypeProto::_internal_mutable_struct_type() { + _has_bits_[0] |= 0x00000002u; + if (struct_type_ == nullptr) { + auto* p = CreateMaybeMessage<::zetasql::StructTypeProto>(GetArenaForAllocation()); + struct_type_ = p; + } + return struct_type_; +} +inline ::zetasql::StructTypeProto* TypeProto::mutable_struct_type() { + ::zetasql::StructTypeProto* _msg = _internal_mutable_struct_type(); + // @@protoc_insertion_point(field_mutable:zetasql.TypeProto.struct_type) + return _msg; +} +inline void TypeProto::set_allocated_struct_type(::zetasql::StructTypeProto* struct_type) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete struct_type_; + } + if (struct_type) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::zetasql::StructTypeProto>::GetOwningArena(struct_type); + if (message_arena != submessage_arena) { + struct_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, struct_type, submessage_arena); + } + _has_bits_[0] |= 0x00000002u; + } else { + _has_bits_[0] &= ~0x00000002u; + } + struct_type_ = struct_type; + // @@protoc_insertion_point(field_set_allocated:zetasql.TypeProto.struct_type) +} + +// optional .zetasql.ProtoTypeProto proto_type = 4; +inline bool TypeProto::_internal_has_proto_type() const { + bool value = (_has_bits_[0] & 0x00000004u) != 0; + PROTOBUF_ASSUME(!value || proto_type_ != nullptr); + return value; +} +inline bool TypeProto::has_proto_type() const { + return _internal_has_proto_type(); +} +inline void TypeProto::clear_proto_type() { + if (proto_type_ != nullptr) proto_type_->Clear(); + _has_bits_[0] &= ~0x00000004u; +} +inline const ::zetasql::ProtoTypeProto& TypeProto::_internal_proto_type() const { + const ::zetasql::ProtoTypeProto* p = proto_type_; + return p != nullptr ? *p : reinterpret_cast( + ::zetasql::_ProtoTypeProto_default_instance_); +} +inline const ::zetasql::ProtoTypeProto& TypeProto::proto_type() const { + // @@protoc_insertion_point(field_get:zetasql.TypeProto.proto_type) + return _internal_proto_type(); +} +inline void TypeProto::unsafe_arena_set_allocated_proto_type( + ::zetasql::ProtoTypeProto* proto_type) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(proto_type_); + } + proto_type_ = proto_type; + if (proto_type) { + _has_bits_[0] |= 0x00000004u; + } else { + _has_bits_[0] &= ~0x00000004u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:zetasql.TypeProto.proto_type) +} +inline ::zetasql::ProtoTypeProto* TypeProto::release_proto_type() { + _has_bits_[0] &= ~0x00000004u; + ::zetasql::ProtoTypeProto* temp = proto_type_; + proto_type_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::zetasql::ProtoTypeProto* TypeProto::unsafe_arena_release_proto_type() { + // @@protoc_insertion_point(field_release:zetasql.TypeProto.proto_type) + _has_bits_[0] &= ~0x00000004u; + ::zetasql::ProtoTypeProto* temp = proto_type_; + proto_type_ = nullptr; + return temp; +} +inline ::zetasql::ProtoTypeProto* TypeProto::_internal_mutable_proto_type() { + _has_bits_[0] |= 0x00000004u; + if (proto_type_ == nullptr) { + auto* p = CreateMaybeMessage<::zetasql::ProtoTypeProto>(GetArenaForAllocation()); + proto_type_ = p; + } + return proto_type_; +} +inline ::zetasql::ProtoTypeProto* TypeProto::mutable_proto_type() { + ::zetasql::ProtoTypeProto* _msg = _internal_mutable_proto_type(); + // @@protoc_insertion_point(field_mutable:zetasql.TypeProto.proto_type) + return _msg; +} +inline void TypeProto::set_allocated_proto_type(::zetasql::ProtoTypeProto* proto_type) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete proto_type_; + } + if (proto_type) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::zetasql::ProtoTypeProto>::GetOwningArena(proto_type); + if (message_arena != submessage_arena) { + proto_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, proto_type, submessage_arena); + } + _has_bits_[0] |= 0x00000004u; + } else { + _has_bits_[0] &= ~0x00000004u; + } + proto_type_ = proto_type; + // @@protoc_insertion_point(field_set_allocated:zetasql.TypeProto.proto_type) +} + +// optional .zetasql.EnumTypeProto enum_type = 5; +inline bool TypeProto::_internal_has_enum_type() const { + bool value = (_has_bits_[0] & 0x00000008u) != 0; + PROTOBUF_ASSUME(!value || enum_type_ != nullptr); + return value; +} +inline bool TypeProto::has_enum_type() const { + return _internal_has_enum_type(); +} +inline void TypeProto::clear_enum_type() { + if (enum_type_ != nullptr) enum_type_->Clear(); + _has_bits_[0] &= ~0x00000008u; +} +inline const ::zetasql::EnumTypeProto& TypeProto::_internal_enum_type() const { + const ::zetasql::EnumTypeProto* p = enum_type_; + return p != nullptr ? *p : reinterpret_cast( + ::zetasql::_EnumTypeProto_default_instance_); +} +inline const ::zetasql::EnumTypeProto& TypeProto::enum_type() const { + // @@protoc_insertion_point(field_get:zetasql.TypeProto.enum_type) + return _internal_enum_type(); +} +inline void TypeProto::unsafe_arena_set_allocated_enum_type( + ::zetasql::EnumTypeProto* enum_type) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(enum_type_); + } + enum_type_ = enum_type; + if (enum_type) { + _has_bits_[0] |= 0x00000008u; + } else { + _has_bits_[0] &= ~0x00000008u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:zetasql.TypeProto.enum_type) +} +inline ::zetasql::EnumTypeProto* TypeProto::release_enum_type() { + _has_bits_[0] &= ~0x00000008u; + ::zetasql::EnumTypeProto* temp = enum_type_; + enum_type_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::zetasql::EnumTypeProto* TypeProto::unsafe_arena_release_enum_type() { + // @@protoc_insertion_point(field_release:zetasql.TypeProto.enum_type) + _has_bits_[0] &= ~0x00000008u; + ::zetasql::EnumTypeProto* temp = enum_type_; + enum_type_ = nullptr; + return temp; +} +inline ::zetasql::EnumTypeProto* TypeProto::_internal_mutable_enum_type() { + _has_bits_[0] |= 0x00000008u; + if (enum_type_ == nullptr) { + auto* p = CreateMaybeMessage<::zetasql::EnumTypeProto>(GetArenaForAllocation()); + enum_type_ = p; + } + return enum_type_; +} +inline ::zetasql::EnumTypeProto* TypeProto::mutable_enum_type() { + ::zetasql::EnumTypeProto* _msg = _internal_mutable_enum_type(); + // @@protoc_insertion_point(field_mutable:zetasql.TypeProto.enum_type) + return _msg; +} +inline void TypeProto::set_allocated_enum_type(::zetasql::EnumTypeProto* enum_type) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete enum_type_; + } + if (enum_type) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::zetasql::EnumTypeProto>::GetOwningArena(enum_type); + if (message_arena != submessage_arena) { + enum_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, enum_type, submessage_arena); + } + _has_bits_[0] |= 0x00000008u; + } else { + _has_bits_[0] &= ~0x00000008u; + } + enum_type_ = enum_type; + // @@protoc_insertion_point(field_set_allocated:zetasql.TypeProto.enum_type) +} + +// repeated .google.protobuf.FileDescriptorSet file_descriptor_set = 6; +inline int TypeProto::_internal_file_descriptor_set_size() const { + return file_descriptor_set_.size(); +} +inline int TypeProto::file_descriptor_set_size() const { + return _internal_file_descriptor_set_size(); +} +inline PROTOBUF_NAMESPACE_ID::FileDescriptorSet* TypeProto::mutable_file_descriptor_set(int index) { + // @@protoc_insertion_point(field_mutable:zetasql.TypeProto.file_descriptor_set) + return file_descriptor_set_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< PROTOBUF_NAMESPACE_ID::FileDescriptorSet >* +TypeProto::mutable_file_descriptor_set() { + // @@protoc_insertion_point(field_mutable_list:zetasql.TypeProto.file_descriptor_set) + return &file_descriptor_set_; +} +inline const PROTOBUF_NAMESPACE_ID::FileDescriptorSet& TypeProto::_internal_file_descriptor_set(int index) const { + return file_descriptor_set_.Get(index); +} +inline const PROTOBUF_NAMESPACE_ID::FileDescriptorSet& TypeProto::file_descriptor_set(int index) const { + // @@protoc_insertion_point(field_get:zetasql.TypeProto.file_descriptor_set) + return _internal_file_descriptor_set(index); +} +inline PROTOBUF_NAMESPACE_ID::FileDescriptorSet* TypeProto::_internal_add_file_descriptor_set() { + return file_descriptor_set_.Add(); +} +inline PROTOBUF_NAMESPACE_ID::FileDescriptorSet* TypeProto::add_file_descriptor_set() { + PROTOBUF_NAMESPACE_ID::FileDescriptorSet* _add = _internal_add_file_descriptor_set(); + // @@protoc_insertion_point(field_add:zetasql.TypeProto.file_descriptor_set) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< PROTOBUF_NAMESPACE_ID::FileDescriptorSet >& +TypeProto::file_descriptor_set() const { + // @@protoc_insertion_point(field_list:zetasql.TypeProto.file_descriptor_set) + return file_descriptor_set_; +} + +// ------------------------------------------------------------------- + +// ArrayTypeProto + +// optional .zetasql.TypeProto element_type = 1; +inline bool ArrayTypeProto::_internal_has_element_type() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || element_type_ != nullptr); + return value; +} +inline bool ArrayTypeProto::has_element_type() const { + return _internal_has_element_type(); +} +inline void ArrayTypeProto::clear_element_type() { + if (element_type_ != nullptr) element_type_->Clear(); + _has_bits_[0] &= ~0x00000001u; +} +inline const ::zetasql::TypeProto& ArrayTypeProto::_internal_element_type() const { + const ::zetasql::TypeProto* p = element_type_; + return p != nullptr ? *p : reinterpret_cast( + ::zetasql::_TypeProto_default_instance_); +} +inline const ::zetasql::TypeProto& ArrayTypeProto::element_type() const { + // @@protoc_insertion_point(field_get:zetasql.ArrayTypeProto.element_type) + return _internal_element_type(); +} +inline void ArrayTypeProto::unsafe_arena_set_allocated_element_type( + ::zetasql::TypeProto* element_type) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(element_type_); + } + element_type_ = element_type; + if (element_type) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:zetasql.ArrayTypeProto.element_type) +} +inline ::zetasql::TypeProto* ArrayTypeProto::release_element_type() { + _has_bits_[0] &= ~0x00000001u; + ::zetasql::TypeProto* temp = element_type_; + element_type_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::zetasql::TypeProto* ArrayTypeProto::unsafe_arena_release_element_type() { + // @@protoc_insertion_point(field_release:zetasql.ArrayTypeProto.element_type) + _has_bits_[0] &= ~0x00000001u; + ::zetasql::TypeProto* temp = element_type_; + element_type_ = nullptr; + return temp; +} +inline ::zetasql::TypeProto* ArrayTypeProto::_internal_mutable_element_type() { + _has_bits_[0] |= 0x00000001u; + if (element_type_ == nullptr) { + auto* p = CreateMaybeMessage<::zetasql::TypeProto>(GetArenaForAllocation()); + element_type_ = p; + } + return element_type_; +} +inline ::zetasql::TypeProto* ArrayTypeProto::mutable_element_type() { + ::zetasql::TypeProto* _msg = _internal_mutable_element_type(); + // @@protoc_insertion_point(field_mutable:zetasql.ArrayTypeProto.element_type) + return _msg; +} +inline void ArrayTypeProto::set_allocated_element_type(::zetasql::TypeProto* element_type) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete element_type_; + } + if (element_type) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::zetasql::TypeProto>::GetOwningArena(element_type); + if (message_arena != submessage_arena) { + element_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, element_type, submessage_arena); + } + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + element_type_ = element_type; + // @@protoc_insertion_point(field_set_allocated:zetasql.ArrayTypeProto.element_type) +} + +// ------------------------------------------------------------------- + +// StructFieldProto + +// optional string field_name = 1; +inline bool StructFieldProto::_internal_has_field_name() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool StructFieldProto::has_field_name() const { + return _internal_has_field_name(); +} +inline void StructFieldProto::clear_field_name() { + field_name_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; +} +inline const std::string& StructFieldProto::field_name() const { + // @@protoc_insertion_point(field_get:zetasql.StructFieldProto.field_name) + return _internal_field_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void StructFieldProto::set_field_name(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + field_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:zetasql.StructFieldProto.field_name) +} +inline std::string* StructFieldProto::mutable_field_name() { + std::string* _s = _internal_mutable_field_name(); + // @@protoc_insertion_point(field_mutable:zetasql.StructFieldProto.field_name) + return _s; +} +inline const std::string& StructFieldProto::_internal_field_name() const { + return field_name_.Get(); +} +inline void StructFieldProto::_internal_set_field_name(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + field_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* StructFieldProto::_internal_mutable_field_name() { + _has_bits_[0] |= 0x00000001u; + return field_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* StructFieldProto::release_field_name() { + // @@protoc_insertion_point(field_release:zetasql.StructFieldProto.field_name) + if (!_internal_has_field_name()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + return field_name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void StructFieldProto::set_allocated_field_name(std::string* field_name) { + if (field_name != nullptr) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + field_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), field_name, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:zetasql.StructFieldProto.field_name) +} + +// optional .zetasql.TypeProto field_type = 2; +inline bool StructFieldProto::_internal_has_field_type() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + PROTOBUF_ASSUME(!value || field_type_ != nullptr); + return value; +} +inline bool StructFieldProto::has_field_type() const { + return _internal_has_field_type(); +} +inline void StructFieldProto::clear_field_type() { + if (field_type_ != nullptr) field_type_->Clear(); + _has_bits_[0] &= ~0x00000002u; +} +inline const ::zetasql::TypeProto& StructFieldProto::_internal_field_type() const { + const ::zetasql::TypeProto* p = field_type_; + return p != nullptr ? *p : reinterpret_cast( + ::zetasql::_TypeProto_default_instance_); +} +inline const ::zetasql::TypeProto& StructFieldProto::field_type() const { + // @@protoc_insertion_point(field_get:zetasql.StructFieldProto.field_type) + return _internal_field_type(); +} +inline void StructFieldProto::unsafe_arena_set_allocated_field_type( + ::zetasql::TypeProto* field_type) { + if (GetArenaForAllocation() == nullptr) { + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(field_type_); + } + field_type_ = field_type; + if (field_type) { + _has_bits_[0] |= 0x00000002u; + } else { + _has_bits_[0] &= ~0x00000002u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:zetasql.StructFieldProto.field_type) +} +inline ::zetasql::TypeProto* StructFieldProto::release_field_type() { + _has_bits_[0] &= ~0x00000002u; + ::zetasql::TypeProto* temp = field_type_; + field_type_ = nullptr; +#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE + auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + if (GetArenaForAllocation() == nullptr) { delete old; } +#else // PROTOBUF_FORCE_COPY_IN_RELEASE + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } +#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE + return temp; +} +inline ::zetasql::TypeProto* StructFieldProto::unsafe_arena_release_field_type() { + // @@protoc_insertion_point(field_release:zetasql.StructFieldProto.field_type) + _has_bits_[0] &= ~0x00000002u; + ::zetasql::TypeProto* temp = field_type_; + field_type_ = nullptr; + return temp; +} +inline ::zetasql::TypeProto* StructFieldProto::_internal_mutable_field_type() { + _has_bits_[0] |= 0x00000002u; + if (field_type_ == nullptr) { + auto* p = CreateMaybeMessage<::zetasql::TypeProto>(GetArenaForAllocation()); + field_type_ = p; + } + return field_type_; +} +inline ::zetasql::TypeProto* StructFieldProto::mutable_field_type() { + ::zetasql::TypeProto* _msg = _internal_mutable_field_type(); + // @@protoc_insertion_point(field_mutable:zetasql.StructFieldProto.field_type) + return _msg; +} +inline void StructFieldProto::set_allocated_field_type(::zetasql::TypeProto* field_type) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + if (message_arena == nullptr) { + delete field_type_; + } + if (field_type) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::zetasql::TypeProto>::GetOwningArena(field_type); + if (message_arena != submessage_arena) { + field_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, field_type, submessage_arena); + } + _has_bits_[0] |= 0x00000002u; + } else { + _has_bits_[0] &= ~0x00000002u; + } + field_type_ = field_type; + // @@protoc_insertion_point(field_set_allocated:zetasql.StructFieldProto.field_type) +} + +// ------------------------------------------------------------------- + +// StructTypeProto + +// repeated .zetasql.StructFieldProto field = 1; +inline int StructTypeProto::_internal_field_size() const { + return field_.size(); +} +inline int StructTypeProto::field_size() const { + return _internal_field_size(); +} +inline void StructTypeProto::clear_field() { + field_.Clear(); +} +inline ::zetasql::StructFieldProto* StructTypeProto::mutable_field(int index) { + // @@protoc_insertion_point(field_mutable:zetasql.StructTypeProto.field) + return field_.Mutable(index); +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::zetasql::StructFieldProto >* +StructTypeProto::mutable_field() { + // @@protoc_insertion_point(field_mutable_list:zetasql.StructTypeProto.field) + return &field_; +} +inline const ::zetasql::StructFieldProto& StructTypeProto::_internal_field(int index) const { + return field_.Get(index); +} +inline const ::zetasql::StructFieldProto& StructTypeProto::field(int index) const { + // @@protoc_insertion_point(field_get:zetasql.StructTypeProto.field) + return _internal_field(index); +} +inline ::zetasql::StructFieldProto* StructTypeProto::_internal_add_field() { + return field_.Add(); +} +inline ::zetasql::StructFieldProto* StructTypeProto::add_field() { + ::zetasql::StructFieldProto* _add = _internal_add_field(); + // @@protoc_insertion_point(field_add:zetasql.StructTypeProto.field) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::zetasql::StructFieldProto >& +StructTypeProto::field() const { + // @@protoc_insertion_point(field_list:zetasql.StructTypeProto.field) + return field_; +} + +// ------------------------------------------------------------------- + +// ProtoTypeProto + +// optional string proto_name = 1; +inline bool ProtoTypeProto::_internal_has_proto_name() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool ProtoTypeProto::has_proto_name() const { + return _internal_has_proto_name(); +} +inline void ProtoTypeProto::clear_proto_name() { + proto_name_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; +} +inline const std::string& ProtoTypeProto::proto_name() const { + // @@protoc_insertion_point(field_get:zetasql.ProtoTypeProto.proto_name) + return _internal_proto_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ProtoTypeProto::set_proto_name(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + proto_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:zetasql.ProtoTypeProto.proto_name) +} +inline std::string* ProtoTypeProto::mutable_proto_name() { + std::string* _s = _internal_mutable_proto_name(); + // @@protoc_insertion_point(field_mutable:zetasql.ProtoTypeProto.proto_name) + return _s; +} +inline const std::string& ProtoTypeProto::_internal_proto_name() const { + return proto_name_.Get(); +} +inline void ProtoTypeProto::_internal_set_proto_name(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + proto_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* ProtoTypeProto::_internal_mutable_proto_name() { + _has_bits_[0] |= 0x00000001u; + return proto_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* ProtoTypeProto::release_proto_name() { + // @@protoc_insertion_point(field_release:zetasql.ProtoTypeProto.proto_name) + if (!_internal_has_proto_name()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + return proto_name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void ProtoTypeProto::set_allocated_proto_name(std::string* proto_name) { + if (proto_name != nullptr) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + proto_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), proto_name, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:zetasql.ProtoTypeProto.proto_name) +} + +// optional string proto_file_name = 2; +inline bool ProtoTypeProto::_internal_has_proto_file_name() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool ProtoTypeProto::has_proto_file_name() const { + return _internal_has_proto_file_name(); +} +inline void ProtoTypeProto::clear_proto_file_name() { + proto_file_name_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000002u; +} +inline const std::string& ProtoTypeProto::proto_file_name() const { + // @@protoc_insertion_point(field_get:zetasql.ProtoTypeProto.proto_file_name) + return _internal_proto_file_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ProtoTypeProto::set_proto_file_name(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000002u; + proto_file_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:zetasql.ProtoTypeProto.proto_file_name) +} +inline std::string* ProtoTypeProto::mutable_proto_file_name() { + std::string* _s = _internal_mutable_proto_file_name(); + // @@protoc_insertion_point(field_mutable:zetasql.ProtoTypeProto.proto_file_name) + return _s; +} +inline const std::string& ProtoTypeProto::_internal_proto_file_name() const { + return proto_file_name_.Get(); +} +inline void ProtoTypeProto::_internal_set_proto_file_name(const std::string& value) { + _has_bits_[0] |= 0x00000002u; + proto_file_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* ProtoTypeProto::_internal_mutable_proto_file_name() { + _has_bits_[0] |= 0x00000002u; + return proto_file_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* ProtoTypeProto::release_proto_file_name() { + // @@protoc_insertion_point(field_release:zetasql.ProtoTypeProto.proto_file_name) + if (!_internal_has_proto_file_name()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000002u; + return proto_file_name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void ProtoTypeProto::set_allocated_proto_file_name(std::string* proto_file_name) { + if (proto_file_name != nullptr) { + _has_bits_[0] |= 0x00000002u; + } else { + _has_bits_[0] &= ~0x00000002u; + } + proto_file_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), proto_file_name, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:zetasql.ProtoTypeProto.proto_file_name) +} + +// optional int32 file_descriptor_set_index = 3 [default = 0]; +inline bool ProtoTypeProto::_internal_has_file_descriptor_set_index() const { + bool value = (_has_bits_[0] & 0x00000004u) != 0; + return value; +} +inline bool ProtoTypeProto::has_file_descriptor_set_index() const { + return _internal_has_file_descriptor_set_index(); +} +inline void ProtoTypeProto::clear_file_descriptor_set_index() { + file_descriptor_set_index_ = 0; + _has_bits_[0] &= ~0x00000004u; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 ProtoTypeProto::_internal_file_descriptor_set_index() const { + return file_descriptor_set_index_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 ProtoTypeProto::file_descriptor_set_index() const { + // @@protoc_insertion_point(field_get:zetasql.ProtoTypeProto.file_descriptor_set_index) + return _internal_file_descriptor_set_index(); +} +inline void ProtoTypeProto::_internal_set_file_descriptor_set_index(::PROTOBUF_NAMESPACE_ID::int32 value) { + _has_bits_[0] |= 0x00000004u; + file_descriptor_set_index_ = value; +} +inline void ProtoTypeProto::set_file_descriptor_set_index(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_file_descriptor_set_index(value); + // @@protoc_insertion_point(field_set:zetasql.ProtoTypeProto.file_descriptor_set_index) +} + +// repeated string catalog_name_path = 4; +inline int ProtoTypeProto::_internal_catalog_name_path_size() const { + return catalog_name_path_.size(); +} +inline int ProtoTypeProto::catalog_name_path_size() const { + return _internal_catalog_name_path_size(); +} +inline void ProtoTypeProto::clear_catalog_name_path() { + catalog_name_path_.Clear(); +} +inline std::string* ProtoTypeProto::add_catalog_name_path() { + std::string* _s = _internal_add_catalog_name_path(); + // @@protoc_insertion_point(field_add_mutable:zetasql.ProtoTypeProto.catalog_name_path) + return _s; +} +inline const std::string& ProtoTypeProto::_internal_catalog_name_path(int index) const { + return catalog_name_path_.Get(index); +} +inline const std::string& ProtoTypeProto::catalog_name_path(int index) const { + // @@protoc_insertion_point(field_get:zetasql.ProtoTypeProto.catalog_name_path) + return _internal_catalog_name_path(index); +} +inline std::string* ProtoTypeProto::mutable_catalog_name_path(int index) { + // @@protoc_insertion_point(field_mutable:zetasql.ProtoTypeProto.catalog_name_path) + return catalog_name_path_.Mutable(index); +} +inline void ProtoTypeProto::set_catalog_name_path(int index, const std::string& value) { + catalog_name_path_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set:zetasql.ProtoTypeProto.catalog_name_path) +} +inline void ProtoTypeProto::set_catalog_name_path(int index, std::string&& value) { + catalog_name_path_.Mutable(index)->assign(std::move(value)); + // @@protoc_insertion_point(field_set:zetasql.ProtoTypeProto.catalog_name_path) +} +inline void ProtoTypeProto::set_catalog_name_path(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + catalog_name_path_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:zetasql.ProtoTypeProto.catalog_name_path) +} +inline void ProtoTypeProto::set_catalog_name_path(int index, const char* value, size_t size) { + catalog_name_path_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:zetasql.ProtoTypeProto.catalog_name_path) +} +inline std::string* ProtoTypeProto::_internal_add_catalog_name_path() { + return catalog_name_path_.Add(); +} +inline void ProtoTypeProto::add_catalog_name_path(const std::string& value) { + catalog_name_path_.Add()->assign(value); + // @@protoc_insertion_point(field_add:zetasql.ProtoTypeProto.catalog_name_path) +} +inline void ProtoTypeProto::add_catalog_name_path(std::string&& value) { + catalog_name_path_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:zetasql.ProtoTypeProto.catalog_name_path) +} +inline void ProtoTypeProto::add_catalog_name_path(const char* value) { + GOOGLE_DCHECK(value != nullptr); + catalog_name_path_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:zetasql.ProtoTypeProto.catalog_name_path) +} +inline void ProtoTypeProto::add_catalog_name_path(const char* value, size_t size) { + catalog_name_path_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:zetasql.ProtoTypeProto.catalog_name_path) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& +ProtoTypeProto::catalog_name_path() const { + // @@protoc_insertion_point(field_list:zetasql.ProtoTypeProto.catalog_name_path) + return catalog_name_path_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* +ProtoTypeProto::mutable_catalog_name_path() { + // @@protoc_insertion_point(field_mutable_list:zetasql.ProtoTypeProto.catalog_name_path) + return &catalog_name_path_; +} + +// ------------------------------------------------------------------- + +// EnumTypeProto + +// optional string enum_name = 1; +inline bool EnumTypeProto::_internal_has_enum_name() const { + bool value = (_has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline bool EnumTypeProto::has_enum_name() const { + return _internal_has_enum_name(); +} +inline void EnumTypeProto::clear_enum_name() { + enum_name_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000001u; +} +inline const std::string& EnumTypeProto::enum_name() const { + // @@protoc_insertion_point(field_get:zetasql.EnumTypeProto.enum_name) + return _internal_enum_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void EnumTypeProto::set_enum_name(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000001u; + enum_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:zetasql.EnumTypeProto.enum_name) +} +inline std::string* EnumTypeProto::mutable_enum_name() { + std::string* _s = _internal_mutable_enum_name(); + // @@protoc_insertion_point(field_mutable:zetasql.EnumTypeProto.enum_name) + return _s; +} +inline const std::string& EnumTypeProto::_internal_enum_name() const { + return enum_name_.Get(); +} +inline void EnumTypeProto::_internal_set_enum_name(const std::string& value) { + _has_bits_[0] |= 0x00000001u; + enum_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* EnumTypeProto::_internal_mutable_enum_name() { + _has_bits_[0] |= 0x00000001u; + return enum_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* EnumTypeProto::release_enum_name() { + // @@protoc_insertion_point(field_release:zetasql.EnumTypeProto.enum_name) + if (!_internal_has_enum_name()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000001u; + return enum_name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void EnumTypeProto::set_allocated_enum_name(std::string* enum_name) { + if (enum_name != nullptr) { + _has_bits_[0] |= 0x00000001u; + } else { + _has_bits_[0] &= ~0x00000001u; + } + enum_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), enum_name, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:zetasql.EnumTypeProto.enum_name) +} + +// optional string enum_file_name = 2; +inline bool EnumTypeProto::_internal_has_enum_file_name() const { + bool value = (_has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline bool EnumTypeProto::has_enum_file_name() const { + return _internal_has_enum_file_name(); +} +inline void EnumTypeProto::clear_enum_file_name() { + enum_file_name_.ClearToEmpty(); + _has_bits_[0] &= ~0x00000002u; +} +inline const std::string& EnumTypeProto::enum_file_name() const { + // @@protoc_insertion_point(field_get:zetasql.EnumTypeProto.enum_file_name) + return _internal_enum_file_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void EnumTypeProto::set_enum_file_name(ArgT0&& arg0, ArgT... args) { + _has_bits_[0] |= 0x00000002u; + enum_file_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:zetasql.EnumTypeProto.enum_file_name) +} +inline std::string* EnumTypeProto::mutable_enum_file_name() { + std::string* _s = _internal_mutable_enum_file_name(); + // @@protoc_insertion_point(field_mutable:zetasql.EnumTypeProto.enum_file_name) + return _s; +} +inline const std::string& EnumTypeProto::_internal_enum_file_name() const { + return enum_file_name_.Get(); +} +inline void EnumTypeProto::_internal_set_enum_file_name(const std::string& value) { + _has_bits_[0] |= 0x00000002u; + enum_file_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* EnumTypeProto::_internal_mutable_enum_file_name() { + _has_bits_[0] |= 0x00000002u; + return enum_file_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* EnumTypeProto::release_enum_file_name() { + // @@protoc_insertion_point(field_release:zetasql.EnumTypeProto.enum_file_name) + if (!_internal_has_enum_file_name()) { + return nullptr; + } + _has_bits_[0] &= ~0x00000002u; + return enum_file_name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void EnumTypeProto::set_allocated_enum_file_name(std::string* enum_file_name) { + if (enum_file_name != nullptr) { + _has_bits_[0] |= 0x00000002u; + } else { + _has_bits_[0] &= ~0x00000002u; + } + enum_file_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), enum_file_name, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:zetasql.EnumTypeProto.enum_file_name) +} + +// optional int32 file_descriptor_set_index = 3 [default = 0]; +inline bool EnumTypeProto::_internal_has_file_descriptor_set_index() const { + bool value = (_has_bits_[0] & 0x00000004u) != 0; + return value; +} +inline bool EnumTypeProto::has_file_descriptor_set_index() const { + return _internal_has_file_descriptor_set_index(); +} +inline void EnumTypeProto::clear_file_descriptor_set_index() { + file_descriptor_set_index_ = 0; + _has_bits_[0] &= ~0x00000004u; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 EnumTypeProto::_internal_file_descriptor_set_index() const { + return file_descriptor_set_index_; +} +inline ::PROTOBUF_NAMESPACE_ID::int32 EnumTypeProto::file_descriptor_set_index() const { + // @@protoc_insertion_point(field_get:zetasql.EnumTypeProto.file_descriptor_set_index) + return _internal_file_descriptor_set_index(); +} +inline void EnumTypeProto::_internal_set_file_descriptor_set_index(::PROTOBUF_NAMESPACE_ID::int32 value) { + _has_bits_[0] |= 0x00000004u; + file_descriptor_set_index_ = value; +} +inline void EnumTypeProto::set_file_descriptor_set_index(::PROTOBUF_NAMESPACE_ID::int32 value) { + _internal_set_file_descriptor_set_index(value); + // @@protoc_insertion_point(field_set:zetasql.EnumTypeProto.file_descriptor_set_index) +} + +// repeated string catalog_name_path = 4; +inline int EnumTypeProto::_internal_catalog_name_path_size() const { + return catalog_name_path_.size(); +} +inline int EnumTypeProto::catalog_name_path_size() const { + return _internal_catalog_name_path_size(); +} +inline void EnumTypeProto::clear_catalog_name_path() { + catalog_name_path_.Clear(); +} +inline std::string* EnumTypeProto::add_catalog_name_path() { + std::string* _s = _internal_add_catalog_name_path(); + // @@protoc_insertion_point(field_add_mutable:zetasql.EnumTypeProto.catalog_name_path) + return _s; +} +inline const std::string& EnumTypeProto::_internal_catalog_name_path(int index) const { + return catalog_name_path_.Get(index); +} +inline const std::string& EnumTypeProto::catalog_name_path(int index) const { + // @@protoc_insertion_point(field_get:zetasql.EnumTypeProto.catalog_name_path) + return _internal_catalog_name_path(index); +} +inline std::string* EnumTypeProto::mutable_catalog_name_path(int index) { + // @@protoc_insertion_point(field_mutable:zetasql.EnumTypeProto.catalog_name_path) + return catalog_name_path_.Mutable(index); +} +inline void EnumTypeProto::set_catalog_name_path(int index, const std::string& value) { + catalog_name_path_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set:zetasql.EnumTypeProto.catalog_name_path) +} +inline void EnumTypeProto::set_catalog_name_path(int index, std::string&& value) { + catalog_name_path_.Mutable(index)->assign(std::move(value)); + // @@protoc_insertion_point(field_set:zetasql.EnumTypeProto.catalog_name_path) +} +inline void EnumTypeProto::set_catalog_name_path(int index, const char* value) { + GOOGLE_DCHECK(value != nullptr); + catalog_name_path_.Mutable(index)->assign(value); + // @@protoc_insertion_point(field_set_char:zetasql.EnumTypeProto.catalog_name_path) +} +inline void EnumTypeProto::set_catalog_name_path(int index, const char* value, size_t size) { + catalog_name_path_.Mutable(index)->assign( + reinterpret_cast(value), size); + // @@protoc_insertion_point(field_set_pointer:zetasql.EnumTypeProto.catalog_name_path) +} +inline std::string* EnumTypeProto::_internal_add_catalog_name_path() { + return catalog_name_path_.Add(); +} +inline void EnumTypeProto::add_catalog_name_path(const std::string& value) { + catalog_name_path_.Add()->assign(value); + // @@protoc_insertion_point(field_add:zetasql.EnumTypeProto.catalog_name_path) +} +inline void EnumTypeProto::add_catalog_name_path(std::string&& value) { + catalog_name_path_.Add(std::move(value)); + // @@protoc_insertion_point(field_add:zetasql.EnumTypeProto.catalog_name_path) +} +inline void EnumTypeProto::add_catalog_name_path(const char* value) { + GOOGLE_DCHECK(value != nullptr); + catalog_name_path_.Add()->assign(value); + // @@protoc_insertion_point(field_add_char:zetasql.EnumTypeProto.catalog_name_path) +} +inline void EnumTypeProto::add_catalog_name_path(const char* value, size_t size) { + catalog_name_path_.Add()->assign(reinterpret_cast(value), size); + // @@protoc_insertion_point(field_add_pointer:zetasql.EnumTypeProto.catalog_name_path) +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& +EnumTypeProto::catalog_name_path() const { + // @@protoc_insertion_point(field_list:zetasql.EnumTypeProto.catalog_name_path) + return catalog_name_path_; +} +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* +EnumTypeProto::mutable_catalog_name_path() { + // @@protoc_insertion_point(field_mutable_list:zetasql.EnumTypeProto.catalog_name_path) + return &catalog_name_path_; +} + +#ifdef __GNUC__ + #pragma GCC diagnostic pop +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + + +// @@protoc_insertion_point(namespace_scope) + +} // namespace zetasql + +PROTOBUF_NAMESPACE_OPEN + +template <> struct is_proto_enum< ::zetasql::TypeKind> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::zetasql::TypeKind>() { + return ::zetasql::TypeKind_descriptor(); +} + +PROTOBUF_NAMESPACE_CLOSE + +// @@protoc_insertion_point(global_scope) + +#include +#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_type_2eproto diff --git a/proto/alphasql_service.proto b/proto/alphasql_service.proto new file mode 100644 index 00000000..271922b5 --- /dev/null +++ b/proto/alphasql_service.proto @@ -0,0 +1,55 @@ +syntax = "proto3"; + +import "type.proto"; + +message File { + string name = 1; + string content = 2; +} + +message AlphaDAGRequest { + bool warning_as_error = 1; + bool with_tables = 2; + bool with_functions = 3; + bool side_effect_first = 4; + repeated File files = 5; +} + +message AlphaDAGResponse { + repeated string external_required_tables = 1; + repeated string dag_dot_string = 2; + optional string error = 3; +} + +message Column { + string column_name = 1; + oneof type { + zetasql.TypeProto type = 2; + string bigquery_type = 3; + }; +} + +message TableSchema { + string table_name = 1; + repeated Column columns = 2; +} + +message AlphaCheckRequest { + repeated TableSchema external_required_tables_schema = 1; + string dag_dot_string = 2; + repeated File files = 3; +} + +message AlphaCheckResponse { + optional string error = 1; +} + +service AlphaSQL { + // Extract DAG from SQL files + rpc AlphaDAG(AlphaDAGRequest) + returns (AlphaDAGResponse) {} + + // Validate DAG + rpc AlphaCheck(AlphaCheckRequest) + returns (AlphaCheckResponse) {} +} diff --git a/proto/type.proto b/proto/type.proto new file mode 100644 index 00000000..738482f9 --- /dev/null +++ b/proto/type.proto @@ -0,0 +1,139 @@ +// +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// + +// LINT: LEGACY_NAMES +syntax = "proto2"; + +package zetasql; + +import "google/protobuf/descriptor.proto"; + +option cc_enable_arenas = true; +option java_package = "com.google.zetasql"; +option java_outer_classname = "ZetaSQLType"; + +// NEXT_ID: 29 +enum TypeKind { + // User code that switches on this enum must have a default case so + // builds won't break if new enums get added. + __TypeKind__switch_must_have_a_default__ = -1; + + // This can be used by consumers to record an unknown type. + // This is not used internally by ZetaSQL. + // Most functions that take TypeKind will fail on TYPE_UNKNOWN. + TYPE_UNKNOWN = 0; + + TYPE_INT32 = 1; + TYPE_INT64 = 2; + TYPE_UINT32 = 3; + TYPE_UINT64 = 4; + TYPE_BOOL = 5; + TYPE_FLOAT = 6; + TYPE_DOUBLE = 7; + TYPE_STRING = 8; + TYPE_BYTES = 9; + TYPE_DATE = 10; + TYPE_TIMESTAMP = 19; + TYPE_ENUM = 15; + TYPE_ARRAY = 16; + TYPE_STRUCT = 17; + TYPE_PROTO = 18; + + // TIME and DATETIME is controlled by FEATURE_V_1_2_CIVIL_TIME + TYPE_TIME = 20; + TYPE_DATETIME = 21; + + // GEOGRAPHY is controlled by FEATURE_GEOGRAPHY + TYPE_GEOGRAPHY = 22; + + // NUMERIC is controlled by FEATURE_NUMERIC_TYPE + TYPE_NUMERIC = 23; + + // BIGNUMERIC is controlled by FEATURE_BIGNUMERIC_TYPE + TYPE_BIGNUMERIC = 24; + + // Extended types are controlled by FEATURE_EXTENDED_TYPES + TYPE_EXTENDED = 25; + + // JSON is controlled by FEATURE_JSON_TYPE + TYPE_JSON = 26; + + // INTERVAL type is controlled by FEATURE_INTERVAL_TYPE + TYPE_INTERVAL = 27; + + // TOKENLIST type is controlled by FEATURE_TOKENIZED_SEARCH + TYPE_TOKENLIST = 28; +} + +// This represents the serialized form of the zetasql::Type. +message TypeProto { + optional TypeKind type_kind = 1; + + // If the type is not a simple type, then one (and only one) of these + // will be populated. + optional ArrayTypeProto array_type = 2; + optional StructTypeProto struct_type = 3; + optional ProtoTypeProto proto_type = 4; + optional EnumTypeProto enum_type = 5; + + // These s may (optionally) be populated only for + // the 'outermost' TypeProto when serializing a ZetaSQL Type, + // in particular when the TypeProto is created using + // zetasql::Type::SerializeToSelfContainedProto(). They will not be + // populated for nested TypeProtos. If populated, they must capture all file + // dependencies related to the type and all of its descendants, in order + // be used for deserializing back to the ZetaSQL Type. If they are not + // populated, then deserialization can still be done if the relevant + // FileDescriptorSets are provided to deserialization independent of this + // proto. One FileDescriptorSet is created for every distinct DescriptorPool + // from which an enum or proto type contained within this type originates. + // For example, serializing a struct with two proto fields from different + // DescriptorPools would result in two FileDescriptorSets. + repeated google.protobuf.FileDescriptorSet file_descriptor_set = 6; +} + +message ArrayTypeProto { + optional TypeProto element_type = 1; +} + +message StructFieldProto { + optional string field_name = 1; + optional TypeProto field_type = 2; +} + +message StructTypeProto { + repeated StructFieldProto field = 1; +} + +message ProtoTypeProto { + // The _full_ name of the proto without the catalog name. + optional string proto_name = 1; + optional string proto_file_name = 2; + // The index of the FileDescriptorSet in the top-level TypeProto that can be + // used to deserialize this particular ProtoType. + optional int32 file_descriptor_set_index = 3 [default = 0]; + repeated string catalog_name_path = 4; +} + +message EnumTypeProto { + // The _full_ name of the enum without the catalog name. + optional string enum_name = 1; + optional string enum_file_name = 2; + // The index of the FileDescriptorSet in the top-level TypeProto that can be + // used to deserialize this particular EnumType. + optional int32 file_descriptor_set_index = 3 [default = 0]; + repeated string catalog_name_path = 4; +} From 7c6192c5980cb60fc9f1079f7c24e0acca90658e Mon Sep 17 00:00:00 2001 From: Matts966 Date: Wed, 18 Aug 2021 12:29:29 +0900 Subject: [PATCH 2/8] WIP --- proto/alphasql_service.proto | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/proto/alphasql_service.proto b/proto/alphasql_service.proto index 271922b5..b2953054 100644 --- a/proto/alphasql_service.proto +++ b/proto/alphasql_service.proto @@ -21,11 +21,35 @@ message AlphaDAGResponse { optional string error = 3; } +enum SupportedType { + STRING = 1; + INTEGER = 2; + INT64 = 3; + BOOLEAN = 4; + BOOL = 5; + FLOAT64 = 6; + FLOAT = 7; + NUMERIC = 8; + BYTES = 9; + TIMESTAMP = 10; + TIME = 11; + DATETIME = 12; + DATE = 13; + GEOGRAPHY = 14; +} + +enum Mode { + REPEATED = 1; + NULLABLE = 2; + REQUIRED = 3; +} + message Column { - string column_name = 1; + string name = 1; + Mode mode = 4; + zetasql.TypeProto zetasql_type = 2; oneof type { - zetasql.TypeProto type = 2; - string bigquery_type = 3; + SupportedType type = 3; }; } From bbfef15b77745ad7827feb6734b50126b8dcca29 Mon Sep 17 00:00:00 2001 From: Matts966 Date: Sat, 21 Aug 2021 23:53:05 +0900 Subject: [PATCH 3/8] Implement schema reader supporting struct types --- WORKSPACE | 16 + alphasql/BUILD | 9 + alphasql/json_schema_reader.h | 79 ++- alphasql/proto/alphasql_service.pb.cc | 902 +++++++++++++++++++++--- alphasql/proto/alphasql_service.pb.h | 978 +++++++++++++++++++++++--- proto/alphasql_service.proto | 65 +- 6 files changed, 1802 insertions(+), 247 deletions(-) diff --git a/WORKSPACE b/WORKSPACE index d5536db0..18dd872a 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -52,3 +52,19 @@ git_repository( load("@com_github_nelhage_rules_boost//:boost/boost.bzl", "boost_deps") boost_deps() + +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +http_archive( + name = "com_github_google_protobuf", + sha256 = "c6003e1d2e7fefa78a3039f19f383b4f3a61e81be8c19356f85b6461998ad3db", + strip_prefix = "protobuf-3.17.3", + urls = [ + "https://github.com/protocolbuffers/protobuf/archive/v3.17.3.tar.gz", + "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.17.3.tar.gz", + ], +) + +load("@com_github_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") + +protobuf_deps() diff --git a/alphasql/BUILD b/alphasql/BUILD index d2413720..b9295db3 100644 --- a/alphasql/BUILD +++ b/alphasql/BUILD @@ -18,6 +18,14 @@ package( default_visibility = ["//:__subpackages__"], ) +cc_library( + name = "alphasql_service_cc_proto", + hdrs = ["proto/alphasql_service.pb.h"], + deps = [ + "@com_github_google_protobuf//protobuf_lite", + ], +) + cc_library( name = "json_schema_reader", hdrs = ["json_schema_reader.h"], @@ -26,6 +34,7 @@ cc_library( "@com_google_zetasql//zetasql/public:type", "@boost//:property_tree", "@com_google_absl//absl/strings", + ":alphasql_service_cc_proto" ], ) diff --git a/alphasql/json_schema_reader.h b/alphasql/json_schema_reader.h index c9d14719..d2fd4e42 100644 --- a/alphasql/json_schema_reader.h +++ b/alphasql/json_schema_reader.h @@ -20,50 +20,83 @@ #include "zetasql/base/statusor.h" #include "zetasql/public/simple_catalog.h" #include "zetasql/public/types/type_factory.h" +#include "alphasql/proto/alphasql_service.pb.h" #include #include #include #include #include +#include namespace zetasql { -std::map FromBigQueryTypeToZetaSQLTypeMap = { - {"STRING", TYPE_STRING}, {"INT64", TYPE_INT64}, - {"INTEGER", TYPE_INT64}, {"BOOL", TYPE_BOOL}, - {"BOOLEAN", TYPE_BOOL}, {"FLOAT64", TYPE_FLOAT}, - {"FLOAT", TYPE_FLOAT}, {"NUMERIC", TYPE_NUMERIC}, - {"BYTES", TYPE_BYTES}, {"TIMESTAMP", TYPE_TIMESTAMP}, - {"DATE", TYPE_DATE}, {"TIME", TYPE_TIME}, - {"DATETIME", TYPE_DATETIME}, {"GEOGRAPHY", TYPE_GEOGRAPHY}, +std::map FromBigQueryTypeToZetaSQLTypeMap = { + {SupportedType.STRING, TYPE_STRING}, {SupportedType.INT64, TYPE_INT64}, + {SupportedType.INTEGER, TYPE_INT64}, {SupportedType.BOOL, TYPE_BOOL}, + {SupportedType.BOOLEAN, TYPE_BOOL}, {SupportedType.FLOAT64, TYPE_FLOAT}, + {SupportedType.FLOAT, TYPE_FLOAT}, {SupportedType.NUMERIC, TYPE_NUMERIC}, + {SupportedType.BYTES, TYPE_BYTES}, {SupportedType.TIMESTAMP, TYPE_TIMESTAMP}, + {SupportedType.DATE, TYPE_DATE}, {SupportedType.TIME, TYPE_TIME}, + {SupportedType.DATETIME, TYPE_DATETIME}, {SupportedType.GEOGRAPHY, TYPE_GEOGRAPHY}, }; +// TODO: Handle return statuses of type:: functions +void ConvertSupportedTypeToZetaSQLType(zetasql::Type **zetasql_type, SupportedType *type) { + if (type.mode() == Mode.REPEATED && type.type() != Mode.RECORD) { + // Array types + *zetasql_type = types::ArrayTypeFromSimpleTypeKind( + FromBigQueryTypeToZetaSQLTypeMap[type.type()]); + return; + } + if (type.type() != Mode.RECORD) { + *zetasql_type = types::TypeFromSimpleTypeKind( + FromBigQueryTypeToZetaSQLTypeMap[type.type()]); + return; + } + // Struct types + const vector fields; + for (const auto& field : type.fields()) { + fields.push_back(zetasql::StructField(field.name(), FromBigQueryTypeToZetaSQLTypeMap[field.type()])); + } + if (type.type() != Mode.REPEATED) { + types::MakeStructTypeFromVector(fields, zetasql_type); + return; + } + const zetasql::Type *element_type; + types::MakeStructTypeFromVector(fields, &element_type); + types::MakeArrayType(element_type, zetasql_type); +} + void AddColumnToTable(SimpleTable *table, const boost::property_tree::ptree::value_type field) { - std::string mode = field.second.get("mode"); - std::string type_string = field.second.get("type"); - mode = absl::AsciiStrToUpper(mode); - type_string = absl::AsciiStrToUpper(type_string); - - if (FromBigQueryTypeToZetaSQLTypeMap.count(type_string) == 0) { - std::cout << "ERROR: unsupported type " + type_string + "\n" << std::endl; + using namespace google::protobuf::util; + Field fieldMsg; + const auto status = util::JsonStringToMessage( + field.first, &fieldMsg, util::JsonParseOptions(true, true)); + if (!status.ok()) { + std::cout << "ERROR: " << status << std::endl; throw; } + /* std::string mode = field.second.get("mode"); */ + /* std::string type_string = field.second.get("type"); */ + /* mode = absl::AsciiStrToUpper(mode); */ + /* type_string = absl::AsciiStrToUpper(type_string); */ + + /* if (FromBigQueryTypeToZetaSQLTypeMap.count(type_string) == 0) { */ + /* std::cout << "ERROR: unsupported type " + type_string + "\n" << std::endl; */ + /* throw; */ + /* } */ const zetasql::Type *zetasql_type; - // TODO(Matts966): Implement Struct types - if (mode == "REPEATED" && type_string != "RECORD") { - // Array types - zetasql_type = types::ArrayTypeFromSimpleTypeKind( - FromBigQueryTypeToZetaSQLTypeMap[type_string]); + if (fieldMsg.has_type()) { + ConvertSupportedTypeToZetaSQLType(&zetasql_type, &fieldMsg.type()); } else { - zetasql_type = types::TypeFromSimpleTypeKind( - FromBigQueryTypeToZetaSQLTypeMap[type_string]); + zetasql_type = &fieldMsg.zetasql_type(); } if (zetasql_type == nullptr) { - std::cout << "ERROR: unsupported type " + type_string + "\n" << std::endl; + std::cout << "ERROR: invalid field " << fieldMsg << std::endl; throw; } diff --git a/alphasql/proto/alphasql_service.pb.cc b/alphasql/proto/alphasql_service.pb.cc index 2d3facb2..1d07530f 100644 --- a/alphasql/proto/alphasql_service.pb.cc +++ b/alphasql/proto/alphasql_service.pb.cc @@ -61,8 +61,12 @@ struct AlphaDAGResponseDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AlphaDAGResponseDefaultTypeInternal _AlphaDAGResponse_default_instance_; constexpr Column::Column( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : column_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) - , type_(nullptr){} + : fields_() + , name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , type_(0) + + , mode_(0) +{} struct ColumnDefaultTypeInternal { constexpr ColumnDefaultTypeInternal() : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} @@ -72,6 +76,31 @@ struct ColumnDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ColumnDefaultTypeInternal _Column_default_instance_; +constexpr ZetaSQLColumn::ZetaSQLColumn( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) + , zetasql_type_(nullptr){} +struct ZetaSQLColumnDefaultTypeInternal { + constexpr ZetaSQLColumnDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~ZetaSQLColumnDefaultTypeInternal() {} + union { + ZetaSQLColumn _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ZetaSQLColumnDefaultTypeInternal _ZetaSQLColumn_default_instance_; +constexpr GenericColumn::GenericColumn( + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) + : _oneof_case_{}{} +struct GenericColumnDefaultTypeInternal { + constexpr GenericColumnDefaultTypeInternal() + : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} + ~GenericColumnDefaultTypeInternal() {} + union { + GenericColumn _instance; + }; +}; +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GenericColumnDefaultTypeInternal _GenericColumn_default_instance_; constexpr TableSchema::TableSchema( ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) : columns_() @@ -111,8 +140,8 @@ struct AlphaCheckResponseDefaultTypeInternal { }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AlphaCheckResponseDefaultTypeInternal _AlphaCheckResponse_default_instance_; -static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_alphasql_5fservice_2eproto[7]; -static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_alphasql_5fservice_2eproto = nullptr; +static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_alphasql_5fservice_2eproto[9]; +static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_alphasql_5fservice_2eproto[2]; static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_alphasql_5fservice_2eproto = nullptr; const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_alphasql_5fservice_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { @@ -149,8 +178,25 @@ const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_alphasql_5fservice_2eproto::of ~0u, // no _extensions_ ~0u, // no _oneof_case_ ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::Column, column_name_), + PROTOBUF_FIELD_OFFSET(::Column, name_), PROTOBUF_FIELD_OFFSET(::Column, type_), + PROTOBUF_FIELD_OFFSET(::Column, mode_), + PROTOBUF_FIELD_OFFSET(::Column, fields_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::ZetaSQLColumn, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::ZetaSQLColumn, name_), + PROTOBUF_FIELD_OFFSET(::ZetaSQLColumn, zetasql_type_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::GenericColumn, _internal_metadata_), + ~0u, // no _extensions_ + PROTOBUF_FIELD_OFFSET(::GenericColumn, _oneof_case_[0]), + ~0u, // no _weak_field_map_ + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, + PROTOBUF_FIELD_OFFSET(::GenericColumn, column_), ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::TableSchema, _internal_metadata_), ~0u, // no _extensions_ @@ -179,9 +225,11 @@ static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOB { 7, -1, sizeof(::AlphaDAGRequest)}, { 17, 25, sizeof(::AlphaDAGResponse)}, { 28, -1, sizeof(::Column)}, - { 35, -1, sizeof(::TableSchema)}, - { 42, -1, sizeof(::AlphaCheckRequest)}, - { 50, 56, sizeof(::AlphaCheckResponse)}, + { 37, -1, sizeof(::ZetaSQLColumn)}, + { 44, -1, sizeof(::GenericColumn)}, + { 52, -1, sizeof(::TableSchema)}, + { 59, -1, sizeof(::AlphaCheckRequest)}, + { 67, 73, sizeof(::AlphaCheckResponse)}, }; static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { @@ -189,6 +237,8 @@ static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = reinterpret_cast(&::_AlphaDAGRequest_default_instance_), reinterpret_cast(&::_AlphaDAGResponse_default_instance_), reinterpret_cast(&::_Column_default_instance_), + reinterpret_cast(&::_ZetaSQLColumn_default_instance_), + reinterpret_cast(&::_GenericColumn_default_instance_), reinterpret_cast(&::_TableSchema_default_instance_), reinterpret_cast(&::_AlphaCheckRequest_default_instance_), reinterpret_cast(&::_AlphaCheckResponse_default_instance_), @@ -203,25 +253,37 @@ const char descriptor_table_protodef_alphasql_5fservice_2eproto[] PROTOBUF_SECTI "es\030\005 \003(\0132\005.File\"j\n\020AlphaDAGResponse\022 \n\030e" "xternal_required_tables\030\001 \003(\t\022\026\n\016dag_dot" "_string\030\002 \003(\t\022\022\n\005error\030\003 \001(\tH\000\210\001\001B\010\n\006_er" - "ror\"\?\n\006Column\022\023\n\013column_name\030\001 \001(\t\022 \n\004ty" - "pe\030\002 \001(\0132\022.zetasql.TypeProto\";\n\013TableSch" - "ema\022\022\n\ntable_name\030\001 \001(\t\022\030\n\007columns\030\002 \003(\013" - "2\007.Column\"x\n\021AlphaCheckRequest\0225\n\037extern" - "al_required_tables_schema\030\001 \003(\0132\014.TableS" - "chema\022\026\n\016dag_dot_string\030\002 \001(\t\022\024\n\005files\030\003" - " \003(\0132\005.File\"2\n\022AlphaCheckResponse\022\022\n\005err" - "or\030\001 \001(\tH\000\210\001\001B\010\n\006_error2v\n\010AlphaSQL\0221\n\010A" - "lphaDAG\022\020.AlphaDAGRequest\032\021.AlphaDAGResp" - "onse\"\000\0227\n\nAlphaCheck\022\022.AlphaCheckRequest" - "\032\023.AlphaCheckResponse\"\000b\006proto3" + "ror\"b\n\006Column\022\014\n\004name\030\001 \001(\t\022\034\n\004type\030\002 \001(" + "\0162\016.SupportedType\022\023\n\004mode\030\003 \001(\0162\005.Mode\022\027" + "\n\006fields\030\004 \003(\0132\007.Column\"G\n\rZetaSQLColumn" + "\022\014\n\004name\030\001 \001(\t\022(\n\014zetasql_type\030\002 \001(\0132\022.z" + "etasql.TypeProto\"`\n\rGenericColumn\022\032\n\007col" + "umns\030\002 \001(\0132\007.ColumnH\000\022)\n\017zetasql_columns" + "\030\003 \001(\0132\016.ZetaSQLColumnH\000B\010\n\006column\"B\n\013Ta" + "bleSchema\022\022\n\ntable_name\030\001 \001(\t\022\037\n\007columns" + "\030\002 \003(\0132\016.GenericColumn\"x\n\021AlphaCheckRequ" + "est\0225\n\037external_required_tables_schema\030\001" + " \003(\0132\014.TableSchema\022\026\n\016dag_dot_string\030\002 \001" + "(\t\022\024\n\005files\030\003 \003(\0132\005.File\"2\n\022AlphaCheckRe" + "sponse\022\022\n\005error\030\001 \001(\tH\000\210\001\001B\010\n\006_error*\306\001\n" + "\rSupportedType\022\n\n\006STRING\020\000\022\013\n\007INTEGER\020\001\022" + "\t\n\005INT64\020\002\022\013\n\007BOOLEAN\020\003\022\010\n\004BOOL\020\004\022\013\n\007FLO" + "AT64\020\005\022\t\n\005FLOAT\020\006\022\013\n\007NUMERIC\020\007\022\t\n\005BYTES\020" + "\010\022\r\n\tTIMESTAMP\020\t\022\010\n\004TIME\020\n\022\014\n\010DATETIME\020\013" + "\022\010\n\004DATE\020\014\022\r\n\tGEOGRAPHY\020\r\022\n\n\006RECORD\020\016*0\n" + "\004Mode\022\014\n\010REPEATED\020\000\022\014\n\010NULLABLE\020\001\022\014\n\010REQ" + "UIRED\020\0022v\n\010AlphaSQL\0221\n\010AlphaDAG\022\020.AlphaD" + "AGRequest\032\021.AlphaDAGResponse\"\000\0227\n\nAlphaC" + "heck\022\022.AlphaCheckRequest\032\023.AlphaCheckRes" + "ponse\"\000b\006proto3" ; static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_alphasql_5fservice_2eproto_deps[1] = { &::descriptor_table_type_2eproto, }; static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_alphasql_5fservice_2eproto_once; const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_alphasql_5fservice_2eproto = { - false, false, 751, descriptor_table_protodef_alphasql_5fservice_2eproto, "alphasql_service.proto", - &descriptor_table_alphasql_5fservice_2eproto_once, descriptor_table_alphasql_5fservice_2eproto_deps, 1, 7, + false, false, 1215, descriptor_table_protodef_alphasql_5fservice_2eproto, "alphasql_service.proto", + &descriptor_table_alphasql_5fservice_2eproto_once, descriptor_table_alphasql_5fservice_2eproto_deps, 1, 9, schemas, file_default_instances, TableStruct_alphasql_5fservice_2eproto::offsets, file_level_metadata_alphasql_5fservice_2eproto, file_level_enum_descriptors_alphasql_5fservice_2eproto, file_level_service_descriptors_alphasql_5fservice_2eproto, }; @@ -231,6 +293,48 @@ PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable // Force running AddDescriptors() at dynamic initialization time. PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_alphasql_5fservice_2eproto(&descriptor_table_alphasql_5fservice_2eproto); +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SupportedType_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_alphasql_5fservice_2eproto); + return file_level_enum_descriptors_alphasql_5fservice_2eproto[0]; +} +bool SupportedType_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: + return true; + default: + return false; + } +} + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Mode_descriptor() { + ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_alphasql_5fservice_2eproto); + return file_level_enum_descriptors_alphasql_5fservice_2eproto[1]; +} +bool Mode_IsValid(int value) { + switch (value) { + case 0: + case 1: + case 2: + return true; + default: + return false; + } +} + // =================================================================== @@ -1055,22 +1159,12 @@ ::PROTOBUF_NAMESPACE_ID::Metadata AlphaDAGResponse::GetMetadata() const { class Column::_Internal { public: - static const ::zetasql::TypeProto& type(const Column* msg); }; -const ::zetasql::TypeProto& -Column::_Internal::type(const Column* msg) { - return *msg->type_; -} -void Column::clear_type() { - if (GetArenaForAllocation() == nullptr && type_ != nullptr) { - delete type_; - } - type_ = nullptr; -} Column::Column(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), + fields_(arena) { SharedCtor(); if (!is_message_owned) { RegisterArenaDtor(arena); @@ -1078,24 +1172,26 @@ Column::Column(::PROTOBUF_NAMESPACE_ID::Arena* arena, // @@protoc_insertion_point(arena_constructor:Column) } Column::Column(const Column& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { + : ::PROTOBUF_NAMESPACE_ID::Message(), + fields_(from.fields_) { _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - column_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (!from._internal_column_name().empty()) { - column_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_column_name(), + name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_name().empty()) { + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(), GetArenaForAllocation()); } - if (from._internal_has_type()) { - type_ = new ::zetasql::TypeProto(*from.type_); - } else { - type_ = nullptr; - } + ::memcpy(&type_, &from.type_, + static_cast(reinterpret_cast(&mode_) - + reinterpret_cast(&type_)) + sizeof(mode_)); // @@protoc_insertion_point(copy_constructor:Column) } inline void Column::SharedCtor() { -column_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -type_ = nullptr; +name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +::memset(reinterpret_cast(this) + static_cast( + reinterpret_cast(&type_) - reinterpret_cast(this)), + 0, static_cast(reinterpret_cast(&mode_) - + reinterpret_cast(&type_)) + sizeof(mode_)); } Column::~Column() { @@ -1107,8 +1203,7 @@ Column::~Column() { inline void Column::SharedDtor() { GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - column_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (this != internal_default_instance()) delete type_; + name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); } void Column::ArenaDtor(void* object) { @@ -1127,11 +1222,11 @@ void Column::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - column_name_.ClearToEmpty(); - if (GetArenaForAllocation() == nullptr && type_ != nullptr) { - delete type_; - } - type_ = nullptr; + fields_.Clear(); + name_.ClearToEmpty(); + ::memset(&type_, 0, static_cast( + reinterpret_cast(&mode_) - + reinterpret_cast(&type_)) + sizeof(mode_)); _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); } @@ -1141,20 +1236,41 @@ const char* Column::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::int ::PROTOBUF_NAMESPACE_ID::uint32 tag; ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag); switch (tag >> 3) { - // string column_name = 1; + // string name = 1; case 1: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { - auto str = _internal_mutable_column_name(); + auto str = _internal_mutable_name(); ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "Column.column_name")); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "Column.name")); CHK_(ptr); } else goto handle_unusual; continue; - // .zetasql.TypeProto type = 2; + // .SupportedType type = 2; case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_type(), ptr); + 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); + _internal_set_type(static_cast<::SupportedType>(val)); + } else goto handle_unusual; + continue; + // .Mode mode = 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); + _internal_set_mode(static_cast<::Mode>(val)); + } else goto handle_unusual; + continue; + // repeated .Column fields = 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_fields(), ptr); + CHK_(ptr); + if (!ctx->DataAvailable(ptr)) break; + } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr)); } else goto handle_unusual; continue; default: { @@ -1186,22 +1302,36 @@ ::PROTOBUF_NAMESPACE_ID::uint8* Column::_InternalSerialize( ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - // string column_name = 1; - if (!this->_internal_column_name().empty()) { + // string name = 1; + if (!this->_internal_name().empty()) { ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_column_name().data(), static_cast(this->_internal_column_name().length()), + this->_internal_name().data(), static_cast(this->_internal_name().length()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "Column.column_name"); + "Column.name"); target = stream->WriteStringMaybeAliased( - 1, this->_internal_column_name(), target); + 1, this->_internal_name(), target); + } + + // .SupportedType type = 2; + if (this->_internal_type() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( + 2, this->_internal_type(), target); } - // .zetasql.TypeProto type = 2; - if (this->_internal_has_type()) { + // .Mode mode = 3; + if (this->_internal_mode() != 0) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( + 3, this->_internal_mode(), target); + } + + // repeated .Column fields = 4; + for (unsigned int i = 0, + n = static_cast(this->_internal_fields_size()); i < n; i++) { target = stream->EnsureSpace(target); target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 2, _Internal::type(this), target, stream); + InternalWriteMessage(4, this->_internal_fields(i), target, stream); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -1220,18 +1350,30 @@ size_t Column::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // string column_name = 1; - if (!this->_internal_column_name().empty()) { + // repeated .Column fields = 4; + total_size += 1UL * this->_internal_fields_size(); + for (const auto& msg : this->fields_) { + total_size += + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); + } + + // string name = 1; + if (!this->_internal_name().empty()) { total_size += 1 + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_column_name()); + this->_internal_name()); } - // .zetasql.TypeProto type = 2; - if (this->_internal_has_type()) { + // .SupportedType type = 2; + if (this->_internal_type() != 0) { total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *type_); + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_type()); + } + + // .Mode mode = 3; + if (this->_internal_mode() != 0) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_mode()); } if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) { @@ -1262,11 +1404,15 @@ void Column::MergeFrom(const Column& from) { ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; (void) cached_has_bits; - if (!from._internal_column_name().empty()) { - _internal_set_column_name(from._internal_column_name()); + fields_.MergeFrom(from.fields_); + if (!from._internal_name().empty()) { + _internal_set_name(from._internal_name()); } - if (from._internal_has_type()) { - _internal_mutable_type()->::zetasql::TypeProto::MergeFrom(from._internal_type()); + if (from._internal_type() != 0) { + _internal_set_type(from._internal_type()); + } + if (from._internal_mode() != 0) { + _internal_set_mode(from._internal_mode()); } _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); } @@ -1279,21 +1425,24 @@ void Column::CopyFrom(const Column& from) { } bool Column::IsInitialized() const { - if (_internal_has_type()) { - if (!type_->IsInitialized()) return false; - } return true; } void Column::InternalSwap(Column* other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); + fields_.InternalSwap(&other->fields_); ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &column_name_, GetArenaForAllocation(), - &other->column_name_, other->GetArenaForAllocation() + &name_, GetArenaForAllocation(), + &other->name_, other->GetArenaForAllocation() ); - swap(type_, other->type_); + ::PROTOBUF_NAMESPACE_ID::internal::memswap< + PROTOBUF_FIELD_OFFSET(Column, mode_) + + sizeof(Column::mode_) + - PROTOBUF_FIELD_OFFSET(Column, type_)>( + reinterpret_cast(&type_), + reinterpret_cast(&other->type_)); } ::PROTOBUF_NAMESPACE_ID::Metadata Column::GetMetadata() const { @@ -1304,6 +1453,575 @@ ::PROTOBUF_NAMESPACE_ID::Metadata Column::GetMetadata() const { // =================================================================== +class ZetaSQLColumn::_Internal { + public: + static const ::zetasql::TypeProto& zetasql_type(const ZetaSQLColumn* msg); +}; + +const ::zetasql::TypeProto& +ZetaSQLColumn::_Internal::zetasql_type(const ZetaSQLColumn* msg) { + return *msg->zetasql_type_; +} +void ZetaSQLColumn::clear_zetasql_type() { + if (GetArenaForAllocation() == nullptr && zetasql_type_ != nullptr) { + delete zetasql_type_; + } + zetasql_type_ = nullptr; +} +ZetaSQLColumn::ZetaSQLColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:ZetaSQLColumn) +} +ZetaSQLColumn::ZetaSQLColumn(const ZetaSQLColumn& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (!from._internal_name().empty()) { + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(), + GetArenaForAllocation()); + } + if (from._internal_has_zetasql_type()) { + zetasql_type_ = new ::zetasql::TypeProto(*from.zetasql_type_); + } else { + zetasql_type_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:ZetaSQLColumn) +} + +inline void ZetaSQLColumn::SharedCtor() { +name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); +zetasql_type_ = nullptr; +} + +ZetaSQLColumn::~ZetaSQLColumn() { + // @@protoc_insertion_point(destructor:ZetaSQLColumn) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void ZetaSQLColumn::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); + if (this != internal_default_instance()) delete zetasql_type_; +} + +void ZetaSQLColumn::ArenaDtor(void* object) { + ZetaSQLColumn* _this = reinterpret_cast< ZetaSQLColumn* >(object); + (void)_this; +} +void ZetaSQLColumn::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void ZetaSQLColumn::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void ZetaSQLColumn::Clear() { +// @@protoc_insertion_point(message_clear_start:ZetaSQLColumn) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + name_.ClearToEmpty(); + if (GetArenaForAllocation() == nullptr && zetasql_type_ != nullptr) { + delete zetasql_type_; + } + zetasql_type_ = nullptr; + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* ZetaSQLColumn::_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) { + // 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); + CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "ZetaSQLColumn.name")); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .zetasql.TypeProto zetasql_type = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_zetasql_type(), 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: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* ZetaSQLColumn::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:ZetaSQLColumn) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // string name = 1; + if (!this->_internal_name().empty()) { + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( + this->_internal_name().data(), static_cast(this->_internal_name().length()), + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, + "ZetaSQLColumn.name"); + target = stream->WriteStringMaybeAliased( + 1, this->_internal_name(), target); + } + + // .zetasql.TypeProto zetasql_type = 2; + if (this->_internal_has_zetasql_type()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::zetasql_type(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:ZetaSQLColumn) + return target; +} + +size_t ZetaSQLColumn::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:ZetaSQLColumn) + 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; + + // string name = 1; + if (!this->_internal_name().empty()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( + this->_internal_name()); + } + + // .zetasql.TypeProto zetasql_type = 2; + if (this->_internal_has_zetasql_type()) { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *zetasql_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; +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ZetaSQLColumn::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + ZetaSQLColumn::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ZetaSQLColumn::GetClassData() const { return &_class_data_; } + +void ZetaSQLColumn::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, + const ::PROTOBUF_NAMESPACE_ID::Message&from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void ZetaSQLColumn::MergeFrom(const ZetaSQLColumn& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:ZetaSQLColumn) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_name().empty()) { + _internal_set_name(from._internal_name()); + } + if (from._internal_has_zetasql_type()) { + _internal_mutable_zetasql_type()->::zetasql::TypeProto::MergeFrom(from._internal_zetasql_type()); + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void ZetaSQLColumn::CopyFrom(const ZetaSQLColumn& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:ZetaSQLColumn) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ZetaSQLColumn::IsInitialized() const { + if (_internal_has_zetasql_type()) { + if (!zetasql_type_->IsInitialized()) return false; + } + return true; +} + +void ZetaSQLColumn::InternalSwap(ZetaSQLColumn* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( + &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), + &name_, GetArenaForAllocation(), + &other->name_, other->GetArenaForAllocation() + ); + swap(zetasql_type_, other->zetasql_type_); +} + +::PROTOBUF_NAMESPACE_ID::Metadata ZetaSQLColumn::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, + file_level_metadata_alphasql_5fservice_2eproto[4]); +} + +// =================================================================== + +class GenericColumn::_Internal { + public: + static const ::Column& columns(const GenericColumn* msg); + static const ::ZetaSQLColumn& zetasql_columns(const GenericColumn* msg); +}; + +const ::Column& +GenericColumn::_Internal::columns(const GenericColumn* msg) { + return *msg->column_.columns_; +} +const ::ZetaSQLColumn& +GenericColumn::_Internal::zetasql_columns(const GenericColumn* msg) { + return *msg->column_.zetasql_columns_; +} +void GenericColumn::set_allocated_columns(::Column* columns) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_column(); + if (columns) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::Column>::GetOwningArena(columns); + if (message_arena != submessage_arena) { + columns = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, columns, submessage_arena); + } + set_has_columns(); + column_.columns_ = columns; + } + // @@protoc_insertion_point(field_set_allocated:GenericColumn.columns) +} +void GenericColumn::set_allocated_zetasql_columns(::ZetaSQLColumn* zetasql_columns) { + ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); + clear_column(); + if (zetasql_columns) { + ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = + ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::ZetaSQLColumn>::GetOwningArena(zetasql_columns); + if (message_arena != submessage_arena) { + zetasql_columns = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, zetasql_columns, submessage_arena); + } + set_has_zetasql_columns(); + column_.zetasql_columns_ = zetasql_columns; + } + // @@protoc_insertion_point(field_set_allocated:GenericColumn.zetasql_columns) +} +GenericColumn::GenericColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned) + : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { + SharedCtor(); + if (!is_message_owned) { + RegisterArenaDtor(arena); + } + // @@protoc_insertion_point(arena_constructor:GenericColumn) +} +GenericColumn::GenericColumn(const GenericColumn& from) + : ::PROTOBUF_NAMESPACE_ID::Message() { + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); + clear_has_column(); + switch (from.column_case()) { + case kColumns: { + _internal_mutable_columns()->::Column::MergeFrom(from._internal_columns()); + break; + } + case kZetasqlColumns: { + _internal_mutable_zetasql_columns()->::ZetaSQLColumn::MergeFrom(from._internal_zetasql_columns()); + break; + } + case COLUMN_NOT_SET: { + break; + } + } + // @@protoc_insertion_point(copy_constructor:GenericColumn) +} + +inline void GenericColumn::SharedCtor() { +clear_has_column(); +} + +GenericColumn::~GenericColumn() { + // @@protoc_insertion_point(destructor:GenericColumn) + if (GetArenaForAllocation() != nullptr) return; + SharedDtor(); + _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +inline void GenericColumn::SharedDtor() { + GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); + if (has_column()) { + clear_column(); + } +} + +void GenericColumn::ArenaDtor(void* object) { + GenericColumn* _this = reinterpret_cast< GenericColumn* >(object); + (void)_this; +} +void GenericColumn::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { +} +void GenericColumn::SetCachedSize(int size) const { + _cached_size_.Set(size); +} + +void GenericColumn::clear_column() { +// @@protoc_insertion_point(one_of_clear_start:GenericColumn) + switch (column_case()) { + case kColumns: { + if (GetArenaForAllocation() == nullptr) { + delete column_.columns_; + } + break; + } + case kZetasqlColumns: { + if (GetArenaForAllocation() == nullptr) { + delete column_.zetasql_columns_; + } + break; + } + case COLUMN_NOT_SET: { + break; + } + } + _oneof_case_[0] = COLUMN_NOT_SET; +} + + +void GenericColumn::Clear() { +// @@protoc_insertion_point(message_clear_start:GenericColumn) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + clear_column(); + _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); +} + +const char* GenericColumn::_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) { + // .Column columns = 2; + case 2: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { + ptr = ctx->ParseMessage(_internal_mutable_columns(), ptr); + CHK_(ptr); + } else goto handle_unusual; + continue; + // .ZetaSQLColumn zetasql_columns = 3; + case 3: + if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { + ptr = ctx->ParseMessage(_internal_mutable_zetasql_columns(), 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: + return ptr; +failure: + ptr = nullptr; + goto success; +#undef CHK_ +} + +::PROTOBUF_NAMESPACE_ID::uint8* GenericColumn::_InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { + // @@protoc_insertion_point(serialize_to_array_start:GenericColumn) + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .Column columns = 2; + if (_internal_has_columns()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 2, _Internal::columns(this), target, stream); + } + + // .ZetaSQLColumn zetasql_columns = 3; + if (_internal_has_zetasql_columns()) { + target = stream->EnsureSpace(target); + target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: + InternalWriteMessage( + 3, _Internal::zetasql_columns(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:GenericColumn) + return target; +} + +size_t GenericColumn::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:GenericColumn) + 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; + + switch (column_case()) { + // .Column columns = 2; + case kColumns: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *column_.columns_); + break; + } + // .ZetaSQLColumn zetasql_columns = 3; + case kZetasqlColumns: { + total_size += 1 + + ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( + *column_.zetasql_columns_); + break; + } + case COLUMN_NOT_SET: { + break; + } + } + 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; +} + +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GenericColumn::_class_data_ = { + ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, + GenericColumn::MergeImpl +}; +const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GenericColumn::GetClassData() const { return &_class_data_; } + +void GenericColumn::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, + const ::PROTOBUF_NAMESPACE_ID::Message&from) { + static_cast(to)->MergeFrom( + static_cast(from)); +} + + +void GenericColumn::MergeFrom(const GenericColumn& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:GenericColumn) + GOOGLE_DCHECK_NE(&from, this); + ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + switch (from.column_case()) { + case kColumns: { + _internal_mutable_columns()->::Column::MergeFrom(from._internal_columns()); + break; + } + case kZetasqlColumns: { + _internal_mutable_zetasql_columns()->::ZetaSQLColumn::MergeFrom(from._internal_zetasql_columns()); + break; + } + case COLUMN_NOT_SET: { + break; + } + } + _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); +} + +void GenericColumn::CopyFrom(const GenericColumn& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:GenericColumn) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool GenericColumn::IsInitialized() const { + switch (column_case()) { + case kColumns: { + break; + } + case kZetasqlColumns: { + if (has_zetasql_columns()) { + if (!this->zetasql_columns().IsInitialized()) return false; + } + break; + } + case COLUMN_NOT_SET: { + break; + } + } + return true; +} + +void GenericColumn::InternalSwap(GenericColumn* other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(column_, other->column_); + swap(_oneof_case_[0], other->_oneof_case_[0]); +} + +::PROTOBUF_NAMESPACE_ID::Metadata GenericColumn::GetMetadata() const { + return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( + &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, + file_level_metadata_alphasql_5fservice_2eproto[5]); +} + +// =================================================================== + class TableSchema::_Internal { public: }; @@ -1382,7 +2100,7 @@ const char* TableSchema::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID CHK_(ptr); } else goto handle_unusual; continue; - // repeated .Column columns = 2; + // repeated .GenericColumn columns = 2; case 2: if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { ptr -= 1; @@ -1433,7 +2151,7 @@ ::PROTOBUF_NAMESPACE_ID::uint8* TableSchema::_InternalSerialize( 1, this->_internal_table_name(), target); } - // repeated .Column columns = 2; + // repeated .GenericColumn columns = 2; for (unsigned int i = 0, n = static_cast(this->_internal_columns_size()); i < n; i++) { target = stream->EnsureSpace(target); @@ -1457,7 +2175,7 @@ size_t TableSchema::ByteSizeLong() const { // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - // repeated .Column columns = 2; + // repeated .GenericColumn columns = 2; total_size += 1UL * this->_internal_columns_size(); for (const auto& msg : this->columns_) { total_size += @@ -1532,7 +2250,7 @@ void TableSchema::InternalSwap(TableSchema* other) { ::PROTOBUF_NAMESPACE_ID::Metadata TableSchema::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, - file_level_metadata_alphasql_5fservice_2eproto[4]); + file_level_metadata_alphasql_5fservice_2eproto[6]); } // =================================================================== @@ -1797,7 +2515,7 @@ void AlphaCheckRequest::InternalSwap(AlphaCheckRequest* other) { ::PROTOBUF_NAMESPACE_ID::Metadata AlphaCheckRequest::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, - file_level_metadata_alphasql_5fservice_2eproto[5]); + file_level_metadata_alphasql_5fservice_2eproto[7]); } // =================================================================== @@ -2010,7 +2728,7 @@ void AlphaCheckResponse::InternalSwap(AlphaCheckResponse* other) { ::PROTOBUF_NAMESPACE_ID::Metadata AlphaCheckResponse::GetMetadata() const { return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, - file_level_metadata_alphasql_5fservice_2eproto[6]); + file_level_metadata_alphasql_5fservice_2eproto[8]); } // @@protoc_insertion_point(namespace_scope) @@ -2027,6 +2745,12 @@ template<> PROTOBUF_NOINLINE ::AlphaDAGResponse* Arena::CreateMaybeMessage< ::Al template<> PROTOBUF_NOINLINE ::Column* Arena::CreateMaybeMessage< ::Column >(Arena* arena) { return Arena::CreateMessageInternal< ::Column >(arena); } +template<> PROTOBUF_NOINLINE ::ZetaSQLColumn* Arena::CreateMaybeMessage< ::ZetaSQLColumn >(Arena* arena) { + return Arena::CreateMessageInternal< ::ZetaSQLColumn >(arena); +} +template<> PROTOBUF_NOINLINE ::GenericColumn* Arena::CreateMaybeMessage< ::GenericColumn >(Arena* arena) { + return Arena::CreateMessageInternal< ::GenericColumn >(arena); +} template<> PROTOBUF_NOINLINE ::TableSchema* Arena::CreateMaybeMessage< ::TableSchema >(Arena* arena) { return Arena::CreateMessageInternal< ::TableSchema >(arena); } diff --git a/alphasql/proto/alphasql_service.pb.h b/alphasql/proto/alphasql_service.pb.h index 5837e26f..bf2a75ba 100644 --- a/alphasql/proto/alphasql_service.pb.h +++ b/alphasql/proto/alphasql_service.pb.h @@ -30,6 +30,7 @@ #include #include // IWYU pragma: export #include // IWYU pragma: export +#include #include #include "type.pb.h" // @@protoc_insertion_point(includes) @@ -47,7 +48,7 @@ struct TableStruct_alphasql_5fservice_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[7] + static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[9] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; @@ -72,9 +73,15 @@ extern ColumnDefaultTypeInternal _Column_default_instance_; class File; struct FileDefaultTypeInternal; extern FileDefaultTypeInternal _File_default_instance_; +class GenericColumn; +struct GenericColumnDefaultTypeInternal; +extern GenericColumnDefaultTypeInternal _GenericColumn_default_instance_; class TableSchema; struct TableSchemaDefaultTypeInternal; extern TableSchemaDefaultTypeInternal _TableSchema_default_instance_; +class ZetaSQLColumn; +struct ZetaSQLColumnDefaultTypeInternal; +extern ZetaSQLColumnDefaultTypeInternal _ZetaSQLColumn_default_instance_; PROTOBUF_NAMESPACE_OPEN template<> ::AlphaCheckRequest* Arena::CreateMaybeMessage<::AlphaCheckRequest>(Arena*); template<> ::AlphaCheckResponse* Arena::CreateMaybeMessage<::AlphaCheckResponse>(Arena*); @@ -82,9 +89,75 @@ template<> ::AlphaDAGRequest* Arena::CreateMaybeMessage<::AlphaDAGRequest>(Arena template<> ::AlphaDAGResponse* Arena::CreateMaybeMessage<::AlphaDAGResponse>(Arena*); template<> ::Column* Arena::CreateMaybeMessage<::Column>(Arena*); template<> ::File* Arena::CreateMaybeMessage<::File>(Arena*); +template<> ::GenericColumn* Arena::CreateMaybeMessage<::GenericColumn>(Arena*); template<> ::TableSchema* Arena::CreateMaybeMessage<::TableSchema>(Arena*); +template<> ::ZetaSQLColumn* Arena::CreateMaybeMessage<::ZetaSQLColumn>(Arena*); PROTOBUF_NAMESPACE_CLOSE +enum SupportedType : int { + STRING = 0, + INTEGER = 1, + INT64 = 2, + BOOLEAN = 3, + BOOL = 4, + FLOAT64 = 5, + FLOAT = 6, + NUMERIC = 7, + BYTES = 8, + TIMESTAMP = 9, + TIME = 10, + DATETIME = 11, + DATE = 12, + GEOGRAPHY = 13, + RECORD = 14, + SupportedType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(), + SupportedType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max() +}; +bool SupportedType_IsValid(int value); +constexpr SupportedType SupportedType_MIN = STRING; +constexpr SupportedType SupportedType_MAX = RECORD; +constexpr int SupportedType_ARRAYSIZE = SupportedType_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SupportedType_descriptor(); +template +inline const std::string& SupportedType_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function SupportedType_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + SupportedType_descriptor(), enum_t_value); +} +inline bool SupportedType_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SupportedType* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + SupportedType_descriptor(), name, value); +} +enum Mode : int { + REPEATED = 0, + NULLABLE = 1, + REQUIRED = 2, + Mode_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(), + Mode_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max() +}; +bool Mode_IsValid(int value); +constexpr Mode Mode_MIN = REPEATED; +constexpr Mode Mode_MAX = REQUIRED; +constexpr int Mode_ARRAYSIZE = Mode_MAX + 1; + +const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Mode_descriptor(); +template +inline const std::string& Mode_Name(T enum_t_value) { + static_assert(::std::is_same::value || + ::std::is_integral::value, + "Incorrect type passed to function Mode_Name."); + return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( + Mode_descriptor(), enum_t_value); +} +inline bool Mode_Parse( + ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Mode* value) { + return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( + Mode_descriptor(), name, value); +} // =================================================================== class File final : @@ -755,40 +828,60 @@ class Column final : // accessors ------------------------------------------------------- enum : int { - kColumnNameFieldNumber = 1, + kFieldsFieldNumber = 4, + kNameFieldNumber = 1, kTypeFieldNumber = 2, + kModeFieldNumber = 3, }; - // string column_name = 1; - void clear_column_name(); - const std::string& column_name() const; - template - void set_column_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_column_name(); - PROTOBUF_MUST_USE_RESULT std::string* release_column_name(); - void set_allocated_column_name(std::string* column_name); + // repeated .Column fields = 4; + int fields_size() const; private: - const std::string& _internal_column_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_column_name(const std::string& value); - std::string* _internal_mutable_column_name(); + int _internal_fields_size() const; public: + void clear_fields(); + ::Column* mutable_fields(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column >* + mutable_fields(); + private: + const ::Column& _internal_fields(int index) const; + ::Column* _internal_add_fields(); + public: + const ::Column& fields(int index) const; + ::Column* add_fields(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column >& + fields() const; - // .zetasql.TypeProto type = 2; - bool has_type() const; + // string name = 1; + void clear_name(); + const std::string& name() const; + template + void set_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_name(); + PROTOBUF_MUST_USE_RESULT std::string* release_name(); + void set_allocated_name(std::string* name); private: - bool _internal_has_type() const; + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); public: + + // .SupportedType type = 2; void clear_type(); - const ::zetasql::TypeProto& type() const; - PROTOBUF_MUST_USE_RESULT ::zetasql::TypeProto* release_type(); - ::zetasql::TypeProto* mutable_type(); - void set_allocated_type(::zetasql::TypeProto* type); + ::SupportedType type() const; + void set_type(::SupportedType value); + private: + ::SupportedType _internal_type() const; + void _internal_set_type(::SupportedType value); + public: + + // .Mode mode = 3; + void clear_mode(); + ::Mode mode() const; + void set_mode(::Mode value); private: - const ::zetasql::TypeProto& _internal_type() const; - ::zetasql::TypeProto* _internal_mutable_type(); + ::Mode _internal_mode() const; + void _internal_set_mode(::Mode value); public: - void unsafe_arena_set_allocated_type( - ::zetasql::TypeProto* type); - ::zetasql::TypeProto* unsafe_arena_release_type(); // @@protoc_insertion_point(class_scope:Column) private: @@ -797,13 +890,366 @@ class Column final : template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr column_name_; - ::zetasql::TypeProto* type_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column > fields_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + int type_; + int mode_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + friend struct ::TableStruct_alphasql_5fservice_2eproto; +}; +// ------------------------------------------------------------------- + +class ZetaSQLColumn final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:ZetaSQLColumn) */ { + public: + inline ZetaSQLColumn() : ZetaSQLColumn(nullptr) {} + ~ZetaSQLColumn() override; + explicit constexpr ZetaSQLColumn(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + ZetaSQLColumn(const ZetaSQLColumn& from); + ZetaSQLColumn(ZetaSQLColumn&& from) noexcept + : ZetaSQLColumn() { + *this = ::std::move(from); + } + + inline ZetaSQLColumn& operator=(const ZetaSQLColumn& from) { + CopyFrom(from); + return *this; + } + inline ZetaSQLColumn& operator=(ZetaSQLColumn&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ZetaSQLColumn& default_instance() { + return *internal_default_instance(); + } + static inline const ZetaSQLColumn* internal_default_instance() { + return reinterpret_cast( + &_ZetaSQLColumn_default_instance_); + } + static constexpr int kIndexInFileMessages = + 4; + + friend void swap(ZetaSQLColumn& a, ZetaSQLColumn& b) { + a.Swap(&b); + } + inline void Swap(ZetaSQLColumn* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ZetaSQLColumn* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline ZetaSQLColumn* New() const final { + return new ZetaSQLColumn(); + } + + ZetaSQLColumn* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const ZetaSQLColumn& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const ZetaSQLColumn& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ZetaSQLColumn* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "ZetaSQLColumn"; + } + protected: + explicit ZetaSQLColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kNameFieldNumber = 1, + kZetasqlTypeFieldNumber = 2, + }; + // string name = 1; + void clear_name(); + const std::string& name() const; + template + void set_name(ArgT0&& arg0, ArgT... args); + std::string* mutable_name(); + PROTOBUF_MUST_USE_RESULT std::string* release_name(); + void set_allocated_name(std::string* name); + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); + std::string* _internal_mutable_name(); + public: + + // .zetasql.TypeProto zetasql_type = 2; + bool has_zetasql_type() const; + private: + bool _internal_has_zetasql_type() const; + public: + void clear_zetasql_type(); + const ::zetasql::TypeProto& zetasql_type() const; + PROTOBUF_MUST_USE_RESULT ::zetasql::TypeProto* release_zetasql_type(); + ::zetasql::TypeProto* mutable_zetasql_type(); + void set_allocated_zetasql_type(::zetasql::TypeProto* zetasql_type); + private: + const ::zetasql::TypeProto& _internal_zetasql_type() const; + ::zetasql::TypeProto* _internal_mutable_zetasql_type(); + public: + void unsafe_arena_set_allocated_zetasql_type( + ::zetasql::TypeProto* zetasql_type); + ::zetasql::TypeProto* unsafe_arena_release_zetasql_type(); + + // @@protoc_insertion_point(class_scope:ZetaSQLColumn) + private: + class _Internal; + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; + ::zetasql::TypeProto* zetasql_type_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_alphasql_5fservice_2eproto; }; // ------------------------------------------------------------------- +class GenericColumn final : + public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:GenericColumn) */ { + public: + inline GenericColumn() : GenericColumn(nullptr) {} + ~GenericColumn() override; + explicit constexpr GenericColumn(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); + + GenericColumn(const GenericColumn& from); + GenericColumn(GenericColumn&& from) noexcept + : GenericColumn() { + *this = ::std::move(from); + } + + inline GenericColumn& operator=(const GenericColumn& from) { + CopyFrom(from); + return *this; + } + inline GenericColumn& operator=(GenericColumn&& from) noexcept { + if (this == &from) return *this; + if (GetOwningArena() == from.GetOwningArena()) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const GenericColumn& default_instance() { + return *internal_default_instance(); + } + enum ColumnCase { + kColumns = 2, + kZetasqlColumns = 3, + COLUMN_NOT_SET = 0, + }; + + static inline const GenericColumn* internal_default_instance() { + return reinterpret_cast( + &_GenericColumn_default_instance_); + } + static constexpr int kIndexInFileMessages = + 5; + + friend void swap(GenericColumn& a, GenericColumn& b) { + a.Swap(&b); + } + inline void Swap(GenericColumn* other) { + if (other == this) return; + if (GetOwningArena() == other->GetOwningArena()) { + InternalSwap(other); + } else { + ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GenericColumn* other) { + if (other == this) return; + GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + inline GenericColumn* New() const final { + return new GenericColumn(); + } + + GenericColumn* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; + void CopyFrom(const GenericColumn& from); + using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; + void MergeFrom(const GenericColumn& from); + private: + static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); + public: + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; + ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( + ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(GenericColumn* other); + friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; + static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { + return "GenericColumn"; + } + protected: + explicit GenericColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena, + bool is_message_owned = false); + private: + static void ArenaDtor(void* object); + inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); + public: + + static const ClassData _class_data_; + const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; + + ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + enum : int { + kColumnsFieldNumber = 2, + kZetasqlColumnsFieldNumber = 3, + }; + // .Column columns = 2; + bool has_columns() const; + private: + bool _internal_has_columns() const; + public: + void clear_columns(); + const ::Column& columns() const; + PROTOBUF_MUST_USE_RESULT ::Column* release_columns(); + ::Column* mutable_columns(); + void set_allocated_columns(::Column* columns); + private: + const ::Column& _internal_columns() const; + ::Column* _internal_mutable_columns(); + public: + void unsafe_arena_set_allocated_columns( + ::Column* columns); + ::Column* unsafe_arena_release_columns(); + + // .ZetaSQLColumn zetasql_columns = 3; + bool has_zetasql_columns() const; + private: + bool _internal_has_zetasql_columns() const; + public: + void clear_zetasql_columns(); + const ::ZetaSQLColumn& zetasql_columns() const; + PROTOBUF_MUST_USE_RESULT ::ZetaSQLColumn* release_zetasql_columns(); + ::ZetaSQLColumn* mutable_zetasql_columns(); + void set_allocated_zetasql_columns(::ZetaSQLColumn* zetasql_columns); + private: + const ::ZetaSQLColumn& _internal_zetasql_columns() const; + ::ZetaSQLColumn* _internal_mutable_zetasql_columns(); + public: + void unsafe_arena_set_allocated_zetasql_columns( + ::ZetaSQLColumn* zetasql_columns); + ::ZetaSQLColumn* unsafe_arena_release_zetasql_columns(); + + void clear_column(); + ColumnCase column_case() const; + // @@protoc_insertion_point(class_scope:GenericColumn) + private: + class _Internal; + void set_has_columns(); + void set_has_zetasql_columns(); + + inline bool has_column() const; + inline void clear_has_column(); + + template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; + typedef void InternalArenaConstructable_; + typedef void DestructorSkippable_; + union ColumnUnion { + constexpr ColumnUnion() : _constinit_{} {} + ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; + ::Column* columns_; + ::ZetaSQLColumn* zetasql_columns_; + } column_; + mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; + ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1]; + + friend struct ::TableStruct_alphasql_5fservice_2eproto; +}; +// ------------------------------------------------------------------- + class TableSchema final : public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:TableSchema) */ { public: @@ -848,7 +1294,7 @@ class TableSchema final : &_TableSchema_default_instance_); } static constexpr int kIndexInFileMessages = - 4; + 6; friend void swap(TableSchema& a, TableSchema& b) { a.Swap(&b); @@ -922,22 +1368,22 @@ class TableSchema final : kColumnsFieldNumber = 2, kTableNameFieldNumber = 1, }; - // repeated .Column columns = 2; + // repeated .GenericColumn columns = 2; int columns_size() const; private: int _internal_columns_size() const; public: void clear_columns(); - ::Column* mutable_columns(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column >* + ::GenericColumn* mutable_columns(int index); + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::GenericColumn >* mutable_columns(); private: - const ::Column& _internal_columns(int index) const; - ::Column* _internal_add_columns(); + const ::GenericColumn& _internal_columns(int index) const; + ::GenericColumn* _internal_add_columns(); public: - const ::Column& columns(int index) const; - ::Column* add_columns(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column >& + const ::GenericColumn& columns(int index) const; + ::GenericColumn* add_columns(); + const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::GenericColumn >& columns() const; // string table_name = 1; @@ -961,7 +1407,7 @@ class TableSchema final : template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; typedef void InternalArenaConstructable_; typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column > columns_; + ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::GenericColumn > columns_; ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr table_name_; mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; friend struct ::TableStruct_alphasql_5fservice_2eproto; @@ -1012,7 +1458,7 @@ class AlphaCheckRequest final : &_AlphaCheckRequest_default_instance_); } static constexpr int kIndexInFileMessages = - 5; + 7; friend void swap(AlphaCheckRequest& a, AlphaCheckRequest& b) { a.Swap(&b); @@ -1196,7 +1642,7 @@ class AlphaCheckResponse final : &_AlphaCheckResponse_default_instance_); } static constexpr int kIndexInFileMessages = - 6; + 8; friend void swap(AlphaCheckResponse& a, AlphaCheckResponse& b) { a.Swap(&b); @@ -1742,85 +2188,215 @@ inline void AlphaDAGResponse::set_allocated_error(std::string* error) { // Column -// string column_name = 1; -inline void Column::clear_column_name() { - column_name_.ClearToEmpty(); +// string name = 1; +inline void Column::clear_name() { + name_.ClearToEmpty(); } -inline const std::string& Column::column_name() const { - // @@protoc_insertion_point(field_get:Column.column_name) - return _internal_column_name(); +inline const std::string& Column::name() const { + // @@protoc_insertion_point(field_get:Column.name) + return _internal_name(); } template inline PROTOBUF_ALWAYS_INLINE -void Column::set_column_name(ArgT0&& arg0, ArgT... args) { +void Column::set_name(ArgT0&& arg0, ArgT... args) { - column_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:Column.column_name) + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:Column.name) } -inline std::string* Column::mutable_column_name() { - std::string* _s = _internal_mutable_column_name(); - // @@protoc_insertion_point(field_mutable:Column.column_name) +inline std::string* Column::mutable_name() { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:Column.name) return _s; } -inline const std::string& Column::_internal_column_name() const { - return column_name_.Get(); +inline const std::string& Column::_internal_name() const { + return name_.Get(); } -inline void Column::_internal_set_column_name(const std::string& value) { +inline void Column::_internal_set_name(const std::string& value) { - column_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); } -inline std::string* Column::_internal_mutable_column_name() { +inline std::string* Column::_internal_mutable_name() { - return column_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); + return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); } -inline std::string* Column::release_column_name() { - // @@protoc_insertion_point(field_release:Column.column_name) - return column_name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +inline std::string* Column::release_name() { + // @@protoc_insertion_point(field_release:Column.name) + return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); } -inline void Column::set_allocated_column_name(std::string* column_name) { - if (column_name != nullptr) { +inline void Column::set_allocated_name(std::string* name) { + if (name != nullptr) { } else { } - column_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), column_name, + name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name, GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:Column.column_name) + // @@protoc_insertion_point(field_set_allocated:Column.name) +} + +// .SupportedType type = 2; +inline void Column::clear_type() { + type_ = 0; +} +inline ::SupportedType Column::_internal_type() const { + return static_cast< ::SupportedType >(type_); +} +inline ::SupportedType Column::type() const { + // @@protoc_insertion_point(field_get:Column.type) + return _internal_type(); +} +inline void Column::_internal_set_type(::SupportedType value) { + + type_ = value; +} +inline void Column::set_type(::SupportedType value) { + _internal_set_type(value); + // @@protoc_insertion_point(field_set:Column.type) } -// .zetasql.TypeProto type = 2; -inline bool Column::_internal_has_type() const { - return this != internal_default_instance() && type_ != nullptr; +// .Mode mode = 3; +inline void Column::clear_mode() { + mode_ = 0; +} +inline ::Mode Column::_internal_mode() const { + return static_cast< ::Mode >(mode_); +} +inline ::Mode Column::mode() const { + // @@protoc_insertion_point(field_get:Column.mode) + return _internal_mode(); +} +inline void Column::_internal_set_mode(::Mode value) { + + mode_ = value; +} +inline void Column::set_mode(::Mode value) { + _internal_set_mode(value); + // @@protoc_insertion_point(field_set:Column.mode) +} + +// repeated .Column fields = 4; +inline int Column::_internal_fields_size() const { + return fields_.size(); +} +inline int Column::fields_size() const { + return _internal_fields_size(); +} +inline void Column::clear_fields() { + fields_.Clear(); } -inline bool Column::has_type() const { - return _internal_has_type(); +inline ::Column* Column::mutable_fields(int index) { + // @@protoc_insertion_point(field_mutable:Column.fields) + return fields_.Mutable(index); } -inline const ::zetasql::TypeProto& Column::_internal_type() const { - const ::zetasql::TypeProto* p = type_; +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column >* +Column::mutable_fields() { + // @@protoc_insertion_point(field_mutable_list:Column.fields) + return &fields_; +} +inline const ::Column& Column::_internal_fields(int index) const { + return fields_.Get(index); +} +inline const ::Column& Column::fields(int index) const { + // @@protoc_insertion_point(field_get:Column.fields) + return _internal_fields(index); +} +inline ::Column* Column::_internal_add_fields() { + return fields_.Add(); +} +inline ::Column* Column::add_fields() { + ::Column* _add = _internal_add_fields(); + // @@protoc_insertion_point(field_add:Column.fields) + return _add; +} +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column >& +Column::fields() const { + // @@protoc_insertion_point(field_list:Column.fields) + return fields_; +} + +// ------------------------------------------------------------------- + +// ZetaSQLColumn + +// string name = 1; +inline void ZetaSQLColumn::clear_name() { + name_.ClearToEmpty(); +} +inline const std::string& ZetaSQLColumn::name() const { + // @@protoc_insertion_point(field_get:ZetaSQLColumn.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE +void ZetaSQLColumn::set_name(ArgT0&& arg0, ArgT... args) { + + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); + // @@protoc_insertion_point(field_set:ZetaSQLColumn.name) +} +inline std::string* ZetaSQLColumn::mutable_name() { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:ZetaSQLColumn.name) + return _s; +} +inline const std::string& ZetaSQLColumn::_internal_name() const { + return name_.Get(); +} +inline void ZetaSQLColumn::_internal_set_name(const std::string& value) { + + name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); +} +inline std::string* ZetaSQLColumn::_internal_mutable_name() { + + return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); +} +inline std::string* ZetaSQLColumn::release_name() { + // @@protoc_insertion_point(field_release:ZetaSQLColumn.name) + return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); +} +inline void ZetaSQLColumn::set_allocated_name(std::string* name) { + if (name != nullptr) { + + } else { + + } + name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name, + GetArenaForAllocation()); + // @@protoc_insertion_point(field_set_allocated:ZetaSQLColumn.name) +} + +// .zetasql.TypeProto zetasql_type = 2; +inline bool ZetaSQLColumn::_internal_has_zetasql_type() const { + return this != internal_default_instance() && zetasql_type_ != nullptr; +} +inline bool ZetaSQLColumn::has_zetasql_type() const { + return _internal_has_zetasql_type(); +} +inline const ::zetasql::TypeProto& ZetaSQLColumn::_internal_zetasql_type() const { + const ::zetasql::TypeProto* p = zetasql_type_; return p != nullptr ? *p : reinterpret_cast( ::zetasql::_TypeProto_default_instance_); } -inline const ::zetasql::TypeProto& Column::type() const { - // @@protoc_insertion_point(field_get:Column.type) - return _internal_type(); +inline const ::zetasql::TypeProto& ZetaSQLColumn::zetasql_type() const { + // @@protoc_insertion_point(field_get:ZetaSQLColumn.zetasql_type) + return _internal_zetasql_type(); } -inline void Column::unsafe_arena_set_allocated_type( - ::zetasql::TypeProto* type) { +inline void ZetaSQLColumn::unsafe_arena_set_allocated_zetasql_type( + ::zetasql::TypeProto* zetasql_type) { if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(type_); + delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(zetasql_type_); } - type_ = type; - if (type) { + zetasql_type_ = zetasql_type; + if (zetasql_type) { } else { } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:Column.type) + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ZetaSQLColumn.zetasql_type) } -inline ::zetasql::TypeProto* Column::release_type() { +inline ::zetasql::TypeProto* ZetaSQLColumn::release_zetasql_type() { - ::zetasql::TypeProto* temp = type_; - type_ = nullptr; + ::zetasql::TypeProto* temp = zetasql_type_; + zetasql_type_ = nullptr; #ifdef PROTOBUF_FORCE_COPY_IN_RELEASE auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); @@ -1832,50 +2408,211 @@ inline ::zetasql::TypeProto* Column::release_type() { #endif // !PROTOBUF_FORCE_COPY_IN_RELEASE return temp; } -inline ::zetasql::TypeProto* Column::unsafe_arena_release_type() { - // @@protoc_insertion_point(field_release:Column.type) +inline ::zetasql::TypeProto* ZetaSQLColumn::unsafe_arena_release_zetasql_type() { + // @@protoc_insertion_point(field_release:ZetaSQLColumn.zetasql_type) - ::zetasql::TypeProto* temp = type_; - type_ = nullptr; + ::zetasql::TypeProto* temp = zetasql_type_; + zetasql_type_ = nullptr; return temp; } -inline ::zetasql::TypeProto* Column::_internal_mutable_type() { +inline ::zetasql::TypeProto* ZetaSQLColumn::_internal_mutable_zetasql_type() { - if (type_ == nullptr) { + if (zetasql_type_ == nullptr) { auto* p = CreateMaybeMessage<::zetasql::TypeProto>(GetArenaForAllocation()); - type_ = p; + zetasql_type_ = p; } - return type_; + return zetasql_type_; } -inline ::zetasql::TypeProto* Column::mutable_type() { - ::zetasql::TypeProto* _msg = _internal_mutable_type(); - // @@protoc_insertion_point(field_mutable:Column.type) +inline ::zetasql::TypeProto* ZetaSQLColumn::mutable_zetasql_type() { + ::zetasql::TypeProto* _msg = _internal_mutable_zetasql_type(); + // @@protoc_insertion_point(field_mutable:ZetaSQLColumn.zetasql_type) return _msg; } -inline void Column::set_allocated_type(::zetasql::TypeProto* type) { +inline void ZetaSQLColumn::set_allocated_zetasql_type(::zetasql::TypeProto* zetasql_type) { ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(type_); + delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(zetasql_type_); } - if (type) { + if (zetasql_type) { ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(type)); + reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(zetasql_type)); if (message_arena != submessage_arena) { - type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, type, submessage_arena); + zetasql_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( + message_arena, zetasql_type, submessage_arena); } } else { } - type_ = type; - // @@protoc_insertion_point(field_set_allocated:Column.type) + zetasql_type_ = zetasql_type; + // @@protoc_insertion_point(field_set_allocated:ZetaSQLColumn.zetasql_type) } // ------------------------------------------------------------------- +// GenericColumn + +// .Column columns = 2; +inline bool GenericColumn::_internal_has_columns() const { + return column_case() == kColumns; +} +inline bool GenericColumn::has_columns() const { + return _internal_has_columns(); +} +inline void GenericColumn::set_has_columns() { + _oneof_case_[0] = kColumns; +} +inline void GenericColumn::clear_columns() { + if (_internal_has_columns()) { + if (GetArenaForAllocation() == nullptr) { + delete column_.columns_; + } + clear_has_column(); + } +} +inline ::Column* GenericColumn::release_columns() { + // @@protoc_insertion_point(field_release:GenericColumn.columns) + if (_internal_has_columns()) { + clear_has_column(); + ::Column* temp = column_.columns_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + column_.columns_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::Column& GenericColumn::_internal_columns() const { + return _internal_has_columns() + ? *column_.columns_ + : reinterpret_cast< ::Column&>(::_Column_default_instance_); +} +inline const ::Column& GenericColumn::columns() const { + // @@protoc_insertion_point(field_get:GenericColumn.columns) + return _internal_columns(); +} +inline ::Column* GenericColumn::unsafe_arena_release_columns() { + // @@protoc_insertion_point(field_unsafe_arena_release:GenericColumn.columns) + if (_internal_has_columns()) { + clear_has_column(); + ::Column* temp = column_.columns_; + column_.columns_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GenericColumn::unsafe_arena_set_allocated_columns(::Column* columns) { + clear_column(); + if (columns) { + set_has_columns(); + column_.columns_ = columns; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:GenericColumn.columns) +} +inline ::Column* GenericColumn::_internal_mutable_columns() { + if (!_internal_has_columns()) { + clear_column(); + set_has_columns(); + column_.columns_ = CreateMaybeMessage< ::Column >(GetArenaForAllocation()); + } + return column_.columns_; +} +inline ::Column* GenericColumn::mutable_columns() { + ::Column* _msg = _internal_mutable_columns(); + // @@protoc_insertion_point(field_mutable:GenericColumn.columns) + return _msg; +} + +// .ZetaSQLColumn zetasql_columns = 3; +inline bool GenericColumn::_internal_has_zetasql_columns() const { + return column_case() == kZetasqlColumns; +} +inline bool GenericColumn::has_zetasql_columns() const { + return _internal_has_zetasql_columns(); +} +inline void GenericColumn::set_has_zetasql_columns() { + _oneof_case_[0] = kZetasqlColumns; +} +inline void GenericColumn::clear_zetasql_columns() { + if (_internal_has_zetasql_columns()) { + if (GetArenaForAllocation() == nullptr) { + delete column_.zetasql_columns_; + } + clear_has_column(); + } +} +inline ::ZetaSQLColumn* GenericColumn::release_zetasql_columns() { + // @@protoc_insertion_point(field_release:GenericColumn.zetasql_columns) + if (_internal_has_zetasql_columns()) { + clear_has_column(); + ::ZetaSQLColumn* temp = column_.zetasql_columns_; + if (GetArenaForAllocation() != nullptr) { + temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); + } + column_.zetasql_columns_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline const ::ZetaSQLColumn& GenericColumn::_internal_zetasql_columns() const { + return _internal_has_zetasql_columns() + ? *column_.zetasql_columns_ + : reinterpret_cast< ::ZetaSQLColumn&>(::_ZetaSQLColumn_default_instance_); +} +inline const ::ZetaSQLColumn& GenericColumn::zetasql_columns() const { + // @@protoc_insertion_point(field_get:GenericColumn.zetasql_columns) + return _internal_zetasql_columns(); +} +inline ::ZetaSQLColumn* GenericColumn::unsafe_arena_release_zetasql_columns() { + // @@protoc_insertion_point(field_unsafe_arena_release:GenericColumn.zetasql_columns) + if (_internal_has_zetasql_columns()) { + clear_has_column(); + ::ZetaSQLColumn* temp = column_.zetasql_columns_; + column_.zetasql_columns_ = nullptr; + return temp; + } else { + return nullptr; + } +} +inline void GenericColumn::unsafe_arena_set_allocated_zetasql_columns(::ZetaSQLColumn* zetasql_columns) { + clear_column(); + if (zetasql_columns) { + set_has_zetasql_columns(); + column_.zetasql_columns_ = zetasql_columns; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:GenericColumn.zetasql_columns) +} +inline ::ZetaSQLColumn* GenericColumn::_internal_mutable_zetasql_columns() { + if (!_internal_has_zetasql_columns()) { + clear_column(); + set_has_zetasql_columns(); + column_.zetasql_columns_ = CreateMaybeMessage< ::ZetaSQLColumn >(GetArenaForAllocation()); + } + return column_.zetasql_columns_; +} +inline ::ZetaSQLColumn* GenericColumn::mutable_zetasql_columns() { + ::ZetaSQLColumn* _msg = _internal_mutable_zetasql_columns(); + // @@protoc_insertion_point(field_mutable:GenericColumn.zetasql_columns) + return _msg; +} + +inline bool GenericColumn::has_column() const { + return column_case() != COLUMN_NOT_SET; +} +inline void GenericColumn::clear_has_column() { + _oneof_case_[0] = COLUMN_NOT_SET; +} +inline GenericColumn::ColumnCase GenericColumn::column_case() const { + return GenericColumn::ColumnCase(_oneof_case_[0]); +} +// ------------------------------------------------------------------- + // TableSchema // string table_name = 1; @@ -1924,7 +2661,7 @@ inline void TableSchema::set_allocated_table_name(std::string* table_name) { // @@protoc_insertion_point(field_set_allocated:TableSchema.table_name) } -// repeated .Column columns = 2; +// repeated .GenericColumn columns = 2; inline int TableSchema::_internal_columns_size() const { return columns_.size(); } @@ -1934,31 +2671,31 @@ inline int TableSchema::columns_size() const { inline void TableSchema::clear_columns() { columns_.Clear(); } -inline ::Column* TableSchema::mutable_columns(int index) { +inline ::GenericColumn* TableSchema::mutable_columns(int index) { // @@protoc_insertion_point(field_mutable:TableSchema.columns) return columns_.Mutable(index); } -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column >* +inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::GenericColumn >* TableSchema::mutable_columns() { // @@protoc_insertion_point(field_mutable_list:TableSchema.columns) return &columns_; } -inline const ::Column& TableSchema::_internal_columns(int index) const { +inline const ::GenericColumn& TableSchema::_internal_columns(int index) const { return columns_.Get(index); } -inline const ::Column& TableSchema::columns(int index) const { +inline const ::GenericColumn& TableSchema::columns(int index) const { // @@protoc_insertion_point(field_get:TableSchema.columns) return _internal_columns(index); } -inline ::Column* TableSchema::_internal_add_columns() { +inline ::GenericColumn* TableSchema::_internal_add_columns() { return columns_.Add(); } -inline ::Column* TableSchema::add_columns() { - ::Column* _add = _internal_add_columns(); +inline ::GenericColumn* TableSchema::add_columns() { + ::GenericColumn* _add = _internal_add_columns(); // @@protoc_insertion_point(field_add:TableSchema.columns) return _add; } -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column >& +inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::GenericColumn >& TableSchema::columns() const { // @@protoc_insertion_point(field_list:TableSchema.columns) return columns_; @@ -2171,10 +2908,29 @@ inline void AlphaCheckResponse::set_allocated_error(std::string* error) { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) +PROTOBUF_NAMESPACE_OPEN + +template <> struct is_proto_enum< ::SupportedType> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::SupportedType>() { + return ::SupportedType_descriptor(); +} +template <> struct is_proto_enum< ::Mode> : ::std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor< ::Mode>() { + return ::Mode_descriptor(); +} + +PROTOBUF_NAMESPACE_CLOSE + // @@protoc_insertion_point(global_scope) #include diff --git a/proto/alphasql_service.proto b/proto/alphasql_service.proto index b2953054..f4996297 100644 --- a/proto/alphasql_service.proto +++ b/proto/alphasql_service.proto @@ -22,40 +22,57 @@ message AlphaDAGResponse { } enum SupportedType { - STRING = 1; - INTEGER = 2; - INT64 = 3; - BOOLEAN = 4; - BOOL = 5; - FLOAT64 = 6; - FLOAT = 7; - NUMERIC = 8; - BYTES = 9; - TIMESTAMP = 10; - TIME = 11; - DATETIME = 12; - DATE = 13; - GEOGRAPHY = 14; + STRING = 0; + INTEGER = 1; + INT64 = 2; + BOOLEAN = 3; + BOOL = 4; + FLOAT64 = 5; + FLOAT = 6; + NUMERIC = 7; + BYTES = 8; + TIMESTAMP = 9; + TIME = 10; + DATETIME = 11; + DATE = 12; + GEOGRAPHY = 13; + RECORD = 14; } enum Mode { - REPEATED = 1; - NULLABLE = 2; - REQUIRED = 3; + REPEATED = 0; + NULLABLE = 1; + REQUIRED = 2; } +/* import "google/protobuf/any.proto"; */ + message Column { string name = 1; - Mode mode = 4; + SupportedType type = 2; + Mode mode = 3; + // For record types + repeated Column fields = 4; + /* optional string description = 6; */ + /* optional google.protobuf.Any policyTags = 7; */ +} + +message ZetaSQLColumn { + string name = 1; zetasql.TypeProto zetasql_type = 2; - oneof type { - SupportedType type = 3; - }; } +message GenericColumn { + oneof column { + Column columns = 2; + ZetaSQLColumn zetasql_columns = 3; + } +} + + message TableSchema { string table_name = 1; - repeated Column columns = 2; + repeated GenericColumn columns = 2; } message AlphaCheckRequest { @@ -71,9 +88,9 @@ message AlphaCheckResponse { service AlphaSQL { // Extract DAG from SQL files rpc AlphaDAG(AlphaDAGRequest) - returns (AlphaDAGResponse) {} + returns (AlphaDAGResponse) {} // Validate DAG rpc AlphaCheck(AlphaCheckRequest) - returns (AlphaCheckResponse) {} + returns (AlphaCheckResponse) {} } From a953e7e37a7986d3e9fdf78dc76679e7e597d788 Mon Sep 17 00:00:00 2001 From: Matts966 Date: Sat, 21 Aug 2021 23:53:34 +0900 Subject: [PATCH 4/8] Fix package reference but skylib not found --- alphasql/BUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alphasql/BUILD b/alphasql/BUILD index b9295db3..0c309345 100644 --- a/alphasql/BUILD +++ b/alphasql/BUILD @@ -22,7 +22,7 @@ cc_library( name = "alphasql_service_cc_proto", hdrs = ["proto/alphasql_service.pb.h"], deps = [ - "@com_github_google_protobuf//protobuf_lite", + "@com_github_google_protobuf//:protobuf_lite", ], ) From c8c8cdca58c5684cc43c996d5beeabe2dea61af1 Mon Sep 17 00:00:00 2001 From: Matts966 <28551465+Matts966@users.noreply.github.com> Date: Sun, 22 Aug 2021 00:17:15 +0900 Subject: [PATCH 5/8] Add load @rules_proto --- alphasql/BUILD | 2 ++ 1 file changed, 2 insertions(+) diff --git a/alphasql/BUILD b/alphasql/BUILD index 0c309345..df7667ce 100644 --- a/alphasql/BUILD +++ b/alphasql/BUILD @@ -18,6 +18,8 @@ package( default_visibility = ["//:__subpackages__"], ) +load("@rules_proto//proto:defs.bzl", "proto_library") + cc_library( name = "alphasql_service_cc_proto", hdrs = ["proto/alphasql_service.pb.h"], From 6f6357325361c32fa5b53f2cfd4e47d234d04b93 Mon Sep 17 00:00:00 2001 From: Matts966 Date: Sun, 22 Aug 2021 05:56:28 +0900 Subject: [PATCH 6/8] Complete implementation with rules_proto and proto2 --- Makefile | 11 - WORKSPACE | 16 - alphasql/BUILD | 15 +- alphasql/alphacheck.cc | 11 +- alphasql/json_schema_reader.h | 132 +- alphasql/proto/alphasql_service.pb.cc | 2766 ---------------- alphasql/proto/alphasql_service.pb.h | 2937 ----------------- .../proto}/alphasql_service.proto | 41 +- alphasql/proto/type.pb.cc | 2108 ------------ alphasql/proto/type.pb.h | 2511 -------------- proto/type.proto | 139 - .../insert.sql | 2 +- .../insert_before_reference.sql | 2 +- samples/sample-ci/alphacheck_stdout.txt | 2 +- samples/sample-schema.json | 74 +- samples/sample/create_interim3.sql | 7 +- samples/sample/external_tables.txt | 1 + .../side_effect_first/external_tables.txt | 1 + .../side_effect_first_with_tables/dag.dot | 46 +- .../side_effect_first_with_tables/dag.png | Bin 88819 -> 90294 bytes .../external_tables.txt | 1 + samples/sample/with_all/dag.dot | 46 +- samples/sample/with_all/dag.png | Bin 88819 -> 90294 bytes samples/sample/with_all/external_tables.txt | 1 + .../sample/with_functions/external_tables.txt | 1 + samples/sample/with_tables/dag.dot | 46 +- samples/sample/with_tables/dag.png | Bin 88819 -> 90294 bytes .../sample/with_tables/external_tables.txt | 1 + 28 files changed, 252 insertions(+), 10666 deletions(-) delete mode 100644 alphasql/proto/alphasql_service.pb.cc delete mode 100644 alphasql/proto/alphasql_service.pb.h rename {proto => alphasql/proto}/alphasql_service.proto (67%) delete mode 100644 alphasql/proto/type.pb.cc delete mode 100644 alphasql/proto/type.pb.h delete mode 100644 proto/type.proto diff --git a/Makefile b/Makefile index 86e3e5c7..e8248b82 100644 --- a/Makefile +++ b/Makefile @@ -77,14 +77,3 @@ side_effect_first_with_tables: osx .PHONY: test test: osx CC=g++ bazelisk test //alphasql:all - -.PHONY: proto -proto: proto/type.proto - protoc -I=proto --cpp_out=alphasql/proto proto/*.proto - -proto/type.proto: - svn export --force https://github.com/google/zetasql/branches/master/zetasql/public/type.proto proto/ - -.PHONY: proto-clean -proto-clean: - rm proto/type.proto diff --git a/WORKSPACE b/WORKSPACE index 18dd872a..d5536db0 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -52,19 +52,3 @@ git_repository( load("@com_github_nelhage_rules_boost//:boost/boost.bzl", "boost_deps") boost_deps() - -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") - -http_archive( - name = "com_github_google_protobuf", - sha256 = "c6003e1d2e7fefa78a3039f19f383b4f3a61e81be8c19356f85b6461998ad3db", - strip_prefix = "protobuf-3.17.3", - urls = [ - "https://github.com/protocolbuffers/protobuf/archive/v3.17.3.tar.gz", - "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v3.17.3.tar.gz", - ], -) - -load("@com_github_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") - -protobuf_deps() diff --git a/alphasql/BUILD b/alphasql/BUILD index df7667ce..55d0bb94 100644 --- a/alphasql/BUILD +++ b/alphasql/BUILD @@ -18,14 +18,14 @@ package( default_visibility = ["//:__subpackages__"], ) -load("@rules_proto//proto:defs.bzl", "proto_library") +proto_library( + name = "alphasql_service_proto", + srcs = ["proto/alphasql_service.proto"], +) -cc_library( +cc_proto_library( name = "alphasql_service_cc_proto", - hdrs = ["proto/alphasql_service.pb.h"], - deps = [ - "@com_github_google_protobuf//:protobuf_lite", - ], + deps = [":alphasql_service_proto"], ) cc_library( @@ -114,6 +114,9 @@ cc_binary( "@com_google_protobuf//:protobuf", "@boost//:graph", ], + copts = [ + "-Iexternal/com_github_google_protobuf/src" + ], ) cc_binary( diff --git a/alphasql/alphacheck.cc b/alphasql/alphacheck.cc index 0e232d0a..641a8bfa 100644 --- a/alphasql/alphacheck.cc +++ b/alphasql/alphacheck.cc @@ -21,6 +21,7 @@ #include #include #include +#include #include "absl/flags/flag.h" #include "absl/flags/parse.h" @@ -119,7 +120,7 @@ SimpleCatalog *ConstructCatalog(const google::protobuf::DescriptorPool *pool, catalog->SetDescriptorPool(pool); const std::string json_schema_path = absl::GetFlag(FLAGS_json_schema_path); if (!json_schema_path.empty()) { - zetasql::UpdateCatalogFromJSON(json_schema_path, catalog); + UpdateCatalogFromJSON(json_schema_path, catalog); } return catalog; } @@ -165,8 +166,7 @@ absl::Status check(const std::string &sql, const ASTStatement *statement, create_table_stmt->column_definition_list()) { std::unique_ptr column(new SimpleColumn( table_name, column_definition->column().name_id().ToString(), - catalog->type_factory()->MakeSimpleType( - column_definition->column().type()->kind()))); + column_definition->column().type())); ZETASQL_RETURN_IF_ERROR(table->AddColumn(column.release(), false)); } catalog->AddOwnedTable(table.release()); @@ -397,7 +397,10 @@ int main(int argc, char *argv[]) { status, sql_file_path); std::cout << "ERROR: " << status << std::endl; std::cout << "catalog:" << std::endl; - for (const std::string &table_name : catalog->table_names()) { + // For deterministic output + auto table_names = catalog->table_names(); + std::sort(table_names.begin(), table_names.end()); + for (const std::string &table_name : table_names) { std::cout << "\t" << table_name << std::endl; } return 1; diff --git a/alphasql/json_schema_reader.h b/alphasql/json_schema_reader.h index d2fd4e42..abec494c 100644 --- a/alphasql/json_schema_reader.h +++ b/alphasql/json_schema_reader.h @@ -15,99 +15,108 @@ // #include "absl/strings/ascii.h" +#include "alphasql/proto/alphasql_service.pb.h" #include "zetasql/base/status.h" #include "zetasql/base/status_macros.h" #include "zetasql/base/statusor.h" #include "zetasql/public/simple_catalog.h" #include "zetasql/public/types/type_factory.h" -#include "alphasql/proto/alphasql_service.pb.h" #include #include +#include #include #include #include -#include - -namespace zetasql { - -std::map FromBigQueryTypeToZetaSQLTypeMap = { - {SupportedType.STRING, TYPE_STRING}, {SupportedType.INT64, TYPE_INT64}, - {SupportedType.INTEGER, TYPE_INT64}, {SupportedType.BOOL, TYPE_BOOL}, - {SupportedType.BOOLEAN, TYPE_BOOL}, {SupportedType.FLOAT64, TYPE_FLOAT}, - {SupportedType.FLOAT, TYPE_FLOAT}, {SupportedType.NUMERIC, TYPE_NUMERIC}, - {SupportedType.BYTES, TYPE_BYTES}, {SupportedType.TIMESTAMP, TYPE_TIMESTAMP}, - {SupportedType.DATE, TYPE_DATE}, {SupportedType.TIME, TYPE_TIME}, - {SupportedType.DATETIME, TYPE_DATETIME}, {SupportedType.GEOGRAPHY, TYPE_GEOGRAPHY}, +#include + +namespace alphasql { + +std::map FromBigQueryTypeToZetaSQLTypeMap = { + {STRING, zetasql::TYPE_STRING}, {INT64, zetasql::TYPE_INT64}, + {INTEGER, zetasql::TYPE_INT64}, {BOOL, zetasql::TYPE_BOOL}, + {BOOLEAN, zetasql::TYPE_BOOL}, {FLOAT64, zetasql::TYPE_FLOAT}, + {FLOAT, zetasql::TYPE_FLOAT}, {NUMERIC, zetasql::TYPE_NUMERIC}, + {BYTES, zetasql::TYPE_BYTES}, {TIMESTAMP, zetasql::TYPE_TIMESTAMP}, + {DATE, zetasql::TYPE_DATE}, {TIME, zetasql::TYPE_TIME}, + {DATETIME, zetasql::TYPE_DATETIME}, {GEOGRAPHY, zetasql::TYPE_GEOGRAPHY}, }; +static zetasql::TypeFactory tf; + // TODO: Handle return statuses of type:: functions -void ConvertSupportedTypeToZetaSQLType(zetasql::Type **zetasql_type, SupportedType *type) { - if (type.mode() == Mode.REPEATED && type.type() != Mode.RECORD) { +void ConvertSupportedTypeToZetaSQLType(const zetasql::Type **zetasql_type, + const Column *column) { + if (column->mode() == REPEATED && column->type() != RECORD) { // Array types - *zetasql_type = types::ArrayTypeFromSimpleTypeKind( - FromBigQueryTypeToZetaSQLTypeMap[type.type()]); + *zetasql_type = zetasql::types::ArrayTypeFromSimpleTypeKind( + FromBigQueryTypeToZetaSQLTypeMap[column->type()]); return; } - if (type.type() != Mode.RECORD) { - *zetasql_type = types::TypeFromSimpleTypeKind( - FromBigQueryTypeToZetaSQLTypeMap[type.type()]); + if (column->type() != RECORD) { + *zetasql_type = zetasql::types::TypeFromSimpleTypeKind( + FromBigQueryTypeToZetaSQLTypeMap[column->type()]); return; } // Struct types - const vector fields; - for (const auto& field : type.fields()) { - fields.push_back(zetasql::StructField(field.name(), FromBigQueryTypeToZetaSQLTypeMap[field.type()])); + std::vector fields; + for (const auto &field : column->fields()) { + const zetasql::Type *field_type; + ConvertSupportedTypeToZetaSQLType(&field_type, &field); + fields.push_back(zetasql::StructField(field.name(), field_type)); } - if (type.type() != Mode.REPEATED) { - types::MakeStructTypeFromVector(fields, zetasql_type); + if (column->mode() != REPEATED) { + const auto status = tf.MakeStructTypeFromVector(fields, zetasql_type); + if (!status.ok()) { + std::cout << "ERROR converting record " << column->name() << ": " + << status << std::endl; + } return; } const zetasql::Type *element_type; - types::MakeStructTypeFromVector(fields, &element_type); - types::MakeArrayType(element_type, zetasql_type); + auto status = tf.MakeStructTypeFromVector(fields, &element_type); + if (!status.ok()) { + std::cout << "ERROR converting repeated record " << column->name() << ": " + << status << std::endl; + } + + status = tf.MakeArrayType(element_type, zetasql_type); + if (!status.ok()) { + std::cout << "ERROR converting repeated record " << column->name() << ": " + << status << std::endl; + } } -void AddColumnToTable(SimpleTable *table, - const boost::property_tree::ptree::value_type field) { - using namespace google::protobuf::util; - Field fieldMsg; - const auto status = util::JsonStringToMessage( - field.first, &fieldMsg, util::JsonParseOptions(true, true)); +void AddColumnToTable(zetasql::SimpleTable *table, const std::string field) { + Column column_msg; + google::protobuf::util::JsonParseOptions jsonParseOptions; + jsonParseOptions.ignore_unknown_fields = true; + const auto status = google::protobuf::util::JsonStringToMessage( + field, &column_msg, jsonParseOptions); if (!status.ok()) { std::cout << "ERROR: " << status << std::endl; throw; } - /* std::string mode = field.second.get("mode"); */ - /* std::string type_string = field.second.get("type"); */ - /* mode = absl::AsciiStrToUpper(mode); */ - /* type_string = absl::AsciiStrToUpper(type_string); */ - - /* if (FromBigQueryTypeToZetaSQLTypeMap.count(type_string) == 0) { */ - /* std::cout << "ERROR: unsupported type " + type_string + "\n" << std::endl; */ - /* throw; */ - /* } */ const zetasql::Type *zetasql_type; - if (fieldMsg.has_type()) { - ConvertSupportedTypeToZetaSQLType(&zetasql_type, &fieldMsg.type()); - } else { - zetasql_type = &fieldMsg.zetasql_type(); - } + ConvertSupportedTypeToZetaSQLType(&zetasql_type, &column_msg); if (zetasql_type == nullptr) { - std::cout << "ERROR: invalid field " << fieldMsg << std::endl; + std::string message; + google::protobuf::util::MessageToJsonString(column_msg, &message); + std::cout << "ERROR: invalid column " << message << std::endl; throw; } - std::unique_ptr column(new SimpleColumn( - table->Name(), field.second.get("name"), zetasql_type)); - table->AddColumn(column.release(), true); + std::unique_ptr zetasql_column( + new zetasql::SimpleColumn(table->Name(), column_msg.name(), + zetasql_type)); + table->AddColumn(zetasql_column.release(), true); } void UpdateCatalogFromJSON(const std::string &json_schema_path, - SimpleCatalog *catalog) { - if (!std::filesystem::is_regular_file(json_schema_path) & + zetasql::SimpleCatalog *catalog) { + if (!std::filesystem::is_regular_file(json_schema_path) && !std::filesystem::is_fifo(json_schema_path)) { std::cout << "ERROR: not a json file path " << json_schema_path << std::endl; @@ -118,20 +127,23 @@ void UpdateCatalogFromJSON(const std::string &json_schema_path, property_tree::ptree pt; property_tree::read_json(json_schema_path, pt); - std::string table_name; + std::vector> tables; for (property_tree::ptree::const_iterator it = pt.begin(); it != pt.end(); ++it) { - table_name = it->first; + const auto table_name = it->first; const property_tree::ptree &schema = it->second; - std::unique_ptr table(new SimpleTable(table_name)); - BOOST_FOREACH (const property_tree::ptree::value_type &field, schema) { - AddColumnToTable(table.get(), field); + std::unique_ptr table( + new zetasql::SimpleTable(table_name)); + for (property_tree::ptree::const_iterator it = schema.begin(); + it != schema.end(); ++it) { + std::ostringstream oss; + property_tree::write_json(oss, it->second); + AddColumnToTable(table.get(), oss.str()); } - catalog->AddTable(table.release()); } return; } -} // namespace zetasql +} // namespace alphasql diff --git a/alphasql/proto/alphasql_service.pb.cc b/alphasql/proto/alphasql_service.pb.cc deleted file mode 100644 index 1d07530f..00000000 --- a/alphasql/proto/alphasql_service.pb.cc +++ /dev/null @@ -1,2766 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: alphasql_service.proto - -#include "alphasql_service.pb.h" - -#include - -#include -#include -#include -#include -#include -#include -#include -// @@protoc_insertion_point(includes) -#include - -PROTOBUF_PRAGMA_INIT_SEG -constexpr File::File( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) - , content_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){} -struct FileDefaultTypeInternal { - constexpr FileDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~FileDefaultTypeInternal() {} - union { - File _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT FileDefaultTypeInternal _File_default_instance_; -constexpr AlphaDAGRequest::AlphaDAGRequest( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : files_() - , warning_as_error_(false) - , with_tables_(false) - , with_functions_(false) - , side_effect_first_(false){} -struct AlphaDAGRequestDefaultTypeInternal { - constexpr AlphaDAGRequestDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~AlphaDAGRequestDefaultTypeInternal() {} - union { - AlphaDAGRequest _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AlphaDAGRequestDefaultTypeInternal _AlphaDAGRequest_default_instance_; -constexpr AlphaDAGResponse::AlphaDAGResponse( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : external_required_tables_() - , dag_dot_string_() - , error_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){} -struct AlphaDAGResponseDefaultTypeInternal { - constexpr AlphaDAGResponseDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~AlphaDAGResponseDefaultTypeInternal() {} - union { - AlphaDAGResponse _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AlphaDAGResponseDefaultTypeInternal _AlphaDAGResponse_default_instance_; -constexpr Column::Column( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : fields_() - , name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) - , type_(0) - - , mode_(0) -{} -struct ColumnDefaultTypeInternal { - constexpr ColumnDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~ColumnDefaultTypeInternal() {} - union { - Column _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ColumnDefaultTypeInternal _Column_default_instance_; -constexpr ZetaSQLColumn::ZetaSQLColumn( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) - , zetasql_type_(nullptr){} -struct ZetaSQLColumnDefaultTypeInternal { - constexpr ZetaSQLColumnDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~ZetaSQLColumnDefaultTypeInternal() {} - union { - ZetaSQLColumn _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ZetaSQLColumnDefaultTypeInternal _ZetaSQLColumn_default_instance_; -constexpr GenericColumn::GenericColumn( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : _oneof_case_{}{} -struct GenericColumnDefaultTypeInternal { - constexpr GenericColumnDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~GenericColumnDefaultTypeInternal() {} - union { - GenericColumn _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GenericColumnDefaultTypeInternal _GenericColumn_default_instance_; -constexpr TableSchema::TableSchema( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : columns_() - , table_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){} -struct TableSchemaDefaultTypeInternal { - constexpr TableSchemaDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~TableSchemaDefaultTypeInternal() {} - union { - TableSchema _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT TableSchemaDefaultTypeInternal _TableSchema_default_instance_; -constexpr AlphaCheckRequest::AlphaCheckRequest( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : external_required_tables_schema_() - , files_() - , dag_dot_string_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){} -struct AlphaCheckRequestDefaultTypeInternal { - constexpr AlphaCheckRequestDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~AlphaCheckRequestDefaultTypeInternal() {} - union { - AlphaCheckRequest _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AlphaCheckRequestDefaultTypeInternal _AlphaCheckRequest_default_instance_; -constexpr AlphaCheckResponse::AlphaCheckResponse( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : error_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){} -struct AlphaCheckResponseDefaultTypeInternal { - constexpr AlphaCheckResponseDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~AlphaCheckResponseDefaultTypeInternal() {} - union { - AlphaCheckResponse _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AlphaCheckResponseDefaultTypeInternal _AlphaCheckResponse_default_instance_; -static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_alphasql_5fservice_2eproto[9]; -static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_alphasql_5fservice_2eproto[2]; -static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_alphasql_5fservice_2eproto = nullptr; - -const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_alphasql_5fservice_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::File, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::File, name_), - PROTOBUF_FIELD_OFFSET(::File, content_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::AlphaDAGRequest, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::AlphaDAGRequest, warning_as_error_), - PROTOBUF_FIELD_OFFSET(::AlphaDAGRequest, with_tables_), - PROTOBUF_FIELD_OFFSET(::AlphaDAGRequest, with_functions_), - PROTOBUF_FIELD_OFFSET(::AlphaDAGRequest, side_effect_first_), - PROTOBUF_FIELD_OFFSET(::AlphaDAGRequest, files_), - PROTOBUF_FIELD_OFFSET(::AlphaDAGResponse, _has_bits_), - PROTOBUF_FIELD_OFFSET(::AlphaDAGResponse, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::AlphaDAGResponse, external_required_tables_), - PROTOBUF_FIELD_OFFSET(::AlphaDAGResponse, dag_dot_string_), - PROTOBUF_FIELD_OFFSET(::AlphaDAGResponse, error_), - ~0u, - ~0u, - 0, - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::Column, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::Column, name_), - PROTOBUF_FIELD_OFFSET(::Column, type_), - PROTOBUF_FIELD_OFFSET(::Column, mode_), - PROTOBUF_FIELD_OFFSET(::Column, fields_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::ZetaSQLColumn, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::ZetaSQLColumn, name_), - PROTOBUF_FIELD_OFFSET(::ZetaSQLColumn, zetasql_type_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::GenericColumn, _internal_metadata_), - ~0u, // no _extensions_ - PROTOBUF_FIELD_OFFSET(::GenericColumn, _oneof_case_[0]), - ~0u, // no _weak_field_map_ - ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, - ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag, - PROTOBUF_FIELD_OFFSET(::GenericColumn, column_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::TableSchema, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::TableSchema, table_name_), - PROTOBUF_FIELD_OFFSET(::TableSchema, columns_), - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::AlphaCheckRequest, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::AlphaCheckRequest, external_required_tables_schema_), - PROTOBUF_FIELD_OFFSET(::AlphaCheckRequest, dag_dot_string_), - PROTOBUF_FIELD_OFFSET(::AlphaCheckRequest, files_), - PROTOBUF_FIELD_OFFSET(::AlphaCheckResponse, _has_bits_), - PROTOBUF_FIELD_OFFSET(::AlphaCheckResponse, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::AlphaCheckResponse, error_), - 0, -}; -static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { - { 0, -1, sizeof(::File)}, - { 7, -1, sizeof(::AlphaDAGRequest)}, - { 17, 25, sizeof(::AlphaDAGResponse)}, - { 28, -1, sizeof(::Column)}, - { 37, -1, sizeof(::ZetaSQLColumn)}, - { 44, -1, sizeof(::GenericColumn)}, - { 52, -1, sizeof(::TableSchema)}, - { 59, -1, sizeof(::AlphaCheckRequest)}, - { 67, 73, sizeof(::AlphaCheckResponse)}, -}; - -static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { - reinterpret_cast(&::_File_default_instance_), - reinterpret_cast(&::_AlphaDAGRequest_default_instance_), - reinterpret_cast(&::_AlphaDAGResponse_default_instance_), - reinterpret_cast(&::_Column_default_instance_), - reinterpret_cast(&::_ZetaSQLColumn_default_instance_), - reinterpret_cast(&::_GenericColumn_default_instance_), - reinterpret_cast(&::_TableSchema_default_instance_), - reinterpret_cast(&::_AlphaCheckRequest_default_instance_), - reinterpret_cast(&::_AlphaCheckResponse_default_instance_), -}; - -const char descriptor_table_protodef_alphasql_5fservice_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = - "\n\026alphasql_service.proto\032\ntype.proto\"%\n\004" - "File\022\014\n\004name\030\001 \001(\t\022\017\n\007content\030\002 \001(\t\"\211\001\n\017" - "AlphaDAGRequest\022\030\n\020warning_as_error\030\001 \001(" - "\010\022\023\n\013with_tables\030\002 \001(\010\022\026\n\016with_functions" - "\030\003 \001(\010\022\031\n\021side_effect_first\030\004 \001(\010\022\024\n\005fil" - "es\030\005 \003(\0132\005.File\"j\n\020AlphaDAGResponse\022 \n\030e" - "xternal_required_tables\030\001 \003(\t\022\026\n\016dag_dot" - "_string\030\002 \003(\t\022\022\n\005error\030\003 \001(\tH\000\210\001\001B\010\n\006_er" - "ror\"b\n\006Column\022\014\n\004name\030\001 \001(\t\022\034\n\004type\030\002 \001(" - "\0162\016.SupportedType\022\023\n\004mode\030\003 \001(\0162\005.Mode\022\027" - "\n\006fields\030\004 \003(\0132\007.Column\"G\n\rZetaSQLColumn" - "\022\014\n\004name\030\001 \001(\t\022(\n\014zetasql_type\030\002 \001(\0132\022.z" - "etasql.TypeProto\"`\n\rGenericColumn\022\032\n\007col" - "umns\030\002 \001(\0132\007.ColumnH\000\022)\n\017zetasql_columns" - "\030\003 \001(\0132\016.ZetaSQLColumnH\000B\010\n\006column\"B\n\013Ta" - "bleSchema\022\022\n\ntable_name\030\001 \001(\t\022\037\n\007columns" - "\030\002 \003(\0132\016.GenericColumn\"x\n\021AlphaCheckRequ" - "est\0225\n\037external_required_tables_schema\030\001" - " \003(\0132\014.TableSchema\022\026\n\016dag_dot_string\030\002 \001" - "(\t\022\024\n\005files\030\003 \003(\0132\005.File\"2\n\022AlphaCheckRe" - "sponse\022\022\n\005error\030\001 \001(\tH\000\210\001\001B\010\n\006_error*\306\001\n" - "\rSupportedType\022\n\n\006STRING\020\000\022\013\n\007INTEGER\020\001\022" - "\t\n\005INT64\020\002\022\013\n\007BOOLEAN\020\003\022\010\n\004BOOL\020\004\022\013\n\007FLO" - "AT64\020\005\022\t\n\005FLOAT\020\006\022\013\n\007NUMERIC\020\007\022\t\n\005BYTES\020" - "\010\022\r\n\tTIMESTAMP\020\t\022\010\n\004TIME\020\n\022\014\n\010DATETIME\020\013" - "\022\010\n\004DATE\020\014\022\r\n\tGEOGRAPHY\020\r\022\n\n\006RECORD\020\016*0\n" - "\004Mode\022\014\n\010REPEATED\020\000\022\014\n\010NULLABLE\020\001\022\014\n\010REQ" - "UIRED\020\0022v\n\010AlphaSQL\0221\n\010AlphaDAG\022\020.AlphaD" - "AGRequest\032\021.AlphaDAGResponse\"\000\0227\n\nAlphaC" - "heck\022\022.AlphaCheckRequest\032\023.AlphaCheckRes" - "ponse\"\000b\006proto3" - ; -static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_alphasql_5fservice_2eproto_deps[1] = { - &::descriptor_table_type_2eproto, -}; -static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_alphasql_5fservice_2eproto_once; -const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_alphasql_5fservice_2eproto = { - false, false, 1215, descriptor_table_protodef_alphasql_5fservice_2eproto, "alphasql_service.proto", - &descriptor_table_alphasql_5fservice_2eproto_once, descriptor_table_alphasql_5fservice_2eproto_deps, 1, 9, - schemas, file_default_instances, TableStruct_alphasql_5fservice_2eproto::offsets, - file_level_metadata_alphasql_5fservice_2eproto, file_level_enum_descriptors_alphasql_5fservice_2eproto, file_level_service_descriptors_alphasql_5fservice_2eproto, -}; -PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_alphasql_5fservice_2eproto_getter() { - return &descriptor_table_alphasql_5fservice_2eproto; -} - -// Force running AddDescriptors() at dynamic initialization time. -PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_alphasql_5fservice_2eproto(&descriptor_table_alphasql_5fservice_2eproto); -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SupportedType_descriptor() { - ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_alphasql_5fservice_2eproto); - return file_level_enum_descriptors_alphasql_5fservice_2eproto[0]; -} -bool SupportedType_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: - return true; - default: - return false; - } -} - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Mode_descriptor() { - ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_alphasql_5fservice_2eproto); - return file_level_enum_descriptors_alphasql_5fservice_2eproto[1]; -} -bool Mode_IsValid(int value) { - switch (value) { - case 0: - case 1: - case 2: - return true; - default: - return false; - } -} - - -// =================================================================== - -class File::_Internal { - public: -}; - -File::File(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:File) -} -File::File(const File& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (!from._internal_name().empty()) { - name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(), - GetArenaForAllocation()); - } - content_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (!from._internal_content().empty()) { - content_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_content(), - GetArenaForAllocation()); - } - // @@protoc_insertion_point(copy_constructor:File) -} - -inline void File::SharedCtor() { -name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -content_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -File::~File() { - // @@protoc_insertion_point(destructor:File) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void File::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - content_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -void File::ArenaDtor(void* object) { - File* _this = reinterpret_cast< File* >(object); - (void)_this; -} -void File::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void File::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void File::Clear() { -// @@protoc_insertion_point(message_clear_start:File) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - name_.ClearToEmpty(); - content_.ClearToEmpty(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* File::_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) { - // 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); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "File.name")); - CHK_(ptr); - } else goto handle_unusual; - continue; - // string content = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - auto str = _internal_mutable_content(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "File.content")); - 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* File::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:File) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string name = 1; - if (!this->_internal_name().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_name().data(), static_cast(this->_internal_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "File.name"); - target = stream->WriteStringMaybeAliased( - 1, this->_internal_name(), target); - } - - // string content = 2; - if (!this->_internal_content().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_content().data(), static_cast(this->_internal_content().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "File.content"); - target = stream->WriteStringMaybeAliased( - 2, this->_internal_content(), 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:File) - return target; -} - -size_t File::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:File) - 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; - - // string name = 1; - if (!this->_internal_name().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_name()); - } - - // string content = 2; - if (!this->_internal_content().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_content()); - } - - 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; -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData File::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - File::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*File::GetClassData() const { return &_class_data_; } - -void File::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, - const ::PROTOBUF_NAMESPACE_ID::Message&from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void File::MergeFrom(const File& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:File) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (!from._internal_name().empty()) { - _internal_set_name(from._internal_name()); - } - if (!from._internal_content().empty()) { - _internal_set_content(from._internal_content()); - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void File::CopyFrom(const File& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:File) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool File::IsInitialized() const { - return true; -} - -void File::InternalSwap(File* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &name_, GetArenaForAllocation(), - &other->name_, other->GetArenaForAllocation() - ); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &content_, GetArenaForAllocation(), - &other->content_, other->GetArenaForAllocation() - ); -} - -::PROTOBUF_NAMESPACE_ID::Metadata File::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, - file_level_metadata_alphasql_5fservice_2eproto[0]); -} - -// =================================================================== - -class AlphaDAGRequest::_Internal { - public: -}; - -AlphaDAGRequest::AlphaDAGRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - files_(arena) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:AlphaDAGRequest) -} -AlphaDAGRequest::AlphaDAGRequest(const AlphaDAGRequest& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - files_(from.files_) { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - ::memcpy(&warning_as_error_, &from.warning_as_error_, - static_cast(reinterpret_cast(&side_effect_first_) - - reinterpret_cast(&warning_as_error_)) + sizeof(side_effect_first_)); - // @@protoc_insertion_point(copy_constructor:AlphaDAGRequest) -} - -inline void AlphaDAGRequest::SharedCtor() { -::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&warning_as_error_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&side_effect_first_) - - reinterpret_cast(&warning_as_error_)) + sizeof(side_effect_first_)); -} - -AlphaDAGRequest::~AlphaDAGRequest() { - // @@protoc_insertion_point(destructor:AlphaDAGRequest) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void AlphaDAGRequest::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void AlphaDAGRequest::ArenaDtor(void* object) { - AlphaDAGRequest* _this = reinterpret_cast< AlphaDAGRequest* >(object); - (void)_this; -} -void AlphaDAGRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void AlphaDAGRequest::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void AlphaDAGRequest::Clear() { -// @@protoc_insertion_point(message_clear_start:AlphaDAGRequest) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - files_.Clear(); - ::memset(&warning_as_error_, 0, static_cast( - reinterpret_cast(&side_effect_first_) - - reinterpret_cast(&warning_as_error_)) + sizeof(side_effect_first_)); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AlphaDAGRequest::_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) { - // bool warning_as_error = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) { - warning_as_error_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - // bool with_tables = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) { - with_tables_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - // bool with_functions = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { - with_functions_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - // bool side_effect_first = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) { - side_effect_first_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - // repeated .File files = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_files(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(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* AlphaDAGRequest::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:AlphaDAGRequest) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // bool warning_as_error = 1; - if (this->_internal_warning_as_error() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_warning_as_error(), target); - } - - // bool with_tables = 2; - if (this->_internal_with_tables() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_with_tables(), target); - } - - // bool with_functions = 3; - if (this->_internal_with_functions() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(3, this->_internal_with_functions(), target); - } - - // bool side_effect_first = 4; - if (this->_internal_side_effect_first() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_side_effect_first(), target); - } - - // repeated .File files = 5; - for (unsigned int i = 0, - n = static_cast(this->_internal_files_size()); i < n; i++) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(5, this->_internal_files(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:AlphaDAGRequest) - return target; -} - -size_t AlphaDAGRequest::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:AlphaDAGRequest) - 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 .File files = 5; - total_size += 1UL * this->_internal_files_size(); - for (const auto& msg : this->files_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - // bool warning_as_error = 1; - if (this->_internal_warning_as_error() != 0) { - total_size += 1 + 1; - } - - // bool with_tables = 2; - if (this->_internal_with_tables() != 0) { - total_size += 1 + 1; - } - - // bool with_functions = 3; - if (this->_internal_with_functions() != 0) { - total_size += 1 + 1; - } - - // bool side_effect_first = 4; - if (this->_internal_side_effect_first() != 0) { - total_size += 1 + 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; -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlphaDAGRequest::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - AlphaDAGRequest::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlphaDAGRequest::GetClassData() const { return &_class_data_; } - -void AlphaDAGRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, - const ::PROTOBUF_NAMESPACE_ID::Message&from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void AlphaDAGRequest::MergeFrom(const AlphaDAGRequest& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:AlphaDAGRequest) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - files_.MergeFrom(from.files_); - if (from._internal_warning_as_error() != 0) { - _internal_set_warning_as_error(from._internal_warning_as_error()); - } - if (from._internal_with_tables() != 0) { - _internal_set_with_tables(from._internal_with_tables()); - } - if (from._internal_with_functions() != 0) { - _internal_set_with_functions(from._internal_with_functions()); - } - if (from._internal_side_effect_first() != 0) { - _internal_set_side_effect_first(from._internal_side_effect_first()); - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AlphaDAGRequest::CopyFrom(const AlphaDAGRequest& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:AlphaDAGRequest) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AlphaDAGRequest::IsInitialized() const { - return true; -} - -void AlphaDAGRequest::InternalSwap(AlphaDAGRequest* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - files_.InternalSwap(&other->files_); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(AlphaDAGRequest, side_effect_first_) - + sizeof(AlphaDAGRequest::side_effect_first_) - - PROTOBUF_FIELD_OFFSET(AlphaDAGRequest, warning_as_error_)>( - reinterpret_cast(&warning_as_error_), - reinterpret_cast(&other->warning_as_error_)); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AlphaDAGRequest::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, - file_level_metadata_alphasql_5fservice_2eproto[1]); -} - -// =================================================================== - -class AlphaDAGResponse::_Internal { - public: - using HasBits = decltype(std::declval()._has_bits_); - static void set_has_error(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -AlphaDAGResponse::AlphaDAGResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - external_required_tables_(arena), - dag_dot_string_(arena) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:AlphaDAGResponse) -} -AlphaDAGResponse::AlphaDAGResponse(const AlphaDAGResponse& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - _has_bits_(from._has_bits_), - external_required_tables_(from.external_required_tables_), - dag_dot_string_(from.dag_dot_string_) { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - error_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (from._internal_has_error()) { - error_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_error(), - GetArenaForAllocation()); - } - // @@protoc_insertion_point(copy_constructor:AlphaDAGResponse) -} - -inline void AlphaDAGResponse::SharedCtor() { -error_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -AlphaDAGResponse::~AlphaDAGResponse() { - // @@protoc_insertion_point(destructor:AlphaDAGResponse) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void AlphaDAGResponse::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - error_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -void AlphaDAGResponse::ArenaDtor(void* object) { - AlphaDAGResponse* _this = reinterpret_cast< AlphaDAGResponse* >(object); - (void)_this; -} -void AlphaDAGResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void AlphaDAGResponse::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void AlphaDAGResponse::Clear() { -// @@protoc_insertion_point(message_clear_start:AlphaDAGResponse) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - external_required_tables_.Clear(); - dag_dot_string_.Clear(); - cached_has_bits = _has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - error_.ClearNonDefaultToEmpty(); - } - _has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AlphaDAGResponse::_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 string external_required_tables = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { - ptr -= 1; - do { - ptr += 1; - auto str = _internal_add_external_required_tables(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "AlphaDAGResponse.external_required_tables")); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); - } else goto handle_unusual; - continue; - // repeated string dag_dot_string = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - ptr -= 1; - do { - ptr += 1; - auto str = _internal_add_dag_dot_string(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "AlphaDAGResponse.dag_dot_string")); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr)); - } else goto handle_unusual; - continue; - // optional string error = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { - auto str = _internal_mutable_error(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "AlphaDAGResponse.error")); - 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* AlphaDAGResponse::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:AlphaDAGResponse) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // repeated string external_required_tables = 1; - for (int i = 0, n = this->_internal_external_required_tables_size(); i < n; i++) { - const auto& s = this->_internal_external_required_tables(i); - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - s.data(), static_cast(s.length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "AlphaDAGResponse.external_required_tables"); - target = stream->WriteString(1, s, target); - } - - // repeated string dag_dot_string = 2; - for (int i = 0, n = this->_internal_dag_dot_string_size(); i < n; i++) { - const auto& s = this->_internal_dag_dot_string(i); - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - s.data(), static_cast(s.length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "AlphaDAGResponse.dag_dot_string"); - target = stream->WriteString(2, s, target); - } - - // optional string error = 3; - if (_internal_has_error()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_error().data(), static_cast(this->_internal_error().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "AlphaDAGResponse.error"); - target = stream->WriteStringMaybeAliased( - 3, this->_internal_error(), 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:AlphaDAGResponse) - return target; -} - -size_t AlphaDAGResponse::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:AlphaDAGResponse) - 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 external_required_tables = 1; - total_size += 1 * - ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(external_required_tables_.size()); - for (int i = 0, n = external_required_tables_.size(); i < n; i++) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - external_required_tables_.Get(i)); - } - - // repeated string dag_dot_string = 2; - total_size += 1 * - ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(dag_dot_string_.size()); - for (int i = 0, n = dag_dot_string_.size(); i < n; i++) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - dag_dot_string_.Get(i)); - } - - // optional string error = 3; - cached_has_bits = _has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_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; -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlphaDAGResponse::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - AlphaDAGResponse::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlphaDAGResponse::GetClassData() const { return &_class_data_; } - -void AlphaDAGResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, - const ::PROTOBUF_NAMESPACE_ID::Message&from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void AlphaDAGResponse::MergeFrom(const AlphaDAGResponse& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:AlphaDAGResponse) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - external_required_tables_.MergeFrom(from.external_required_tables_); - dag_dot_string_.MergeFrom(from.dag_dot_string_); - if (from._internal_has_error()) { - _internal_set_error(from._internal_error()); - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AlphaDAGResponse::CopyFrom(const AlphaDAGResponse& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:AlphaDAGResponse) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AlphaDAGResponse::IsInitialized() const { - return true; -} - -void AlphaDAGResponse::InternalSwap(AlphaDAGResponse* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_has_bits_[0], other->_has_bits_[0]); - external_required_tables_.InternalSwap(&other->external_required_tables_); - dag_dot_string_.InternalSwap(&other->dag_dot_string_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &error_, GetArenaForAllocation(), - &other->error_, other->GetArenaForAllocation() - ); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AlphaDAGResponse::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, - file_level_metadata_alphasql_5fservice_2eproto[2]); -} - -// =================================================================== - -class Column::_Internal { - public: -}; - -Column::Column(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - fields_(arena) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:Column) -} -Column::Column(const Column& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - fields_(from.fields_) { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (!from._internal_name().empty()) { - name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(), - GetArenaForAllocation()); - } - ::memcpy(&type_, &from.type_, - static_cast(reinterpret_cast(&mode_) - - reinterpret_cast(&type_)) + sizeof(mode_)); - // @@protoc_insertion_point(copy_constructor:Column) -} - -inline void Column::SharedCtor() { -name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&type_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&mode_) - - reinterpret_cast(&type_)) + sizeof(mode_)); -} - -Column::~Column() { - // @@protoc_insertion_point(destructor:Column) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void Column::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -void Column::ArenaDtor(void* object) { - Column* _this = reinterpret_cast< Column* >(object); - (void)_this; -} -void Column::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void Column::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void Column::Clear() { -// @@protoc_insertion_point(message_clear_start:Column) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - fields_.Clear(); - name_.ClearToEmpty(); - ::memset(&type_, 0, static_cast( - reinterpret_cast(&mode_) - - reinterpret_cast(&type_)) + sizeof(mode_)); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* Column::_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) { - // 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); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "Column.name")); - CHK_(ptr); - } else goto handle_unusual; - continue; - // .SupportedType 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); - _internal_set_type(static_cast<::SupportedType>(val)); - } else goto handle_unusual; - continue; - // .Mode mode = 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); - _internal_set_mode(static_cast<::Mode>(val)); - } else goto handle_unusual; - continue; - // repeated .Column fields = 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_fields(), ptr); - 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: - return ptr; -failure: - ptr = nullptr; - goto success; -#undef CHK_ -} - -::PROTOBUF_NAMESPACE_ID::uint8* Column::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:Column) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string name = 1; - if (!this->_internal_name().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_name().data(), static_cast(this->_internal_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "Column.name"); - target = stream->WriteStringMaybeAliased( - 1, this->_internal_name(), target); - } - - // .SupportedType type = 2; - if (this->_internal_type() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( - 2, this->_internal_type(), target); - } - - // .Mode mode = 3; - if (this->_internal_mode() != 0) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( - 3, this->_internal_mode(), target); - } - - // repeated .Column fields = 4; - for (unsigned int i = 0, - n = static_cast(this->_internal_fields_size()); i < n; i++) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(4, this->_internal_fields(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:Column) - return target; -} - -size_t Column::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:Column) - 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 .Column fields = 4; - total_size += 1UL * this->_internal_fields_size(); - for (const auto& msg : this->fields_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - // string name = 1; - if (!this->_internal_name().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_name()); - } - - // .SupportedType type = 2; - if (this->_internal_type() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_type()); - } - - // .Mode mode = 3; - if (this->_internal_mode() != 0) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_mode()); - } - - 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; -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Column::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - Column::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Column::GetClassData() const { return &_class_data_; } - -void Column::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, - const ::PROTOBUF_NAMESPACE_ID::Message&from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void Column::MergeFrom(const Column& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:Column) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - fields_.MergeFrom(from.fields_); - if (!from._internal_name().empty()) { - _internal_set_name(from._internal_name()); - } - if (from._internal_type() != 0) { - _internal_set_type(from._internal_type()); - } - if (from._internal_mode() != 0) { - _internal_set_mode(from._internal_mode()); - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void Column::CopyFrom(const Column& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:Column) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool Column::IsInitialized() const { - return true; -} - -void Column::InternalSwap(Column* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - fields_.InternalSwap(&other->fields_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &name_, GetArenaForAllocation(), - &other->name_, other->GetArenaForAllocation() - ); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(Column, mode_) - + sizeof(Column::mode_) - - PROTOBUF_FIELD_OFFSET(Column, type_)>( - reinterpret_cast(&type_), - reinterpret_cast(&other->type_)); -} - -::PROTOBUF_NAMESPACE_ID::Metadata Column::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, - file_level_metadata_alphasql_5fservice_2eproto[3]); -} - -// =================================================================== - -class ZetaSQLColumn::_Internal { - public: - static const ::zetasql::TypeProto& zetasql_type(const ZetaSQLColumn* msg); -}; - -const ::zetasql::TypeProto& -ZetaSQLColumn::_Internal::zetasql_type(const ZetaSQLColumn* msg) { - return *msg->zetasql_type_; -} -void ZetaSQLColumn::clear_zetasql_type() { - if (GetArenaForAllocation() == nullptr && zetasql_type_ != nullptr) { - delete zetasql_type_; - } - zetasql_type_ = nullptr; -} -ZetaSQLColumn::ZetaSQLColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:ZetaSQLColumn) -} -ZetaSQLColumn::ZetaSQLColumn(const ZetaSQLColumn& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (!from._internal_name().empty()) { - name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_name(), - GetArenaForAllocation()); - } - if (from._internal_has_zetasql_type()) { - zetasql_type_ = new ::zetasql::TypeProto(*from.zetasql_type_); - } else { - zetasql_type_ = nullptr; - } - // @@protoc_insertion_point(copy_constructor:ZetaSQLColumn) -} - -inline void ZetaSQLColumn::SharedCtor() { -name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -zetasql_type_ = nullptr; -} - -ZetaSQLColumn::~ZetaSQLColumn() { - // @@protoc_insertion_point(destructor:ZetaSQLColumn) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void ZetaSQLColumn::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (this != internal_default_instance()) delete zetasql_type_; -} - -void ZetaSQLColumn::ArenaDtor(void* object) { - ZetaSQLColumn* _this = reinterpret_cast< ZetaSQLColumn* >(object); - (void)_this; -} -void ZetaSQLColumn::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void ZetaSQLColumn::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void ZetaSQLColumn::Clear() { -// @@protoc_insertion_point(message_clear_start:ZetaSQLColumn) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - name_.ClearToEmpty(); - if (GetArenaForAllocation() == nullptr && zetasql_type_ != nullptr) { - delete zetasql_type_; - } - zetasql_type_ = nullptr; - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* ZetaSQLColumn::_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) { - // 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); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "ZetaSQLColumn.name")); - CHK_(ptr); - } else goto handle_unusual; - continue; - // .zetasql.TypeProto zetasql_type = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_zetasql_type(), 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: - return ptr; -failure: - ptr = nullptr; - goto success; -#undef CHK_ -} - -::PROTOBUF_NAMESPACE_ID::uint8* ZetaSQLColumn::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:ZetaSQLColumn) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string name = 1; - if (!this->_internal_name().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_name().data(), static_cast(this->_internal_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "ZetaSQLColumn.name"); - target = stream->WriteStringMaybeAliased( - 1, this->_internal_name(), target); - } - - // .zetasql.TypeProto zetasql_type = 2; - if (this->_internal_has_zetasql_type()) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 2, _Internal::zetasql_type(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:ZetaSQLColumn) - return target; -} - -size_t ZetaSQLColumn::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:ZetaSQLColumn) - 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; - - // string name = 1; - if (!this->_internal_name().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_name()); - } - - // .zetasql.TypeProto zetasql_type = 2; - if (this->_internal_has_zetasql_type()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *zetasql_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; -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ZetaSQLColumn::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - ZetaSQLColumn::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ZetaSQLColumn::GetClassData() const { return &_class_data_; } - -void ZetaSQLColumn::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, - const ::PROTOBUF_NAMESPACE_ID::Message&from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void ZetaSQLColumn::MergeFrom(const ZetaSQLColumn& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:ZetaSQLColumn) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (!from._internal_name().empty()) { - _internal_set_name(from._internal_name()); - } - if (from._internal_has_zetasql_type()) { - _internal_mutable_zetasql_type()->::zetasql::TypeProto::MergeFrom(from._internal_zetasql_type()); - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void ZetaSQLColumn::CopyFrom(const ZetaSQLColumn& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:ZetaSQLColumn) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool ZetaSQLColumn::IsInitialized() const { - if (_internal_has_zetasql_type()) { - if (!zetasql_type_->IsInitialized()) return false; - } - return true; -} - -void ZetaSQLColumn::InternalSwap(ZetaSQLColumn* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &name_, GetArenaForAllocation(), - &other->name_, other->GetArenaForAllocation() - ); - swap(zetasql_type_, other->zetasql_type_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata ZetaSQLColumn::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, - file_level_metadata_alphasql_5fservice_2eproto[4]); -} - -// =================================================================== - -class GenericColumn::_Internal { - public: - static const ::Column& columns(const GenericColumn* msg); - static const ::ZetaSQLColumn& zetasql_columns(const GenericColumn* msg); -}; - -const ::Column& -GenericColumn::_Internal::columns(const GenericColumn* msg) { - return *msg->column_.columns_; -} -const ::ZetaSQLColumn& -GenericColumn::_Internal::zetasql_columns(const GenericColumn* msg) { - return *msg->column_.zetasql_columns_; -} -void GenericColumn::set_allocated_columns(::Column* columns) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_column(); - if (columns) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::Column>::GetOwningArena(columns); - if (message_arena != submessage_arena) { - columns = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, columns, submessage_arena); - } - set_has_columns(); - column_.columns_ = columns; - } - // @@protoc_insertion_point(field_set_allocated:GenericColumn.columns) -} -void GenericColumn::set_allocated_zetasql_columns(::ZetaSQLColumn* zetasql_columns) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - clear_column(); - if (zetasql_columns) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::ZetaSQLColumn>::GetOwningArena(zetasql_columns); - if (message_arena != submessage_arena) { - zetasql_columns = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, zetasql_columns, submessage_arena); - } - set_has_zetasql_columns(); - column_.zetasql_columns_ = zetasql_columns; - } - // @@protoc_insertion_point(field_set_allocated:GenericColumn.zetasql_columns) -} -GenericColumn::GenericColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:GenericColumn) -} -GenericColumn::GenericColumn(const GenericColumn& from) - : ::PROTOBUF_NAMESPACE_ID::Message() { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - clear_has_column(); - switch (from.column_case()) { - case kColumns: { - _internal_mutable_columns()->::Column::MergeFrom(from._internal_columns()); - break; - } - case kZetasqlColumns: { - _internal_mutable_zetasql_columns()->::ZetaSQLColumn::MergeFrom(from._internal_zetasql_columns()); - break; - } - case COLUMN_NOT_SET: { - break; - } - } - // @@protoc_insertion_point(copy_constructor:GenericColumn) -} - -inline void GenericColumn::SharedCtor() { -clear_has_column(); -} - -GenericColumn::~GenericColumn() { - // @@protoc_insertion_point(destructor:GenericColumn) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void GenericColumn::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (has_column()) { - clear_column(); - } -} - -void GenericColumn::ArenaDtor(void* object) { - GenericColumn* _this = reinterpret_cast< GenericColumn* >(object); - (void)_this; -} -void GenericColumn::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void GenericColumn::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void GenericColumn::clear_column() { -// @@protoc_insertion_point(one_of_clear_start:GenericColumn) - switch (column_case()) { - case kColumns: { - if (GetArenaForAllocation() == nullptr) { - delete column_.columns_; - } - break; - } - case kZetasqlColumns: { - if (GetArenaForAllocation() == nullptr) { - delete column_.zetasql_columns_; - } - break; - } - case COLUMN_NOT_SET: { - break; - } - } - _oneof_case_[0] = COLUMN_NOT_SET; -} - - -void GenericColumn::Clear() { -// @@protoc_insertion_point(message_clear_start:GenericColumn) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - clear_column(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* GenericColumn::_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) { - // .Column columns = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_columns(), ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - // .ZetaSQLColumn zetasql_columns = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { - ptr = ctx->ParseMessage(_internal_mutable_zetasql_columns(), 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: - return ptr; -failure: - ptr = nullptr; - goto success; -#undef CHK_ -} - -::PROTOBUF_NAMESPACE_ID::uint8* GenericColumn::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:GenericColumn) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // .Column columns = 2; - if (_internal_has_columns()) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 2, _Internal::columns(this), target, stream); - } - - // .ZetaSQLColumn zetasql_columns = 3; - if (_internal_has_zetasql_columns()) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 3, _Internal::zetasql_columns(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:GenericColumn) - return target; -} - -size_t GenericColumn::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:GenericColumn) - 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; - - switch (column_case()) { - // .Column columns = 2; - case kColumns: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *column_.columns_); - break; - } - // .ZetaSQLColumn zetasql_columns = 3; - case kZetasqlColumns: { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *column_.zetasql_columns_); - break; - } - case COLUMN_NOT_SET: { - break; - } - } - 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; -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData GenericColumn::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - GenericColumn::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GenericColumn::GetClassData() const { return &_class_data_; } - -void GenericColumn::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, - const ::PROTOBUF_NAMESPACE_ID::Message&from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void GenericColumn::MergeFrom(const GenericColumn& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:GenericColumn) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - switch (from.column_case()) { - case kColumns: { - _internal_mutable_columns()->::Column::MergeFrom(from._internal_columns()); - break; - } - case kZetasqlColumns: { - _internal_mutable_zetasql_columns()->::ZetaSQLColumn::MergeFrom(from._internal_zetasql_columns()); - break; - } - case COLUMN_NOT_SET: { - break; - } - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void GenericColumn::CopyFrom(const GenericColumn& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:GenericColumn) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool GenericColumn::IsInitialized() const { - switch (column_case()) { - case kColumns: { - break; - } - case kZetasqlColumns: { - if (has_zetasql_columns()) { - if (!this->zetasql_columns().IsInitialized()) return false; - } - break; - } - case COLUMN_NOT_SET: { - break; - } - } - return true; -} - -void GenericColumn::InternalSwap(GenericColumn* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(column_, other->column_); - swap(_oneof_case_[0], other->_oneof_case_[0]); -} - -::PROTOBUF_NAMESPACE_ID::Metadata GenericColumn::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, - file_level_metadata_alphasql_5fservice_2eproto[5]); -} - -// =================================================================== - -class TableSchema::_Internal { - public: -}; - -TableSchema::TableSchema(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - columns_(arena) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:TableSchema) -} -TableSchema::TableSchema(const TableSchema& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - columns_(from.columns_) { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - table_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (!from._internal_table_name().empty()) { - table_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_table_name(), - GetArenaForAllocation()); - } - // @@protoc_insertion_point(copy_constructor:TableSchema) -} - -inline void TableSchema::SharedCtor() { -table_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -TableSchema::~TableSchema() { - // @@protoc_insertion_point(destructor:TableSchema) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void TableSchema::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - table_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -void TableSchema::ArenaDtor(void* object) { - TableSchema* _this = reinterpret_cast< TableSchema* >(object); - (void)_this; -} -void TableSchema::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void TableSchema::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void TableSchema::Clear() { -// @@protoc_insertion_point(message_clear_start:TableSchema) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - columns_.Clear(); - table_name_.ClearToEmpty(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* TableSchema::_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) { - // string table_name = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { - auto str = _internal_mutable_table_name(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "TableSchema.table_name")); - CHK_(ptr); - } else goto handle_unusual; - continue; - // repeated .GenericColumn 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; - 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* TableSchema::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:TableSchema) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // string table_name = 1; - if (!this->_internal_table_name().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_table_name().data(), static_cast(this->_internal_table_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "TableSchema.table_name"); - target = stream->WriteStringMaybeAliased( - 1, this->_internal_table_name(), target); - } - - // repeated .GenericColumn columns = 2; - for (unsigned int i = 0, - n = static_cast(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); - } - - 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:TableSchema) - return target; -} - -size_t TableSchema::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:TableSchema) - 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 .GenericColumn columns = 2; - total_size += 1UL * this->_internal_columns_size(); - for (const auto& msg : this->columns_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - // string table_name = 1; - if (!this->_internal_table_name().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_table_name()); - } - - 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; -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TableSchema::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - TableSchema::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TableSchema::GetClassData() const { return &_class_data_; } - -void TableSchema::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, - const ::PROTOBUF_NAMESPACE_ID::Message&from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void TableSchema::MergeFrom(const TableSchema& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:TableSchema) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - columns_.MergeFrom(from.columns_); - if (!from._internal_table_name().empty()) { - _internal_set_table_name(from._internal_table_name()); - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void TableSchema::CopyFrom(const TableSchema& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:TableSchema) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool TableSchema::IsInitialized() const { - if (!::PROTOBUF_NAMESPACE_ID::internal::AllAreInitialized(columns_)) return false; - return true; -} - -void TableSchema::InternalSwap(TableSchema* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - columns_.InternalSwap(&other->columns_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &table_name_, GetArenaForAllocation(), - &other->table_name_, other->GetArenaForAllocation() - ); -} - -::PROTOBUF_NAMESPACE_ID::Metadata TableSchema::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, - file_level_metadata_alphasql_5fservice_2eproto[6]); -} - -// =================================================================== - -class AlphaCheckRequest::_Internal { - public: -}; - -AlphaCheckRequest::AlphaCheckRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - external_required_tables_schema_(arena), - files_(arena) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:AlphaCheckRequest) -} -AlphaCheckRequest::AlphaCheckRequest(const AlphaCheckRequest& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - external_required_tables_schema_(from.external_required_tables_schema_), - files_(from.files_) { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - dag_dot_string_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (!from._internal_dag_dot_string().empty()) { - dag_dot_string_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_dag_dot_string(), - GetArenaForAllocation()); - } - // @@protoc_insertion_point(copy_constructor:AlphaCheckRequest) -} - -inline void AlphaCheckRequest::SharedCtor() { -dag_dot_string_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -AlphaCheckRequest::~AlphaCheckRequest() { - // @@protoc_insertion_point(destructor:AlphaCheckRequest) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void AlphaCheckRequest::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - dag_dot_string_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -void AlphaCheckRequest::ArenaDtor(void* object) { - AlphaCheckRequest* _this = reinterpret_cast< AlphaCheckRequest* >(object); - (void)_this; -} -void AlphaCheckRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void AlphaCheckRequest::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void AlphaCheckRequest::Clear() { -// @@protoc_insertion_point(message_clear_start:AlphaCheckRequest) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - external_required_tables_schema_.Clear(); - files_.Clear(); - dag_dot_string_.ClearToEmpty(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AlphaCheckRequest::_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 .TableSchema external_required_tables_schema = 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_external_required_tables_schema(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr)); - } else goto handle_unusual; - continue; - // string dag_dot_string = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - auto str = _internal_mutable_dag_dot_string(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "AlphaCheckRequest.dag_dot_string")); - CHK_(ptr); - } else goto handle_unusual; - continue; - // repeated .File files = 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_files(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(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* AlphaCheckRequest::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:AlphaCheckRequest) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // repeated .TableSchema external_required_tables_schema = 1; - for (unsigned int i = 0, - n = static_cast(this->_internal_external_required_tables_schema_size()); i < n; i++) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, this->_internal_external_required_tables_schema(i), target, stream); - } - - // string dag_dot_string = 2; - if (!this->_internal_dag_dot_string().empty()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_dag_dot_string().data(), static_cast(this->_internal_dag_dot_string().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "AlphaCheckRequest.dag_dot_string"); - target = stream->WriteStringMaybeAliased( - 2, this->_internal_dag_dot_string(), target); - } - - // repeated .File files = 3; - for (unsigned int i = 0, - n = static_cast(this->_internal_files_size()); i < n; i++) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(3, this->_internal_files(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:AlphaCheckRequest) - return target; -} - -size_t AlphaCheckRequest::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:AlphaCheckRequest) - 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 .TableSchema external_required_tables_schema = 1; - total_size += 1UL * this->_internal_external_required_tables_schema_size(); - for (const auto& msg : this->external_required_tables_schema_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - // repeated .File files = 3; - total_size += 1UL * this->_internal_files_size(); - for (const auto& msg : this->files_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - // string dag_dot_string = 2; - if (!this->_internal_dag_dot_string().empty()) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_dag_dot_string()); - } - - 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; -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlphaCheckRequest::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - AlphaCheckRequest::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlphaCheckRequest::GetClassData() const { return &_class_data_; } - -void AlphaCheckRequest::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, - const ::PROTOBUF_NAMESPACE_ID::Message&from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void AlphaCheckRequest::MergeFrom(const AlphaCheckRequest& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:AlphaCheckRequest) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - external_required_tables_schema_.MergeFrom(from.external_required_tables_schema_); - files_.MergeFrom(from.files_); - if (!from._internal_dag_dot_string().empty()) { - _internal_set_dag_dot_string(from._internal_dag_dot_string()); - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AlphaCheckRequest::CopyFrom(const AlphaCheckRequest& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:AlphaCheckRequest) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AlphaCheckRequest::IsInitialized() const { - if (!::PROTOBUF_NAMESPACE_ID::internal::AllAreInitialized(external_required_tables_schema_)) return false; - return true; -} - -void AlphaCheckRequest::InternalSwap(AlphaCheckRequest* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - external_required_tables_schema_.InternalSwap(&other->external_required_tables_schema_); - files_.InternalSwap(&other->files_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &dag_dot_string_, GetArenaForAllocation(), - &other->dag_dot_string_, other->GetArenaForAllocation() - ); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AlphaCheckRequest::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, - file_level_metadata_alphasql_5fservice_2eproto[7]); -} - -// =================================================================== - -class AlphaCheckResponse::_Internal { - public: - using HasBits = decltype(std::declval()._has_bits_); - static void set_has_error(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -AlphaCheckResponse::AlphaCheckResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:AlphaCheckResponse) -} -AlphaCheckResponse::AlphaCheckResponse(const AlphaCheckResponse& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - _has_bits_(from._has_bits_) { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - error_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (from._internal_has_error()) { - error_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_error(), - GetArenaForAllocation()); - } - // @@protoc_insertion_point(copy_constructor:AlphaCheckResponse) -} - -inline void AlphaCheckResponse::SharedCtor() { -error_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -AlphaCheckResponse::~AlphaCheckResponse() { - // @@protoc_insertion_point(destructor:AlphaCheckResponse) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void AlphaCheckResponse::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - error_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -void AlphaCheckResponse::ArenaDtor(void* object) { - AlphaCheckResponse* _this = reinterpret_cast< AlphaCheckResponse* >(object); - (void)_this; -} -void AlphaCheckResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void AlphaCheckResponse::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void AlphaCheckResponse::Clear() { -// @@protoc_insertion_point(message_clear_start:AlphaCheckResponse) - ::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) { - error_.ClearNonDefaultToEmpty(); - } - _has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* AlphaCheckResponse::_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 error = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { - auto str = _internal_mutable_error(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "AlphaCheckResponse.error")); - 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* AlphaCheckResponse::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:AlphaCheckResponse) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // optional string error = 1; - if (_internal_has_error()) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String( - this->_internal_error().data(), static_cast(this->_internal_error().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE, - "AlphaCheckResponse.error"); - target = stream->WriteStringMaybeAliased( - 1, this->_internal_error(), 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:AlphaCheckResponse) - return target; -} - -size_t AlphaCheckResponse::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:AlphaCheckResponse) - 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 error = 1; - cached_has_bits = _has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_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; -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AlphaCheckResponse::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - AlphaCheckResponse::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AlphaCheckResponse::GetClassData() const { return &_class_data_; } - -void AlphaCheckResponse::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, - const ::PROTOBUF_NAMESPACE_ID::Message&from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void AlphaCheckResponse::MergeFrom(const AlphaCheckResponse& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:AlphaCheckResponse) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_error()) { - _internal_set_error(from._internal_error()); - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void AlphaCheckResponse::CopyFrom(const AlphaCheckResponse& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:AlphaCheckResponse) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool AlphaCheckResponse::IsInitialized() const { - return true; -} - -void AlphaCheckResponse::InternalSwap(AlphaCheckResponse* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_has_bits_[0], other->_has_bits_[0]); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &error_, GetArenaForAllocation(), - &other->error_, other->GetArenaForAllocation() - ); -} - -::PROTOBUF_NAMESPACE_ID::Metadata AlphaCheckResponse::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_alphasql_5fservice_2eproto_getter, &descriptor_table_alphasql_5fservice_2eproto_once, - file_level_metadata_alphasql_5fservice_2eproto[8]); -} - -// @@protoc_insertion_point(namespace_scope) -PROTOBUF_NAMESPACE_OPEN -template<> PROTOBUF_NOINLINE ::File* Arena::CreateMaybeMessage< ::File >(Arena* arena) { - return Arena::CreateMessageInternal< ::File >(arena); -} -template<> PROTOBUF_NOINLINE ::AlphaDAGRequest* Arena::CreateMaybeMessage< ::AlphaDAGRequest >(Arena* arena) { - return Arena::CreateMessageInternal< ::AlphaDAGRequest >(arena); -} -template<> PROTOBUF_NOINLINE ::AlphaDAGResponse* Arena::CreateMaybeMessage< ::AlphaDAGResponse >(Arena* arena) { - return Arena::CreateMessageInternal< ::AlphaDAGResponse >(arena); -} -template<> PROTOBUF_NOINLINE ::Column* Arena::CreateMaybeMessage< ::Column >(Arena* arena) { - return Arena::CreateMessageInternal< ::Column >(arena); -} -template<> PROTOBUF_NOINLINE ::ZetaSQLColumn* Arena::CreateMaybeMessage< ::ZetaSQLColumn >(Arena* arena) { - return Arena::CreateMessageInternal< ::ZetaSQLColumn >(arena); -} -template<> PROTOBUF_NOINLINE ::GenericColumn* Arena::CreateMaybeMessage< ::GenericColumn >(Arena* arena) { - return Arena::CreateMessageInternal< ::GenericColumn >(arena); -} -template<> PROTOBUF_NOINLINE ::TableSchema* Arena::CreateMaybeMessage< ::TableSchema >(Arena* arena) { - return Arena::CreateMessageInternal< ::TableSchema >(arena); -} -template<> PROTOBUF_NOINLINE ::AlphaCheckRequest* Arena::CreateMaybeMessage< ::AlphaCheckRequest >(Arena* arena) { - return Arena::CreateMessageInternal< ::AlphaCheckRequest >(arena); -} -template<> PROTOBUF_NOINLINE ::AlphaCheckResponse* Arena::CreateMaybeMessage< ::AlphaCheckResponse >(Arena* arena) { - return Arena::CreateMessageInternal< ::AlphaCheckResponse >(arena); -} -PROTOBUF_NAMESPACE_CLOSE - -// @@protoc_insertion_point(global_scope) -#include diff --git a/alphasql/proto/alphasql_service.pb.h b/alphasql/proto/alphasql_service.pb.h deleted file mode 100644 index bf2a75ba..00000000 --- a/alphasql/proto/alphasql_service.pb.h +++ /dev/null @@ -1,2937 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: alphasql_service.proto - -#ifndef GOOGLE_PROTOBUF_INCLUDED_alphasql_5fservice_2eproto -#define GOOGLE_PROTOBUF_INCLUDED_alphasql_5fservice_2eproto - -#include -#include - -#include -#if PROTOBUF_VERSION < 3017000 -#error This file was generated by a newer version of protoc which is -#error incompatible with your Protocol Buffer headers. Please update -#error your headers. -#endif -#if 3017003 < PROTOBUF_MIN_PROTOC_VERSION -#error This file was generated by an older version of protoc which is -#error incompatible with your Protocol Buffer headers. Please -#error regenerate this file with a newer version of protoc. -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include // IWYU pragma: export -#include // IWYU pragma: export -#include -#include -#include "type.pb.h" -// @@protoc_insertion_point(includes) -#include -#define PROTOBUF_INTERNAL_EXPORT_alphasql_5fservice_2eproto -PROTOBUF_NAMESPACE_OPEN -namespace internal { -class AnyMetadata; -} // namespace internal -PROTOBUF_NAMESPACE_CLOSE - -// Internal implementation detail -- do not use these members. -struct TableStruct_alphasql_5fservice_2eproto { - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] - PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] - PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[9] - PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; - static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; - static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]; -}; -extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_alphasql_5fservice_2eproto; -class AlphaCheckRequest; -struct AlphaCheckRequestDefaultTypeInternal; -extern AlphaCheckRequestDefaultTypeInternal _AlphaCheckRequest_default_instance_; -class AlphaCheckResponse; -struct AlphaCheckResponseDefaultTypeInternal; -extern AlphaCheckResponseDefaultTypeInternal _AlphaCheckResponse_default_instance_; -class AlphaDAGRequest; -struct AlphaDAGRequestDefaultTypeInternal; -extern AlphaDAGRequestDefaultTypeInternal _AlphaDAGRequest_default_instance_; -class AlphaDAGResponse; -struct AlphaDAGResponseDefaultTypeInternal; -extern AlphaDAGResponseDefaultTypeInternal _AlphaDAGResponse_default_instance_; -class Column; -struct ColumnDefaultTypeInternal; -extern ColumnDefaultTypeInternal _Column_default_instance_; -class File; -struct FileDefaultTypeInternal; -extern FileDefaultTypeInternal _File_default_instance_; -class GenericColumn; -struct GenericColumnDefaultTypeInternal; -extern GenericColumnDefaultTypeInternal _GenericColumn_default_instance_; -class TableSchema; -struct TableSchemaDefaultTypeInternal; -extern TableSchemaDefaultTypeInternal _TableSchema_default_instance_; -class ZetaSQLColumn; -struct ZetaSQLColumnDefaultTypeInternal; -extern ZetaSQLColumnDefaultTypeInternal _ZetaSQLColumn_default_instance_; -PROTOBUF_NAMESPACE_OPEN -template<> ::AlphaCheckRequest* Arena::CreateMaybeMessage<::AlphaCheckRequest>(Arena*); -template<> ::AlphaCheckResponse* Arena::CreateMaybeMessage<::AlphaCheckResponse>(Arena*); -template<> ::AlphaDAGRequest* Arena::CreateMaybeMessage<::AlphaDAGRequest>(Arena*); -template<> ::AlphaDAGResponse* Arena::CreateMaybeMessage<::AlphaDAGResponse>(Arena*); -template<> ::Column* Arena::CreateMaybeMessage<::Column>(Arena*); -template<> ::File* Arena::CreateMaybeMessage<::File>(Arena*); -template<> ::GenericColumn* Arena::CreateMaybeMessage<::GenericColumn>(Arena*); -template<> ::TableSchema* Arena::CreateMaybeMessage<::TableSchema>(Arena*); -template<> ::ZetaSQLColumn* Arena::CreateMaybeMessage<::ZetaSQLColumn>(Arena*); -PROTOBUF_NAMESPACE_CLOSE - -enum SupportedType : int { - STRING = 0, - INTEGER = 1, - INT64 = 2, - BOOLEAN = 3, - BOOL = 4, - FLOAT64 = 5, - FLOAT = 6, - NUMERIC = 7, - BYTES = 8, - TIMESTAMP = 9, - TIME = 10, - DATETIME = 11, - DATE = 12, - GEOGRAPHY = 13, - RECORD = 14, - SupportedType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(), - SupportedType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max() -}; -bool SupportedType_IsValid(int value); -constexpr SupportedType SupportedType_MIN = STRING; -constexpr SupportedType SupportedType_MAX = RECORD; -constexpr int SupportedType_ARRAYSIZE = SupportedType_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* SupportedType_descriptor(); -template -inline const std::string& SupportedType_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function SupportedType_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - SupportedType_descriptor(), enum_t_value); -} -inline bool SupportedType_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, SupportedType* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - SupportedType_descriptor(), name, value); -} -enum Mode : int { - REPEATED = 0, - NULLABLE = 1, - REQUIRED = 2, - Mode_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(), - Mode_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max() -}; -bool Mode_IsValid(int value); -constexpr Mode Mode_MIN = REPEATED; -constexpr Mode Mode_MAX = REQUIRED; -constexpr int Mode_ARRAYSIZE = Mode_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Mode_descriptor(); -template -inline const std::string& Mode_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function Mode_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - Mode_descriptor(), enum_t_value); -} -inline bool Mode_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, Mode* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - Mode_descriptor(), name, value); -} -// =================================================================== - -class File final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:File) */ { - public: - inline File() : File(nullptr) {} - ~File() override; - explicit constexpr File(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - File(const File& from); - File(File&& from) noexcept - : File() { - *this = ::std::move(from); - } - - inline File& operator=(const File& from) { - CopyFrom(from); - return *this; - } - inline File& operator=(File&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const File& default_instance() { - return *internal_default_instance(); - } - static inline const File* internal_default_instance() { - return reinterpret_cast( - &_File_default_instance_); - } - static constexpr int kIndexInFileMessages = - 0; - - friend void swap(File& a, File& b) { - a.Swap(&b); - } - inline void Swap(File* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(File* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline File* New() const final { - return new File(); - } - - File* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const File& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const File& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(File* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "File"; - } - protected: - explicit File(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kNameFieldNumber = 1, - kContentFieldNumber = 2, - }; - // string name = 1; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_MUST_USE_RESULT std::string* release_name(); - void set_allocated_name(std::string* name); - private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); - public: - - // string content = 2; - void clear_content(); - const std::string& content() const; - template - void set_content(ArgT0&& arg0, ArgT... args); - std::string* mutable_content(); - PROTOBUF_MUST_USE_RESULT std::string* release_content(); - void set_allocated_content(std::string* content); - private: - const std::string& _internal_content() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_content(const std::string& value); - std::string* _internal_mutable_content(); - public: - - // @@protoc_insertion_point(class_scope:File) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr content_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_alphasql_5fservice_2eproto; -}; -// ------------------------------------------------------------------- - -class AlphaDAGRequest final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:AlphaDAGRequest) */ { - public: - inline AlphaDAGRequest() : AlphaDAGRequest(nullptr) {} - ~AlphaDAGRequest() override; - explicit constexpr AlphaDAGRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AlphaDAGRequest(const AlphaDAGRequest& from); - AlphaDAGRequest(AlphaDAGRequest&& from) noexcept - : AlphaDAGRequest() { - *this = ::std::move(from); - } - - inline AlphaDAGRequest& operator=(const AlphaDAGRequest& from) { - CopyFrom(from); - return *this; - } - inline AlphaDAGRequest& operator=(AlphaDAGRequest&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AlphaDAGRequest& default_instance() { - return *internal_default_instance(); - } - static inline const AlphaDAGRequest* internal_default_instance() { - return reinterpret_cast( - &_AlphaDAGRequest_default_instance_); - } - static constexpr int kIndexInFileMessages = - 1; - - friend void swap(AlphaDAGRequest& a, AlphaDAGRequest& b) { - a.Swap(&b); - } - inline void Swap(AlphaDAGRequest* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AlphaDAGRequest* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline AlphaDAGRequest* New() const final { - return new AlphaDAGRequest(); - } - - AlphaDAGRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlphaDAGRequest& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const AlphaDAGRequest& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlphaDAGRequest* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "AlphaDAGRequest"; - } - protected: - explicit AlphaDAGRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kFilesFieldNumber = 5, - kWarningAsErrorFieldNumber = 1, - kWithTablesFieldNumber = 2, - kWithFunctionsFieldNumber = 3, - kSideEffectFirstFieldNumber = 4, - }; - // repeated .File files = 5; - int files_size() const; - private: - int _internal_files_size() const; - public: - void clear_files(); - ::File* mutable_files(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File >* - mutable_files(); - private: - const ::File& _internal_files(int index) const; - ::File* _internal_add_files(); - public: - const ::File& files(int index) const; - ::File* add_files(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File >& - files() const; - - // bool warning_as_error = 1; - void clear_warning_as_error(); - bool warning_as_error() const; - void set_warning_as_error(bool value); - private: - bool _internal_warning_as_error() const; - void _internal_set_warning_as_error(bool value); - public: - - // bool with_tables = 2; - void clear_with_tables(); - bool with_tables() const; - void set_with_tables(bool value); - private: - bool _internal_with_tables() const; - void _internal_set_with_tables(bool value); - public: - - // bool with_functions = 3; - void clear_with_functions(); - bool with_functions() const; - void set_with_functions(bool value); - private: - bool _internal_with_functions() const; - void _internal_set_with_functions(bool value); - public: - - // bool side_effect_first = 4; - void clear_side_effect_first(); - bool side_effect_first() const; - void set_side_effect_first(bool value); - private: - bool _internal_side_effect_first() const; - void _internal_set_side_effect_first(bool value); - public: - - // @@protoc_insertion_point(class_scope:AlphaDAGRequest) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File > files_; - bool warning_as_error_; - bool with_tables_; - bool with_functions_; - bool side_effect_first_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_alphasql_5fservice_2eproto; -}; -// ------------------------------------------------------------------- - -class AlphaDAGResponse final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:AlphaDAGResponse) */ { - public: - inline AlphaDAGResponse() : AlphaDAGResponse(nullptr) {} - ~AlphaDAGResponse() override; - explicit constexpr AlphaDAGResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AlphaDAGResponse(const AlphaDAGResponse& from); - AlphaDAGResponse(AlphaDAGResponse&& from) noexcept - : AlphaDAGResponse() { - *this = ::std::move(from); - } - - inline AlphaDAGResponse& operator=(const AlphaDAGResponse& from) { - CopyFrom(from); - return *this; - } - inline AlphaDAGResponse& operator=(AlphaDAGResponse&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AlphaDAGResponse& default_instance() { - return *internal_default_instance(); - } - static inline const AlphaDAGResponse* internal_default_instance() { - return reinterpret_cast( - &_AlphaDAGResponse_default_instance_); - } - static constexpr int kIndexInFileMessages = - 2; - - friend void swap(AlphaDAGResponse& a, AlphaDAGResponse& b) { - a.Swap(&b); - } - inline void Swap(AlphaDAGResponse* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AlphaDAGResponse* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline AlphaDAGResponse* New() const final { - return new AlphaDAGResponse(); - } - - AlphaDAGResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlphaDAGResponse& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const AlphaDAGResponse& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlphaDAGResponse* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "AlphaDAGResponse"; - } - protected: - explicit AlphaDAGResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kExternalRequiredTablesFieldNumber = 1, - kDagDotStringFieldNumber = 2, - kErrorFieldNumber = 3, - }; - // repeated string external_required_tables = 1; - int external_required_tables_size() const; - private: - int _internal_external_required_tables_size() const; - public: - void clear_external_required_tables(); - const std::string& external_required_tables(int index) const; - std::string* mutable_external_required_tables(int index); - void set_external_required_tables(int index, const std::string& value); - void set_external_required_tables(int index, std::string&& value); - void set_external_required_tables(int index, const char* value); - void set_external_required_tables(int index, const char* value, size_t size); - std::string* add_external_required_tables(); - void add_external_required_tables(const std::string& value); - void add_external_required_tables(std::string&& value); - void add_external_required_tables(const char* value); - void add_external_required_tables(const char* value, size_t size); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& external_required_tables() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_external_required_tables(); - private: - const std::string& _internal_external_required_tables(int index) const; - std::string* _internal_add_external_required_tables(); - public: - - // repeated string dag_dot_string = 2; - int dag_dot_string_size() const; - private: - int _internal_dag_dot_string_size() const; - public: - void clear_dag_dot_string(); - const std::string& dag_dot_string(int index) const; - std::string* mutable_dag_dot_string(int index); - void set_dag_dot_string(int index, const std::string& value); - void set_dag_dot_string(int index, std::string&& value); - void set_dag_dot_string(int index, const char* value); - void set_dag_dot_string(int index, const char* value, size_t size); - std::string* add_dag_dot_string(); - void add_dag_dot_string(const std::string& value); - void add_dag_dot_string(std::string&& value); - void add_dag_dot_string(const char* value); - void add_dag_dot_string(const char* value, size_t size); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& dag_dot_string() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_dag_dot_string(); - private: - const std::string& _internal_dag_dot_string(int index) const; - std::string* _internal_add_dag_dot_string(); - public: - - // optional string error = 3; - bool has_error() const; - private: - bool _internal_has_error() const; - public: - void clear_error(); - const std::string& error() const; - template - void set_error(ArgT0&& arg0, ArgT... args); - std::string* mutable_error(); - PROTOBUF_MUST_USE_RESULT std::string* release_error(); - void set_allocated_error(std::string* error); - private: - const std::string& _internal_error() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_error(const std::string& value); - std::string* _internal_mutable_error(); - public: - - // @@protoc_insertion_point(class_scope:AlphaDAGResponse) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField external_required_tables_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField dag_dot_string_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr error_; - friend struct ::TableStruct_alphasql_5fservice_2eproto; -}; -// ------------------------------------------------------------------- - -class Column final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:Column) */ { - public: - inline Column() : Column(nullptr) {} - ~Column() override; - explicit constexpr Column(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - Column(const Column& from); - Column(Column&& from) noexcept - : Column() { - *this = ::std::move(from); - } - - inline Column& operator=(const Column& from) { - CopyFrom(from); - return *this; - } - inline Column& operator=(Column&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const Column& default_instance() { - return *internal_default_instance(); - } - static inline const Column* internal_default_instance() { - return reinterpret_cast( - &_Column_default_instance_); - } - static constexpr int kIndexInFileMessages = - 3; - - friend void swap(Column& a, Column& b) { - a.Swap(&b); - } - inline void Swap(Column* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(Column* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline Column* New() const final { - return new Column(); - } - - Column* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const Column& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const Column& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(Column* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "Column"; - } - protected: - explicit Column(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kFieldsFieldNumber = 4, - kNameFieldNumber = 1, - kTypeFieldNumber = 2, - kModeFieldNumber = 3, - }; - // repeated .Column fields = 4; - int fields_size() const; - private: - int _internal_fields_size() const; - public: - void clear_fields(); - ::Column* mutable_fields(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column >* - mutable_fields(); - private: - const ::Column& _internal_fields(int index) const; - ::Column* _internal_add_fields(); - public: - const ::Column& fields(int index) const; - ::Column* add_fields(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column >& - fields() const; - - // string name = 1; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_MUST_USE_RESULT std::string* release_name(); - void set_allocated_name(std::string* name); - private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); - public: - - // .SupportedType type = 2; - void clear_type(); - ::SupportedType type() const; - void set_type(::SupportedType value); - private: - ::SupportedType _internal_type() const; - void _internal_set_type(::SupportedType value); - public: - - // .Mode mode = 3; - void clear_mode(); - ::Mode mode() const; - void set_mode(::Mode value); - private: - ::Mode _internal_mode() const; - void _internal_set_mode(::Mode value); - public: - - // @@protoc_insertion_point(class_scope:Column) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column > fields_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - int type_; - int mode_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_alphasql_5fservice_2eproto; -}; -// ------------------------------------------------------------------- - -class ZetaSQLColumn final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:ZetaSQLColumn) */ { - public: - inline ZetaSQLColumn() : ZetaSQLColumn(nullptr) {} - ~ZetaSQLColumn() override; - explicit constexpr ZetaSQLColumn(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - ZetaSQLColumn(const ZetaSQLColumn& from); - ZetaSQLColumn(ZetaSQLColumn&& from) noexcept - : ZetaSQLColumn() { - *this = ::std::move(from); - } - - inline ZetaSQLColumn& operator=(const ZetaSQLColumn& from) { - CopyFrom(from); - return *this; - } - inline ZetaSQLColumn& operator=(ZetaSQLColumn&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const ZetaSQLColumn& default_instance() { - return *internal_default_instance(); - } - static inline const ZetaSQLColumn* internal_default_instance() { - return reinterpret_cast( - &_ZetaSQLColumn_default_instance_); - } - static constexpr int kIndexInFileMessages = - 4; - - friend void swap(ZetaSQLColumn& a, ZetaSQLColumn& b) { - a.Swap(&b); - } - inline void Swap(ZetaSQLColumn* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(ZetaSQLColumn* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline ZetaSQLColumn* New() const final { - return new ZetaSQLColumn(); - } - - ZetaSQLColumn* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ZetaSQLColumn& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const ZetaSQLColumn& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ZetaSQLColumn* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "ZetaSQLColumn"; - } - protected: - explicit ZetaSQLColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kNameFieldNumber = 1, - kZetasqlTypeFieldNumber = 2, - }; - // string name = 1; - void clear_name(); - const std::string& name() const; - template - void set_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_name(); - PROTOBUF_MUST_USE_RESULT std::string* release_name(); - void set_allocated_name(std::string* name); - private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value); - std::string* _internal_mutable_name(); - public: - - // .zetasql.TypeProto zetasql_type = 2; - bool has_zetasql_type() const; - private: - bool _internal_has_zetasql_type() const; - public: - void clear_zetasql_type(); - const ::zetasql::TypeProto& zetasql_type() const; - PROTOBUF_MUST_USE_RESULT ::zetasql::TypeProto* release_zetasql_type(); - ::zetasql::TypeProto* mutable_zetasql_type(); - void set_allocated_zetasql_type(::zetasql::TypeProto* zetasql_type); - private: - const ::zetasql::TypeProto& _internal_zetasql_type() const; - ::zetasql::TypeProto* _internal_mutable_zetasql_type(); - public: - void unsafe_arena_set_allocated_zetasql_type( - ::zetasql::TypeProto* zetasql_type); - ::zetasql::TypeProto* unsafe_arena_release_zetasql_type(); - - // @@protoc_insertion_point(class_scope:ZetaSQLColumn) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_; - ::zetasql::TypeProto* zetasql_type_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_alphasql_5fservice_2eproto; -}; -// ------------------------------------------------------------------- - -class GenericColumn final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:GenericColumn) */ { - public: - inline GenericColumn() : GenericColumn(nullptr) {} - ~GenericColumn() override; - explicit constexpr GenericColumn(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - GenericColumn(const GenericColumn& from); - GenericColumn(GenericColumn&& from) noexcept - : GenericColumn() { - *this = ::std::move(from); - } - - inline GenericColumn& operator=(const GenericColumn& from) { - CopyFrom(from); - return *this; - } - inline GenericColumn& operator=(GenericColumn&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const GenericColumn& default_instance() { - return *internal_default_instance(); - } - enum ColumnCase { - kColumns = 2, - kZetasqlColumns = 3, - COLUMN_NOT_SET = 0, - }; - - static inline const GenericColumn* internal_default_instance() { - return reinterpret_cast( - &_GenericColumn_default_instance_); - } - static constexpr int kIndexInFileMessages = - 5; - - friend void swap(GenericColumn& a, GenericColumn& b) { - a.Swap(&b); - } - inline void Swap(GenericColumn* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(GenericColumn* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline GenericColumn* New() const final { - return new GenericColumn(); - } - - GenericColumn* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const GenericColumn& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const GenericColumn& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(GenericColumn* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "GenericColumn"; - } - protected: - explicit GenericColumn(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kColumnsFieldNumber = 2, - kZetasqlColumnsFieldNumber = 3, - }; - // .Column columns = 2; - bool has_columns() const; - private: - bool _internal_has_columns() const; - public: - void clear_columns(); - const ::Column& columns() const; - PROTOBUF_MUST_USE_RESULT ::Column* release_columns(); - ::Column* mutable_columns(); - void set_allocated_columns(::Column* columns); - private: - const ::Column& _internal_columns() const; - ::Column* _internal_mutable_columns(); - public: - void unsafe_arena_set_allocated_columns( - ::Column* columns); - ::Column* unsafe_arena_release_columns(); - - // .ZetaSQLColumn zetasql_columns = 3; - bool has_zetasql_columns() const; - private: - bool _internal_has_zetasql_columns() const; - public: - void clear_zetasql_columns(); - const ::ZetaSQLColumn& zetasql_columns() const; - PROTOBUF_MUST_USE_RESULT ::ZetaSQLColumn* release_zetasql_columns(); - ::ZetaSQLColumn* mutable_zetasql_columns(); - void set_allocated_zetasql_columns(::ZetaSQLColumn* zetasql_columns); - private: - const ::ZetaSQLColumn& _internal_zetasql_columns() const; - ::ZetaSQLColumn* _internal_mutable_zetasql_columns(); - public: - void unsafe_arena_set_allocated_zetasql_columns( - ::ZetaSQLColumn* zetasql_columns); - ::ZetaSQLColumn* unsafe_arena_release_zetasql_columns(); - - void clear_column(); - ColumnCase column_case() const; - // @@protoc_insertion_point(class_scope:GenericColumn) - private: - class _Internal; - void set_has_columns(); - void set_has_zetasql_columns(); - - inline bool has_column() const; - inline void clear_has_column(); - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - union ColumnUnion { - constexpr ColumnUnion() : _constinit_{} {} - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_; - ::Column* columns_; - ::ZetaSQLColumn* zetasql_columns_; - } column_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1]; - - friend struct ::TableStruct_alphasql_5fservice_2eproto; -}; -// ------------------------------------------------------------------- - -class TableSchema final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:TableSchema) */ { - public: - inline TableSchema() : TableSchema(nullptr) {} - ~TableSchema() override; - explicit constexpr TableSchema(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - TableSchema(const TableSchema& from); - TableSchema(TableSchema&& from) noexcept - : TableSchema() { - *this = ::std::move(from); - } - - inline TableSchema& operator=(const TableSchema& from) { - CopyFrom(from); - return *this; - } - inline TableSchema& operator=(TableSchema&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const TableSchema& default_instance() { - return *internal_default_instance(); - } - static inline const TableSchema* internal_default_instance() { - return reinterpret_cast( - &_TableSchema_default_instance_); - } - static constexpr int kIndexInFileMessages = - 6; - - friend void swap(TableSchema& a, TableSchema& b) { - a.Swap(&b); - } - inline void Swap(TableSchema* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(TableSchema* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline TableSchema* New() const final { - return new TableSchema(); - } - - TableSchema* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const TableSchema& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const TableSchema& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(TableSchema* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "TableSchema"; - } - protected: - explicit TableSchema(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kColumnsFieldNumber = 2, - kTableNameFieldNumber = 1, - }; - // repeated .GenericColumn columns = 2; - int columns_size() const; - private: - int _internal_columns_size() const; - public: - void clear_columns(); - ::GenericColumn* mutable_columns(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::GenericColumn >* - mutable_columns(); - private: - const ::GenericColumn& _internal_columns(int index) const; - ::GenericColumn* _internal_add_columns(); - public: - const ::GenericColumn& columns(int index) const; - ::GenericColumn* add_columns(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::GenericColumn >& - columns() const; - - // string table_name = 1; - void clear_table_name(); - const std::string& table_name() const; - template - void set_table_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_table_name(); - PROTOBUF_MUST_USE_RESULT std::string* release_table_name(); - void set_allocated_table_name(std::string* table_name); - private: - const std::string& _internal_table_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_table_name(const std::string& value); - std::string* _internal_mutable_table_name(); - public: - - // @@protoc_insertion_point(class_scope:TableSchema) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::GenericColumn > columns_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr table_name_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_alphasql_5fservice_2eproto; -}; -// ------------------------------------------------------------------- - -class AlphaCheckRequest final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:AlphaCheckRequest) */ { - public: - inline AlphaCheckRequest() : AlphaCheckRequest(nullptr) {} - ~AlphaCheckRequest() override; - explicit constexpr AlphaCheckRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AlphaCheckRequest(const AlphaCheckRequest& from); - AlphaCheckRequest(AlphaCheckRequest&& from) noexcept - : AlphaCheckRequest() { - *this = ::std::move(from); - } - - inline AlphaCheckRequest& operator=(const AlphaCheckRequest& from) { - CopyFrom(from); - return *this; - } - inline AlphaCheckRequest& operator=(AlphaCheckRequest&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AlphaCheckRequest& default_instance() { - return *internal_default_instance(); - } - static inline const AlphaCheckRequest* internal_default_instance() { - return reinterpret_cast( - &_AlphaCheckRequest_default_instance_); - } - static constexpr int kIndexInFileMessages = - 7; - - friend void swap(AlphaCheckRequest& a, AlphaCheckRequest& b) { - a.Swap(&b); - } - inline void Swap(AlphaCheckRequest* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AlphaCheckRequest* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline AlphaCheckRequest* New() const final { - return new AlphaCheckRequest(); - } - - AlphaCheckRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlphaCheckRequest& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const AlphaCheckRequest& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlphaCheckRequest* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "AlphaCheckRequest"; - } - protected: - explicit AlphaCheckRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kExternalRequiredTablesSchemaFieldNumber = 1, - kFilesFieldNumber = 3, - kDagDotStringFieldNumber = 2, - }; - // repeated .TableSchema external_required_tables_schema = 1; - int external_required_tables_schema_size() const; - private: - int _internal_external_required_tables_schema_size() const; - public: - void clear_external_required_tables_schema(); - ::TableSchema* mutable_external_required_tables_schema(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::TableSchema >* - mutable_external_required_tables_schema(); - private: - const ::TableSchema& _internal_external_required_tables_schema(int index) const; - ::TableSchema* _internal_add_external_required_tables_schema(); - public: - const ::TableSchema& external_required_tables_schema(int index) const; - ::TableSchema* add_external_required_tables_schema(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::TableSchema >& - external_required_tables_schema() const; - - // repeated .File files = 3; - int files_size() const; - private: - int _internal_files_size() const; - public: - void clear_files(); - ::File* mutable_files(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File >* - mutable_files(); - private: - const ::File& _internal_files(int index) const; - ::File* _internal_add_files(); - public: - const ::File& files(int index) const; - ::File* add_files(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File >& - files() const; - - // string dag_dot_string = 2; - void clear_dag_dot_string(); - const std::string& dag_dot_string() const; - template - void set_dag_dot_string(ArgT0&& arg0, ArgT... args); - std::string* mutable_dag_dot_string(); - PROTOBUF_MUST_USE_RESULT std::string* release_dag_dot_string(); - void set_allocated_dag_dot_string(std::string* dag_dot_string); - private: - const std::string& _internal_dag_dot_string() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_dag_dot_string(const std::string& value); - std::string* _internal_mutable_dag_dot_string(); - public: - - // @@protoc_insertion_point(class_scope:AlphaCheckRequest) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::TableSchema > external_required_tables_schema_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File > files_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr dag_dot_string_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_alphasql_5fservice_2eproto; -}; -// ------------------------------------------------------------------- - -class AlphaCheckResponse final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:AlphaCheckResponse) */ { - public: - inline AlphaCheckResponse() : AlphaCheckResponse(nullptr) {} - ~AlphaCheckResponse() override; - explicit constexpr AlphaCheckResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - AlphaCheckResponse(const AlphaCheckResponse& from); - AlphaCheckResponse(AlphaCheckResponse&& from) noexcept - : AlphaCheckResponse() { - *this = ::std::move(from); - } - - inline AlphaCheckResponse& operator=(const AlphaCheckResponse& from) { - CopyFrom(from); - return *this; - } - inline AlphaCheckResponse& operator=(AlphaCheckResponse&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const AlphaCheckResponse& default_instance() { - return *internal_default_instance(); - } - static inline const AlphaCheckResponse* internal_default_instance() { - return reinterpret_cast( - &_AlphaCheckResponse_default_instance_); - } - static constexpr int kIndexInFileMessages = - 8; - - friend void swap(AlphaCheckResponse& a, AlphaCheckResponse& b) { - a.Swap(&b); - } - inline void Swap(AlphaCheckResponse* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(AlphaCheckResponse* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline AlphaCheckResponse* New() const final { - return new AlphaCheckResponse(); - } - - AlphaCheckResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const AlphaCheckResponse& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const AlphaCheckResponse& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(AlphaCheckResponse* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "AlphaCheckResponse"; - } - protected: - explicit AlphaCheckResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kErrorFieldNumber = 1, - }; - // optional string error = 1; - bool has_error() const; - private: - bool _internal_has_error() const; - public: - void clear_error(); - const std::string& error() const; - template - void set_error(ArgT0&& arg0, ArgT... args); - std::string* mutable_error(); - PROTOBUF_MUST_USE_RESULT std::string* release_error(); - void set_allocated_error(std::string* error); - private: - const std::string& _internal_error() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_error(const std::string& value); - std::string* _internal_mutable_error(); - public: - - // @@protoc_insertion_point(class_scope:AlphaCheckResponse) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr error_; - friend struct ::TableStruct_alphasql_5fservice_2eproto; -}; -// =================================================================== - - -// =================================================================== - -#ifdef __GNUC__ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wstrict-aliasing" -#endif // __GNUC__ -// File - -// string name = 1; -inline void File::clear_name() { - name_.ClearToEmpty(); -} -inline const std::string& File::name() const { - // @@protoc_insertion_point(field_get:File.name) - return _internal_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void File::set_name(ArgT0&& arg0, ArgT... args) { - - name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:File.name) -} -inline std::string* File::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:File.name) - return _s; -} -inline const std::string& File::_internal_name() const { - return name_.Get(); -} -inline void File::_internal_set_name(const std::string& value) { - - name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* File::_internal_mutable_name() { - - return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* File::release_name() { - // @@protoc_insertion_point(field_release:File.name) - return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void File::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:File.name) -} - -// string content = 2; -inline void File::clear_content() { - content_.ClearToEmpty(); -} -inline const std::string& File::content() const { - // @@protoc_insertion_point(field_get:File.content) - return _internal_content(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void File::set_content(ArgT0&& arg0, ArgT... args) { - - content_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:File.content) -} -inline std::string* File::mutable_content() { - std::string* _s = _internal_mutable_content(); - // @@protoc_insertion_point(field_mutable:File.content) - return _s; -} -inline const std::string& File::_internal_content() const { - return content_.Get(); -} -inline void File::_internal_set_content(const std::string& value) { - - content_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* File::_internal_mutable_content() { - - return content_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* File::release_content() { - // @@protoc_insertion_point(field_release:File.content) - return content_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void File::set_allocated_content(std::string* content) { - if (content != nullptr) { - - } else { - - } - content_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), content, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:File.content) -} - -// ------------------------------------------------------------------- - -// AlphaDAGRequest - -// bool warning_as_error = 1; -inline void AlphaDAGRequest::clear_warning_as_error() { - warning_as_error_ = false; -} -inline bool AlphaDAGRequest::_internal_warning_as_error() const { - return warning_as_error_; -} -inline bool AlphaDAGRequest::warning_as_error() const { - // @@protoc_insertion_point(field_get:AlphaDAGRequest.warning_as_error) - return _internal_warning_as_error(); -} -inline void AlphaDAGRequest::_internal_set_warning_as_error(bool value) { - - warning_as_error_ = value; -} -inline void AlphaDAGRequest::set_warning_as_error(bool value) { - _internal_set_warning_as_error(value); - // @@protoc_insertion_point(field_set:AlphaDAGRequest.warning_as_error) -} - -// bool with_tables = 2; -inline void AlphaDAGRequest::clear_with_tables() { - with_tables_ = false; -} -inline bool AlphaDAGRequest::_internal_with_tables() const { - return with_tables_; -} -inline bool AlphaDAGRequest::with_tables() const { - // @@protoc_insertion_point(field_get:AlphaDAGRequest.with_tables) - return _internal_with_tables(); -} -inline void AlphaDAGRequest::_internal_set_with_tables(bool value) { - - with_tables_ = value; -} -inline void AlphaDAGRequest::set_with_tables(bool value) { - _internal_set_with_tables(value); - // @@protoc_insertion_point(field_set:AlphaDAGRequest.with_tables) -} - -// bool with_functions = 3; -inline void AlphaDAGRequest::clear_with_functions() { - with_functions_ = false; -} -inline bool AlphaDAGRequest::_internal_with_functions() const { - return with_functions_; -} -inline bool AlphaDAGRequest::with_functions() const { - // @@protoc_insertion_point(field_get:AlphaDAGRequest.with_functions) - return _internal_with_functions(); -} -inline void AlphaDAGRequest::_internal_set_with_functions(bool value) { - - with_functions_ = value; -} -inline void AlphaDAGRequest::set_with_functions(bool value) { - _internal_set_with_functions(value); - // @@protoc_insertion_point(field_set:AlphaDAGRequest.with_functions) -} - -// bool side_effect_first = 4; -inline void AlphaDAGRequest::clear_side_effect_first() { - side_effect_first_ = false; -} -inline bool AlphaDAGRequest::_internal_side_effect_first() const { - return side_effect_first_; -} -inline bool AlphaDAGRequest::side_effect_first() const { - // @@protoc_insertion_point(field_get:AlphaDAGRequest.side_effect_first) - return _internal_side_effect_first(); -} -inline void AlphaDAGRequest::_internal_set_side_effect_first(bool value) { - - side_effect_first_ = value; -} -inline void AlphaDAGRequest::set_side_effect_first(bool value) { - _internal_set_side_effect_first(value); - // @@protoc_insertion_point(field_set:AlphaDAGRequest.side_effect_first) -} - -// repeated .File files = 5; -inline int AlphaDAGRequest::_internal_files_size() const { - return files_.size(); -} -inline int AlphaDAGRequest::files_size() const { - return _internal_files_size(); -} -inline void AlphaDAGRequest::clear_files() { - files_.Clear(); -} -inline ::File* AlphaDAGRequest::mutable_files(int index) { - // @@protoc_insertion_point(field_mutable:AlphaDAGRequest.files) - return files_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File >* -AlphaDAGRequest::mutable_files() { - // @@protoc_insertion_point(field_mutable_list:AlphaDAGRequest.files) - return &files_; -} -inline const ::File& AlphaDAGRequest::_internal_files(int index) const { - return files_.Get(index); -} -inline const ::File& AlphaDAGRequest::files(int index) const { - // @@protoc_insertion_point(field_get:AlphaDAGRequest.files) - return _internal_files(index); -} -inline ::File* AlphaDAGRequest::_internal_add_files() { - return files_.Add(); -} -inline ::File* AlphaDAGRequest::add_files() { - ::File* _add = _internal_add_files(); - // @@protoc_insertion_point(field_add:AlphaDAGRequest.files) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File >& -AlphaDAGRequest::files() const { - // @@protoc_insertion_point(field_list:AlphaDAGRequest.files) - return files_; -} - -// ------------------------------------------------------------------- - -// AlphaDAGResponse - -// repeated string external_required_tables = 1; -inline int AlphaDAGResponse::_internal_external_required_tables_size() const { - return external_required_tables_.size(); -} -inline int AlphaDAGResponse::external_required_tables_size() const { - return _internal_external_required_tables_size(); -} -inline void AlphaDAGResponse::clear_external_required_tables() { - external_required_tables_.Clear(); -} -inline std::string* AlphaDAGResponse::add_external_required_tables() { - std::string* _s = _internal_add_external_required_tables(); - // @@protoc_insertion_point(field_add_mutable:AlphaDAGResponse.external_required_tables) - return _s; -} -inline const std::string& AlphaDAGResponse::_internal_external_required_tables(int index) const { - return external_required_tables_.Get(index); -} -inline const std::string& AlphaDAGResponse::external_required_tables(int index) const { - // @@protoc_insertion_point(field_get:AlphaDAGResponse.external_required_tables) - return _internal_external_required_tables(index); -} -inline std::string* AlphaDAGResponse::mutable_external_required_tables(int index) { - // @@protoc_insertion_point(field_mutable:AlphaDAGResponse.external_required_tables) - return external_required_tables_.Mutable(index); -} -inline void AlphaDAGResponse::set_external_required_tables(int index, const std::string& value) { - external_required_tables_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set:AlphaDAGResponse.external_required_tables) -} -inline void AlphaDAGResponse::set_external_required_tables(int index, std::string&& value) { - external_required_tables_.Mutable(index)->assign(std::move(value)); - // @@protoc_insertion_point(field_set:AlphaDAGResponse.external_required_tables) -} -inline void AlphaDAGResponse::set_external_required_tables(int index, const char* value) { - GOOGLE_DCHECK(value != nullptr); - external_required_tables_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set_char:AlphaDAGResponse.external_required_tables) -} -inline void AlphaDAGResponse::set_external_required_tables(int index, const char* value, size_t size) { - external_required_tables_.Mutable(index)->assign( - reinterpret_cast(value), size); - // @@protoc_insertion_point(field_set_pointer:AlphaDAGResponse.external_required_tables) -} -inline std::string* AlphaDAGResponse::_internal_add_external_required_tables() { - return external_required_tables_.Add(); -} -inline void AlphaDAGResponse::add_external_required_tables(const std::string& value) { - external_required_tables_.Add()->assign(value); - // @@protoc_insertion_point(field_add:AlphaDAGResponse.external_required_tables) -} -inline void AlphaDAGResponse::add_external_required_tables(std::string&& value) { - external_required_tables_.Add(std::move(value)); - // @@protoc_insertion_point(field_add:AlphaDAGResponse.external_required_tables) -} -inline void AlphaDAGResponse::add_external_required_tables(const char* value) { - GOOGLE_DCHECK(value != nullptr); - external_required_tables_.Add()->assign(value); - // @@protoc_insertion_point(field_add_char:AlphaDAGResponse.external_required_tables) -} -inline void AlphaDAGResponse::add_external_required_tables(const char* value, size_t size) { - external_required_tables_.Add()->assign(reinterpret_cast(value), size); - // @@protoc_insertion_point(field_add_pointer:AlphaDAGResponse.external_required_tables) -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& -AlphaDAGResponse::external_required_tables() const { - // @@protoc_insertion_point(field_list:AlphaDAGResponse.external_required_tables) - return external_required_tables_; -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* -AlphaDAGResponse::mutable_external_required_tables() { - // @@protoc_insertion_point(field_mutable_list:AlphaDAGResponse.external_required_tables) - return &external_required_tables_; -} - -// repeated string dag_dot_string = 2; -inline int AlphaDAGResponse::_internal_dag_dot_string_size() const { - return dag_dot_string_.size(); -} -inline int AlphaDAGResponse::dag_dot_string_size() const { - return _internal_dag_dot_string_size(); -} -inline void AlphaDAGResponse::clear_dag_dot_string() { - dag_dot_string_.Clear(); -} -inline std::string* AlphaDAGResponse::add_dag_dot_string() { - std::string* _s = _internal_add_dag_dot_string(); - // @@protoc_insertion_point(field_add_mutable:AlphaDAGResponse.dag_dot_string) - return _s; -} -inline const std::string& AlphaDAGResponse::_internal_dag_dot_string(int index) const { - return dag_dot_string_.Get(index); -} -inline const std::string& AlphaDAGResponse::dag_dot_string(int index) const { - // @@protoc_insertion_point(field_get:AlphaDAGResponse.dag_dot_string) - return _internal_dag_dot_string(index); -} -inline std::string* AlphaDAGResponse::mutable_dag_dot_string(int index) { - // @@protoc_insertion_point(field_mutable:AlphaDAGResponse.dag_dot_string) - return dag_dot_string_.Mutable(index); -} -inline void AlphaDAGResponse::set_dag_dot_string(int index, const std::string& value) { - dag_dot_string_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set:AlphaDAGResponse.dag_dot_string) -} -inline void AlphaDAGResponse::set_dag_dot_string(int index, std::string&& value) { - dag_dot_string_.Mutable(index)->assign(std::move(value)); - // @@protoc_insertion_point(field_set:AlphaDAGResponse.dag_dot_string) -} -inline void AlphaDAGResponse::set_dag_dot_string(int index, const char* value) { - GOOGLE_DCHECK(value != nullptr); - dag_dot_string_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set_char:AlphaDAGResponse.dag_dot_string) -} -inline void AlphaDAGResponse::set_dag_dot_string(int index, const char* value, size_t size) { - dag_dot_string_.Mutable(index)->assign( - reinterpret_cast(value), size); - // @@protoc_insertion_point(field_set_pointer:AlphaDAGResponse.dag_dot_string) -} -inline std::string* AlphaDAGResponse::_internal_add_dag_dot_string() { - return dag_dot_string_.Add(); -} -inline void AlphaDAGResponse::add_dag_dot_string(const std::string& value) { - dag_dot_string_.Add()->assign(value); - // @@protoc_insertion_point(field_add:AlphaDAGResponse.dag_dot_string) -} -inline void AlphaDAGResponse::add_dag_dot_string(std::string&& value) { - dag_dot_string_.Add(std::move(value)); - // @@protoc_insertion_point(field_add:AlphaDAGResponse.dag_dot_string) -} -inline void AlphaDAGResponse::add_dag_dot_string(const char* value) { - GOOGLE_DCHECK(value != nullptr); - dag_dot_string_.Add()->assign(value); - // @@protoc_insertion_point(field_add_char:AlphaDAGResponse.dag_dot_string) -} -inline void AlphaDAGResponse::add_dag_dot_string(const char* value, size_t size) { - dag_dot_string_.Add()->assign(reinterpret_cast(value), size); - // @@protoc_insertion_point(field_add_pointer:AlphaDAGResponse.dag_dot_string) -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& -AlphaDAGResponse::dag_dot_string() const { - // @@protoc_insertion_point(field_list:AlphaDAGResponse.dag_dot_string) - return dag_dot_string_; -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* -AlphaDAGResponse::mutable_dag_dot_string() { - // @@protoc_insertion_point(field_mutable_list:AlphaDAGResponse.dag_dot_string) - return &dag_dot_string_; -} - -// optional string error = 3; -inline bool AlphaDAGResponse::_internal_has_error() const { - bool value = (_has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AlphaDAGResponse::has_error() const { - return _internal_has_error(); -} -inline void AlphaDAGResponse::clear_error() { - error_.ClearToEmpty(); - _has_bits_[0] &= ~0x00000001u; -} -inline const std::string& AlphaDAGResponse::error() const { - // @@protoc_insertion_point(field_get:AlphaDAGResponse.error) - return _internal_error(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void AlphaDAGResponse::set_error(ArgT0&& arg0, ArgT... args) { - _has_bits_[0] |= 0x00000001u; - error_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:AlphaDAGResponse.error) -} -inline std::string* AlphaDAGResponse::mutable_error() { - std::string* _s = _internal_mutable_error(); - // @@protoc_insertion_point(field_mutable:AlphaDAGResponse.error) - return _s; -} -inline const std::string& AlphaDAGResponse::_internal_error() const { - return error_.Get(); -} -inline void AlphaDAGResponse::_internal_set_error(const std::string& value) { - _has_bits_[0] |= 0x00000001u; - error_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* AlphaDAGResponse::_internal_mutable_error() { - _has_bits_[0] |= 0x00000001u; - return error_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* AlphaDAGResponse::release_error() { - // @@protoc_insertion_point(field_release:AlphaDAGResponse.error) - if (!_internal_has_error()) { - return nullptr; - } - _has_bits_[0] &= ~0x00000001u; - return error_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void AlphaDAGResponse::set_allocated_error(std::string* error) { - if (error != nullptr) { - _has_bits_[0] |= 0x00000001u; - } else { - _has_bits_[0] &= ~0x00000001u; - } - error_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), error, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:AlphaDAGResponse.error) -} - -// ------------------------------------------------------------------- - -// Column - -// string name = 1; -inline void Column::clear_name() { - name_.ClearToEmpty(); -} -inline const std::string& Column::name() const { - // @@protoc_insertion_point(field_get:Column.name) - return _internal_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void Column::set_name(ArgT0&& arg0, ArgT... args) { - - name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:Column.name) -} -inline std::string* Column::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:Column.name) - return _s; -} -inline const std::string& Column::_internal_name() const { - return name_.Get(); -} -inline void Column::_internal_set_name(const std::string& value) { - - name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* Column::_internal_mutable_name() { - - return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* Column::release_name() { - // @@protoc_insertion_point(field_release:Column.name) - return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void Column::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:Column.name) -} - -// .SupportedType type = 2; -inline void Column::clear_type() { - type_ = 0; -} -inline ::SupportedType Column::_internal_type() const { - return static_cast< ::SupportedType >(type_); -} -inline ::SupportedType Column::type() const { - // @@protoc_insertion_point(field_get:Column.type) - return _internal_type(); -} -inline void Column::_internal_set_type(::SupportedType value) { - - type_ = value; -} -inline void Column::set_type(::SupportedType value) { - _internal_set_type(value); - // @@protoc_insertion_point(field_set:Column.type) -} - -// .Mode mode = 3; -inline void Column::clear_mode() { - mode_ = 0; -} -inline ::Mode Column::_internal_mode() const { - return static_cast< ::Mode >(mode_); -} -inline ::Mode Column::mode() const { - // @@protoc_insertion_point(field_get:Column.mode) - return _internal_mode(); -} -inline void Column::_internal_set_mode(::Mode value) { - - mode_ = value; -} -inline void Column::set_mode(::Mode value) { - _internal_set_mode(value); - // @@protoc_insertion_point(field_set:Column.mode) -} - -// repeated .Column fields = 4; -inline int Column::_internal_fields_size() const { - return fields_.size(); -} -inline int Column::fields_size() const { - return _internal_fields_size(); -} -inline void Column::clear_fields() { - fields_.Clear(); -} -inline ::Column* Column::mutable_fields(int index) { - // @@protoc_insertion_point(field_mutable:Column.fields) - return fields_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column >* -Column::mutable_fields() { - // @@protoc_insertion_point(field_mutable_list:Column.fields) - return &fields_; -} -inline const ::Column& Column::_internal_fields(int index) const { - return fields_.Get(index); -} -inline const ::Column& Column::fields(int index) const { - // @@protoc_insertion_point(field_get:Column.fields) - return _internal_fields(index); -} -inline ::Column* Column::_internal_add_fields() { - return fields_.Add(); -} -inline ::Column* Column::add_fields() { - ::Column* _add = _internal_add_fields(); - // @@protoc_insertion_point(field_add:Column.fields) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::Column >& -Column::fields() const { - // @@protoc_insertion_point(field_list:Column.fields) - return fields_; -} - -// ------------------------------------------------------------------- - -// ZetaSQLColumn - -// string name = 1; -inline void ZetaSQLColumn::clear_name() { - name_.ClearToEmpty(); -} -inline const std::string& ZetaSQLColumn::name() const { - // @@protoc_insertion_point(field_get:ZetaSQLColumn.name) - return _internal_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void ZetaSQLColumn::set_name(ArgT0&& arg0, ArgT... args) { - - name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:ZetaSQLColumn.name) -} -inline std::string* ZetaSQLColumn::mutable_name() { - std::string* _s = _internal_mutable_name(); - // @@protoc_insertion_point(field_mutable:ZetaSQLColumn.name) - return _s; -} -inline const std::string& ZetaSQLColumn::_internal_name() const { - return name_.Get(); -} -inline void ZetaSQLColumn::_internal_set_name(const std::string& value) { - - name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* ZetaSQLColumn::_internal_mutable_name() { - - return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* ZetaSQLColumn::release_name() { - // @@protoc_insertion_point(field_release:ZetaSQLColumn.name) - return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void ZetaSQLColumn::set_allocated_name(std::string* name) { - if (name != nullptr) { - - } else { - - } - name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:ZetaSQLColumn.name) -} - -// .zetasql.TypeProto zetasql_type = 2; -inline bool ZetaSQLColumn::_internal_has_zetasql_type() const { - return this != internal_default_instance() && zetasql_type_ != nullptr; -} -inline bool ZetaSQLColumn::has_zetasql_type() const { - return _internal_has_zetasql_type(); -} -inline const ::zetasql::TypeProto& ZetaSQLColumn::_internal_zetasql_type() const { - const ::zetasql::TypeProto* p = zetasql_type_; - return p != nullptr ? *p : reinterpret_cast( - ::zetasql::_TypeProto_default_instance_); -} -inline const ::zetasql::TypeProto& ZetaSQLColumn::zetasql_type() const { - // @@protoc_insertion_point(field_get:ZetaSQLColumn.zetasql_type) - return _internal_zetasql_type(); -} -inline void ZetaSQLColumn::unsafe_arena_set_allocated_zetasql_type( - ::zetasql::TypeProto* zetasql_type) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(zetasql_type_); - } - zetasql_type_ = zetasql_type; - if (zetasql_type) { - - } else { - - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ZetaSQLColumn.zetasql_type) -} -inline ::zetasql::TypeProto* ZetaSQLColumn::release_zetasql_type() { - - ::zetasql::TypeProto* temp = zetasql_type_; - zetasql_type_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::zetasql::TypeProto* ZetaSQLColumn::unsafe_arena_release_zetasql_type() { - // @@protoc_insertion_point(field_release:ZetaSQLColumn.zetasql_type) - - ::zetasql::TypeProto* temp = zetasql_type_; - zetasql_type_ = nullptr; - return temp; -} -inline ::zetasql::TypeProto* ZetaSQLColumn::_internal_mutable_zetasql_type() { - - if (zetasql_type_ == nullptr) { - auto* p = CreateMaybeMessage<::zetasql::TypeProto>(GetArenaForAllocation()); - zetasql_type_ = p; - } - return zetasql_type_; -} -inline ::zetasql::TypeProto* ZetaSQLColumn::mutable_zetasql_type() { - ::zetasql::TypeProto* _msg = _internal_mutable_zetasql_type(); - // @@protoc_insertion_point(field_mutable:ZetaSQLColumn.zetasql_type) - return _msg; -} -inline void ZetaSQLColumn::set_allocated_zetasql_type(::zetasql::TypeProto* zetasql_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(zetasql_type_); - } - if (zetasql_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper< - ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena( - reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(zetasql_type)); - if (message_arena != submessage_arena) { - zetasql_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, zetasql_type, submessage_arena); - } - - } else { - - } - zetasql_type_ = zetasql_type; - // @@protoc_insertion_point(field_set_allocated:ZetaSQLColumn.zetasql_type) -} - -// ------------------------------------------------------------------- - -// GenericColumn - -// .Column columns = 2; -inline bool GenericColumn::_internal_has_columns() const { - return column_case() == kColumns; -} -inline bool GenericColumn::has_columns() const { - return _internal_has_columns(); -} -inline void GenericColumn::set_has_columns() { - _oneof_case_[0] = kColumns; -} -inline void GenericColumn::clear_columns() { - if (_internal_has_columns()) { - if (GetArenaForAllocation() == nullptr) { - delete column_.columns_; - } - clear_has_column(); - } -} -inline ::Column* GenericColumn::release_columns() { - // @@protoc_insertion_point(field_release:GenericColumn.columns) - if (_internal_has_columns()) { - clear_has_column(); - ::Column* temp = column_.columns_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } - column_.columns_ = nullptr; - return temp; - } else { - return nullptr; - } -} -inline const ::Column& GenericColumn::_internal_columns() const { - return _internal_has_columns() - ? *column_.columns_ - : reinterpret_cast< ::Column&>(::_Column_default_instance_); -} -inline const ::Column& GenericColumn::columns() const { - // @@protoc_insertion_point(field_get:GenericColumn.columns) - return _internal_columns(); -} -inline ::Column* GenericColumn::unsafe_arena_release_columns() { - // @@protoc_insertion_point(field_unsafe_arena_release:GenericColumn.columns) - if (_internal_has_columns()) { - clear_has_column(); - ::Column* temp = column_.columns_; - column_.columns_ = nullptr; - return temp; - } else { - return nullptr; - } -} -inline void GenericColumn::unsafe_arena_set_allocated_columns(::Column* columns) { - clear_column(); - if (columns) { - set_has_columns(); - column_.columns_ = columns; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:GenericColumn.columns) -} -inline ::Column* GenericColumn::_internal_mutable_columns() { - if (!_internal_has_columns()) { - clear_column(); - set_has_columns(); - column_.columns_ = CreateMaybeMessage< ::Column >(GetArenaForAllocation()); - } - return column_.columns_; -} -inline ::Column* GenericColumn::mutable_columns() { - ::Column* _msg = _internal_mutable_columns(); - // @@protoc_insertion_point(field_mutable:GenericColumn.columns) - return _msg; -} - -// .ZetaSQLColumn zetasql_columns = 3; -inline bool GenericColumn::_internal_has_zetasql_columns() const { - return column_case() == kZetasqlColumns; -} -inline bool GenericColumn::has_zetasql_columns() const { - return _internal_has_zetasql_columns(); -} -inline void GenericColumn::set_has_zetasql_columns() { - _oneof_case_[0] = kZetasqlColumns; -} -inline void GenericColumn::clear_zetasql_columns() { - if (_internal_has_zetasql_columns()) { - if (GetArenaForAllocation() == nullptr) { - delete column_.zetasql_columns_; - } - clear_has_column(); - } -} -inline ::ZetaSQLColumn* GenericColumn::release_zetasql_columns() { - // @@protoc_insertion_point(field_release:GenericColumn.zetasql_columns) - if (_internal_has_zetasql_columns()) { - clear_has_column(); - ::ZetaSQLColumn* temp = column_.zetasql_columns_; - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } - column_.zetasql_columns_ = nullptr; - return temp; - } else { - return nullptr; - } -} -inline const ::ZetaSQLColumn& GenericColumn::_internal_zetasql_columns() const { - return _internal_has_zetasql_columns() - ? *column_.zetasql_columns_ - : reinterpret_cast< ::ZetaSQLColumn&>(::_ZetaSQLColumn_default_instance_); -} -inline const ::ZetaSQLColumn& GenericColumn::zetasql_columns() const { - // @@protoc_insertion_point(field_get:GenericColumn.zetasql_columns) - return _internal_zetasql_columns(); -} -inline ::ZetaSQLColumn* GenericColumn::unsafe_arena_release_zetasql_columns() { - // @@protoc_insertion_point(field_unsafe_arena_release:GenericColumn.zetasql_columns) - if (_internal_has_zetasql_columns()) { - clear_has_column(); - ::ZetaSQLColumn* temp = column_.zetasql_columns_; - column_.zetasql_columns_ = nullptr; - return temp; - } else { - return nullptr; - } -} -inline void GenericColumn::unsafe_arena_set_allocated_zetasql_columns(::ZetaSQLColumn* zetasql_columns) { - clear_column(); - if (zetasql_columns) { - set_has_zetasql_columns(); - column_.zetasql_columns_ = zetasql_columns; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:GenericColumn.zetasql_columns) -} -inline ::ZetaSQLColumn* GenericColumn::_internal_mutable_zetasql_columns() { - if (!_internal_has_zetasql_columns()) { - clear_column(); - set_has_zetasql_columns(); - column_.zetasql_columns_ = CreateMaybeMessage< ::ZetaSQLColumn >(GetArenaForAllocation()); - } - return column_.zetasql_columns_; -} -inline ::ZetaSQLColumn* GenericColumn::mutable_zetasql_columns() { - ::ZetaSQLColumn* _msg = _internal_mutable_zetasql_columns(); - // @@protoc_insertion_point(field_mutable:GenericColumn.zetasql_columns) - return _msg; -} - -inline bool GenericColumn::has_column() const { - return column_case() != COLUMN_NOT_SET; -} -inline void GenericColumn::clear_has_column() { - _oneof_case_[0] = COLUMN_NOT_SET; -} -inline GenericColumn::ColumnCase GenericColumn::column_case() const { - return GenericColumn::ColumnCase(_oneof_case_[0]); -} -// ------------------------------------------------------------------- - -// TableSchema - -// string table_name = 1; -inline void TableSchema::clear_table_name() { - table_name_.ClearToEmpty(); -} -inline const std::string& TableSchema::table_name() const { - // @@protoc_insertion_point(field_get:TableSchema.table_name) - return _internal_table_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void TableSchema::set_table_name(ArgT0&& arg0, ArgT... args) { - - table_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:TableSchema.table_name) -} -inline std::string* TableSchema::mutable_table_name() { - std::string* _s = _internal_mutable_table_name(); - // @@protoc_insertion_point(field_mutable:TableSchema.table_name) - return _s; -} -inline const std::string& TableSchema::_internal_table_name() const { - return table_name_.Get(); -} -inline void TableSchema::_internal_set_table_name(const std::string& value) { - - table_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* TableSchema::_internal_mutable_table_name() { - - return table_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* TableSchema::release_table_name() { - // @@protoc_insertion_point(field_release:TableSchema.table_name) - return table_name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void TableSchema::set_allocated_table_name(std::string* table_name) { - if (table_name != nullptr) { - - } else { - - } - table_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), table_name, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:TableSchema.table_name) -} - -// repeated .GenericColumn columns = 2; -inline int TableSchema::_internal_columns_size() const { - return columns_.size(); -} -inline int TableSchema::columns_size() const { - return _internal_columns_size(); -} -inline void TableSchema::clear_columns() { - columns_.Clear(); -} -inline ::GenericColumn* TableSchema::mutable_columns(int index) { - // @@protoc_insertion_point(field_mutable:TableSchema.columns) - return columns_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::GenericColumn >* -TableSchema::mutable_columns() { - // @@protoc_insertion_point(field_mutable_list:TableSchema.columns) - return &columns_; -} -inline const ::GenericColumn& TableSchema::_internal_columns(int index) const { - return columns_.Get(index); -} -inline const ::GenericColumn& TableSchema::columns(int index) const { - // @@protoc_insertion_point(field_get:TableSchema.columns) - return _internal_columns(index); -} -inline ::GenericColumn* TableSchema::_internal_add_columns() { - return columns_.Add(); -} -inline ::GenericColumn* TableSchema::add_columns() { - ::GenericColumn* _add = _internal_add_columns(); - // @@protoc_insertion_point(field_add:TableSchema.columns) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::GenericColumn >& -TableSchema::columns() const { - // @@protoc_insertion_point(field_list:TableSchema.columns) - return columns_; -} - -// ------------------------------------------------------------------- - -// AlphaCheckRequest - -// repeated .TableSchema external_required_tables_schema = 1; -inline int AlphaCheckRequest::_internal_external_required_tables_schema_size() const { - return external_required_tables_schema_.size(); -} -inline int AlphaCheckRequest::external_required_tables_schema_size() const { - return _internal_external_required_tables_schema_size(); -} -inline void AlphaCheckRequest::clear_external_required_tables_schema() { - external_required_tables_schema_.Clear(); -} -inline ::TableSchema* AlphaCheckRequest::mutable_external_required_tables_schema(int index) { - // @@protoc_insertion_point(field_mutable:AlphaCheckRequest.external_required_tables_schema) - return external_required_tables_schema_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::TableSchema >* -AlphaCheckRequest::mutable_external_required_tables_schema() { - // @@protoc_insertion_point(field_mutable_list:AlphaCheckRequest.external_required_tables_schema) - return &external_required_tables_schema_; -} -inline const ::TableSchema& AlphaCheckRequest::_internal_external_required_tables_schema(int index) const { - return external_required_tables_schema_.Get(index); -} -inline const ::TableSchema& AlphaCheckRequest::external_required_tables_schema(int index) const { - // @@protoc_insertion_point(field_get:AlphaCheckRequest.external_required_tables_schema) - return _internal_external_required_tables_schema(index); -} -inline ::TableSchema* AlphaCheckRequest::_internal_add_external_required_tables_schema() { - return external_required_tables_schema_.Add(); -} -inline ::TableSchema* AlphaCheckRequest::add_external_required_tables_schema() { - ::TableSchema* _add = _internal_add_external_required_tables_schema(); - // @@protoc_insertion_point(field_add:AlphaCheckRequest.external_required_tables_schema) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::TableSchema >& -AlphaCheckRequest::external_required_tables_schema() const { - // @@protoc_insertion_point(field_list:AlphaCheckRequest.external_required_tables_schema) - return external_required_tables_schema_; -} - -// string dag_dot_string = 2; -inline void AlphaCheckRequest::clear_dag_dot_string() { - dag_dot_string_.ClearToEmpty(); -} -inline const std::string& AlphaCheckRequest::dag_dot_string() const { - // @@protoc_insertion_point(field_get:AlphaCheckRequest.dag_dot_string) - return _internal_dag_dot_string(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void AlphaCheckRequest::set_dag_dot_string(ArgT0&& arg0, ArgT... args) { - - dag_dot_string_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:AlphaCheckRequest.dag_dot_string) -} -inline std::string* AlphaCheckRequest::mutable_dag_dot_string() { - std::string* _s = _internal_mutable_dag_dot_string(); - // @@protoc_insertion_point(field_mutable:AlphaCheckRequest.dag_dot_string) - return _s; -} -inline const std::string& AlphaCheckRequest::_internal_dag_dot_string() const { - return dag_dot_string_.Get(); -} -inline void AlphaCheckRequest::_internal_set_dag_dot_string(const std::string& value) { - - dag_dot_string_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* AlphaCheckRequest::_internal_mutable_dag_dot_string() { - - return dag_dot_string_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* AlphaCheckRequest::release_dag_dot_string() { - // @@protoc_insertion_point(field_release:AlphaCheckRequest.dag_dot_string) - return dag_dot_string_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void AlphaCheckRequest::set_allocated_dag_dot_string(std::string* dag_dot_string) { - if (dag_dot_string != nullptr) { - - } else { - - } - dag_dot_string_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), dag_dot_string, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:AlphaCheckRequest.dag_dot_string) -} - -// repeated .File files = 3; -inline int AlphaCheckRequest::_internal_files_size() const { - return files_.size(); -} -inline int AlphaCheckRequest::files_size() const { - return _internal_files_size(); -} -inline void AlphaCheckRequest::clear_files() { - files_.Clear(); -} -inline ::File* AlphaCheckRequest::mutable_files(int index) { - // @@protoc_insertion_point(field_mutable:AlphaCheckRequest.files) - return files_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File >* -AlphaCheckRequest::mutable_files() { - // @@protoc_insertion_point(field_mutable_list:AlphaCheckRequest.files) - return &files_; -} -inline const ::File& AlphaCheckRequest::_internal_files(int index) const { - return files_.Get(index); -} -inline const ::File& AlphaCheckRequest::files(int index) const { - // @@protoc_insertion_point(field_get:AlphaCheckRequest.files) - return _internal_files(index); -} -inline ::File* AlphaCheckRequest::_internal_add_files() { - return files_.Add(); -} -inline ::File* AlphaCheckRequest::add_files() { - ::File* _add = _internal_add_files(); - // @@protoc_insertion_point(field_add:AlphaCheckRequest.files) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::File >& -AlphaCheckRequest::files() const { - // @@protoc_insertion_point(field_list:AlphaCheckRequest.files) - return files_; -} - -// ------------------------------------------------------------------- - -// AlphaCheckResponse - -// optional string error = 1; -inline bool AlphaCheckResponse::_internal_has_error() const { - bool value = (_has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool AlphaCheckResponse::has_error() const { - return _internal_has_error(); -} -inline void AlphaCheckResponse::clear_error() { - error_.ClearToEmpty(); - _has_bits_[0] &= ~0x00000001u; -} -inline const std::string& AlphaCheckResponse::error() const { - // @@protoc_insertion_point(field_get:AlphaCheckResponse.error) - return _internal_error(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void AlphaCheckResponse::set_error(ArgT0&& arg0, ArgT... args) { - _has_bits_[0] |= 0x00000001u; - error_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:AlphaCheckResponse.error) -} -inline std::string* AlphaCheckResponse::mutable_error() { - std::string* _s = _internal_mutable_error(); - // @@protoc_insertion_point(field_mutable:AlphaCheckResponse.error) - return _s; -} -inline const std::string& AlphaCheckResponse::_internal_error() const { - return error_.Get(); -} -inline void AlphaCheckResponse::_internal_set_error(const std::string& value) { - _has_bits_[0] |= 0x00000001u; - error_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* AlphaCheckResponse::_internal_mutable_error() { - _has_bits_[0] |= 0x00000001u; - return error_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* AlphaCheckResponse::release_error() { - // @@protoc_insertion_point(field_release:AlphaCheckResponse.error) - if (!_internal_has_error()) { - return nullptr; - } - _has_bits_[0] &= ~0x00000001u; - return error_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void AlphaCheckResponse::set_allocated_error(std::string* error) { - if (error != nullptr) { - _has_bits_[0] |= 0x00000001u; - } else { - _has_bits_[0] &= ~0x00000001u; - } - error_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), error, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:AlphaCheckResponse.error) -} - -#ifdef __GNUC__ - #pragma GCC diagnostic pop -#endif // __GNUC__ -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - - -// @@protoc_insertion_point(namespace_scope) - - -PROTOBUF_NAMESPACE_OPEN - -template <> struct is_proto_enum< ::SupportedType> : ::std::true_type {}; -template <> -inline const EnumDescriptor* GetEnumDescriptor< ::SupportedType>() { - return ::SupportedType_descriptor(); -} -template <> struct is_proto_enum< ::Mode> : ::std::true_type {}; -template <> -inline const EnumDescriptor* GetEnumDescriptor< ::Mode>() { - return ::Mode_descriptor(); -} - -PROTOBUF_NAMESPACE_CLOSE - -// @@protoc_insertion_point(global_scope) - -#include -#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_alphasql_5fservice_2eproto diff --git a/proto/alphasql_service.proto b/alphasql/proto/alphasql_service.proto similarity index 67% rename from proto/alphasql_service.proto rename to alphasql/proto/alphasql_service.proto index f4996297..63016993 100644 --- a/proto/alphasql_service.proto +++ b/alphasql/proto/alphasql_service.proto @@ -1,17 +1,15 @@ -syntax = "proto3"; - -import "type.proto"; +syntax = "proto2"; message File { - string name = 1; - string content = 2; + required string name = 1; + required string content = 2; } message AlphaDAGRequest { - bool warning_as_error = 1; - bool with_tables = 2; - bool with_functions = 3; - bool side_effect_first = 4; + required bool warning_as_error = 1; + required bool with_tables = 2; + required bool with_functions = 3; + required bool side_effect_first = 4; repeated File files = 5; } @@ -48,36 +46,23 @@ enum Mode { /* import "google/protobuf/any.proto"; */ message Column { - string name = 1; - SupportedType type = 2; - Mode mode = 3; + required string name = 1; + required SupportedType type = 2; + required Mode mode = 3; // For record types repeated Column fields = 4; /* optional string description = 6; */ /* optional google.protobuf.Any policyTags = 7; */ } -message ZetaSQLColumn { - string name = 1; - zetasql.TypeProto zetasql_type = 2; -} - -message GenericColumn { - oneof column { - Column columns = 2; - ZetaSQLColumn zetasql_columns = 3; - } -} - - message TableSchema { - string table_name = 1; - repeated GenericColumn columns = 2; + required string table_name = 1; + repeated Column columns = 2; } message AlphaCheckRequest { repeated TableSchema external_required_tables_schema = 1; - string dag_dot_string = 2; + required string dag_dot_string = 2; repeated File files = 3; } diff --git a/alphasql/proto/type.pb.cc b/alphasql/proto/type.pb.cc deleted file mode 100644 index 866b00d1..00000000 --- a/alphasql/proto/type.pb.cc +++ /dev/null @@ -1,2108 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: type.proto - -#include "type.pb.h" - -#include - -#include -#include -#include -#include -#include -#include -#include -// @@protoc_insertion_point(includes) -#include - -PROTOBUF_PRAGMA_INIT_SEG -namespace zetasql { -constexpr TypeProto::TypeProto( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : file_descriptor_set_() - , array_type_(nullptr) - , struct_type_(nullptr) - , proto_type_(nullptr) - , enum_type_(nullptr) - , type_kind_(-1) -{} -struct TypeProtoDefaultTypeInternal { - constexpr TypeProtoDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~TypeProtoDefaultTypeInternal() {} - union { - TypeProto _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT TypeProtoDefaultTypeInternal _TypeProto_default_instance_; -constexpr ArrayTypeProto::ArrayTypeProto( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : element_type_(nullptr){} -struct ArrayTypeProtoDefaultTypeInternal { - constexpr ArrayTypeProtoDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~ArrayTypeProtoDefaultTypeInternal() {} - union { - ArrayTypeProto _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ArrayTypeProtoDefaultTypeInternal _ArrayTypeProto_default_instance_; -constexpr StructFieldProto::StructFieldProto( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : field_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) - , field_type_(nullptr){} -struct StructFieldProtoDefaultTypeInternal { - constexpr StructFieldProtoDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~StructFieldProtoDefaultTypeInternal() {} - union { - StructFieldProto _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT StructFieldProtoDefaultTypeInternal _StructFieldProto_default_instance_; -constexpr StructTypeProto::StructTypeProto( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : field_(){} -struct StructTypeProtoDefaultTypeInternal { - constexpr StructTypeProtoDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~StructTypeProtoDefaultTypeInternal() {} - union { - StructTypeProto _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT StructTypeProtoDefaultTypeInternal _StructTypeProto_default_instance_; -constexpr ProtoTypeProto::ProtoTypeProto( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : catalog_name_path_() - , proto_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) - , proto_file_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) - , file_descriptor_set_index_(0){} -struct ProtoTypeProtoDefaultTypeInternal { - constexpr ProtoTypeProtoDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~ProtoTypeProtoDefaultTypeInternal() {} - union { - ProtoTypeProto _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT ProtoTypeProtoDefaultTypeInternal _ProtoTypeProto_default_instance_; -constexpr EnumTypeProto::EnumTypeProto( - ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized) - : catalog_name_path_() - , enum_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) - , enum_file_name_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string) - , file_descriptor_set_index_(0){} -struct EnumTypeProtoDefaultTypeInternal { - constexpr EnumTypeProtoDefaultTypeInternal() - : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {} - ~EnumTypeProtoDefaultTypeInternal() {} - union { - EnumTypeProto _instance; - }; -}; -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT EnumTypeProtoDefaultTypeInternal _EnumTypeProto_default_instance_; -} // namespace zetasql -static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_type_2eproto[6]; -static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_type_2eproto[1]; -static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_type_2eproto = nullptr; - -const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_type_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { - PROTOBUF_FIELD_OFFSET(::zetasql::TypeProto, _has_bits_), - PROTOBUF_FIELD_OFFSET(::zetasql::TypeProto, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::zetasql::TypeProto, type_kind_), - PROTOBUF_FIELD_OFFSET(::zetasql::TypeProto, array_type_), - PROTOBUF_FIELD_OFFSET(::zetasql::TypeProto, struct_type_), - PROTOBUF_FIELD_OFFSET(::zetasql::TypeProto, proto_type_), - PROTOBUF_FIELD_OFFSET(::zetasql::TypeProto, enum_type_), - PROTOBUF_FIELD_OFFSET(::zetasql::TypeProto, file_descriptor_set_), - 4, - 0, - 1, - 2, - 3, - ~0u, - PROTOBUF_FIELD_OFFSET(::zetasql::ArrayTypeProto, _has_bits_), - PROTOBUF_FIELD_OFFSET(::zetasql::ArrayTypeProto, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::zetasql::ArrayTypeProto, element_type_), - 0, - PROTOBUF_FIELD_OFFSET(::zetasql::StructFieldProto, _has_bits_), - PROTOBUF_FIELD_OFFSET(::zetasql::StructFieldProto, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::zetasql::StructFieldProto, field_name_), - PROTOBUF_FIELD_OFFSET(::zetasql::StructFieldProto, field_type_), - 0, - 1, - ~0u, // no _has_bits_ - PROTOBUF_FIELD_OFFSET(::zetasql::StructTypeProto, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::zetasql::StructTypeProto, field_), - PROTOBUF_FIELD_OFFSET(::zetasql::ProtoTypeProto, _has_bits_), - PROTOBUF_FIELD_OFFSET(::zetasql::ProtoTypeProto, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::zetasql::ProtoTypeProto, proto_name_), - PROTOBUF_FIELD_OFFSET(::zetasql::ProtoTypeProto, proto_file_name_), - PROTOBUF_FIELD_OFFSET(::zetasql::ProtoTypeProto, file_descriptor_set_index_), - PROTOBUF_FIELD_OFFSET(::zetasql::ProtoTypeProto, catalog_name_path_), - 0, - 1, - 2, - ~0u, - PROTOBUF_FIELD_OFFSET(::zetasql::EnumTypeProto, _has_bits_), - PROTOBUF_FIELD_OFFSET(::zetasql::EnumTypeProto, _internal_metadata_), - ~0u, // no _extensions_ - ~0u, // no _oneof_case_ - ~0u, // no _weak_field_map_ - PROTOBUF_FIELD_OFFSET(::zetasql::EnumTypeProto, enum_name_), - PROTOBUF_FIELD_OFFSET(::zetasql::EnumTypeProto, enum_file_name_), - PROTOBUF_FIELD_OFFSET(::zetasql::EnumTypeProto, file_descriptor_set_index_), - PROTOBUF_FIELD_OFFSET(::zetasql::EnumTypeProto, catalog_name_path_), - 0, - 1, - 2, - ~0u, -}; -static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { - { 0, 11, sizeof(::zetasql::TypeProto)}, - { 17, 23, sizeof(::zetasql::ArrayTypeProto)}, - { 24, 31, sizeof(::zetasql::StructFieldProto)}, - { 33, -1, sizeof(::zetasql::StructTypeProto)}, - { 39, 48, sizeof(::zetasql::ProtoTypeProto)}, - { 52, 61, sizeof(::zetasql::EnumTypeProto)}, -}; - -static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = { - reinterpret_cast(&::zetasql::_TypeProto_default_instance_), - reinterpret_cast(&::zetasql::_ArrayTypeProto_default_instance_), - reinterpret_cast(&::zetasql::_StructFieldProto_default_instance_), - reinterpret_cast(&::zetasql::_StructTypeProto_default_instance_), - reinterpret_cast(&::zetasql::_ProtoTypeProto_default_instance_), - reinterpret_cast(&::zetasql::_EnumTypeProto_default_instance_), -}; - -const char descriptor_table_protodef_type_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = - "\n\ntype.proto\022\007zetasql\032 google/protobuf/d" - "escriptor.proto\"\246\002\n\tTypeProto\022$\n\ttype_ki" - "nd\030\001 \001(\0162\021.zetasql.TypeKind\022+\n\narray_typ" - "e\030\002 \001(\0132\027.zetasql.ArrayTypeProto\022-\n\013stru" - "ct_type\030\003 \001(\0132\030.zetasql.StructTypeProto\022" - "+\n\nproto_type\030\004 \001(\0132\027.zetasql.ProtoTypeP" - "roto\022)\n\tenum_type\030\005 \001(\0132\026.zetasql.EnumTy" - "peProto\022\?\n\023file_descriptor_set\030\006 \003(\0132\".g" - "oogle.protobuf.FileDescriptorSet\":\n\016Arra" - "yTypeProto\022(\n\014element_type\030\001 \001(\0132\022.zetas" - "ql.TypeProto\"N\n\020StructFieldProto\022\022\n\nfiel" - "d_name\030\001 \001(\t\022&\n\nfield_type\030\002 \001(\0132\022.zetas" - "ql.TypeProto\";\n\017StructTypeProto\022(\n\005field" - "\030\001 \003(\0132\031.zetasql.StructFieldProto\"~\n\016Pro" - "toTypeProto\022\022\n\nproto_name\030\001 \001(\t\022\027\n\017proto" - "_file_name\030\002 \001(\t\022$\n\031file_descriptor_set_" - "index\030\003 \001(\005:\0010\022\031\n\021catalog_name_path\030\004 \003(" - "\t\"{\n\rEnumTypeProto\022\021\n\tenum_name\030\001 \001(\t\022\026\n" - "\016enum_file_name\030\002 \001(\t\022$\n\031file_descriptor" - "_set_index\030\003 \001(\005:\0010\022\031\n\021catalog_name_path" - "\030\004 \003(\t*\357\003\n\010TypeKind\0225\n(__TypeKind__switc" - "h_must_have_a_default__\020\377\377\377\377\377\377\377\377\377\001\022\020\n\014TY" - "PE_UNKNOWN\020\000\022\016\n\nTYPE_INT32\020\001\022\016\n\nTYPE_INT" - "64\020\002\022\017\n\013TYPE_UINT32\020\003\022\017\n\013TYPE_UINT64\020\004\022\r" - "\n\tTYPE_BOOL\020\005\022\016\n\nTYPE_FLOAT\020\006\022\017\n\013TYPE_DO" - "UBLE\020\007\022\017\n\013TYPE_STRING\020\010\022\016\n\nTYPE_BYTES\020\t\022" - "\r\n\tTYPE_DATE\020\n\022\022\n\016TYPE_TIMESTAMP\020\023\022\r\n\tTY" - "PE_ENUM\020\017\022\016\n\nTYPE_ARRAY\020\020\022\017\n\013TYPE_STRUCT" - "\020\021\022\016\n\nTYPE_PROTO\020\022\022\r\n\tTYPE_TIME\020\024\022\021\n\rTYP" - "E_DATETIME\020\025\022\022\n\016TYPE_GEOGRAPHY\020\026\022\020\n\014TYPE" - "_NUMERIC\020\027\022\023\n\017TYPE_BIGNUMERIC\020\030\022\021\n\rTYPE_" - "EXTENDED\020\031\022\r\n\tTYPE_JSON\020\032\022\021\n\rTYPE_INTERV" - "AL\020\033\022\022\n\016TYPE_TOKENLIST\020\034B$\n\022com.google.z" - "etasqlB\013ZetaSQLType\370\001\001" - ; -static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_type_2eproto_deps[1] = { - &::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto, -}; -static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_type_2eproto_once; -const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_type_2eproto = { - false, false, 1342, descriptor_table_protodef_type_2eproto, "type.proto", - &descriptor_table_type_2eproto_once, descriptor_table_type_2eproto_deps, 1, 6, - schemas, file_default_instances, TableStruct_type_2eproto::offsets, - file_level_metadata_type_2eproto, file_level_enum_descriptors_type_2eproto, file_level_service_descriptors_type_2eproto, -}; -PROTOBUF_ATTRIBUTE_WEAK const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable* descriptor_table_type_2eproto_getter() { - return &descriptor_table_type_2eproto; -} - -// Force running AddDescriptors() at dynamic initialization time. -PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_type_2eproto(&descriptor_table_type_2eproto); -namespace zetasql { -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* TypeKind_descriptor() { - ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_type_2eproto); - return file_level_enum_descriptors_type_2eproto[0]; -} -bool TypeKind_IsValid(int value) { - switch (value) { - case -1: - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 15: - case 16: - case 17: - case 18: - case 19: - case 20: - case 21: - case 22: - case 23: - case 24: - case 25: - case 26: - case 27: - case 28: - return true; - default: - return false; - } -} - - -// =================================================================== - -class TypeProto::_Internal { - public: - using HasBits = decltype(std::declval()._has_bits_); - static void set_has_type_kind(HasBits* has_bits) { - (*has_bits)[0] |= 16u; - } - static const ::zetasql::ArrayTypeProto& array_type(const TypeProto* msg); - static void set_has_array_type(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static const ::zetasql::StructTypeProto& struct_type(const TypeProto* msg); - static void set_has_struct_type(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } - static const ::zetasql::ProtoTypeProto& proto_type(const TypeProto* msg); - static void set_has_proto_type(HasBits* has_bits) { - (*has_bits)[0] |= 4u; - } - static const ::zetasql::EnumTypeProto& enum_type(const TypeProto* msg); - static void set_has_enum_type(HasBits* has_bits) { - (*has_bits)[0] |= 8u; - } -}; - -const ::zetasql::ArrayTypeProto& -TypeProto::_Internal::array_type(const TypeProto* msg) { - return *msg->array_type_; -} -const ::zetasql::StructTypeProto& -TypeProto::_Internal::struct_type(const TypeProto* msg) { - return *msg->struct_type_; -} -const ::zetasql::ProtoTypeProto& -TypeProto::_Internal::proto_type(const TypeProto* msg) { - return *msg->proto_type_; -} -const ::zetasql::EnumTypeProto& -TypeProto::_Internal::enum_type(const TypeProto* msg) { - return *msg->enum_type_; -} -void TypeProto::clear_file_descriptor_set() { - file_descriptor_set_.Clear(); -} -TypeProto::TypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - file_descriptor_set_(arena) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:zetasql.TypeProto) -} -TypeProto::TypeProto(const TypeProto& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - _has_bits_(from._has_bits_), - file_descriptor_set_(from.file_descriptor_set_) { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_array_type()) { - array_type_ = new ::zetasql::ArrayTypeProto(*from.array_type_); - } else { - array_type_ = nullptr; - } - if (from._internal_has_struct_type()) { - struct_type_ = new ::zetasql::StructTypeProto(*from.struct_type_); - } else { - struct_type_ = nullptr; - } - if (from._internal_has_proto_type()) { - proto_type_ = new ::zetasql::ProtoTypeProto(*from.proto_type_); - } else { - proto_type_ = nullptr; - } - if (from._internal_has_enum_type()) { - enum_type_ = new ::zetasql::EnumTypeProto(*from.enum_type_); - } else { - enum_type_ = nullptr; - } - type_kind_ = from.type_kind_; - // @@protoc_insertion_point(copy_constructor:zetasql.TypeProto) -} - -inline void TypeProto::SharedCtor() { -::memset(reinterpret_cast(this) + static_cast( - reinterpret_cast(&array_type_) - reinterpret_cast(this)), - 0, static_cast(reinterpret_cast(&enum_type_) - - reinterpret_cast(&array_type_)) + sizeof(enum_type_)); -type_kind_ = -1; -} - -TypeProto::~TypeProto() { - // @@protoc_insertion_point(destructor:zetasql.TypeProto) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void TypeProto::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete array_type_; - if (this != internal_default_instance()) delete struct_type_; - if (this != internal_default_instance()) delete proto_type_; - if (this != internal_default_instance()) delete enum_type_; -} - -void TypeProto::ArenaDtor(void* object) { - TypeProto* _this = reinterpret_cast< TypeProto* >(object); - (void)_this; -} -void TypeProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void TypeProto::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void TypeProto::Clear() { -// @@protoc_insertion_point(message_clear_start:zetasql.TypeProto) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - file_descriptor_set_.Clear(); - cached_has_bits = _has_bits_[0]; - if (cached_has_bits & 0x0000001fu) { - if (cached_has_bits & 0x00000001u) { - GOOGLE_DCHECK(array_type_ != nullptr); - array_type_->Clear(); - } - if (cached_has_bits & 0x00000002u) { - GOOGLE_DCHECK(struct_type_ != nullptr); - struct_type_->Clear(); - } - if (cached_has_bits & 0x00000004u) { - GOOGLE_DCHECK(proto_type_ != nullptr); - proto_type_->Clear(); - } - if (cached_has_bits & 0x00000008u) { - GOOGLE_DCHECK(enum_type_ != nullptr); - enum_type_->Clear(); - } - type_kind_ = -1; - } - _has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* TypeProto::_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 .zetasql.TypeKind type_kind = 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(::zetasql::TypeKind_IsValid(val))) { - _internal_set_type_kind(static_cast<::zetasql::TypeKind>(val)); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::WriteVarint(1, val, mutable_unknown_fields()); - } - } else goto handle_unusual; - continue; - // optional .zetasql.ArrayTypeProto array_type = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_array_type(), ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - // optional .zetasql.StructTypeProto struct_type = 3; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) { - ptr = ctx->ParseMessage(_internal_mutable_struct_type(), ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - // optional .zetasql.ProtoTypeProto proto_type = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { - ptr = ctx->ParseMessage(_internal_mutable_proto_type(), ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - // optional .zetasql.EnumTypeProto enum_type = 5; - case 5: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) { - ptr = ctx->ParseMessage(_internal_mutable_enum_type(), ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - // repeated .google.protobuf.FileDescriptorSet file_descriptor_set = 6; - case 6: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) { - ptr -= 1; - do { - ptr += 1; - ptr = ctx->ParseMessage(_internal_add_file_descriptor_set(), ptr); - CHK_(ptr); - if (!ctx->DataAvailable(ptr)) break; - } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<50>(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* TypeProto::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:zetasql.TypeProto) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _has_bits_[0]; - // optional .zetasql.TypeKind type_kind = 1; - if (cached_has_bits & 0x00000010u) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray( - 1, this->_internal_type_kind(), target); - } - - // optional .zetasql.ArrayTypeProto array_type = 2; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 2, _Internal::array_type(this), target, stream); - } - - // optional .zetasql.StructTypeProto struct_type = 3; - if (cached_has_bits & 0x00000002u) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 3, _Internal::struct_type(this), target, stream); - } - - // optional .zetasql.ProtoTypeProto proto_type = 4; - if (cached_has_bits & 0x00000004u) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 4, _Internal::proto_type(this), target, stream); - } - - // optional .zetasql.EnumTypeProto enum_type = 5; - if (cached_has_bits & 0x00000008u) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 5, _Internal::enum_type(this), target, stream); - } - - // repeated .google.protobuf.FileDescriptorSet file_descriptor_set = 6; - for (unsigned int i = 0, - n = static_cast(this->_internal_file_descriptor_set_size()); i < n; i++) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(6, this->_internal_file_descriptor_set(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:zetasql.TypeProto) - return target; -} - -size_t TypeProto::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:zetasql.TypeProto) - 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 .google.protobuf.FileDescriptorSet file_descriptor_set = 6; - total_size += 1UL * this->_internal_file_descriptor_set_size(); - for (const auto& msg : this->file_descriptor_set_) { - total_size += - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg); - } - - cached_has_bits = _has_bits_[0]; - if (cached_has_bits & 0x0000001fu) { - // optional .zetasql.ArrayTypeProto array_type = 2; - if (cached_has_bits & 0x00000001u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *array_type_); - } - - // optional .zetasql.StructTypeProto struct_type = 3; - if (cached_has_bits & 0x00000002u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *struct_type_); - } - - // optional .zetasql.ProtoTypeProto proto_type = 4; - if (cached_has_bits & 0x00000004u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *proto_type_); - } - - // optional .zetasql.EnumTypeProto enum_type = 5; - if (cached_has_bits & 0x00000008u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *enum_type_); - } - - // optional .zetasql.TypeKind type_kind = 1; - if (cached_has_bits & 0x00000010u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_type_kind()); - } - - } - 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; -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData TypeProto::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - TypeProto::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*TypeProto::GetClassData() const { return &_class_data_; } - -void TypeProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, - const ::PROTOBUF_NAMESPACE_ID::Message&from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void TypeProto::MergeFrom(const TypeProto& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:zetasql.TypeProto) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - file_descriptor_set_.MergeFrom(from.file_descriptor_set_); - cached_has_bits = from._has_bits_[0]; - if (cached_has_bits & 0x0000001fu) { - if (cached_has_bits & 0x00000001u) { - _internal_mutable_array_type()->::zetasql::ArrayTypeProto::MergeFrom(from._internal_array_type()); - } - if (cached_has_bits & 0x00000002u) { - _internal_mutable_struct_type()->::zetasql::StructTypeProto::MergeFrom(from._internal_struct_type()); - } - if (cached_has_bits & 0x00000004u) { - _internal_mutable_proto_type()->::zetasql::ProtoTypeProto::MergeFrom(from._internal_proto_type()); - } - if (cached_has_bits & 0x00000008u) { - _internal_mutable_enum_type()->::zetasql::EnumTypeProto::MergeFrom(from._internal_enum_type()); - } - if (cached_has_bits & 0x00000010u) { - type_kind_ = from.type_kind_; - } - _has_bits_[0] |= cached_has_bits; - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void TypeProto::CopyFrom(const TypeProto& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:zetasql.TypeProto) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool TypeProto::IsInitialized() const { - if (!::PROTOBUF_NAMESPACE_ID::internal::AllAreInitialized(file_descriptor_set_)) return false; - if (_internal_has_array_type()) { - if (!array_type_->IsInitialized()) return false; - } - if (_internal_has_struct_type()) { - if (!struct_type_->IsInitialized()) return false; - } - return true; -} - -void TypeProto::InternalSwap(TypeProto* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_has_bits_[0], other->_has_bits_[0]); - file_descriptor_set_.InternalSwap(&other->file_descriptor_set_); - ::PROTOBUF_NAMESPACE_ID::internal::memswap< - PROTOBUF_FIELD_OFFSET(TypeProto, enum_type_) - + sizeof(TypeProto::enum_type_) - - PROTOBUF_FIELD_OFFSET(TypeProto, array_type_)>( - reinterpret_cast(&array_type_), - reinterpret_cast(&other->array_type_)); - swap(type_kind_, other->type_kind_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata TypeProto::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_type_2eproto_getter, &descriptor_table_type_2eproto_once, - file_level_metadata_type_2eproto[0]); -} - -// =================================================================== - -class ArrayTypeProto::_Internal { - public: - using HasBits = decltype(std::declval()._has_bits_); - static const ::zetasql::TypeProto& element_type(const ArrayTypeProto* msg); - static void set_has_element_type(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } -}; - -const ::zetasql::TypeProto& -ArrayTypeProto::_Internal::element_type(const ArrayTypeProto* msg) { - return *msg->element_type_; -} -ArrayTypeProto::ArrayTypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:zetasql.ArrayTypeProto) -} -ArrayTypeProto::ArrayTypeProto(const ArrayTypeProto& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - _has_bits_(from._has_bits_) { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - if (from._internal_has_element_type()) { - element_type_ = new ::zetasql::TypeProto(*from.element_type_); - } else { - element_type_ = nullptr; - } - // @@protoc_insertion_point(copy_constructor:zetasql.ArrayTypeProto) -} - -inline void ArrayTypeProto::SharedCtor() { -element_type_ = nullptr; -} - -ArrayTypeProto::~ArrayTypeProto() { - // @@protoc_insertion_point(destructor:zetasql.ArrayTypeProto) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void ArrayTypeProto::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - if (this != internal_default_instance()) delete element_type_; -} - -void ArrayTypeProto::ArenaDtor(void* object) { - ArrayTypeProto* _this = reinterpret_cast< ArrayTypeProto* >(object); - (void)_this; -} -void ArrayTypeProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void ArrayTypeProto::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void ArrayTypeProto::Clear() { -// @@protoc_insertion_point(message_clear_start:zetasql.ArrayTypeProto) - ::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(element_type_ != nullptr); - element_type_->Clear(); - } - _has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* ArrayTypeProto::_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 .zetasql.TypeProto element_type = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { - ptr = ctx->ParseMessage(_internal_mutable_element_type(), 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* ArrayTypeProto::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:zetasql.ArrayTypeProto) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _has_bits_[0]; - // optional .zetasql.TypeProto element_type = 1; - if (cached_has_bits & 0x00000001u) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 1, _Internal::element_type(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:zetasql.ArrayTypeProto) - return target; -} - -size_t ArrayTypeProto::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:zetasql.ArrayTypeProto) - 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 .zetasql.TypeProto element_type = 1; - cached_has_bits = _has_bits_[0]; - if (cached_has_bits & 0x00000001u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *element_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; -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ArrayTypeProto::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - ArrayTypeProto::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ArrayTypeProto::GetClassData() const { return &_class_data_; } - -void ArrayTypeProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, - const ::PROTOBUF_NAMESPACE_ID::Message&from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void ArrayTypeProto::MergeFrom(const ArrayTypeProto& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:zetasql.ArrayTypeProto) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - if (from._internal_has_element_type()) { - _internal_mutable_element_type()->::zetasql::TypeProto::MergeFrom(from._internal_element_type()); - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void ArrayTypeProto::CopyFrom(const ArrayTypeProto& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:zetasql.ArrayTypeProto) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool ArrayTypeProto::IsInitialized() const { - if (_internal_has_element_type()) { - if (!element_type_->IsInitialized()) return false; - } - return true; -} - -void ArrayTypeProto::InternalSwap(ArrayTypeProto* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_has_bits_[0], other->_has_bits_[0]); - swap(element_type_, other->element_type_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata ArrayTypeProto::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_type_2eproto_getter, &descriptor_table_type_2eproto_once, - file_level_metadata_type_2eproto[1]); -} - -// =================================================================== - -class StructFieldProto::_Internal { - public: - using HasBits = decltype(std::declval()._has_bits_); - static void set_has_field_name(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static const ::zetasql::TypeProto& field_type(const StructFieldProto* msg); - static void set_has_field_type(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } -}; - -const ::zetasql::TypeProto& -StructFieldProto::_Internal::field_type(const StructFieldProto* msg) { - return *msg->field_type_; -} -StructFieldProto::StructFieldProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:zetasql.StructFieldProto) -} -StructFieldProto::StructFieldProto(const StructFieldProto& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - _has_bits_(from._has_bits_) { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - field_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (from._internal_has_field_name()) { - field_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_field_name(), - GetArenaForAllocation()); - } - if (from._internal_has_field_type()) { - field_type_ = new ::zetasql::TypeProto(*from.field_type_); - } else { - field_type_ = nullptr; - } - // @@protoc_insertion_point(copy_constructor:zetasql.StructFieldProto) -} - -inline void StructFieldProto::SharedCtor() { -field_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -field_type_ = nullptr; -} - -StructFieldProto::~StructFieldProto() { - // @@protoc_insertion_point(destructor:zetasql.StructFieldProto) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void StructFieldProto::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - field_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (this != internal_default_instance()) delete field_type_; -} - -void StructFieldProto::ArenaDtor(void* object) { - StructFieldProto* _this = reinterpret_cast< StructFieldProto* >(object); - (void)_this; -} -void StructFieldProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void StructFieldProto::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void StructFieldProto::Clear() { -// @@protoc_insertion_point(message_clear_start:zetasql.StructFieldProto) - ::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) { - field_name_.ClearNonDefaultToEmpty(); - } - if (cached_has_bits & 0x00000002u) { - GOOGLE_DCHECK(field_type_ != nullptr); - field_type_->Clear(); - } - } - _has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* StructFieldProto::_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 field_name = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { - auto str = _internal_mutable_field_name(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - #ifndef NDEBUG - ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "zetasql.StructFieldProto.field_name"); - #endif // !NDEBUG - CHK_(ptr); - } else goto handle_unusual; - continue; - // optional .zetasql.TypeProto field_type = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - ptr = ctx->ParseMessage(_internal_mutable_field_type(), 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* StructFieldProto::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:zetasql.StructFieldProto) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _has_bits_[0]; - // optional string field_name = 1; - if (cached_has_bits & 0x00000001u) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField( - this->_internal_field_name().data(), static_cast(this->_internal_field_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE, - "zetasql.StructFieldProto.field_name"); - target = stream->WriteStringMaybeAliased( - 1, this->_internal_field_name(), target); - } - - // optional .zetasql.TypeProto field_type = 2; - if (cached_has_bits & 0x00000002u) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage( - 2, _Internal::field_type(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:zetasql.StructFieldProto) - return target; -} - -size_t StructFieldProto::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:zetasql.StructFieldProto) - 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 field_name = 1; - if (cached_has_bits & 0x00000001u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_field_name()); - } - - // optional .zetasql.TypeProto field_type = 2; - if (cached_has_bits & 0x00000002u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize( - *field_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; -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData StructFieldProto::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - StructFieldProto::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*StructFieldProto::GetClassData() const { return &_class_data_; } - -void StructFieldProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, - const ::PROTOBUF_NAMESPACE_ID::Message&from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void StructFieldProto::MergeFrom(const StructFieldProto& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:zetasql.StructFieldProto) - GOOGLE_DCHECK_NE(&from, this); - ::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_field_name(from._internal_field_name()); - } - if (cached_has_bits & 0x00000002u) { - _internal_mutable_field_type()->::zetasql::TypeProto::MergeFrom(from._internal_field_type()); - } - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void StructFieldProto::CopyFrom(const StructFieldProto& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:zetasql.StructFieldProto) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool StructFieldProto::IsInitialized() const { - if (_internal_has_field_type()) { - if (!field_type_->IsInitialized()) return false; - } - return true; -} - -void StructFieldProto::InternalSwap(StructFieldProto* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_has_bits_[0], other->_has_bits_[0]); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &field_name_, GetArenaForAllocation(), - &other->field_name_, other->GetArenaForAllocation() - ); - swap(field_type_, other->field_type_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata StructFieldProto::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_type_2eproto_getter, &descriptor_table_type_2eproto_once, - file_level_metadata_type_2eproto[2]); -} - -// =================================================================== - -class StructTypeProto::_Internal { - public: -}; - -StructTypeProto::StructTypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - field_(arena) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:zetasql.StructTypeProto) -} -StructTypeProto::StructTypeProto(const StructTypeProto& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - field_(from.field_) { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - // @@protoc_insertion_point(copy_constructor:zetasql.StructTypeProto) -} - -inline void StructTypeProto::SharedCtor() { -} - -StructTypeProto::~StructTypeProto() { - // @@protoc_insertion_point(destructor:zetasql.StructTypeProto) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void StructTypeProto::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); -} - -void StructTypeProto::ArenaDtor(void* object) { - StructTypeProto* _this = reinterpret_cast< StructTypeProto* >(object); - (void)_this; -} -void StructTypeProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void StructTypeProto::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void StructTypeProto::Clear() { -// @@protoc_insertion_point(message_clear_start:zetasql.StructTypeProto) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - field_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* StructTypeProto::_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 .zetasql.StructFieldProto field = 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_field(), 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* StructTypeProto::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:zetasql.StructTypeProto) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - // repeated .zetasql.StructFieldProto field = 1; - for (unsigned int i = 0, - n = static_cast(this->_internal_field_size()); i < n; i++) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite:: - InternalWriteMessage(1, this->_internal_field(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:zetasql.StructTypeProto) - return target; -} - -size_t StructTypeProto::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:zetasql.StructTypeProto) - 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 .zetasql.StructFieldProto field = 1; - total_size += 1UL * this->_internal_field_size(); - for (const auto& msg : this->field_) { - 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; -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData StructTypeProto::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - StructTypeProto::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*StructTypeProto::GetClassData() const { return &_class_data_; } - -void StructTypeProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, - const ::PROTOBUF_NAMESPACE_ID::Message&from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void StructTypeProto::MergeFrom(const StructTypeProto& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:zetasql.StructTypeProto) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - field_.MergeFrom(from.field_); - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void StructTypeProto::CopyFrom(const StructTypeProto& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:zetasql.StructTypeProto) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool StructTypeProto::IsInitialized() const { - if (!::PROTOBUF_NAMESPACE_ID::internal::AllAreInitialized(field_)) return false; - return true; -} - -void StructTypeProto::InternalSwap(StructTypeProto* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - field_.InternalSwap(&other->field_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata StructTypeProto::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_type_2eproto_getter, &descriptor_table_type_2eproto_once, - file_level_metadata_type_2eproto[3]); -} - -// =================================================================== - -class ProtoTypeProto::_Internal { - public: - using HasBits = decltype(std::declval()._has_bits_); - static void set_has_proto_name(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static void set_has_proto_file_name(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } - static void set_has_file_descriptor_set_index(HasBits* has_bits) { - (*has_bits)[0] |= 4u; - } -}; - -ProtoTypeProto::ProtoTypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - catalog_name_path_(arena) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:zetasql.ProtoTypeProto) -} -ProtoTypeProto::ProtoTypeProto(const ProtoTypeProto& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - _has_bits_(from._has_bits_), - catalog_name_path_(from.catalog_name_path_) { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - proto_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (from._internal_has_proto_name()) { - proto_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_proto_name(), - GetArenaForAllocation()); - } - proto_file_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (from._internal_has_proto_file_name()) { - proto_file_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_proto_file_name(), - GetArenaForAllocation()); - } - file_descriptor_set_index_ = from.file_descriptor_set_index_; - // @@protoc_insertion_point(copy_constructor:zetasql.ProtoTypeProto) -} - -inline void ProtoTypeProto::SharedCtor() { -proto_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -proto_file_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -file_descriptor_set_index_ = 0; -} - -ProtoTypeProto::~ProtoTypeProto() { - // @@protoc_insertion_point(destructor:zetasql.ProtoTypeProto) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void ProtoTypeProto::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - proto_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - proto_file_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -void ProtoTypeProto::ArenaDtor(void* object) { - ProtoTypeProto* _this = reinterpret_cast< ProtoTypeProto* >(object); - (void)_this; -} -void ProtoTypeProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void ProtoTypeProto::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void ProtoTypeProto::Clear() { -// @@protoc_insertion_point(message_clear_start:zetasql.ProtoTypeProto) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - catalog_name_path_.Clear(); - cached_has_bits = _has_bits_[0]; - if (cached_has_bits & 0x00000003u) { - if (cached_has_bits & 0x00000001u) { - proto_name_.ClearNonDefaultToEmpty(); - } - if (cached_has_bits & 0x00000002u) { - proto_file_name_.ClearNonDefaultToEmpty(); - } - } - file_descriptor_set_index_ = 0; - _has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* ProtoTypeProto::_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 proto_name = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { - auto str = _internal_mutable_proto_name(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - #ifndef NDEBUG - ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "zetasql.ProtoTypeProto.proto_name"); - #endif // !NDEBUG - CHK_(ptr); - } else goto handle_unusual; - continue; - // optional string proto_file_name = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - auto str = _internal_mutable_proto_file_name(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - #ifndef NDEBUG - ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "zetasql.ProtoTypeProto.proto_file_name"); - #endif // !NDEBUG - CHK_(ptr); - } else goto handle_unusual; - continue; - // optional int32 file_descriptor_set_index = 3 [default = 0]; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { - _Internal::set_has_file_descriptor_set_index(&has_bits); - file_descriptor_set_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - // repeated string catalog_name_path = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { - ptr -= 1; - do { - ptr += 1; - auto str = _internal_add_catalog_name_path(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - #ifndef NDEBUG - ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "zetasql.ProtoTypeProto.catalog_name_path"); - #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* ProtoTypeProto::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:zetasql.ProtoTypeProto) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _has_bits_[0]; - // optional string proto_name = 1; - if (cached_has_bits & 0x00000001u) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField( - this->_internal_proto_name().data(), static_cast(this->_internal_proto_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE, - "zetasql.ProtoTypeProto.proto_name"); - target = stream->WriteStringMaybeAliased( - 1, this->_internal_proto_name(), target); - } - - // optional string proto_file_name = 2; - if (cached_has_bits & 0x00000002u) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField( - this->_internal_proto_file_name().data(), static_cast(this->_internal_proto_file_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE, - "zetasql.ProtoTypeProto.proto_file_name"); - target = stream->WriteStringMaybeAliased( - 2, this->_internal_proto_file_name(), target); - } - - // optional int32 file_descriptor_set_index = 3 [default = 0]; - if (cached_has_bits & 0x00000004u) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_file_descriptor_set_index(), target); - } - - // repeated string catalog_name_path = 4; - for (int i = 0, n = this->_internal_catalog_name_path_size(); i < n; i++) { - const auto& s = this->_internal_catalog_name_path(i); - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField( - s.data(), static_cast(s.length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE, - "zetasql.ProtoTypeProto.catalog_name_path"); - 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:zetasql.ProtoTypeProto) - return target; -} - -size_t ProtoTypeProto::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:zetasql.ProtoTypeProto) - 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 catalog_name_path = 4; - total_size += 1 * - ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(catalog_name_path_.size()); - for (int i = 0, n = catalog_name_path_.size(); i < n; i++) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - catalog_name_path_.Get(i)); - } - - cached_has_bits = _has_bits_[0]; - if (cached_has_bits & 0x00000007u) { - // optional string proto_name = 1; - if (cached_has_bits & 0x00000001u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_proto_name()); - } - - // optional string proto_file_name = 2; - if (cached_has_bits & 0x00000002u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_proto_file_name()); - } - - // optional int32 file_descriptor_set_index = 3 [default = 0]; - if (cached_has_bits & 0x00000004u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( - this->_internal_file_descriptor_set_index()); - } - - } - 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; -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ProtoTypeProto::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - ProtoTypeProto::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ProtoTypeProto::GetClassData() const { return &_class_data_; } - -void ProtoTypeProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, - const ::PROTOBUF_NAMESPACE_ID::Message&from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void ProtoTypeProto::MergeFrom(const ProtoTypeProto& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:zetasql.ProtoTypeProto) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - catalog_name_path_.MergeFrom(from.catalog_name_path_); - cached_has_bits = from._has_bits_[0]; - if (cached_has_bits & 0x00000007u) { - if (cached_has_bits & 0x00000001u) { - _internal_set_proto_name(from._internal_proto_name()); - } - if (cached_has_bits & 0x00000002u) { - _internal_set_proto_file_name(from._internal_proto_file_name()); - } - if (cached_has_bits & 0x00000004u) { - file_descriptor_set_index_ = from.file_descriptor_set_index_; - } - _has_bits_[0] |= cached_has_bits; - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void ProtoTypeProto::CopyFrom(const ProtoTypeProto& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:zetasql.ProtoTypeProto) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool ProtoTypeProto::IsInitialized() const { - return true; -} - -void ProtoTypeProto::InternalSwap(ProtoTypeProto* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_has_bits_[0], other->_has_bits_[0]); - catalog_name_path_.InternalSwap(&other->catalog_name_path_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &proto_name_, GetArenaForAllocation(), - &other->proto_name_, other->GetArenaForAllocation() - ); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &proto_file_name_, GetArenaForAllocation(), - &other->proto_file_name_, other->GetArenaForAllocation() - ); - swap(file_descriptor_set_index_, other->file_descriptor_set_index_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata ProtoTypeProto::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_type_2eproto_getter, &descriptor_table_type_2eproto_once, - file_level_metadata_type_2eproto[4]); -} - -// =================================================================== - -class EnumTypeProto::_Internal { - public: - using HasBits = decltype(std::declval()._has_bits_); - static void set_has_enum_name(HasBits* has_bits) { - (*has_bits)[0] |= 1u; - } - static void set_has_enum_file_name(HasBits* has_bits) { - (*has_bits)[0] |= 2u; - } - static void set_has_file_descriptor_set_index(HasBits* has_bits) { - (*has_bits)[0] |= 4u; - } -}; - -EnumTypeProto::EnumTypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned) - : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned), - catalog_name_path_(arena) { - SharedCtor(); - if (!is_message_owned) { - RegisterArenaDtor(arena); - } - // @@protoc_insertion_point(arena_constructor:zetasql.EnumTypeProto) -} -EnumTypeProto::EnumTypeProto(const EnumTypeProto& from) - : ::PROTOBUF_NAMESPACE_ID::Message(), - _has_bits_(from._has_bits_), - catalog_name_path_(from.catalog_name_path_) { - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); - enum_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (from._internal_has_enum_name()) { - enum_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_enum_name(), - GetArenaForAllocation()); - } - enum_file_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - if (from._internal_has_enum_file_name()) { - enum_file_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_enum_file_name(), - GetArenaForAllocation()); - } - file_descriptor_set_index_ = from.file_descriptor_set_index_; - // @@protoc_insertion_point(copy_constructor:zetasql.EnumTypeProto) -} - -inline void EnumTypeProto::SharedCtor() { -enum_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -enum_file_name_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -file_descriptor_set_index_ = 0; -} - -EnumTypeProto::~EnumTypeProto() { - // @@protoc_insertion_point(destructor:zetasql.EnumTypeProto) - if (GetArenaForAllocation() != nullptr) return; - SharedDtor(); - _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -inline void EnumTypeProto::SharedDtor() { - GOOGLE_DCHECK(GetArenaForAllocation() == nullptr); - enum_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); - enum_file_name_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited()); -} - -void EnumTypeProto::ArenaDtor(void* object) { - EnumTypeProto* _this = reinterpret_cast< EnumTypeProto* >(object); - (void)_this; -} -void EnumTypeProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) { -} -void EnumTypeProto::SetCachedSize(int size) const { - _cached_size_.Set(size); -} - -void EnumTypeProto::Clear() { -// @@protoc_insertion_point(message_clear_start:zetasql.EnumTypeProto) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - // Prevent compiler warnings about cached_has_bits being unused - (void) cached_has_bits; - - catalog_name_path_.Clear(); - cached_has_bits = _has_bits_[0]; - if (cached_has_bits & 0x00000003u) { - if (cached_has_bits & 0x00000001u) { - enum_name_.ClearNonDefaultToEmpty(); - } - if (cached_has_bits & 0x00000002u) { - enum_file_name_.ClearNonDefaultToEmpty(); - } - } - file_descriptor_set_index_ = 0; - _has_bits_.Clear(); - _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); -} - -const char* EnumTypeProto::_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 enum_name = 1; - case 1: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) { - auto str = _internal_mutable_enum_name(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - #ifndef NDEBUG - ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "zetasql.EnumTypeProto.enum_name"); - #endif // !NDEBUG - CHK_(ptr); - } else goto handle_unusual; - continue; - // optional string enum_file_name = 2; - case 2: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) { - auto str = _internal_mutable_enum_file_name(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - #ifndef NDEBUG - ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "zetasql.EnumTypeProto.enum_file_name"); - #endif // !NDEBUG - CHK_(ptr); - } else goto handle_unusual; - continue; - // optional int32 file_descriptor_set_index = 3 [default = 0]; - case 3: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) { - _Internal::set_has_file_descriptor_set_index(&has_bits); - file_descriptor_set_index_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr); - CHK_(ptr); - } else goto handle_unusual; - continue; - // repeated string catalog_name_path = 4; - case 4: - if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) { - ptr -= 1; - do { - ptr += 1; - auto str = _internal_add_catalog_name_path(); - ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx); - #ifndef NDEBUG - ::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "zetasql.EnumTypeProto.catalog_name_path"); - #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* EnumTypeProto::_InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const { - // @@protoc_insertion_point(serialize_to_array_start:zetasql.EnumTypeProto) - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - cached_has_bits = _has_bits_[0]; - // optional string enum_name = 1; - if (cached_has_bits & 0x00000001u) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField( - this->_internal_enum_name().data(), static_cast(this->_internal_enum_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE, - "zetasql.EnumTypeProto.enum_name"); - target = stream->WriteStringMaybeAliased( - 1, this->_internal_enum_name(), target); - } - - // optional string enum_file_name = 2; - if (cached_has_bits & 0x00000002u) { - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField( - this->_internal_enum_file_name().data(), static_cast(this->_internal_enum_file_name().length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE, - "zetasql.EnumTypeProto.enum_file_name"); - target = stream->WriteStringMaybeAliased( - 2, this->_internal_enum_file_name(), target); - } - - // optional int32 file_descriptor_set_index = 3 [default = 0]; - if (cached_has_bits & 0x00000004u) { - target = stream->EnsureSpace(target); - target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(3, this->_internal_file_descriptor_set_index(), target); - } - - // repeated string catalog_name_path = 4; - for (int i = 0, n = this->_internal_catalog_name_path_size(); i < n; i++) { - const auto& s = this->_internal_catalog_name_path(i); - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::VerifyUTF8StringNamedField( - s.data(), static_cast(s.length()), - ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::SERIALIZE, - "zetasql.EnumTypeProto.catalog_name_path"); - 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:zetasql.EnumTypeProto) - return target; -} - -size_t EnumTypeProto::ByteSizeLong() const { -// @@protoc_insertion_point(message_byte_size_start:zetasql.EnumTypeProto) - 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 catalog_name_path = 4; - total_size += 1 * - ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(catalog_name_path_.size()); - for (int i = 0, n = catalog_name_path_.size(); i < n; i++) { - total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - catalog_name_path_.Get(i)); - } - - cached_has_bits = _has_bits_[0]; - if (cached_has_bits & 0x00000007u) { - // optional string enum_name = 1; - if (cached_has_bits & 0x00000001u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_enum_name()); - } - - // optional string enum_file_name = 2; - if (cached_has_bits & 0x00000002u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize( - this->_internal_enum_file_name()); - } - - // optional int32 file_descriptor_set_index = 3 [default = 0]; - if (cached_has_bits & 0x00000004u) { - total_size += 1 + - ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size( - this->_internal_file_descriptor_set_index()); - } - - } - 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; -} - -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData EnumTypeProto::_class_data_ = { - ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck, - EnumTypeProto::MergeImpl -}; -const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*EnumTypeProto::GetClassData() const { return &_class_data_; } - -void EnumTypeProto::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, - const ::PROTOBUF_NAMESPACE_ID::Message&from) { - static_cast(to)->MergeFrom( - static_cast(from)); -} - - -void EnumTypeProto::MergeFrom(const EnumTypeProto& from) { -// @@protoc_insertion_point(class_specific_merge_from_start:zetasql.EnumTypeProto) - GOOGLE_DCHECK_NE(&from, this); - ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0; - (void) cached_has_bits; - - catalog_name_path_.MergeFrom(from.catalog_name_path_); - cached_has_bits = from._has_bits_[0]; - if (cached_has_bits & 0x00000007u) { - if (cached_has_bits & 0x00000001u) { - _internal_set_enum_name(from._internal_enum_name()); - } - if (cached_has_bits & 0x00000002u) { - _internal_set_enum_file_name(from._internal_enum_file_name()); - } - if (cached_has_bits & 0x00000004u) { - file_descriptor_set_index_ = from.file_descriptor_set_index_; - } - _has_bits_[0] |= cached_has_bits; - } - _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_); -} - -void EnumTypeProto::CopyFrom(const EnumTypeProto& from) { -// @@protoc_insertion_point(class_specific_copy_from_start:zetasql.EnumTypeProto) - if (&from == this) return; - Clear(); - MergeFrom(from); -} - -bool EnumTypeProto::IsInitialized() const { - return true; -} - -void EnumTypeProto::InternalSwap(EnumTypeProto* other) { - using std::swap; - _internal_metadata_.InternalSwap(&other->_internal_metadata_); - swap(_has_bits_[0], other->_has_bits_[0]); - catalog_name_path_.InternalSwap(&other->catalog_name_path_); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &enum_name_, GetArenaForAllocation(), - &other->enum_name_, other->GetArenaForAllocation() - ); - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap( - &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), - &enum_file_name_, GetArenaForAllocation(), - &other->enum_file_name_, other->GetArenaForAllocation() - ); - swap(file_descriptor_set_index_, other->file_descriptor_set_index_); -} - -::PROTOBUF_NAMESPACE_ID::Metadata EnumTypeProto::GetMetadata() const { - return ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors( - &descriptor_table_type_2eproto_getter, &descriptor_table_type_2eproto_once, - file_level_metadata_type_2eproto[5]); -} - -// @@protoc_insertion_point(namespace_scope) -} // namespace zetasql -PROTOBUF_NAMESPACE_OPEN -template<> PROTOBUF_NOINLINE ::zetasql::TypeProto* Arena::CreateMaybeMessage< ::zetasql::TypeProto >(Arena* arena) { - return Arena::CreateMessageInternal< ::zetasql::TypeProto >(arena); -} -template<> PROTOBUF_NOINLINE ::zetasql::ArrayTypeProto* Arena::CreateMaybeMessage< ::zetasql::ArrayTypeProto >(Arena* arena) { - return Arena::CreateMessageInternal< ::zetasql::ArrayTypeProto >(arena); -} -template<> PROTOBUF_NOINLINE ::zetasql::StructFieldProto* Arena::CreateMaybeMessage< ::zetasql::StructFieldProto >(Arena* arena) { - return Arena::CreateMessageInternal< ::zetasql::StructFieldProto >(arena); -} -template<> PROTOBUF_NOINLINE ::zetasql::StructTypeProto* Arena::CreateMaybeMessage< ::zetasql::StructTypeProto >(Arena* arena) { - return Arena::CreateMessageInternal< ::zetasql::StructTypeProto >(arena); -} -template<> PROTOBUF_NOINLINE ::zetasql::ProtoTypeProto* Arena::CreateMaybeMessage< ::zetasql::ProtoTypeProto >(Arena* arena) { - return Arena::CreateMessageInternal< ::zetasql::ProtoTypeProto >(arena); -} -template<> PROTOBUF_NOINLINE ::zetasql::EnumTypeProto* Arena::CreateMaybeMessage< ::zetasql::EnumTypeProto >(Arena* arena) { - return Arena::CreateMessageInternal< ::zetasql::EnumTypeProto >(arena); -} -PROTOBUF_NAMESPACE_CLOSE - -// @@protoc_insertion_point(global_scope) -#include diff --git a/alphasql/proto/type.pb.h b/alphasql/proto/type.pb.h deleted file mode 100644 index ca75622f..00000000 --- a/alphasql/proto/type.pb.h +++ /dev/null @@ -1,2511 +0,0 @@ -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: type.proto - -#ifndef GOOGLE_PROTOBUF_INCLUDED_type_2eproto -#define GOOGLE_PROTOBUF_INCLUDED_type_2eproto - -#include -#include - -#include -#if PROTOBUF_VERSION < 3017000 -#error This file was generated by a newer version of protoc which is -#error incompatible with your Protocol Buffer headers. Please update -#error your headers. -#endif -#if 3017003 < PROTOBUF_MIN_PROTOC_VERSION -#error This file was generated by an older version of protoc which is -#error incompatible with your Protocol Buffer headers. Please -#error regenerate this file with a newer version of protoc. -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include // IWYU pragma: export -#include // IWYU pragma: export -#include -#include -#include -// @@protoc_insertion_point(includes) -#include -#define PROTOBUF_INTERNAL_EXPORT_type_2eproto -PROTOBUF_NAMESPACE_OPEN -namespace internal { -class AnyMetadata; -} // namespace internal -PROTOBUF_NAMESPACE_CLOSE - -// Internal implementation detail -- do not use these members. -struct TableStruct_type_2eproto { - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[] - PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[] - PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[6] - PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[]; - static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[]; - static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[]; -}; -extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_type_2eproto; -namespace zetasql { -class ArrayTypeProto; -struct ArrayTypeProtoDefaultTypeInternal; -extern ArrayTypeProtoDefaultTypeInternal _ArrayTypeProto_default_instance_; -class EnumTypeProto; -struct EnumTypeProtoDefaultTypeInternal; -extern EnumTypeProtoDefaultTypeInternal _EnumTypeProto_default_instance_; -class ProtoTypeProto; -struct ProtoTypeProtoDefaultTypeInternal; -extern ProtoTypeProtoDefaultTypeInternal _ProtoTypeProto_default_instance_; -class StructFieldProto; -struct StructFieldProtoDefaultTypeInternal; -extern StructFieldProtoDefaultTypeInternal _StructFieldProto_default_instance_; -class StructTypeProto; -struct StructTypeProtoDefaultTypeInternal; -extern StructTypeProtoDefaultTypeInternal _StructTypeProto_default_instance_; -class TypeProto; -struct TypeProtoDefaultTypeInternal; -extern TypeProtoDefaultTypeInternal _TypeProto_default_instance_; -} // namespace zetasql -PROTOBUF_NAMESPACE_OPEN -template<> ::zetasql::ArrayTypeProto* Arena::CreateMaybeMessage<::zetasql::ArrayTypeProto>(Arena*); -template<> ::zetasql::EnumTypeProto* Arena::CreateMaybeMessage<::zetasql::EnumTypeProto>(Arena*); -template<> ::zetasql::ProtoTypeProto* Arena::CreateMaybeMessage<::zetasql::ProtoTypeProto>(Arena*); -template<> ::zetasql::StructFieldProto* Arena::CreateMaybeMessage<::zetasql::StructFieldProto>(Arena*); -template<> ::zetasql::StructTypeProto* Arena::CreateMaybeMessage<::zetasql::StructTypeProto>(Arena*); -template<> ::zetasql::TypeProto* Arena::CreateMaybeMessage<::zetasql::TypeProto>(Arena*); -PROTOBUF_NAMESPACE_CLOSE -namespace zetasql { - -enum TypeKind : int { - __TypeKind__switch_must_have_a_default__ = -1, - TYPE_UNKNOWN = 0, - TYPE_INT32 = 1, - TYPE_INT64 = 2, - TYPE_UINT32 = 3, - TYPE_UINT64 = 4, - TYPE_BOOL = 5, - TYPE_FLOAT = 6, - TYPE_DOUBLE = 7, - TYPE_STRING = 8, - TYPE_BYTES = 9, - TYPE_DATE = 10, - TYPE_TIMESTAMP = 19, - TYPE_ENUM = 15, - TYPE_ARRAY = 16, - TYPE_STRUCT = 17, - TYPE_PROTO = 18, - TYPE_TIME = 20, - TYPE_DATETIME = 21, - TYPE_GEOGRAPHY = 22, - TYPE_NUMERIC = 23, - TYPE_BIGNUMERIC = 24, - TYPE_EXTENDED = 25, - TYPE_JSON = 26, - TYPE_INTERVAL = 27, - TYPE_TOKENLIST = 28 -}; -bool TypeKind_IsValid(int value); -constexpr TypeKind TypeKind_MIN = __TypeKind__switch_must_have_a_default__; -constexpr TypeKind TypeKind_MAX = TYPE_TOKENLIST; -constexpr int TypeKind_ARRAYSIZE = TypeKind_MAX + 1; - -const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* TypeKind_descriptor(); -template -inline const std::string& TypeKind_Name(T enum_t_value) { - static_assert(::std::is_same::value || - ::std::is_integral::value, - "Incorrect type passed to function TypeKind_Name."); - return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum( - TypeKind_descriptor(), enum_t_value); -} -inline bool TypeKind_Parse( - ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, TypeKind* value) { - return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum( - TypeKind_descriptor(), name, value); -} -// =================================================================== - -class TypeProto final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:zetasql.TypeProto) */ { - public: - inline TypeProto() : TypeProto(nullptr) {} - ~TypeProto() override; - explicit constexpr TypeProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - TypeProto(const TypeProto& from); - TypeProto(TypeProto&& from) noexcept - : TypeProto() { - *this = ::std::move(from); - } - - inline TypeProto& operator=(const TypeProto& from) { - CopyFrom(from); - return *this; - } - inline TypeProto& operator=(TypeProto&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const TypeProto& default_instance() { - return *internal_default_instance(); - } - static inline const TypeProto* internal_default_instance() { - return reinterpret_cast( - &_TypeProto_default_instance_); - } - static constexpr int kIndexInFileMessages = - 0; - - friend void swap(TypeProto& a, TypeProto& b) { - a.Swap(&b); - } - inline void Swap(TypeProto* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(TypeProto* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline TypeProto* New() const final { - return new TypeProto(); - } - - TypeProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const TypeProto& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const TypeProto& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(TypeProto* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "zetasql.TypeProto"; - } - protected: - explicit TypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kFileDescriptorSetFieldNumber = 6, - kArrayTypeFieldNumber = 2, - kStructTypeFieldNumber = 3, - kProtoTypeFieldNumber = 4, - kEnumTypeFieldNumber = 5, - kTypeKindFieldNumber = 1, - }; - // repeated .google.protobuf.FileDescriptorSet file_descriptor_set = 6; - int file_descriptor_set_size() const; - private: - int _internal_file_descriptor_set_size() const; - public: - void clear_file_descriptor_set(); - PROTOBUF_NAMESPACE_ID::FileDescriptorSet* mutable_file_descriptor_set(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< PROTOBUF_NAMESPACE_ID::FileDescriptorSet >* - mutable_file_descriptor_set(); - private: - const PROTOBUF_NAMESPACE_ID::FileDescriptorSet& _internal_file_descriptor_set(int index) const; - PROTOBUF_NAMESPACE_ID::FileDescriptorSet* _internal_add_file_descriptor_set(); - public: - const PROTOBUF_NAMESPACE_ID::FileDescriptorSet& file_descriptor_set(int index) const; - PROTOBUF_NAMESPACE_ID::FileDescriptorSet* add_file_descriptor_set(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< PROTOBUF_NAMESPACE_ID::FileDescriptorSet >& - file_descriptor_set() const; - - // optional .zetasql.ArrayTypeProto array_type = 2; - bool has_array_type() const; - private: - bool _internal_has_array_type() const; - public: - void clear_array_type(); - const ::zetasql::ArrayTypeProto& array_type() const; - PROTOBUF_MUST_USE_RESULT ::zetasql::ArrayTypeProto* release_array_type(); - ::zetasql::ArrayTypeProto* mutable_array_type(); - void set_allocated_array_type(::zetasql::ArrayTypeProto* array_type); - private: - const ::zetasql::ArrayTypeProto& _internal_array_type() const; - ::zetasql::ArrayTypeProto* _internal_mutable_array_type(); - public: - void unsafe_arena_set_allocated_array_type( - ::zetasql::ArrayTypeProto* array_type); - ::zetasql::ArrayTypeProto* unsafe_arena_release_array_type(); - - // optional .zetasql.StructTypeProto struct_type = 3; - bool has_struct_type() const; - private: - bool _internal_has_struct_type() const; - public: - void clear_struct_type(); - const ::zetasql::StructTypeProto& struct_type() const; - PROTOBUF_MUST_USE_RESULT ::zetasql::StructTypeProto* release_struct_type(); - ::zetasql::StructTypeProto* mutable_struct_type(); - void set_allocated_struct_type(::zetasql::StructTypeProto* struct_type); - private: - const ::zetasql::StructTypeProto& _internal_struct_type() const; - ::zetasql::StructTypeProto* _internal_mutable_struct_type(); - public: - void unsafe_arena_set_allocated_struct_type( - ::zetasql::StructTypeProto* struct_type); - ::zetasql::StructTypeProto* unsafe_arena_release_struct_type(); - - // optional .zetasql.ProtoTypeProto proto_type = 4; - bool has_proto_type() const; - private: - bool _internal_has_proto_type() const; - public: - void clear_proto_type(); - const ::zetasql::ProtoTypeProto& proto_type() const; - PROTOBUF_MUST_USE_RESULT ::zetasql::ProtoTypeProto* release_proto_type(); - ::zetasql::ProtoTypeProto* mutable_proto_type(); - void set_allocated_proto_type(::zetasql::ProtoTypeProto* proto_type); - private: - const ::zetasql::ProtoTypeProto& _internal_proto_type() const; - ::zetasql::ProtoTypeProto* _internal_mutable_proto_type(); - public: - void unsafe_arena_set_allocated_proto_type( - ::zetasql::ProtoTypeProto* proto_type); - ::zetasql::ProtoTypeProto* unsafe_arena_release_proto_type(); - - // optional .zetasql.EnumTypeProto enum_type = 5; - bool has_enum_type() const; - private: - bool _internal_has_enum_type() const; - public: - void clear_enum_type(); - const ::zetasql::EnumTypeProto& enum_type() const; - PROTOBUF_MUST_USE_RESULT ::zetasql::EnumTypeProto* release_enum_type(); - ::zetasql::EnumTypeProto* mutable_enum_type(); - void set_allocated_enum_type(::zetasql::EnumTypeProto* enum_type); - private: - const ::zetasql::EnumTypeProto& _internal_enum_type() const; - ::zetasql::EnumTypeProto* _internal_mutable_enum_type(); - public: - void unsafe_arena_set_allocated_enum_type( - ::zetasql::EnumTypeProto* enum_type); - ::zetasql::EnumTypeProto* unsafe_arena_release_enum_type(); - - // optional .zetasql.TypeKind type_kind = 1; - bool has_type_kind() const; - private: - bool _internal_has_type_kind() const; - public: - void clear_type_kind(); - ::zetasql::TypeKind type_kind() const; - void set_type_kind(::zetasql::TypeKind value); - private: - ::zetasql::TypeKind _internal_type_kind() const; - void _internal_set_type_kind(::zetasql::TypeKind value); - public: - - // @@protoc_insertion_point(class_scope:zetasql.TypeProto) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< PROTOBUF_NAMESPACE_ID::FileDescriptorSet > file_descriptor_set_; - ::zetasql::ArrayTypeProto* array_type_; - ::zetasql::StructTypeProto* struct_type_; - ::zetasql::ProtoTypeProto* proto_type_; - ::zetasql::EnumTypeProto* enum_type_; - int type_kind_; - friend struct ::TableStruct_type_2eproto; -}; -// ------------------------------------------------------------------- - -class ArrayTypeProto final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:zetasql.ArrayTypeProto) */ { - public: - inline ArrayTypeProto() : ArrayTypeProto(nullptr) {} - ~ArrayTypeProto() override; - explicit constexpr ArrayTypeProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - ArrayTypeProto(const ArrayTypeProto& from); - ArrayTypeProto(ArrayTypeProto&& from) noexcept - : ArrayTypeProto() { - *this = ::std::move(from); - } - - inline ArrayTypeProto& operator=(const ArrayTypeProto& from) { - CopyFrom(from); - return *this; - } - inline ArrayTypeProto& operator=(ArrayTypeProto&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const ArrayTypeProto& default_instance() { - return *internal_default_instance(); - } - static inline const ArrayTypeProto* internal_default_instance() { - return reinterpret_cast( - &_ArrayTypeProto_default_instance_); - } - static constexpr int kIndexInFileMessages = - 1; - - friend void swap(ArrayTypeProto& a, ArrayTypeProto& b) { - a.Swap(&b); - } - inline void Swap(ArrayTypeProto* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(ArrayTypeProto* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline ArrayTypeProto* New() const final { - return new ArrayTypeProto(); - } - - ArrayTypeProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ArrayTypeProto& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const ArrayTypeProto& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ArrayTypeProto* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "zetasql.ArrayTypeProto"; - } - protected: - explicit ArrayTypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kElementTypeFieldNumber = 1, - }; - // optional .zetasql.TypeProto element_type = 1; - bool has_element_type() const; - private: - bool _internal_has_element_type() const; - public: - void clear_element_type(); - const ::zetasql::TypeProto& element_type() const; - PROTOBUF_MUST_USE_RESULT ::zetasql::TypeProto* release_element_type(); - ::zetasql::TypeProto* mutable_element_type(); - void set_allocated_element_type(::zetasql::TypeProto* element_type); - private: - const ::zetasql::TypeProto& _internal_element_type() const; - ::zetasql::TypeProto* _internal_mutable_element_type(); - public: - void unsafe_arena_set_allocated_element_type( - ::zetasql::TypeProto* element_type); - ::zetasql::TypeProto* unsafe_arena_release_element_type(); - - // @@protoc_insertion_point(class_scope:zetasql.ArrayTypeProto) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::zetasql::TypeProto* element_type_; - friend struct ::TableStruct_type_2eproto; -}; -// ------------------------------------------------------------------- - -class StructFieldProto final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:zetasql.StructFieldProto) */ { - public: - inline StructFieldProto() : StructFieldProto(nullptr) {} - ~StructFieldProto() override; - explicit constexpr StructFieldProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - StructFieldProto(const StructFieldProto& from); - StructFieldProto(StructFieldProto&& from) noexcept - : StructFieldProto() { - *this = ::std::move(from); - } - - inline StructFieldProto& operator=(const StructFieldProto& from) { - CopyFrom(from); - return *this; - } - inline StructFieldProto& operator=(StructFieldProto&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const StructFieldProto& default_instance() { - return *internal_default_instance(); - } - static inline const StructFieldProto* internal_default_instance() { - return reinterpret_cast( - &_StructFieldProto_default_instance_); - } - static constexpr int kIndexInFileMessages = - 2; - - friend void swap(StructFieldProto& a, StructFieldProto& b) { - a.Swap(&b); - } - inline void Swap(StructFieldProto* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(StructFieldProto* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline StructFieldProto* New() const final { - return new StructFieldProto(); - } - - StructFieldProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const StructFieldProto& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const StructFieldProto& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(StructFieldProto* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "zetasql.StructFieldProto"; - } - protected: - explicit StructFieldProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kFieldNameFieldNumber = 1, - kFieldTypeFieldNumber = 2, - }; - // optional string field_name = 1; - bool has_field_name() const; - private: - bool _internal_has_field_name() const; - public: - void clear_field_name(); - const std::string& field_name() const; - template - void set_field_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_field_name(); - PROTOBUF_MUST_USE_RESULT std::string* release_field_name(); - void set_allocated_field_name(std::string* field_name); - private: - const std::string& _internal_field_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_field_name(const std::string& value); - std::string* _internal_mutable_field_name(); - public: - - // optional .zetasql.TypeProto field_type = 2; - bool has_field_type() const; - private: - bool _internal_has_field_type() const; - public: - void clear_field_type(); - const ::zetasql::TypeProto& field_type() const; - PROTOBUF_MUST_USE_RESULT ::zetasql::TypeProto* release_field_type(); - ::zetasql::TypeProto* mutable_field_type(); - void set_allocated_field_type(::zetasql::TypeProto* field_type); - private: - const ::zetasql::TypeProto& _internal_field_type() const; - ::zetasql::TypeProto* _internal_mutable_field_type(); - public: - void unsafe_arena_set_allocated_field_type( - ::zetasql::TypeProto* field_type); - ::zetasql::TypeProto* unsafe_arena_release_field_type(); - - // @@protoc_insertion_point(class_scope:zetasql.StructFieldProto) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr field_name_; - ::zetasql::TypeProto* field_type_; - friend struct ::TableStruct_type_2eproto; -}; -// ------------------------------------------------------------------- - -class StructTypeProto final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:zetasql.StructTypeProto) */ { - public: - inline StructTypeProto() : StructTypeProto(nullptr) {} - ~StructTypeProto() override; - explicit constexpr StructTypeProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - StructTypeProto(const StructTypeProto& from); - StructTypeProto(StructTypeProto&& from) noexcept - : StructTypeProto() { - *this = ::std::move(from); - } - - inline StructTypeProto& operator=(const StructTypeProto& from) { - CopyFrom(from); - return *this; - } - inline StructTypeProto& operator=(StructTypeProto&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const StructTypeProto& default_instance() { - return *internal_default_instance(); - } - static inline const StructTypeProto* internal_default_instance() { - return reinterpret_cast( - &_StructTypeProto_default_instance_); - } - static constexpr int kIndexInFileMessages = - 3; - - friend void swap(StructTypeProto& a, StructTypeProto& b) { - a.Swap(&b); - } - inline void Swap(StructTypeProto* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(StructTypeProto* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline StructTypeProto* New() const final { - return new StructTypeProto(); - } - - StructTypeProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const StructTypeProto& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const StructTypeProto& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(StructTypeProto* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "zetasql.StructTypeProto"; - } - protected: - explicit StructTypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kFieldFieldNumber = 1, - }; - // repeated .zetasql.StructFieldProto field = 1; - int field_size() const; - private: - int _internal_field_size() const; - public: - void clear_field(); - ::zetasql::StructFieldProto* mutable_field(int index); - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::zetasql::StructFieldProto >* - mutable_field(); - private: - const ::zetasql::StructFieldProto& _internal_field(int index) const; - ::zetasql::StructFieldProto* _internal_add_field(); - public: - const ::zetasql::StructFieldProto& field(int index) const; - ::zetasql::StructFieldProto* add_field(); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::zetasql::StructFieldProto >& - field() const; - - // @@protoc_insertion_point(class_scope:zetasql.StructTypeProto) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::zetasql::StructFieldProto > field_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - friend struct ::TableStruct_type_2eproto; -}; -// ------------------------------------------------------------------- - -class ProtoTypeProto final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:zetasql.ProtoTypeProto) */ { - public: - inline ProtoTypeProto() : ProtoTypeProto(nullptr) {} - ~ProtoTypeProto() override; - explicit constexpr ProtoTypeProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - ProtoTypeProto(const ProtoTypeProto& from); - ProtoTypeProto(ProtoTypeProto&& from) noexcept - : ProtoTypeProto() { - *this = ::std::move(from); - } - - inline ProtoTypeProto& operator=(const ProtoTypeProto& from) { - CopyFrom(from); - return *this; - } - inline ProtoTypeProto& operator=(ProtoTypeProto&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const ProtoTypeProto& default_instance() { - return *internal_default_instance(); - } - static inline const ProtoTypeProto* internal_default_instance() { - return reinterpret_cast( - &_ProtoTypeProto_default_instance_); - } - static constexpr int kIndexInFileMessages = - 4; - - friend void swap(ProtoTypeProto& a, ProtoTypeProto& b) { - a.Swap(&b); - } - inline void Swap(ProtoTypeProto* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(ProtoTypeProto* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline ProtoTypeProto* New() const final { - return new ProtoTypeProto(); - } - - ProtoTypeProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const ProtoTypeProto& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const ProtoTypeProto& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(ProtoTypeProto* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "zetasql.ProtoTypeProto"; - } - protected: - explicit ProtoTypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kCatalogNamePathFieldNumber = 4, - kProtoNameFieldNumber = 1, - kProtoFileNameFieldNumber = 2, - kFileDescriptorSetIndexFieldNumber = 3, - }; - // repeated string catalog_name_path = 4; - int catalog_name_path_size() const; - private: - int _internal_catalog_name_path_size() const; - public: - void clear_catalog_name_path(); - const std::string& catalog_name_path(int index) const; - std::string* mutable_catalog_name_path(int index); - void set_catalog_name_path(int index, const std::string& value); - void set_catalog_name_path(int index, std::string&& value); - void set_catalog_name_path(int index, const char* value); - void set_catalog_name_path(int index, const char* value, size_t size); - std::string* add_catalog_name_path(); - void add_catalog_name_path(const std::string& value); - void add_catalog_name_path(std::string&& value); - void add_catalog_name_path(const char* value); - void add_catalog_name_path(const char* value, size_t size); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& catalog_name_path() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_catalog_name_path(); - private: - const std::string& _internal_catalog_name_path(int index) const; - std::string* _internal_add_catalog_name_path(); - public: - - // optional string proto_name = 1; - bool has_proto_name() const; - private: - bool _internal_has_proto_name() const; - public: - void clear_proto_name(); - const std::string& proto_name() const; - template - void set_proto_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_proto_name(); - PROTOBUF_MUST_USE_RESULT std::string* release_proto_name(); - void set_allocated_proto_name(std::string* proto_name); - private: - const std::string& _internal_proto_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_proto_name(const std::string& value); - std::string* _internal_mutable_proto_name(); - public: - - // optional string proto_file_name = 2; - bool has_proto_file_name() const; - private: - bool _internal_has_proto_file_name() const; - public: - void clear_proto_file_name(); - const std::string& proto_file_name() const; - template - void set_proto_file_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_proto_file_name(); - PROTOBUF_MUST_USE_RESULT std::string* release_proto_file_name(); - void set_allocated_proto_file_name(std::string* proto_file_name); - private: - const std::string& _internal_proto_file_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_proto_file_name(const std::string& value); - std::string* _internal_mutable_proto_file_name(); - public: - - // optional int32 file_descriptor_set_index = 3 [default = 0]; - bool has_file_descriptor_set_index() const; - private: - bool _internal_has_file_descriptor_set_index() const; - public: - void clear_file_descriptor_set_index(); - ::PROTOBUF_NAMESPACE_ID::int32 file_descriptor_set_index() const; - void set_file_descriptor_set_index(::PROTOBUF_NAMESPACE_ID::int32 value); - private: - ::PROTOBUF_NAMESPACE_ID::int32 _internal_file_descriptor_set_index() const; - void _internal_set_file_descriptor_set_index(::PROTOBUF_NAMESPACE_ID::int32 value); - public: - - // @@protoc_insertion_point(class_scope:zetasql.ProtoTypeProto) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField catalog_name_path_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr proto_name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr proto_file_name_; - ::PROTOBUF_NAMESPACE_ID::int32 file_descriptor_set_index_; - friend struct ::TableStruct_type_2eproto; -}; -// ------------------------------------------------------------------- - -class EnumTypeProto final : - public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:zetasql.EnumTypeProto) */ { - public: - inline EnumTypeProto() : EnumTypeProto(nullptr) {} - ~EnumTypeProto() override; - explicit constexpr EnumTypeProto(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized); - - EnumTypeProto(const EnumTypeProto& from); - EnumTypeProto(EnumTypeProto&& from) noexcept - : EnumTypeProto() { - *this = ::std::move(from); - } - - inline EnumTypeProto& operator=(const EnumTypeProto& from) { - CopyFrom(from); - return *this; - } - inline EnumTypeProto& operator=(EnumTypeProto&& from) noexcept { - if (this == &from) return *this; - if (GetOwningArena() == from.GetOwningArena()) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const { - return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance); - } - inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() { - return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(); - } - - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const EnumTypeProto& default_instance() { - return *internal_default_instance(); - } - static inline const EnumTypeProto* internal_default_instance() { - return reinterpret_cast( - &_EnumTypeProto_default_instance_); - } - static constexpr int kIndexInFileMessages = - 5; - - friend void swap(EnumTypeProto& a, EnumTypeProto& b) { - a.Swap(&b); - } - inline void Swap(EnumTypeProto* other) { - if (other == this) return; - if (GetOwningArena() == other->GetOwningArena()) { - InternalSwap(other); - } else { - ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(EnumTypeProto* other) { - if (other == this) return; - GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - inline EnumTypeProto* New() const final { - return new EnumTypeProto(); - } - - EnumTypeProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final { - return CreateMaybeMessage(arena); - } - using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom; - void CopyFrom(const EnumTypeProto& from); - using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom; - void MergeFrom(const EnumTypeProto& from); - private: - static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message*to, const ::PROTOBUF_NAMESPACE_ID::Message&from); - public: - PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; - bool IsInitialized() const final; - - size_t ByteSizeLong() const final; - const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final; - ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize( - ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final; - int GetCachedSize() const final { return _cached_size_.Get(); } - - private: - void SharedCtor(); - void SharedDtor(); - void SetCachedSize(int size) const final; - void InternalSwap(EnumTypeProto* other); - friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata; - static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() { - return "zetasql.EnumTypeProto"; - } - protected: - explicit EnumTypeProto(::PROTOBUF_NAMESPACE_ID::Arena* arena, - bool is_message_owned = false); - private: - static void ArenaDtor(void* object); - inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena); - public: - - static const ClassData _class_data_; - const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final; - - ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final; - - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - - enum : int { - kCatalogNamePathFieldNumber = 4, - kEnumNameFieldNumber = 1, - kEnumFileNameFieldNumber = 2, - kFileDescriptorSetIndexFieldNumber = 3, - }; - // repeated string catalog_name_path = 4; - int catalog_name_path_size() const; - private: - int _internal_catalog_name_path_size() const; - public: - void clear_catalog_name_path(); - const std::string& catalog_name_path(int index) const; - std::string* mutable_catalog_name_path(int index); - void set_catalog_name_path(int index, const std::string& value); - void set_catalog_name_path(int index, std::string&& value); - void set_catalog_name_path(int index, const char* value); - void set_catalog_name_path(int index, const char* value, size_t size); - std::string* add_catalog_name_path(); - void add_catalog_name_path(const std::string& value); - void add_catalog_name_path(std::string&& value); - void add_catalog_name_path(const char* value); - void add_catalog_name_path(const char* value, size_t size); - const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& catalog_name_path() const; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_catalog_name_path(); - private: - const std::string& _internal_catalog_name_path(int index) const; - std::string* _internal_add_catalog_name_path(); - public: - - // optional string enum_name = 1; - bool has_enum_name() const; - private: - bool _internal_has_enum_name() const; - public: - void clear_enum_name(); - const std::string& enum_name() const; - template - void set_enum_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_enum_name(); - PROTOBUF_MUST_USE_RESULT std::string* release_enum_name(); - void set_allocated_enum_name(std::string* enum_name); - private: - const std::string& _internal_enum_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_enum_name(const std::string& value); - std::string* _internal_mutable_enum_name(); - public: - - // optional string enum_file_name = 2; - bool has_enum_file_name() const; - private: - bool _internal_has_enum_file_name() const; - public: - void clear_enum_file_name(); - const std::string& enum_file_name() const; - template - void set_enum_file_name(ArgT0&& arg0, ArgT... args); - std::string* mutable_enum_file_name(); - PROTOBUF_MUST_USE_RESULT std::string* release_enum_file_name(); - void set_allocated_enum_file_name(std::string* enum_file_name); - private: - const std::string& _internal_enum_file_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_enum_file_name(const std::string& value); - std::string* _internal_mutable_enum_file_name(); - public: - - // optional int32 file_descriptor_set_index = 3 [default = 0]; - bool has_file_descriptor_set_index() const; - private: - bool _internal_has_file_descriptor_set_index() const; - public: - void clear_file_descriptor_set_index(); - ::PROTOBUF_NAMESPACE_ID::int32 file_descriptor_set_index() const; - void set_file_descriptor_set_index(::PROTOBUF_NAMESPACE_ID::int32 value); - private: - ::PROTOBUF_NAMESPACE_ID::int32 _internal_file_descriptor_set_index() const; - void _internal_set_file_descriptor_set_index(::PROTOBUF_NAMESPACE_ID::int32 value); - public: - - // @@protoc_insertion_point(class_scope:zetasql.EnumTypeProto) - private: - class _Internal; - - template friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper; - typedef void InternalArenaConstructable_; - typedef void DestructorSkippable_; - ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_; - mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_; - ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField catalog_name_path_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr enum_name_; - ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr enum_file_name_; - ::PROTOBUF_NAMESPACE_ID::int32 file_descriptor_set_index_; - friend struct ::TableStruct_type_2eproto; -}; -// =================================================================== - - -// =================================================================== - -#ifdef __GNUC__ - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wstrict-aliasing" -#endif // __GNUC__ -// TypeProto - -// optional .zetasql.TypeKind type_kind = 1; -inline bool TypeProto::_internal_has_type_kind() const { - bool value = (_has_bits_[0] & 0x00000010u) != 0; - return value; -} -inline bool TypeProto::has_type_kind() const { - return _internal_has_type_kind(); -} -inline void TypeProto::clear_type_kind() { - type_kind_ = -1; - _has_bits_[0] &= ~0x00000010u; -} -inline ::zetasql::TypeKind TypeProto::_internal_type_kind() const { - return static_cast< ::zetasql::TypeKind >(type_kind_); -} -inline ::zetasql::TypeKind TypeProto::type_kind() const { - // @@protoc_insertion_point(field_get:zetasql.TypeProto.type_kind) - return _internal_type_kind(); -} -inline void TypeProto::_internal_set_type_kind(::zetasql::TypeKind value) { - assert(::zetasql::TypeKind_IsValid(value)); - _has_bits_[0] |= 0x00000010u; - type_kind_ = value; -} -inline void TypeProto::set_type_kind(::zetasql::TypeKind value) { - _internal_set_type_kind(value); - // @@protoc_insertion_point(field_set:zetasql.TypeProto.type_kind) -} - -// optional .zetasql.ArrayTypeProto array_type = 2; -inline bool TypeProto::_internal_has_array_type() const { - bool value = (_has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || array_type_ != nullptr); - return value; -} -inline bool TypeProto::has_array_type() const { - return _internal_has_array_type(); -} -inline void TypeProto::clear_array_type() { - if (array_type_ != nullptr) array_type_->Clear(); - _has_bits_[0] &= ~0x00000001u; -} -inline const ::zetasql::ArrayTypeProto& TypeProto::_internal_array_type() const { - const ::zetasql::ArrayTypeProto* p = array_type_; - return p != nullptr ? *p : reinterpret_cast( - ::zetasql::_ArrayTypeProto_default_instance_); -} -inline const ::zetasql::ArrayTypeProto& TypeProto::array_type() const { - // @@protoc_insertion_point(field_get:zetasql.TypeProto.array_type) - return _internal_array_type(); -} -inline void TypeProto::unsafe_arena_set_allocated_array_type( - ::zetasql::ArrayTypeProto* array_type) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(array_type_); - } - array_type_ = array_type; - if (array_type) { - _has_bits_[0] |= 0x00000001u; - } else { - _has_bits_[0] &= ~0x00000001u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:zetasql.TypeProto.array_type) -} -inline ::zetasql::ArrayTypeProto* TypeProto::release_array_type() { - _has_bits_[0] &= ~0x00000001u; - ::zetasql::ArrayTypeProto* temp = array_type_; - array_type_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::zetasql::ArrayTypeProto* TypeProto::unsafe_arena_release_array_type() { - // @@protoc_insertion_point(field_release:zetasql.TypeProto.array_type) - _has_bits_[0] &= ~0x00000001u; - ::zetasql::ArrayTypeProto* temp = array_type_; - array_type_ = nullptr; - return temp; -} -inline ::zetasql::ArrayTypeProto* TypeProto::_internal_mutable_array_type() { - _has_bits_[0] |= 0x00000001u; - if (array_type_ == nullptr) { - auto* p = CreateMaybeMessage<::zetasql::ArrayTypeProto>(GetArenaForAllocation()); - array_type_ = p; - } - return array_type_; -} -inline ::zetasql::ArrayTypeProto* TypeProto::mutable_array_type() { - ::zetasql::ArrayTypeProto* _msg = _internal_mutable_array_type(); - // @@protoc_insertion_point(field_mutable:zetasql.TypeProto.array_type) - return _msg; -} -inline void TypeProto::set_allocated_array_type(::zetasql::ArrayTypeProto* array_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete array_type_; - } - if (array_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::zetasql::ArrayTypeProto>::GetOwningArena(array_type); - if (message_arena != submessage_arena) { - array_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, array_type, submessage_arena); - } - _has_bits_[0] |= 0x00000001u; - } else { - _has_bits_[0] &= ~0x00000001u; - } - array_type_ = array_type; - // @@protoc_insertion_point(field_set_allocated:zetasql.TypeProto.array_type) -} - -// optional .zetasql.StructTypeProto struct_type = 3; -inline bool TypeProto::_internal_has_struct_type() const { - bool value = (_has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || struct_type_ != nullptr); - return value; -} -inline bool TypeProto::has_struct_type() const { - return _internal_has_struct_type(); -} -inline void TypeProto::clear_struct_type() { - if (struct_type_ != nullptr) struct_type_->Clear(); - _has_bits_[0] &= ~0x00000002u; -} -inline const ::zetasql::StructTypeProto& TypeProto::_internal_struct_type() const { - const ::zetasql::StructTypeProto* p = struct_type_; - return p != nullptr ? *p : reinterpret_cast( - ::zetasql::_StructTypeProto_default_instance_); -} -inline const ::zetasql::StructTypeProto& TypeProto::struct_type() const { - // @@protoc_insertion_point(field_get:zetasql.TypeProto.struct_type) - return _internal_struct_type(); -} -inline void TypeProto::unsafe_arena_set_allocated_struct_type( - ::zetasql::StructTypeProto* struct_type) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(struct_type_); - } - struct_type_ = struct_type; - if (struct_type) { - _has_bits_[0] |= 0x00000002u; - } else { - _has_bits_[0] &= ~0x00000002u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:zetasql.TypeProto.struct_type) -} -inline ::zetasql::StructTypeProto* TypeProto::release_struct_type() { - _has_bits_[0] &= ~0x00000002u; - ::zetasql::StructTypeProto* temp = struct_type_; - struct_type_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::zetasql::StructTypeProto* TypeProto::unsafe_arena_release_struct_type() { - // @@protoc_insertion_point(field_release:zetasql.TypeProto.struct_type) - _has_bits_[0] &= ~0x00000002u; - ::zetasql::StructTypeProto* temp = struct_type_; - struct_type_ = nullptr; - return temp; -} -inline ::zetasql::StructTypeProto* TypeProto::_internal_mutable_struct_type() { - _has_bits_[0] |= 0x00000002u; - if (struct_type_ == nullptr) { - auto* p = CreateMaybeMessage<::zetasql::StructTypeProto>(GetArenaForAllocation()); - struct_type_ = p; - } - return struct_type_; -} -inline ::zetasql::StructTypeProto* TypeProto::mutable_struct_type() { - ::zetasql::StructTypeProto* _msg = _internal_mutable_struct_type(); - // @@protoc_insertion_point(field_mutable:zetasql.TypeProto.struct_type) - return _msg; -} -inline void TypeProto::set_allocated_struct_type(::zetasql::StructTypeProto* struct_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete struct_type_; - } - if (struct_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::zetasql::StructTypeProto>::GetOwningArena(struct_type); - if (message_arena != submessage_arena) { - struct_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, struct_type, submessage_arena); - } - _has_bits_[0] |= 0x00000002u; - } else { - _has_bits_[0] &= ~0x00000002u; - } - struct_type_ = struct_type; - // @@protoc_insertion_point(field_set_allocated:zetasql.TypeProto.struct_type) -} - -// optional .zetasql.ProtoTypeProto proto_type = 4; -inline bool TypeProto::_internal_has_proto_type() const { - bool value = (_has_bits_[0] & 0x00000004u) != 0; - PROTOBUF_ASSUME(!value || proto_type_ != nullptr); - return value; -} -inline bool TypeProto::has_proto_type() const { - return _internal_has_proto_type(); -} -inline void TypeProto::clear_proto_type() { - if (proto_type_ != nullptr) proto_type_->Clear(); - _has_bits_[0] &= ~0x00000004u; -} -inline const ::zetasql::ProtoTypeProto& TypeProto::_internal_proto_type() const { - const ::zetasql::ProtoTypeProto* p = proto_type_; - return p != nullptr ? *p : reinterpret_cast( - ::zetasql::_ProtoTypeProto_default_instance_); -} -inline const ::zetasql::ProtoTypeProto& TypeProto::proto_type() const { - // @@protoc_insertion_point(field_get:zetasql.TypeProto.proto_type) - return _internal_proto_type(); -} -inline void TypeProto::unsafe_arena_set_allocated_proto_type( - ::zetasql::ProtoTypeProto* proto_type) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(proto_type_); - } - proto_type_ = proto_type; - if (proto_type) { - _has_bits_[0] |= 0x00000004u; - } else { - _has_bits_[0] &= ~0x00000004u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:zetasql.TypeProto.proto_type) -} -inline ::zetasql::ProtoTypeProto* TypeProto::release_proto_type() { - _has_bits_[0] &= ~0x00000004u; - ::zetasql::ProtoTypeProto* temp = proto_type_; - proto_type_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::zetasql::ProtoTypeProto* TypeProto::unsafe_arena_release_proto_type() { - // @@protoc_insertion_point(field_release:zetasql.TypeProto.proto_type) - _has_bits_[0] &= ~0x00000004u; - ::zetasql::ProtoTypeProto* temp = proto_type_; - proto_type_ = nullptr; - return temp; -} -inline ::zetasql::ProtoTypeProto* TypeProto::_internal_mutable_proto_type() { - _has_bits_[0] |= 0x00000004u; - if (proto_type_ == nullptr) { - auto* p = CreateMaybeMessage<::zetasql::ProtoTypeProto>(GetArenaForAllocation()); - proto_type_ = p; - } - return proto_type_; -} -inline ::zetasql::ProtoTypeProto* TypeProto::mutable_proto_type() { - ::zetasql::ProtoTypeProto* _msg = _internal_mutable_proto_type(); - // @@protoc_insertion_point(field_mutable:zetasql.TypeProto.proto_type) - return _msg; -} -inline void TypeProto::set_allocated_proto_type(::zetasql::ProtoTypeProto* proto_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete proto_type_; - } - if (proto_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::zetasql::ProtoTypeProto>::GetOwningArena(proto_type); - if (message_arena != submessage_arena) { - proto_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, proto_type, submessage_arena); - } - _has_bits_[0] |= 0x00000004u; - } else { - _has_bits_[0] &= ~0x00000004u; - } - proto_type_ = proto_type; - // @@protoc_insertion_point(field_set_allocated:zetasql.TypeProto.proto_type) -} - -// optional .zetasql.EnumTypeProto enum_type = 5; -inline bool TypeProto::_internal_has_enum_type() const { - bool value = (_has_bits_[0] & 0x00000008u) != 0; - PROTOBUF_ASSUME(!value || enum_type_ != nullptr); - return value; -} -inline bool TypeProto::has_enum_type() const { - return _internal_has_enum_type(); -} -inline void TypeProto::clear_enum_type() { - if (enum_type_ != nullptr) enum_type_->Clear(); - _has_bits_[0] &= ~0x00000008u; -} -inline const ::zetasql::EnumTypeProto& TypeProto::_internal_enum_type() const { - const ::zetasql::EnumTypeProto* p = enum_type_; - return p != nullptr ? *p : reinterpret_cast( - ::zetasql::_EnumTypeProto_default_instance_); -} -inline const ::zetasql::EnumTypeProto& TypeProto::enum_type() const { - // @@protoc_insertion_point(field_get:zetasql.TypeProto.enum_type) - return _internal_enum_type(); -} -inline void TypeProto::unsafe_arena_set_allocated_enum_type( - ::zetasql::EnumTypeProto* enum_type) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(enum_type_); - } - enum_type_ = enum_type; - if (enum_type) { - _has_bits_[0] |= 0x00000008u; - } else { - _has_bits_[0] &= ~0x00000008u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:zetasql.TypeProto.enum_type) -} -inline ::zetasql::EnumTypeProto* TypeProto::release_enum_type() { - _has_bits_[0] &= ~0x00000008u; - ::zetasql::EnumTypeProto* temp = enum_type_; - enum_type_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::zetasql::EnumTypeProto* TypeProto::unsafe_arena_release_enum_type() { - // @@protoc_insertion_point(field_release:zetasql.TypeProto.enum_type) - _has_bits_[0] &= ~0x00000008u; - ::zetasql::EnumTypeProto* temp = enum_type_; - enum_type_ = nullptr; - return temp; -} -inline ::zetasql::EnumTypeProto* TypeProto::_internal_mutable_enum_type() { - _has_bits_[0] |= 0x00000008u; - if (enum_type_ == nullptr) { - auto* p = CreateMaybeMessage<::zetasql::EnumTypeProto>(GetArenaForAllocation()); - enum_type_ = p; - } - return enum_type_; -} -inline ::zetasql::EnumTypeProto* TypeProto::mutable_enum_type() { - ::zetasql::EnumTypeProto* _msg = _internal_mutable_enum_type(); - // @@protoc_insertion_point(field_mutable:zetasql.TypeProto.enum_type) - return _msg; -} -inline void TypeProto::set_allocated_enum_type(::zetasql::EnumTypeProto* enum_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete enum_type_; - } - if (enum_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::zetasql::EnumTypeProto>::GetOwningArena(enum_type); - if (message_arena != submessage_arena) { - enum_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, enum_type, submessage_arena); - } - _has_bits_[0] |= 0x00000008u; - } else { - _has_bits_[0] &= ~0x00000008u; - } - enum_type_ = enum_type; - // @@protoc_insertion_point(field_set_allocated:zetasql.TypeProto.enum_type) -} - -// repeated .google.protobuf.FileDescriptorSet file_descriptor_set = 6; -inline int TypeProto::_internal_file_descriptor_set_size() const { - return file_descriptor_set_.size(); -} -inline int TypeProto::file_descriptor_set_size() const { - return _internal_file_descriptor_set_size(); -} -inline PROTOBUF_NAMESPACE_ID::FileDescriptorSet* TypeProto::mutable_file_descriptor_set(int index) { - // @@protoc_insertion_point(field_mutable:zetasql.TypeProto.file_descriptor_set) - return file_descriptor_set_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< PROTOBUF_NAMESPACE_ID::FileDescriptorSet >* -TypeProto::mutable_file_descriptor_set() { - // @@protoc_insertion_point(field_mutable_list:zetasql.TypeProto.file_descriptor_set) - return &file_descriptor_set_; -} -inline const PROTOBUF_NAMESPACE_ID::FileDescriptorSet& TypeProto::_internal_file_descriptor_set(int index) const { - return file_descriptor_set_.Get(index); -} -inline const PROTOBUF_NAMESPACE_ID::FileDescriptorSet& TypeProto::file_descriptor_set(int index) const { - // @@protoc_insertion_point(field_get:zetasql.TypeProto.file_descriptor_set) - return _internal_file_descriptor_set(index); -} -inline PROTOBUF_NAMESPACE_ID::FileDescriptorSet* TypeProto::_internal_add_file_descriptor_set() { - return file_descriptor_set_.Add(); -} -inline PROTOBUF_NAMESPACE_ID::FileDescriptorSet* TypeProto::add_file_descriptor_set() { - PROTOBUF_NAMESPACE_ID::FileDescriptorSet* _add = _internal_add_file_descriptor_set(); - // @@protoc_insertion_point(field_add:zetasql.TypeProto.file_descriptor_set) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< PROTOBUF_NAMESPACE_ID::FileDescriptorSet >& -TypeProto::file_descriptor_set() const { - // @@protoc_insertion_point(field_list:zetasql.TypeProto.file_descriptor_set) - return file_descriptor_set_; -} - -// ------------------------------------------------------------------- - -// ArrayTypeProto - -// optional .zetasql.TypeProto element_type = 1; -inline bool ArrayTypeProto::_internal_has_element_type() const { - bool value = (_has_bits_[0] & 0x00000001u) != 0; - PROTOBUF_ASSUME(!value || element_type_ != nullptr); - return value; -} -inline bool ArrayTypeProto::has_element_type() const { - return _internal_has_element_type(); -} -inline void ArrayTypeProto::clear_element_type() { - if (element_type_ != nullptr) element_type_->Clear(); - _has_bits_[0] &= ~0x00000001u; -} -inline const ::zetasql::TypeProto& ArrayTypeProto::_internal_element_type() const { - const ::zetasql::TypeProto* p = element_type_; - return p != nullptr ? *p : reinterpret_cast( - ::zetasql::_TypeProto_default_instance_); -} -inline const ::zetasql::TypeProto& ArrayTypeProto::element_type() const { - // @@protoc_insertion_point(field_get:zetasql.ArrayTypeProto.element_type) - return _internal_element_type(); -} -inline void ArrayTypeProto::unsafe_arena_set_allocated_element_type( - ::zetasql::TypeProto* element_type) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(element_type_); - } - element_type_ = element_type; - if (element_type) { - _has_bits_[0] |= 0x00000001u; - } else { - _has_bits_[0] &= ~0x00000001u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:zetasql.ArrayTypeProto.element_type) -} -inline ::zetasql::TypeProto* ArrayTypeProto::release_element_type() { - _has_bits_[0] &= ~0x00000001u; - ::zetasql::TypeProto* temp = element_type_; - element_type_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::zetasql::TypeProto* ArrayTypeProto::unsafe_arena_release_element_type() { - // @@protoc_insertion_point(field_release:zetasql.ArrayTypeProto.element_type) - _has_bits_[0] &= ~0x00000001u; - ::zetasql::TypeProto* temp = element_type_; - element_type_ = nullptr; - return temp; -} -inline ::zetasql::TypeProto* ArrayTypeProto::_internal_mutable_element_type() { - _has_bits_[0] |= 0x00000001u; - if (element_type_ == nullptr) { - auto* p = CreateMaybeMessage<::zetasql::TypeProto>(GetArenaForAllocation()); - element_type_ = p; - } - return element_type_; -} -inline ::zetasql::TypeProto* ArrayTypeProto::mutable_element_type() { - ::zetasql::TypeProto* _msg = _internal_mutable_element_type(); - // @@protoc_insertion_point(field_mutable:zetasql.ArrayTypeProto.element_type) - return _msg; -} -inline void ArrayTypeProto::set_allocated_element_type(::zetasql::TypeProto* element_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete element_type_; - } - if (element_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::zetasql::TypeProto>::GetOwningArena(element_type); - if (message_arena != submessage_arena) { - element_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, element_type, submessage_arena); - } - _has_bits_[0] |= 0x00000001u; - } else { - _has_bits_[0] &= ~0x00000001u; - } - element_type_ = element_type; - // @@protoc_insertion_point(field_set_allocated:zetasql.ArrayTypeProto.element_type) -} - -// ------------------------------------------------------------------- - -// StructFieldProto - -// optional string field_name = 1; -inline bool StructFieldProto::_internal_has_field_name() const { - bool value = (_has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool StructFieldProto::has_field_name() const { - return _internal_has_field_name(); -} -inline void StructFieldProto::clear_field_name() { - field_name_.ClearToEmpty(); - _has_bits_[0] &= ~0x00000001u; -} -inline const std::string& StructFieldProto::field_name() const { - // @@protoc_insertion_point(field_get:zetasql.StructFieldProto.field_name) - return _internal_field_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void StructFieldProto::set_field_name(ArgT0&& arg0, ArgT... args) { - _has_bits_[0] |= 0x00000001u; - field_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:zetasql.StructFieldProto.field_name) -} -inline std::string* StructFieldProto::mutable_field_name() { - std::string* _s = _internal_mutable_field_name(); - // @@protoc_insertion_point(field_mutable:zetasql.StructFieldProto.field_name) - return _s; -} -inline const std::string& StructFieldProto::_internal_field_name() const { - return field_name_.Get(); -} -inline void StructFieldProto::_internal_set_field_name(const std::string& value) { - _has_bits_[0] |= 0x00000001u; - field_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* StructFieldProto::_internal_mutable_field_name() { - _has_bits_[0] |= 0x00000001u; - return field_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* StructFieldProto::release_field_name() { - // @@protoc_insertion_point(field_release:zetasql.StructFieldProto.field_name) - if (!_internal_has_field_name()) { - return nullptr; - } - _has_bits_[0] &= ~0x00000001u; - return field_name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void StructFieldProto::set_allocated_field_name(std::string* field_name) { - if (field_name != nullptr) { - _has_bits_[0] |= 0x00000001u; - } else { - _has_bits_[0] &= ~0x00000001u; - } - field_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), field_name, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:zetasql.StructFieldProto.field_name) -} - -// optional .zetasql.TypeProto field_type = 2; -inline bool StructFieldProto::_internal_has_field_type() const { - bool value = (_has_bits_[0] & 0x00000002u) != 0; - PROTOBUF_ASSUME(!value || field_type_ != nullptr); - return value; -} -inline bool StructFieldProto::has_field_type() const { - return _internal_has_field_type(); -} -inline void StructFieldProto::clear_field_type() { - if (field_type_ != nullptr) field_type_->Clear(); - _has_bits_[0] &= ~0x00000002u; -} -inline const ::zetasql::TypeProto& StructFieldProto::_internal_field_type() const { - const ::zetasql::TypeProto* p = field_type_; - return p != nullptr ? *p : reinterpret_cast( - ::zetasql::_TypeProto_default_instance_); -} -inline const ::zetasql::TypeProto& StructFieldProto::field_type() const { - // @@protoc_insertion_point(field_get:zetasql.StructFieldProto.field_type) - return _internal_field_type(); -} -inline void StructFieldProto::unsafe_arena_set_allocated_field_type( - ::zetasql::TypeProto* field_type) { - if (GetArenaForAllocation() == nullptr) { - delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(field_type_); - } - field_type_ = field_type; - if (field_type) { - _has_bits_[0] |= 0x00000002u; - } else { - _has_bits_[0] &= ~0x00000002u; - } - // @@protoc_insertion_point(field_unsafe_arena_set_allocated:zetasql.StructFieldProto.field_type) -} -inline ::zetasql::TypeProto* StructFieldProto::release_field_type() { - _has_bits_[0] &= ~0x00000002u; - ::zetasql::TypeProto* temp = field_type_; - field_type_ = nullptr; -#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE - auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp); - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - if (GetArenaForAllocation() == nullptr) { delete old; } -#else // PROTOBUF_FORCE_COPY_IN_RELEASE - if (GetArenaForAllocation() != nullptr) { - temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp); - } -#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE - return temp; -} -inline ::zetasql::TypeProto* StructFieldProto::unsafe_arena_release_field_type() { - // @@protoc_insertion_point(field_release:zetasql.StructFieldProto.field_type) - _has_bits_[0] &= ~0x00000002u; - ::zetasql::TypeProto* temp = field_type_; - field_type_ = nullptr; - return temp; -} -inline ::zetasql::TypeProto* StructFieldProto::_internal_mutable_field_type() { - _has_bits_[0] |= 0x00000002u; - if (field_type_ == nullptr) { - auto* p = CreateMaybeMessage<::zetasql::TypeProto>(GetArenaForAllocation()); - field_type_ = p; - } - return field_type_; -} -inline ::zetasql::TypeProto* StructFieldProto::mutable_field_type() { - ::zetasql::TypeProto* _msg = _internal_mutable_field_type(); - // @@protoc_insertion_point(field_mutable:zetasql.StructFieldProto.field_type) - return _msg; -} -inline void StructFieldProto::set_allocated_field_type(::zetasql::TypeProto* field_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation(); - if (message_arena == nullptr) { - delete field_type_; - } - if (field_type) { - ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = - ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::zetasql::TypeProto>::GetOwningArena(field_type); - if (message_arena != submessage_arena) { - field_type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage( - message_arena, field_type, submessage_arena); - } - _has_bits_[0] |= 0x00000002u; - } else { - _has_bits_[0] &= ~0x00000002u; - } - field_type_ = field_type; - // @@protoc_insertion_point(field_set_allocated:zetasql.StructFieldProto.field_type) -} - -// ------------------------------------------------------------------- - -// StructTypeProto - -// repeated .zetasql.StructFieldProto field = 1; -inline int StructTypeProto::_internal_field_size() const { - return field_.size(); -} -inline int StructTypeProto::field_size() const { - return _internal_field_size(); -} -inline void StructTypeProto::clear_field() { - field_.Clear(); -} -inline ::zetasql::StructFieldProto* StructTypeProto::mutable_field(int index) { - // @@protoc_insertion_point(field_mutable:zetasql.StructTypeProto.field) - return field_.Mutable(index); -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::zetasql::StructFieldProto >* -StructTypeProto::mutable_field() { - // @@protoc_insertion_point(field_mutable_list:zetasql.StructTypeProto.field) - return &field_; -} -inline const ::zetasql::StructFieldProto& StructTypeProto::_internal_field(int index) const { - return field_.Get(index); -} -inline const ::zetasql::StructFieldProto& StructTypeProto::field(int index) const { - // @@protoc_insertion_point(field_get:zetasql.StructTypeProto.field) - return _internal_field(index); -} -inline ::zetasql::StructFieldProto* StructTypeProto::_internal_add_field() { - return field_.Add(); -} -inline ::zetasql::StructFieldProto* StructTypeProto::add_field() { - ::zetasql::StructFieldProto* _add = _internal_add_field(); - // @@protoc_insertion_point(field_add:zetasql.StructTypeProto.field) - return _add; -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::zetasql::StructFieldProto >& -StructTypeProto::field() const { - // @@protoc_insertion_point(field_list:zetasql.StructTypeProto.field) - return field_; -} - -// ------------------------------------------------------------------- - -// ProtoTypeProto - -// optional string proto_name = 1; -inline bool ProtoTypeProto::_internal_has_proto_name() const { - bool value = (_has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool ProtoTypeProto::has_proto_name() const { - return _internal_has_proto_name(); -} -inline void ProtoTypeProto::clear_proto_name() { - proto_name_.ClearToEmpty(); - _has_bits_[0] &= ~0x00000001u; -} -inline const std::string& ProtoTypeProto::proto_name() const { - // @@protoc_insertion_point(field_get:zetasql.ProtoTypeProto.proto_name) - return _internal_proto_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void ProtoTypeProto::set_proto_name(ArgT0&& arg0, ArgT... args) { - _has_bits_[0] |= 0x00000001u; - proto_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:zetasql.ProtoTypeProto.proto_name) -} -inline std::string* ProtoTypeProto::mutable_proto_name() { - std::string* _s = _internal_mutable_proto_name(); - // @@protoc_insertion_point(field_mutable:zetasql.ProtoTypeProto.proto_name) - return _s; -} -inline const std::string& ProtoTypeProto::_internal_proto_name() const { - return proto_name_.Get(); -} -inline void ProtoTypeProto::_internal_set_proto_name(const std::string& value) { - _has_bits_[0] |= 0x00000001u; - proto_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* ProtoTypeProto::_internal_mutable_proto_name() { - _has_bits_[0] |= 0x00000001u; - return proto_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* ProtoTypeProto::release_proto_name() { - // @@protoc_insertion_point(field_release:zetasql.ProtoTypeProto.proto_name) - if (!_internal_has_proto_name()) { - return nullptr; - } - _has_bits_[0] &= ~0x00000001u; - return proto_name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void ProtoTypeProto::set_allocated_proto_name(std::string* proto_name) { - if (proto_name != nullptr) { - _has_bits_[0] |= 0x00000001u; - } else { - _has_bits_[0] &= ~0x00000001u; - } - proto_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), proto_name, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:zetasql.ProtoTypeProto.proto_name) -} - -// optional string proto_file_name = 2; -inline bool ProtoTypeProto::_internal_has_proto_file_name() const { - bool value = (_has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool ProtoTypeProto::has_proto_file_name() const { - return _internal_has_proto_file_name(); -} -inline void ProtoTypeProto::clear_proto_file_name() { - proto_file_name_.ClearToEmpty(); - _has_bits_[0] &= ~0x00000002u; -} -inline const std::string& ProtoTypeProto::proto_file_name() const { - // @@protoc_insertion_point(field_get:zetasql.ProtoTypeProto.proto_file_name) - return _internal_proto_file_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void ProtoTypeProto::set_proto_file_name(ArgT0&& arg0, ArgT... args) { - _has_bits_[0] |= 0x00000002u; - proto_file_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:zetasql.ProtoTypeProto.proto_file_name) -} -inline std::string* ProtoTypeProto::mutable_proto_file_name() { - std::string* _s = _internal_mutable_proto_file_name(); - // @@protoc_insertion_point(field_mutable:zetasql.ProtoTypeProto.proto_file_name) - return _s; -} -inline const std::string& ProtoTypeProto::_internal_proto_file_name() const { - return proto_file_name_.Get(); -} -inline void ProtoTypeProto::_internal_set_proto_file_name(const std::string& value) { - _has_bits_[0] |= 0x00000002u; - proto_file_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* ProtoTypeProto::_internal_mutable_proto_file_name() { - _has_bits_[0] |= 0x00000002u; - return proto_file_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* ProtoTypeProto::release_proto_file_name() { - // @@protoc_insertion_point(field_release:zetasql.ProtoTypeProto.proto_file_name) - if (!_internal_has_proto_file_name()) { - return nullptr; - } - _has_bits_[0] &= ~0x00000002u; - return proto_file_name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void ProtoTypeProto::set_allocated_proto_file_name(std::string* proto_file_name) { - if (proto_file_name != nullptr) { - _has_bits_[0] |= 0x00000002u; - } else { - _has_bits_[0] &= ~0x00000002u; - } - proto_file_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), proto_file_name, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:zetasql.ProtoTypeProto.proto_file_name) -} - -// optional int32 file_descriptor_set_index = 3 [default = 0]; -inline bool ProtoTypeProto::_internal_has_file_descriptor_set_index() const { - bool value = (_has_bits_[0] & 0x00000004u) != 0; - return value; -} -inline bool ProtoTypeProto::has_file_descriptor_set_index() const { - return _internal_has_file_descriptor_set_index(); -} -inline void ProtoTypeProto::clear_file_descriptor_set_index() { - file_descriptor_set_index_ = 0; - _has_bits_[0] &= ~0x00000004u; -} -inline ::PROTOBUF_NAMESPACE_ID::int32 ProtoTypeProto::_internal_file_descriptor_set_index() const { - return file_descriptor_set_index_; -} -inline ::PROTOBUF_NAMESPACE_ID::int32 ProtoTypeProto::file_descriptor_set_index() const { - // @@protoc_insertion_point(field_get:zetasql.ProtoTypeProto.file_descriptor_set_index) - return _internal_file_descriptor_set_index(); -} -inline void ProtoTypeProto::_internal_set_file_descriptor_set_index(::PROTOBUF_NAMESPACE_ID::int32 value) { - _has_bits_[0] |= 0x00000004u; - file_descriptor_set_index_ = value; -} -inline void ProtoTypeProto::set_file_descriptor_set_index(::PROTOBUF_NAMESPACE_ID::int32 value) { - _internal_set_file_descriptor_set_index(value); - // @@protoc_insertion_point(field_set:zetasql.ProtoTypeProto.file_descriptor_set_index) -} - -// repeated string catalog_name_path = 4; -inline int ProtoTypeProto::_internal_catalog_name_path_size() const { - return catalog_name_path_.size(); -} -inline int ProtoTypeProto::catalog_name_path_size() const { - return _internal_catalog_name_path_size(); -} -inline void ProtoTypeProto::clear_catalog_name_path() { - catalog_name_path_.Clear(); -} -inline std::string* ProtoTypeProto::add_catalog_name_path() { - std::string* _s = _internal_add_catalog_name_path(); - // @@protoc_insertion_point(field_add_mutable:zetasql.ProtoTypeProto.catalog_name_path) - return _s; -} -inline const std::string& ProtoTypeProto::_internal_catalog_name_path(int index) const { - return catalog_name_path_.Get(index); -} -inline const std::string& ProtoTypeProto::catalog_name_path(int index) const { - // @@protoc_insertion_point(field_get:zetasql.ProtoTypeProto.catalog_name_path) - return _internal_catalog_name_path(index); -} -inline std::string* ProtoTypeProto::mutable_catalog_name_path(int index) { - // @@protoc_insertion_point(field_mutable:zetasql.ProtoTypeProto.catalog_name_path) - return catalog_name_path_.Mutable(index); -} -inline void ProtoTypeProto::set_catalog_name_path(int index, const std::string& value) { - catalog_name_path_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set:zetasql.ProtoTypeProto.catalog_name_path) -} -inline void ProtoTypeProto::set_catalog_name_path(int index, std::string&& value) { - catalog_name_path_.Mutable(index)->assign(std::move(value)); - // @@protoc_insertion_point(field_set:zetasql.ProtoTypeProto.catalog_name_path) -} -inline void ProtoTypeProto::set_catalog_name_path(int index, const char* value) { - GOOGLE_DCHECK(value != nullptr); - catalog_name_path_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set_char:zetasql.ProtoTypeProto.catalog_name_path) -} -inline void ProtoTypeProto::set_catalog_name_path(int index, const char* value, size_t size) { - catalog_name_path_.Mutable(index)->assign( - reinterpret_cast(value), size); - // @@protoc_insertion_point(field_set_pointer:zetasql.ProtoTypeProto.catalog_name_path) -} -inline std::string* ProtoTypeProto::_internal_add_catalog_name_path() { - return catalog_name_path_.Add(); -} -inline void ProtoTypeProto::add_catalog_name_path(const std::string& value) { - catalog_name_path_.Add()->assign(value); - // @@protoc_insertion_point(field_add:zetasql.ProtoTypeProto.catalog_name_path) -} -inline void ProtoTypeProto::add_catalog_name_path(std::string&& value) { - catalog_name_path_.Add(std::move(value)); - // @@protoc_insertion_point(field_add:zetasql.ProtoTypeProto.catalog_name_path) -} -inline void ProtoTypeProto::add_catalog_name_path(const char* value) { - GOOGLE_DCHECK(value != nullptr); - catalog_name_path_.Add()->assign(value); - // @@protoc_insertion_point(field_add_char:zetasql.ProtoTypeProto.catalog_name_path) -} -inline void ProtoTypeProto::add_catalog_name_path(const char* value, size_t size) { - catalog_name_path_.Add()->assign(reinterpret_cast(value), size); - // @@protoc_insertion_point(field_add_pointer:zetasql.ProtoTypeProto.catalog_name_path) -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& -ProtoTypeProto::catalog_name_path() const { - // @@protoc_insertion_point(field_list:zetasql.ProtoTypeProto.catalog_name_path) - return catalog_name_path_; -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* -ProtoTypeProto::mutable_catalog_name_path() { - // @@protoc_insertion_point(field_mutable_list:zetasql.ProtoTypeProto.catalog_name_path) - return &catalog_name_path_; -} - -// ------------------------------------------------------------------- - -// EnumTypeProto - -// optional string enum_name = 1; -inline bool EnumTypeProto::_internal_has_enum_name() const { - bool value = (_has_bits_[0] & 0x00000001u) != 0; - return value; -} -inline bool EnumTypeProto::has_enum_name() const { - return _internal_has_enum_name(); -} -inline void EnumTypeProto::clear_enum_name() { - enum_name_.ClearToEmpty(); - _has_bits_[0] &= ~0x00000001u; -} -inline const std::string& EnumTypeProto::enum_name() const { - // @@protoc_insertion_point(field_get:zetasql.EnumTypeProto.enum_name) - return _internal_enum_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void EnumTypeProto::set_enum_name(ArgT0&& arg0, ArgT... args) { - _has_bits_[0] |= 0x00000001u; - enum_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:zetasql.EnumTypeProto.enum_name) -} -inline std::string* EnumTypeProto::mutable_enum_name() { - std::string* _s = _internal_mutable_enum_name(); - // @@protoc_insertion_point(field_mutable:zetasql.EnumTypeProto.enum_name) - return _s; -} -inline const std::string& EnumTypeProto::_internal_enum_name() const { - return enum_name_.Get(); -} -inline void EnumTypeProto::_internal_set_enum_name(const std::string& value) { - _has_bits_[0] |= 0x00000001u; - enum_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* EnumTypeProto::_internal_mutable_enum_name() { - _has_bits_[0] |= 0x00000001u; - return enum_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* EnumTypeProto::release_enum_name() { - // @@protoc_insertion_point(field_release:zetasql.EnumTypeProto.enum_name) - if (!_internal_has_enum_name()) { - return nullptr; - } - _has_bits_[0] &= ~0x00000001u; - return enum_name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void EnumTypeProto::set_allocated_enum_name(std::string* enum_name) { - if (enum_name != nullptr) { - _has_bits_[0] |= 0x00000001u; - } else { - _has_bits_[0] &= ~0x00000001u; - } - enum_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), enum_name, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:zetasql.EnumTypeProto.enum_name) -} - -// optional string enum_file_name = 2; -inline bool EnumTypeProto::_internal_has_enum_file_name() const { - bool value = (_has_bits_[0] & 0x00000002u) != 0; - return value; -} -inline bool EnumTypeProto::has_enum_file_name() const { - return _internal_has_enum_file_name(); -} -inline void EnumTypeProto::clear_enum_file_name() { - enum_file_name_.ClearToEmpty(); - _has_bits_[0] &= ~0x00000002u; -} -inline const std::string& EnumTypeProto::enum_file_name() const { - // @@protoc_insertion_point(field_get:zetasql.EnumTypeProto.enum_file_name) - return _internal_enum_file_name(); -} -template -inline PROTOBUF_ALWAYS_INLINE -void EnumTypeProto::set_enum_file_name(ArgT0&& arg0, ArgT... args) { - _has_bits_[0] |= 0x00000002u; - enum_file_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast(arg0), args..., GetArenaForAllocation()); - // @@protoc_insertion_point(field_set:zetasql.EnumTypeProto.enum_file_name) -} -inline std::string* EnumTypeProto::mutable_enum_file_name() { - std::string* _s = _internal_mutable_enum_file_name(); - // @@protoc_insertion_point(field_mutable:zetasql.EnumTypeProto.enum_file_name) - return _s; -} -inline const std::string& EnumTypeProto::_internal_enum_file_name() const { - return enum_file_name_.Get(); -} -inline void EnumTypeProto::_internal_set_enum_file_name(const std::string& value) { - _has_bits_[0] |= 0x00000002u; - enum_file_name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation()); -} -inline std::string* EnumTypeProto::_internal_mutable_enum_file_name() { - _has_bits_[0] |= 0x00000002u; - return enum_file_name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation()); -} -inline std::string* EnumTypeProto::release_enum_file_name() { - // @@protoc_insertion_point(field_release:zetasql.EnumTypeProto.enum_file_name) - if (!_internal_has_enum_file_name()) { - return nullptr; - } - _has_bits_[0] &= ~0x00000002u; - return enum_file_name_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation()); -} -inline void EnumTypeProto::set_allocated_enum_file_name(std::string* enum_file_name) { - if (enum_file_name != nullptr) { - _has_bits_[0] |= 0x00000002u; - } else { - _has_bits_[0] &= ~0x00000002u; - } - enum_file_name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), enum_file_name, - GetArenaForAllocation()); - // @@protoc_insertion_point(field_set_allocated:zetasql.EnumTypeProto.enum_file_name) -} - -// optional int32 file_descriptor_set_index = 3 [default = 0]; -inline bool EnumTypeProto::_internal_has_file_descriptor_set_index() const { - bool value = (_has_bits_[0] & 0x00000004u) != 0; - return value; -} -inline bool EnumTypeProto::has_file_descriptor_set_index() const { - return _internal_has_file_descriptor_set_index(); -} -inline void EnumTypeProto::clear_file_descriptor_set_index() { - file_descriptor_set_index_ = 0; - _has_bits_[0] &= ~0x00000004u; -} -inline ::PROTOBUF_NAMESPACE_ID::int32 EnumTypeProto::_internal_file_descriptor_set_index() const { - return file_descriptor_set_index_; -} -inline ::PROTOBUF_NAMESPACE_ID::int32 EnumTypeProto::file_descriptor_set_index() const { - // @@protoc_insertion_point(field_get:zetasql.EnumTypeProto.file_descriptor_set_index) - return _internal_file_descriptor_set_index(); -} -inline void EnumTypeProto::_internal_set_file_descriptor_set_index(::PROTOBUF_NAMESPACE_ID::int32 value) { - _has_bits_[0] |= 0x00000004u; - file_descriptor_set_index_ = value; -} -inline void EnumTypeProto::set_file_descriptor_set_index(::PROTOBUF_NAMESPACE_ID::int32 value) { - _internal_set_file_descriptor_set_index(value); - // @@protoc_insertion_point(field_set:zetasql.EnumTypeProto.file_descriptor_set_index) -} - -// repeated string catalog_name_path = 4; -inline int EnumTypeProto::_internal_catalog_name_path_size() const { - return catalog_name_path_.size(); -} -inline int EnumTypeProto::catalog_name_path_size() const { - return _internal_catalog_name_path_size(); -} -inline void EnumTypeProto::clear_catalog_name_path() { - catalog_name_path_.Clear(); -} -inline std::string* EnumTypeProto::add_catalog_name_path() { - std::string* _s = _internal_add_catalog_name_path(); - // @@protoc_insertion_point(field_add_mutable:zetasql.EnumTypeProto.catalog_name_path) - return _s; -} -inline const std::string& EnumTypeProto::_internal_catalog_name_path(int index) const { - return catalog_name_path_.Get(index); -} -inline const std::string& EnumTypeProto::catalog_name_path(int index) const { - // @@protoc_insertion_point(field_get:zetasql.EnumTypeProto.catalog_name_path) - return _internal_catalog_name_path(index); -} -inline std::string* EnumTypeProto::mutable_catalog_name_path(int index) { - // @@protoc_insertion_point(field_mutable:zetasql.EnumTypeProto.catalog_name_path) - return catalog_name_path_.Mutable(index); -} -inline void EnumTypeProto::set_catalog_name_path(int index, const std::string& value) { - catalog_name_path_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set:zetasql.EnumTypeProto.catalog_name_path) -} -inline void EnumTypeProto::set_catalog_name_path(int index, std::string&& value) { - catalog_name_path_.Mutable(index)->assign(std::move(value)); - // @@protoc_insertion_point(field_set:zetasql.EnumTypeProto.catalog_name_path) -} -inline void EnumTypeProto::set_catalog_name_path(int index, const char* value) { - GOOGLE_DCHECK(value != nullptr); - catalog_name_path_.Mutable(index)->assign(value); - // @@protoc_insertion_point(field_set_char:zetasql.EnumTypeProto.catalog_name_path) -} -inline void EnumTypeProto::set_catalog_name_path(int index, const char* value, size_t size) { - catalog_name_path_.Mutable(index)->assign( - reinterpret_cast(value), size); - // @@protoc_insertion_point(field_set_pointer:zetasql.EnumTypeProto.catalog_name_path) -} -inline std::string* EnumTypeProto::_internal_add_catalog_name_path() { - return catalog_name_path_.Add(); -} -inline void EnumTypeProto::add_catalog_name_path(const std::string& value) { - catalog_name_path_.Add()->assign(value); - // @@protoc_insertion_point(field_add:zetasql.EnumTypeProto.catalog_name_path) -} -inline void EnumTypeProto::add_catalog_name_path(std::string&& value) { - catalog_name_path_.Add(std::move(value)); - // @@protoc_insertion_point(field_add:zetasql.EnumTypeProto.catalog_name_path) -} -inline void EnumTypeProto::add_catalog_name_path(const char* value) { - GOOGLE_DCHECK(value != nullptr); - catalog_name_path_.Add()->assign(value); - // @@protoc_insertion_point(field_add_char:zetasql.EnumTypeProto.catalog_name_path) -} -inline void EnumTypeProto::add_catalog_name_path(const char* value, size_t size) { - catalog_name_path_.Add()->assign(reinterpret_cast(value), size); - // @@protoc_insertion_point(field_add_pointer:zetasql.EnumTypeProto.catalog_name_path) -} -inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& -EnumTypeProto::catalog_name_path() const { - // @@protoc_insertion_point(field_list:zetasql.EnumTypeProto.catalog_name_path) - return catalog_name_path_; -} -inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* -EnumTypeProto::mutable_catalog_name_path() { - // @@protoc_insertion_point(field_mutable_list:zetasql.EnumTypeProto.catalog_name_path) - return &catalog_name_path_; -} - -#ifdef __GNUC__ - #pragma GCC diagnostic pop -#endif // __GNUC__ -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - -// ------------------------------------------------------------------- - - -// @@protoc_insertion_point(namespace_scope) - -} // namespace zetasql - -PROTOBUF_NAMESPACE_OPEN - -template <> struct is_proto_enum< ::zetasql::TypeKind> : ::std::true_type {}; -template <> -inline const EnumDescriptor* GetEnumDescriptor< ::zetasql::TypeKind>() { - return ::zetasql::TypeKind_descriptor(); -} - -PROTOBUF_NAMESPACE_CLOSE - -// @@protoc_insertion_point(global_scope) - -#include -#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_type_2eproto diff --git a/proto/type.proto b/proto/type.proto deleted file mode 100644 index 738482f9..00000000 --- a/proto/type.proto +++ /dev/null @@ -1,139 +0,0 @@ -// -// Copyright 2019 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -// LINT: LEGACY_NAMES -syntax = "proto2"; - -package zetasql; - -import "google/protobuf/descriptor.proto"; - -option cc_enable_arenas = true; -option java_package = "com.google.zetasql"; -option java_outer_classname = "ZetaSQLType"; - -// NEXT_ID: 29 -enum TypeKind { - // User code that switches on this enum must have a default case so - // builds won't break if new enums get added. - __TypeKind__switch_must_have_a_default__ = -1; - - // This can be used by consumers to record an unknown type. - // This is not used internally by ZetaSQL. - // Most functions that take TypeKind will fail on TYPE_UNKNOWN. - TYPE_UNKNOWN = 0; - - TYPE_INT32 = 1; - TYPE_INT64 = 2; - TYPE_UINT32 = 3; - TYPE_UINT64 = 4; - TYPE_BOOL = 5; - TYPE_FLOAT = 6; - TYPE_DOUBLE = 7; - TYPE_STRING = 8; - TYPE_BYTES = 9; - TYPE_DATE = 10; - TYPE_TIMESTAMP = 19; - TYPE_ENUM = 15; - TYPE_ARRAY = 16; - TYPE_STRUCT = 17; - TYPE_PROTO = 18; - - // TIME and DATETIME is controlled by FEATURE_V_1_2_CIVIL_TIME - TYPE_TIME = 20; - TYPE_DATETIME = 21; - - // GEOGRAPHY is controlled by FEATURE_GEOGRAPHY - TYPE_GEOGRAPHY = 22; - - // NUMERIC is controlled by FEATURE_NUMERIC_TYPE - TYPE_NUMERIC = 23; - - // BIGNUMERIC is controlled by FEATURE_BIGNUMERIC_TYPE - TYPE_BIGNUMERIC = 24; - - // Extended types are controlled by FEATURE_EXTENDED_TYPES - TYPE_EXTENDED = 25; - - // JSON is controlled by FEATURE_JSON_TYPE - TYPE_JSON = 26; - - // INTERVAL type is controlled by FEATURE_INTERVAL_TYPE - TYPE_INTERVAL = 27; - - // TOKENLIST type is controlled by FEATURE_TOKENIZED_SEARCH - TYPE_TOKENLIST = 28; -} - -// This represents the serialized form of the zetasql::Type. -message TypeProto { - optional TypeKind type_kind = 1; - - // If the type is not a simple type, then one (and only one) of these - // will be populated. - optional ArrayTypeProto array_type = 2; - optional StructTypeProto struct_type = 3; - optional ProtoTypeProto proto_type = 4; - optional EnumTypeProto enum_type = 5; - - // These s may (optionally) be populated only for - // the 'outermost' TypeProto when serializing a ZetaSQL Type, - // in particular when the TypeProto is created using - // zetasql::Type::SerializeToSelfContainedProto(). They will not be - // populated for nested TypeProtos. If populated, they must capture all file - // dependencies related to the type and all of its descendants, in order - // be used for deserializing back to the ZetaSQL Type. If they are not - // populated, then deserialization can still be done if the relevant - // FileDescriptorSets are provided to deserialization independent of this - // proto. One FileDescriptorSet is created for every distinct DescriptorPool - // from which an enum or proto type contained within this type originates. - // For example, serializing a struct with two proto fields from different - // DescriptorPools would result in two FileDescriptorSets. - repeated google.protobuf.FileDescriptorSet file_descriptor_set = 6; -} - -message ArrayTypeProto { - optional TypeProto element_type = 1; -} - -message StructFieldProto { - optional string field_name = 1; - optional TypeProto field_type = 2; -} - -message StructTypeProto { - repeated StructFieldProto field = 1; -} - -message ProtoTypeProto { - // The _full_ name of the proto without the catalog name. - optional string proto_name = 1; - optional string proto_file_name = 2; - // The index of the FileDescriptorSet in the top-level TypeProto that can be - // used to deserialize this particular ProtoType. - optional int32 file_descriptor_set_index = 3 [default = 0]; - repeated string catalog_name_path = 4; -} - -message EnumTypeProto { - // The _full_ name of the enum without the catalog name. - optional string enum_name = 1; - optional string enum_file_name = 2; - // The index of the FileDescriptorSet in the top-level TypeProto that can be - // used to deserialize this particular EnumType. - optional int32 file_descriptor_set_index = 3 [default = 0]; - repeated string catalog_name_path = 4; -} diff --git a/samples/sample-arbitrary-dependency-graph-with-drop-statement/insert.sql b/samples/sample-arbitrary-dependency-graph-with-drop-statement/insert.sql index adfbae93..6bd49f0c 100644 --- a/samples/sample-arbitrary-dependency-graph-with-drop-statement/insert.sql +++ b/samples/sample-arbitrary-dependency-graph-with-drop-statement/insert.sql @@ -1,3 +1,3 @@ INSERT INTO `dataset.main` SELECT - 1; + 1, STRUCT("test", "", STRUCT(4)); diff --git a/samples/sample-arbitrary-dependency-graph-with-drop-statement/insert_before_reference.sql b/samples/sample-arbitrary-dependency-graph-with-drop-statement/insert_before_reference.sql index dc435e85..7f05c7be 100644 --- a/samples/sample-arbitrary-dependency-graph-with-drop-statement/insert_before_reference.sql +++ b/samples/sample-arbitrary-dependency-graph-with-drop-statement/insert_before_reference.sql @@ -3,4 +3,4 @@ SELECT "this table is intended to be deleted by DROP TABLE IF EXISTS statements in SQL files that reference a table after this query finished" AS explanation; INSERT INTO `dataset.main` SELECT - 1; + 1, NULL; diff --git a/samples/sample-ci/alphacheck_stdout.txt b/samples/sample-ci/alphacheck_stdout.txt index 9f69e1d5..b27f65fd 100644 --- a/samples/sample-ci/alphacheck_stdout.txt +++ b/samples/sample-ci/alphacheck_stdout.txt @@ -1,6 +1,6 @@ Analyzing "samples/sample-ci/sample/create_datawarehouse3.sql" ERROR: INVALID_ARGUMENT: Table not found: `bigquery-public-data.samples.gsod` [at samples/sample-ci/sample/create_datawarehouse3.sql:5:3] catalog: + dataset.main tablename1 tablename2 - dataset.main diff --git a/samples/sample-schema.json b/samples/sample-schema.json index 3b947f88..4111c07b 100644 --- a/samples/sample-schema.json +++ b/samples/sample-schema.json @@ -1,12 +1,66 @@ { - "tablename1": [ - {"mode": "NULLABLE", "name": "column1", "type": "STRING", "description": null} - ], - "tablename2": [ - {"mode": "NULLABLE", "name": "column1", "type": "STRING", "description": null}, - {"mode": "NULLABLE", "name": "column2", "type": "INT64", "description": null} - ], - "dataset.main": [ - {"mode": "NULLABLE", "name": "x", "type": "INT64", "description": null} - ] + "tablename1": [ + { + "mode": "NULLABLE", + "name": "column1", + "type": "STRING", + "description": null + } + ], + "tablename2": [ + { + "mode": "NULLABLE", + "name": "column1", + "type": "STRING", + "description": null + }, + { + "mode": "NULLABLE", + "name": "column2", + "type": "INT64", + "description": null + } + ], + "dataset.main": [ + { + "mode": "NULLABLE", + "name": "x", + "type": "INT64", + "description": null + }, + { + "mode": "NULLABLE", + "name": "str", + "type": "RECORD", + "description": null, + "fields": [ + { + "mode": "NULLABLE", + "name": "aaa", + "type": "STRING", + "description": null + }, + { + "mode": "NULLABLE", + "name": "ooo", + "type": "STRING", + "description": null + }, + { + "mode": "NULLABLE", + "name": "a", + "type": "RECORD", + "description": null, + "fields": [ + { + "mode": "NULLABLE", + "name": "b", + "type": "INTEGER", + "description": null + } + ] + } + ] + } + ] } diff --git a/samples/sample/create_interim3.sql b/samples/sample/create_interim3.sql index 6403102c..ee3a17e4 100644 --- a/samples/sample/create_interim3.sql +++ b/samples/sample/create_interim3.sql @@ -7,4 +7,9 @@ UNION ALL SELECT x FROM - datawarehouse3; + datawarehouse3 +UNION ALL +SELECT + str.a.b +FROM + `dataset.main`; diff --git a/samples/sample/external_tables.txt b/samples/sample/external_tables.txt index e69de29b..324debb9 100644 --- a/samples/sample/external_tables.txt +++ b/samples/sample/external_tables.txt @@ -0,0 +1 @@ +dataset.main diff --git a/samples/sample/side_effect_first/external_tables.txt b/samples/sample/side_effect_first/external_tables.txt index e69de29b..324debb9 100644 --- a/samples/sample/side_effect_first/external_tables.txt +++ b/samples/sample/side_effect_first/external_tables.txt @@ -0,0 +1 @@ +dataset.main diff --git a/samples/sample/side_effect_first_with_tables/dag.dot b/samples/sample/side_effect_first_with_tables/dag.dot index 9134fe06..33d28bc3 100644 --- a/samples/sample/side_effect_first_with_tables/dag.dot +++ b/samples/sample/side_effect_first_with_tables/dag.dot @@ -9,31 +9,33 @@ digraph G { 7 [label="samples/sample/test_mart1.sql", shape="", type=query]; 8 [label="samples/sample/test_mart2.sql", shape="", type=query]; 9 [label="samples/sample/test_mart3.sql", shape="", type=query]; -10 [label=datawarehouse1, shape=box, type=table]; -11 [label=datawarehouse2, shape=box, type=table]; -12 [label=datawarehouse3, shape=box, type=table]; -13 [label=interim1, shape=box, type=table]; -14 [label=interim2, shape=box, type=table]; -15 [label=interim3, shape=box, type=table]; -16 [label=mart, shape=box, type=table]; -0->10 ; -1->11 ; -2->12 ; -3->13 ; -4->14 ; -5->15 ; -6->16 ; -10->3 ; +10 [label="dataset.main", shape=box, type=table]; +11 [label=datawarehouse1, shape=box, type=table]; +12 [label=datawarehouse2, shape=box, type=table]; +13 [label=datawarehouse3, shape=box, type=table]; +14 [label=interim1, shape=box, type=table]; +15 [label=interim2, shape=box, type=table]; +16 [label=interim3, shape=box, type=table]; +17 [label=mart, shape=box, type=table]; +0->11 ; +1->12 ; +2->13 ; +3->14 ; +4->15 ; +5->16 ; +6->17 ; 10->5 ; -10->6 ; 11->3 ; -11->4 ; -12->5 ; +11->5 ; +11->6 ; +12->3 ; 12->4 ; -13->6 ; +13->5 ; +13->4 ; 14->6 ; 15->6 ; -16->9 ; -16->8 ; -16->7 ; +16->6 ; +17->9 ; +17->8 ; +17->7 ; } diff --git a/samples/sample/side_effect_first_with_tables/dag.png b/samples/sample/side_effect_first_with_tables/dag.png index 364d05bdf66e59c9b93d97552353b494e4f6ffd1..f4491c38b06f6ba494760be776f5ab095903b18a 100644 GIT binary patch literal 90294 zcmb5Wby!tvv^~5r08vVik`PctB$aMqBMJi2DIL1@3r3b#++l0G3E|_EH90ZM}>z%q3|C*Kr5k8=R;7aGoHBE z@Ef^j8O87)Y(rUTH0l)j=UsJXGzxVM^$>ke#Vv8^m%A5<^NHA+dL%cS9LJm-VLF>@ zD}F9>5at@@T52=B+q00Byu5;iqQfWoV_%B$7OT(PF2KA?)nQ0|Qi0Zz7x~gsg(VP4_+kEg39`9L^ZlQn zsY3$|8UB5x%18Wve(LDy!oTLArj<)3m?U4Lr>PnI<%{6HkFzt6g@wfO!<~ipNdOK1*&dZSXrUn-7EU6og5t{_4VKN zpkFftZ+>o5x1B5HWE{IMEps6BF#nn3$M*ryHu% z)6-9_thn8+rKHYNQBmc@r`%7w=j~nHx2*C}z5LYLBq2#}D+oUO+|;PWusO$PeC_8Dl+`2Jy4Z7aa@Y1AXmzu?&Ii{+0RNzQ<6_ez+S5ji~Z~p^wi9B^w~;x z#>Lk%H&FGLVg%jUuDgttW#e`z;w#nxJQN@;r(E~MYT5@=;%oaf`2V<6n!d|7V! zf=#<+n9zEE#Lk_Q=iRYq0zTh;_fc_V=D}*kmgxTBq2&9=*REX?_i5|wB*Y6m^X%C( z2jbzeF}j+X8rW59ySvij;wTlC7%$6q&xdH^aM+0cUNIYL*?khZYLeM~simc4umLto zi$3P`%{x8L?!!(}lpS;kqW$TB^GGZct0zq@{%ZS3@6*(oIdV-l6P=|}v~q<>V${ri z&xb=d&2558+3<+u!iQ}_YHP)+s;Vv(^}|?TyWryDzC0!0D()W{8M&_K?d|<%b~fni zSMe+rmh3TE1_sLqBdr@74*nsU~FgB*Q zQn@gj-TVEQd~T|SN>?cN*FFPDV~3|r4r6(o}jdsi(RYw30JSEtEpip$>W6IXAJUz zQ{yD~BvfxF{d9Zg{+EY!w~zA=;UGs+lE?W!e@;Y78UR=EAFIfG)4cs)gv3!mTT#)# zCG*qC@y5o6X{2eC;By}zpT{gQOy>nBY4m1_)O-W7xGki94EHD2V05BYtok|pD9o(g z-34I(u&}UP!p3=XJLf@9R&H+0=|IB7^z``{8Iza!u;!*hwKE&42T9Uo#1+XO4hp;F zRVI@@9qe1QyLy?gJ#h4Yl>R)gLNuo$$9j1_6vp$`Tv)$DhpzNvP7F5AoPwl>k8I`% zJpCOCToZP^vuDo4w`8Nf1QQT%dofq{J|$^+WA=tUY{idu!{pE5SoX!E|k9q4;!Sx`QD5L|Oc;h1sh+wz zo;h>o(m@eS4%wA&XU?9Tu9{Z#pMuD2F;(-iqHD8z72=@jVX;!3rXWlEo3b+3&|{6` zu}bH~7vtml=WuW~4=&OWU2LRz3<15@f(P&7Mf>dqRRN-mg!M@&DJdpB%(hro|L7N& zT}R5>;Wjq6%<`X9nmT;JpWn1$S8o>~BPKT3z9rBi$Vyrk4MA9^+T#k0 zlbMwjZD2qj5)v}?J-y@U!-v5SgH$q<=&xTt2Lr?Q)NKXllN#!+&Sz59B?m z@5@$K)Y7uBvvD4uF<5S&{7l9`!V+}@rm4|zZv=Xs&b8{UIIe?E3v9*!9k z3D$Yzv~WxIprCuTDKkisB?gy(;J$_i16UsdBlz~ShA|o^12;{ncy}`<@NKyuE{k~_u4SRKaabTK8y?Yskfi0B% z#cBR|bMu3MpddyD1_^>m_Ia_9?RFMcs@F+Lwe;(%j`QP zmY9v5J4{U2_V)G<9y}2D@)DkyoYWk2RK&-}FNXo#>o7GlYdyU=kgpe)vbeYy3eWGK z*w;CnmBkD&MZnG+gBezU;NSq)P9w{(iYemd;2`AT;X&EZ=28$7)7x^`R!oyMeE;4m zFjDR5io=0FB>V8;1$cmIZ5Nl)BVPvyC>2DhkC}hMpWV+Ty)NnM>YD3H!!a~8bPK>I zcBX={zyW?;7T0tZ|+@Ux)X zLkuQSR#7o(v@iy{0yzk`Z(jtc`zo?|ZF`%iMQwf;&I}I6`4U*#hHKi}hsE6j&mi?q zOiU1wlbe+iQ9~$Xti)h)-gP~_g!f(PH_SUDJOxCRvv!-@N?crA4mC38r}p;TMjcw& zsKzirSotIHj&qB#L7{tW%*s-Ohq$s@}cApkCNN^G>9(K(; zHMg{IQCwhj_SquD!Gpb$uUq}I*4Ov?jT;7E{jeT9dbH#egc8t_lswD+Fr%JJJ_o3DhYu4J$9CEt*Q)kj=(WbCU}m?qA};DD&CKO`!*PI z7K$&l86pa-0QqGSl4_D=CMH9eH*6stBSS-emN%H@3$Nqiu2P%3uZ#*98yk-w?QdpfXZuUM7l)bV z)c=aQM9p7NzntzIBC*~WN*_KL@nrq3(+M;C>!=3ww^9LcvrER!iwSz1_woV zcXuYKHpkfx%7B#ugZh`RUOj*PnsjS*EQKc9^mT0P56T3%ik|PWYK@^CggNX>6#6fV zj}Nvd<<%J&$W?W9+3DWi3bztL=Hn9&3k#k<4&i+VhdWA2N}OJMb^u3l%Dzl~%FeDY zH2VG$uJ!pdH?^3L4(({V(#NSfxr4t6SDFv%kR|cVo_%j6ZvH?)K^hKvRdqF&aWm2Nn>QJ6-Fmo^v*ARH zMyL18+pSMXA+t2q63y?m$4NjZdMW(=S*X;)D7entx^?S;ygUrlAyWh&vgO&1L;-&o znt&09PC1H?k8f+`*VUGm7K%H@7#-@BoJFV?FHO(Rw$h9keUG4LW5b7;gL(?q=d9gg zZrKmYk!*DiX}$piWQp(W3>F$8AslentLSJh!v@?6=24jR@`?(9FD+>Fls=@LjVO_u z@`>VFT2#npc<}-oEiK(DW%M!Mbd~WbjV^QlQ|`e^SB{gzu~Wm-ljG**W^pJSCDpKr zi7N;`GJC9z-*dm-2@8#ds`lJ%%2G_Tn@w_^=nz_U8tM{)n8xq2M4_atTC>-YpPl8h8RZWm$Y)|;7*GRninCnfeTeLh zrl$L_g^5UR$~VBtL8dK}_K&ibR)}rwF`1Cd(pP{+@71!2DJg@6R;x(LetXe83Ryh={z1(iqf+!r7O+dC<1%VqW$tp2VZEVaJs zbF?mPY-*Y+8^=x|;=yfGd+d@N;SZZ|W}-24L-BT{>nd;ayO!viMh9E-n1~3QO|RkH z$B7UCJH<|^wM(t)0xyySwt0cP1s z`W}vq30l?FsV%-sKe=p6bhN2hw9IVS=h2u>?7f42Xl)#JcIMY@K>red)9XeWWfA%V$ zO~XukLZR=ekDHsDKK$wpzkO5^Qj24P1*Vrj4DT{63l#6H+%1qNq}ii?Tq z=prFB4Oai0XAu~Iyp$##$-u*NrP5_t0yZgB{!H?T7>KrpO<|Ps_8o@@2Oh|}>UnQp zaakI~f*SCiKej=4`a_qi?NU3Z)cle=oJQK2#WOi~O|3LFDMgRBlyxc`&MSX-RJXT2 zxqMQ)z(RQu1-bEooSc+}1&hz#9~^kbOEiL{cTL;AR=IC#>2Z^}s3a#;;> zVu>T!X(EtZmq_gNs2Da>!EDY$T>GU#uEM8X3|QhhS|vYbdc+_eQHc3ewP#w&mTKT2 z&s%EV!vs5&keGyIa_+xHMX!JnDOTEb&nV56%It#~l6o zbetYk0(jDVozq-Kwib&XcCpi+Gdki6CHVC^lEr*=0qBMX1f2UbJ$(a(DKF<&)X;c3 zu>ZxPL$}gJE=Q+A=~1$1sUY6^Pg|$*S}rlz^tv={h66zLU!#s zoOeu44y!a@u5!Wb>{rdAAj%QJBp$OQHX~VCSt%WzM7O;^L5(!7qx7S{el=o<8J9%$ z)Y}K+qBWTb_B!JI1)l?lY8?a=x20?d7XAhfBQP+69e* za}Qc804}?{?F1l!oM|@?53TJlI~FO`qpoA#aQZ%{B^Z<>CQ`Shh|xi!UA`mcX{$|b zKK}LDUaQ{8^XQuj69am_jS$G!JAF?`L_D^>_9%#jx5jY@eF@IW&;Nd~y%_cSb-*p< z5AV{`&)rtb5eIOJX=bcn6RmCG919~GPN&L^ zcz=K2Z6f%l-TsCNt9EHy-llV3A_UMz$VThGT*sj5pv$k?z$2g$3?OE_j~uAM63e)> z1Y8uq#}>0`M`AEUFhh85w}p?H$W@lcYUz+0*Z?$@<|{;2<{hJnf}_qYqh}E*#chK- z+kNVKf7brgYn0j0_#DjNtlIc-8_82X`_tr=9RsR&)jq0BtW>Tx{fN1Z6g##x``8f1 z>Yks!NCXEJW{w<6Ycjdk4}HUM5UX~7dji1z3h!PY89N~Z&|U|%5tnHjMW*O%TJbC1 zh#iexh+FfI>v~?7=J`hyB|?mAg4jN4v+3yST4oU>?^)KVo48((^QS&2O(8{eSx~{# zMq4lhPW2y{1t>_c)N(YQ0Wf`MJ65yzYt<(Rc6rcebI48>`y}CbUj)=a;WIz z)1TW}9tnc@@U_1FtoOlI9h{!2T0PiJkmwM=d_SDZq@XY_FR!W8dc>N-JoR_zo@!B;rGueF> zh1MgyiDJIAP&>R4@#IBT1yIL`@kvKRYwN|$+0O5y6^@05jd(}33a2cFVb3e(XKXMu6 zI*wSE{V5%>k%Uy5?7gFTiSo`lI&_W|Z2Is2gDEBWb2-=j1yn`lPq2#Q4Y>6Fu>ObQ{F9FQ|ehlYky;V~yB zBgM!ha1nqR_44I46vp>xlFqOzRceCJch7&WJ0rCG^yIMdlWKMYEJ33rp~!X6O&Vb1 zP0s_1s0(D=1z9%Zk!IvhjDE@%9ZH%e_<+K3zp|ypcETR+tSvrh5vS&#P{Dx;Fx zd1%>~k2Y-ob(nK$A9)C`_#MQmfP#*WkELW}LXI>XQ)n!Ij|~rNVSSx&B<159gEhlU zO&KGQ4+ypfay>8l=g*&`?d%GUs2x+XJ0SLGgwY78feIEZ8ALGT?GqjzK2e85M+##% zgo4f`MNfLtYM%i;;@BS_Rx;pG;6%e+Ld!bjqZwT&@!5Lh_wc1+sSd4Ig}K&gB6mtN z=1aE^BW?&-W`|w*<|1(W0wE!Je)W!4ai_Uu6JD3QV<}8X)xkpcxAykj#%-(H5PC>y zX=x{-q-lv&RaKYobVhu;ve`HsWhVDlGGN%iq%c?#sJ`T?T2Fhr%@W~6EdQ!h4+sdrK;Ghe>&|=H(3my1CG-lXjo$n9#t>tIBQWt=ZIJPo@Gnz>C<`+RYB3Gk$}g&7+S7 zWjU&^qcF%)_*e}UnEJ(j7>{(5xEr6CrCZGo2wZSixk07MyS+`4GuB`!(mR8*I(M%J&>zW zD1jpS9!baNCU0ehoXppB3EbwdsK2twDP#I;$s>g~FtA^-g{q-GV?q8M%g@cd0@;fA zbl3OPjI$E}KQ06gdpK?M0YrDrI=Cy|e0@nTIb~(?4S1Z1s#EFR&)E=>-(Xb!bHw?&uK4=A3n0tm|Hm zE1|rNUMySAZQ<0O&bdK3GR!;7XvFr`M!RP9^XuZ$9~$&l3B?dhY{x_ali%Q`3LmO1 z<5rNptA;zXRC}_`@n>a)-RETAtg_?g&70Cd`G$@iueiD-DM(L+>>FA)X%*254!ef; z8|M)1EVpWP^Eo!v@j zH$KQEytpA7+w415>6$N`cnHx0_~g6%Wf@Lyf=<>B;H_uN-S?iS1E2y*pb;2+c)ar{ zpzQ)PGjAU3u5yU2X2j`!OR%j8hT=OxM8|TnDLe~c1Kr6Q&VC^f-;gi=z{r5HuyJum zy?gf#1qW!upfj(Wpp6akr;z{KZSrpx>v^y+2QWkU8tLIsy((}rQ8J`%4(!kuBO&< zfF08EZ(|yTM1JC{yjEWU)Px`zf@$#^62P>pYx_HPztj0PL@`RQ4O`|@R^31SY5T>! zymz558zw0b2*1DOWWoUQQ7E_#mj(-65~QW4t@h7+7BS0h*YM24@yzq@2e5Zw?P+zeVX^cQ@N%y$kuwL2UBS(z-rJ58!W$2 zTCacfP`_Q!@k1C`2pSOx-f}Z#95B}RS2twWpsb$+P^8vLqTiv#!p=^RUwa}L%clJT zqWs9zXumZ(>Fm@L3UvU`r2nBnE?_<)Lg6(OV1Ni@rh!qA2H^$u&U1HV4}c&LX#`=E zcM(b*7#@w{p3R*dUiU}uAEU%W)o(3(?WM(mif2@07vnYA1zO{S4bP6gilnwR+8vzzYj)SiEwrcj@4e^rnv_DVSLy`~Hz!rXAlZJ;xj1XGYQFoCZ#Z*#6W@s^%n z>1<93<;Bmd9tC}Z$n58im6kEpTNTojavN!n-1mf)=_xU3I`cxnvNi0yRa~)bENk7W z@2O`6(a(7IJ4U%ZK;!}ruFKnO267hye@p3yV!KAKLS7?n4>{?>ysr4L^GhRfB~CN~ z+IoPr2Gck!SG-YHJ#oufl#44X5wppj1UQ7W4SZu>{*Z8)V`Q>tE^r^8ihqEzGYB+x zs0QneEA@X($F@@lyK$1@o#(Y4?nPD-DV%`l(5Q0b+FAJ(N-z0h93TP8PwaHR(`_=G zZ>?Y3_Rq=TYT2PGv!$h_qKZlYP*?HCl|ex`?7%}N$q!6%$7|D~5J+g+_Qqh{GSQv} z^`UiWa1a9q2Z%M_KkaA;iplmz`?zTe{)&Cz$&o>_&c`EWIbznnnC!7|>-Fo``bc5A z`^&Y^xaBgdPB~EmpY456r(p4>MOI_wd#JT@@6Ipe0Hul@`Ms%00$dNw%*_+#Jg`iv z+PO)#z-gn#;Xz#9=HK22Mi3O`?hjqRVkx)`&()k9SVDdsb{3_HxjTLF=T2e?uhFxe zCxoS1I1tojX9wah6*syJc86J8UtNwWjFlhIkZ#lX$}3RmFfDV5R+s`RSKEY{mavjU zr}r5U3gA)zIU9hhiAqYc9@vL7_=cn3)Jisg{^=MGWEDT}!=l(cMzh6MtuHzqy>ZJJ z%4}QU;9wV7MoUf1%v|sjuna^B5JW?{b@?nWGbxw`3?P}i&1b~DjE^7gZxKj>#q`=4 zGF#i+tOraS0E`7eU|=9J)j)==H(j;Whn&BmD!crv3+zMEFbOLav$Vy&bo_SLVD6AJ zP9dzTruHII?4*2X8q2S{TZxpE^ct|xKDpVsXTKgf$OMsC4;IvoJ7;8M3>KNlMlTl{ z`^4tl1cKRLF*o+nz~yd-Wzg(eW>r&@eUd2x`*tjucY4E?#8&J^3VDu|?-A_}HCCZ9fi;&ffn z0aMb%ZtZFHlUW`p)esgPFa<)FJ(=z6DmSdrNGSB%{GUjQtY1W8E(f@0Rv&q5Lfp1{ zq{jAd$;iw5@d>puz|k;?d0@% zZDZpyuu$X>;jZZU>}R-*Kf{3{N~*Y(F@PvrJ)aC_*nS=<$@>QeLhJl-E}|x2*N~nb zulhCugUz^7y{oIJtjySX)ep=cQF>-AN35C(ATyES1xi3!uL=6=Ly%!g`Jc$nISF=U zD$u=G`q%(uQvi_!>@~2|;Ud3)P~HfsBG)EGExY7t#dU};zUNTuP@esWY>(%W-J0vF zA5SHWl`k$?ZG`d*kVocGG9G<{_wKKoAXlNColA}efm#YkNl9sLZ;zon1Udu_WdC0q zOe6{eA^u{n+HJLbT{c4_BPk7yH|6$|_lr|#WQRZHXJtJ=5rvYm-8mHH0GNtkUclbxz&U4Uo%bG2_C9UV2i;W8RtX2=7e zKqQl)H0szX0ySyvlbIo6e(f6Eu2Lkf1Qu8&3=VJWw+M2U(Q0Yo001yQ>9-ltjxN;7 z?O#|f5QsI-k)&?s=OO2BiW_ZA{45mQsM0v#9U@^&^uHV&B$OmHx<7_iutZN-fL zlSH%#|4;G4ww!=uk$5PHO1(85SN(6S1`?IFYS2T5$^G={vTfD+i@(xg?W;zSM$eEY^nBAD{p>Pm5%W7Ru58XRGl0w%87O|1sc-Z)Z9b1nW(5}DiCiIK)mvl z|47UJl$Qr~6yk~ZL9~|>c&#skN>W;P>zx1|jzK^G3UNZwy?5nq>#0N&rUjrQV34zb zlp(@fKP3$pdOvR5M;IW(iH6`aevtVJK$OTNlE4(3b%y9xdt5-B@tYf~t@VoOh>bNv zE)ExFuO^7slBW-7?(8HdVR}SlV`GCnD^i)V4;Em!5kGRH2x9`xtt7W0&*0(Gg+iDQNR)56dJ9|eleYF=lcc&` zVI>gjToC`T!~ zXMglTx(J5+chS|=bvB2EEqF5%<7vkg6`|>FMp; z9`J$n)PEaL)Rk1n87l*W_Xxjx6K1^;l2GGxYut$Q2@DINLeKcU;jxS@hZ3r?V~kjb zOE0HgL$+U1`UnA2SHAf`C@*TJgdA;}LsYuh${Sb6mU~wlegNzYwHKG$nm$5(AiT=S z(X3b~000H3p^H}wUl)UCuyL8}u;_z@rDY?aeineQ2#c||kewgzUDJ-&_zJ`h`!Vm` z3lO8Zpx7uhZKqOHRW(^0a$<($fVg6pqPomR-wupb_K+!v?x%yz7GgHCZjcFbJ-or| zGsMeRCJe&XoyxOc`}(0gzoiI9us=Uz_a8!`1O{HyP)Rnq0j0*qMv3e`Jo*fH7>o z1W2rp?vhV>CZ9sT%*JyriFQT=QAAtu1Z&1q?86cNl!q{KVDG!8ArX9oIa;>a7LGLKI<>U zk{Hb7uxt@@fC`#twYqrQgbgkYK@7adsQ}a)OBZHyZfqKN{6>!FZ=XYJq+}<>3v@e} z&tyATs=PpdZfP90`yL$W2#%V)GYA!&qgh;_Uv~x^DsQUCuV}7*%uN0Um7b!y`s~~X z{!0V*Hi6U|op2;$(+U9STq0@N{8kRsO+epPJ2Jg_*8v(p1yc{W8-dD|t2I}B_v-05 zLF16-!$-YS1Bb(Rx=Es&`VETs-$khhHR03ArwFVM}@%`D9GX8qu<-T%|&vUfP2z*Zu z#|jPVv0*N-Z>#5_cUOMdgETNvbGT9uq|p1v%u9Xe;?z}D13}aQpEIz4pas*H6U6h` zjFyw77_G3xp_{-W`dCkIb@4y?9(gIcFl$j4A3V-!7Bs#Ot(q{VQnL9 zlqx3$uNBoU4&;ZzX!Sr^0@#&X_S<6DadTMK$EQZ4*fboJf>PWI7l=_vNYyAZ4(7KT z_md>_whjlIP@zR13zx|cQaC+!5nOVLSVQ-DhJ?zL0L$br1t40j){wtJk14L;M)4Sy?*F0-2hh9@xwIg zt@G#3Ib}tO#e#M!eg8f-klPqA3Z-XeB8D*7{pH6yBU}dG&LP$b5Rf8lKFL9RhV4B8 zYz-QOdI$mUlsB?SFF?@1@nbVe~A4@daS8sW1_rBYx0sz;%RN zanyO>35W=+a6YJi_3~OmgN28OAR@yeR|nw`XwP;_QLe*)r@K`J(~%SYeiz} zEt=u?{eihg3YQ=P8VUHAjI1p9Wtq&D(jP`!^_Mwnyw?CHya=Mwrud#{o;cVq5A%SD z(4hGxy+aW1jT`5|8x+Aik`%t&;~^F{kSJkSK`Mv<(WhDJCpRozQv%bf)gy3h!BbX#&aNj52?q-F5726$ zDHc>+26z_=^*jVM@MzSf8@2ufcN@(?lIpDo?bG5)N|zCT5Hj><%LFkF@ZN?Zl)c5Qd?gK|UE>!^-hM7Cl9^u()UsZnS8c{3d~G_#rd`4%e{> zsBr@&{=D1~lzTr&?a0`&rCutNAt51g1`-hn{I+X%Sy|h<+HW#2FoJFiR!<2Kxe?za zREIyr`Yd?-5~O55UTb5NUCPdwIASXsWtjcs^Si03X@isujiz~IZOsP9bjqr)a|9C2 z8&bB6#ObITJM`h#dpb3aC%nLL?yHxe#j~#A60<%mQEo*!tXy2c4l547xffv}dBC zq7dh`S11M}Ze_&^?L7W*0hlbKSEa?>%W#^(8H{+j+4X9|pjZP3X)ySGu}21hsYBxZ z+^}uLO*J>7kFBk1eU6cBv9&Zr0#x~g zRA1st`AkV&-Q;_DGTy`B2Ic1FMxnsZ*uG@e_YJm{c#nUD|)H$=8K z%@xpzfZd=M{OiicgonqJ#lgA@i`=`Jrj{M`_O1ELeDHE@oWA6yqAaf<7lk*1SLfv> z5Bv|zGA<#ZG*}-x#pKZJnP7$Zx1T{p#kipQby0u0Sn3!#q?>z?A-&K9(y=bI-R4s1 zH904_A6Lx|PVXWXWiA02J#;m&GLb~deuTgc`Fu2mjhXpnSycCqQmxno^g+SHB8b@dTkaZdGzMS#$&ka+7U1lNS^^K>m@kV(%?G*Vu*-}Dg@aY z@JnRSxVUydFB230x+M2eSxZ9$1BDz|+yB7ED0f+=0=FkJZ-5#62b`CORoN%z$+yzw zrQvXap^E0S%9IsQh4?jD^Q(SHn*rE606-jhL9yljJx4`2c0=vd4DNeM7~E_CX)+`< zRL-Ga=Qow@)@L_ z2TdVF)YM_1je>j%*CT~apSk|rggPT(l`u@aGQdzEDnOB*gsUSAl`Z5=?A^`HO?*LY zNED_**xeCq^Jeh4(6LBe{<@cvGP2ZiAyi*gHRgy4Xj3S6k?A!sFmU+58&d+;XJsW( zjD|@_d=C)<<}m(V-okAD=k{)LBBGzhf8>4)0I3De0D-3$J{I4hwH{FU9sBwuWFa)-xb%@7J%mQb zg!M?X$>9Nw?)Xf_V~89|L^wD&jGUZA_wL^4)YwwT!$Vw>bMOGBDZN-5_D|8|6if@!)tB$==ybb%T9SgN8%&s8G9n8o>9dH`>(T@gX_2HoUa%k`w1j7yPLNKs(}}S&EUf| zR8DyN7vu_j-F&5wj}8iy`dy%$Xi1!w*I}4df)clsPFqdQ^zR;6=dJJT>`W)T3d;v> zKz}cMLc&?8PV0a`!<*N_3Ao9tx}Tmueh!^0Z|g87!I6=X_r~LIGhKD{ID7UiP=@1h zOdy-^>(2)#ssptReO=J}_E=Y!AXja~SR;NheIary2Cy?DNCEokFDlLyoEWj{6Z7Ok zuUDf^Oie>*h$+E)wXp3*iGtqRZLf$~Wax;4Qd_P1Lzo@}#^ z->lu)A95pf?e$vaQIWq$+JDZ2-ua-G&9+dlTkAsuB@X8hCF2EL+=6nt?3BXpRlLB| zq`1W93NY~l0`(8GzNNnHi;T?8(-T(kXR2t9Q_5M|5xR?w>@wMXTHEyfr{;P5=SNu| z1IYaft%?M?lZHhy85SD?G8va)?BGg4npnXQRc`i1kktHUC^Y2$(@i{eCf`R~=9#(9 zIbNTL_1}+!*X6HT`fMc5pd-}P)y)*Se(0P~Me6t8oX(QTcn%GjNb?(Qw95pQm~@8H zy^ks&9pgfuC=@9jTB#AxTa1Tv^#Oi@Fb|!K0QjaKK?Us)3oJ-9L&3UZ+j0RG>zH{@ z@0gnke$?c=*@qJ7&xGL%f0JLxmKieFc@%3ilRUY&coBjxfEUna?5<%u1JOaCm8-T= zuco5%uC!EbB?0NjROewob5$(!)`5_94m1|3PEu|^dhR#03F3f< z!+KC$?ji3EF$=>w?s!HNj22$IkThNw!1GkCQ?sUhVB?7x=Hgvse?6Q!*6 z&CR=mn%zoV(!QA&h@Ex2F_(^)RI>ZpR|2{@UOnv0&dPdfuM17p0H6Vo`z1zpH?uef znjFu{<^vNJ=QsdVA?-1%b9}oAm$Q!24%SQQJ{ihe;oavS6>I!>GQSP?Rl0A0d+>%ZhxzN`uPBbq77SHyMR#2{?<^ebpB=KGx zZaW&pqps2KTLYD!mmby2^Wq&(Z>3=MuzrY;qawXFZ7eD2f0QIg^~jh#G-DK5&K;Sa ztgI|QSY&8eLNYZR)wQEoid9@Lz5<2X)8Sr6H>x)s&jJmLZkwkuTmRhRbBT3fjUUn1 z8s6vp4h_9v8*+GaRvh?Euf2CZW*UZG2E>z!T}?DoGX##^gub$GEEOE%uXb6;tEyfB zrKQbfZCfbf@}&43(Ew$ZCEmW|8Ntl{S2f&kZ@W>f>Ts6bl{gJeR3VD}K!4>~bybyC zA1?!g=c|ww*pG56)X{=u?IyVuG*$;fQ#pN^LE%~ddI3h|wS(>N%ZwNXuWyD6H6Ltp zN{jWd8MMD|>HhLr1!@RxD!FK1zK#d;m67O!-;7be$36`A=*;$N9S992u(&-qfB86x z_y9U8yU-qaJYzwC>19D&(0OFDkcB&$!=v7Cccq?+96PtKTVDGsH)Hr=a#QC3huYQ7 zdJVWdY|dP&qi!YBMN7HbpXI9`JNX&IEpZS0qfr#bnH4*8W?w!_-t!pKmi$D|JrHEg zVwo_qz6#`aihOW06)S0UYk{fCrJqN*s$V}Vn^9BD2>xtp?3p>!I!usYpILCDpDYzp z1yb`s&@A@lTd})J-k9;NGChO9*D=t;ayO5JILcd7h~+~CD=eTsH*K{^Vsw+VF9o^6 zw&sYz-3~Wd4Q&i>$3yQX%3IU#8p{21QMJ3=9sSyEMHA;JF714fQWl;75ZHM=aFNQBa@J z2)V4OD5Kd!B-b&xsF#U}VZg2uB8~$@29V~11wmedeqjGb+^^t{-UA1u#&sqKgPBNQ z##H%vP^cO}O!_N4g4}=*;Asg^cOfr=&u;66P#7S@KU1dpHHLw2#Eod9nxSmg$f#={!K73|CyU1QWTnKT*72M>~379_1;p{ z9gX-q?&d}wUS2~e8kpJG8bOX8pPZbWgKjjT35+3wMSl>T4+fOH%?X!(M$B#lvNH59 zG=igp2fX)bs*W)0|iP*e-0e*xC#of!5G225il9qYyXZp?+;(?K7Is^&AKychepOHX{&$5FTyn@0-3Aza~-4UjKJY9cf>_P$BFh;#VCqOQ~yb2SSn| zl^}pIBsfd%-+4-nP{4hLSXiObK%{!;)uZ`!onb*AmOGXA&%d)ESi|?*?d+J>CO&vE z0-(bJnN7iKWN@kW|GktY@bGTaG3sl-Jy#9D#(_+O^J7?-C^=XqqsEXcRpkhbCI(u@ z;pE62Ssuhs3=V3VU(^f>U){Kb7>eGWzeqL?+SdQR7no>-Q-wA3839QSNiDW6phL9M|O@?2zeP)rtos80^!jR$PI*r1$qLxtHT*& zfbIW#rA?SE#Gl^?H3=73xR6IpJcleM`F}$?6apF!ti}(k;It#$Co(4a0PfJvdC31 zg7EtsmHTTyM5B}14_9j=6~vB7!GXGA1f?}tD&hMOV(2!Z0dO(DHUfk@!PK|VC;D)E zz6S@)7<=F$c&EaGg@P~LK)Tex69iI=9|E|`W6)De$Yym>2Mq(*F{C$k4;npQLW`>B zN(ByVY@|&NIKZEOTMDBgT1P=wC1Ouz6YT`v3arL2T z0P5`Tz>i~q1EoZi3ot6AB|Jp4`(-9yOLfWgwXcL2Mgj7vG}!sTp#^5aKv)6(FTwBx zEf89+v9Np^nuQ8;9D0k4quxLc?*r`@8^|2!&`X52jI%fd4PY*aupTM>lbv5<2=B3a z0intP0|65el98P9_#Y7iB@U>tKkv!nU=y69zxGMw{($UTW^w5`ZGTs}SX}{1)&;zC zdrQTg?|SA@qrx#MTDeWWC!2I&_8cswo!5Mj^ypYsET zf?C9*_g*d|1bPcliyfp#sR76$Qo-^doTG&$=z~PQIAIL|8Hln2q9Lo+=LfV-lIUJF zBobE&LK6b`9K%*?Pif_n7@oX;tPeiS<Mzy^D{*TPw-Gz6n_1rA=X4U~OI&k0yKDu#%)0j;Na@4Rh!U<70FOc3*}86t3p zrc?0!F8YCluV|J5Z44lqm>$XlCPkVq?Y`5v0Rl+G|+=AHiE^5q&y4oeE}-B+*noewSYxI`W|1)n0WGp zV{}N7Vdg=sE%Z6|K=c>L9)92o8JfLCif1)g@IDD{j81w2j2KX-h#zL33)UYRs$SCA zF)&!DLp9FR%;*i}4&)CIGf1EX5Ll)+E;cm86%24Zo9U6R9pDk6qv{d>T&D9zaN59? z^(sgK9=Q^xK@_YfQ-?4+(7y-*1qPE+SztL_`G2kY^wRQy~p!Kn&CL zN-#J`Apx*{Z*OlL`gQ8S(!dFda|0VnSd_#53od;=+ix>u0FLG|x-q5b*~94HWp@BxiZhvK@!K>%}rtKHwr zUVyeRu&Rthc?2by@X=a5He(oc2QOKJ(PrbRVW0$-udgpOb=>54Te}AK-qrDb2swrj z*9FhPG$H~cP|x*XSil;sdcFz|`@ZWb^{60hC@Wf@Jp(Y)0qsgaD6;hu3DW4K=J}pX z#EgXEJA4R+Zd@Skq17>!sZ;Y2+W6v3K7$lm-W=Lmf!=a)x;tzI5%qsM!Jt=meWR7b z2*|Jqo7h$$xv7C+rv7z_!9p4;0oV@-X$f8Q6_u3`#m_?F1s(kNY;5w<5_E<1wL5UTJ`KSD#uG{$~+wo!js<0lm zCiXd6)0s`5YBzj>&by8x1Z~b@1EZbJgcQIb(>toT=BIV=@h5XV5*CXI3MP_hra4Dk z5()er^2HA{*z+HO^8?bTg$A40IrZqsi(g3S@2?S-_T4-26;4bR$-0;S%6;i1TRUN+ zH*P*Ggr&*X?r=g<2qgOUt_E@y4z!hcQolH8)TBp~l8`VSdMc_P4MV3b(gos4{bbz| z)Mtm&;mc8vF0Ff|-S)mhMh5a`|M$B8f4@nMf$=+J-+y0GQ3%lZ_x1ntb`NAh%!1*p zL0eHXjZEgJtSoUL6A^EiD|2pabhJMJu8R6=42&i@?q`2?jzZ)OLGmZ~W4^(DSATIt3XybIa4eB6H2n-<4 z0j?r4`Cm6IR5D28F6{XzA#R2{3{CNTTWn^dRqiBk_J|Pa4X_@9S&2Hc4aF`M%JlzCR4&sGvYj4*s8AEJ|_lTV%kWOjvt2+dBu>i64b?jt^ z4(fH4ZgvWjog58V+G^%Gv z2?4t2H((qQw?E`N75M6jfSPc#sS{76?+w0y2hprGC*SQLEB&jkx0m$8hcC4v@NGBa zz9+N3f}E)x1|TB2;^t1Qu112x0y!;;*_+s3N4tg)?G9X`lVC^2K_R|Pq-K01CxA#bjub2s5)v=)kl4W& z?rCUf6d$6*b#$mB=)?$6h$(;*zBmABE{LZQvgl<74+7cSw{HhT$ zf)NsKoHlOSKI1L6!|5#ij^ zNU-rD?YkhkJqHUr1Wf3VymbuiTgbOY6ciWNgN_ehql7eTVM7$Pb9Qco?3*zQB@21_ObUy_x&HP>so7_>pagjq*nZ|WW~7D0e6PZHwJ+d(Jc{OY?xqc zjCr4K7d()*fK>+j}%B&w>-FlGgq4+zb9z9UW z_yH8+=c6k0IQ2DOLf{0_dKD?MCvW^Hs$NP*3&bh>p@rj4Z(F>3R+vKg0FR)T|>W^SX z4cTJQCXPJl+eqUYRmL?)By|+RoNA=u`#5p&K{}d=ijL3Me6tarkaF9$-4%hHX_H<* z8d;y{wwYwKR@TmSGk{8g2co_#PO$Dp_b0x&14700Gjnf6df(gK*LduH{mG>-Nc^mW zpJf@2sQ;0ywxL23cD#!L?JshZsGnqrJ)4wSugvA-X{4~DBRC@Pna^+yU$7Syp}U?q zG4|9&FHD{`;1 zH{Ykf+hJh+5ASVu*?sJtRM9Sm$H&KK9vm3J6DYj)xk;h^3s_4ngszQ1uI5@-S63xC z3revMDFWO!&ktK=<9q*Ig45f+CFN_fFO0Uw5uaABz@R(;ZswXyDQtct!jr_^#LdYIW)ob>Rp4{b} zoK}jzjyHH9n3SGwJ1acmmLW^}>PD3wAAkquVDq6+U?T?WMT3umew#+^D;5*wpPh@B z;MJy3Ac(A|hzWSlt`lsIoiY9C00V<|XfCfNxIF6PR%E6ambmEOK5&Sg_CkhlhA63y z>#8of5R}I}a~8&s(XS7+46A-EMLZdmSyk%KrHcC9t}Hi6>N_EXotSnyeDdk$${qu3 zKG(h9Hz}gm3gcZF3wwGx>P*Oad1;#Z(g4Ip!c;>I$aXIN^2@{|HvMyxO2Zd%2?^=! zZhsQdY5}!a5^(evkWlNV-=BPQ@BybXj~edY3){McWNy85X{f?6p-~bjXpP)O8R2~$ z?{~DCI@LJFij&g#s6F(pZkKGd3hux3tvJ54;0O87qrA5mD^US5?I`M|bmM41l)&*15@>u&Jz;x*ZE z^|Dx+c_k$qq3oS|m0JJRt5;BZ6^pdZ$K{p}g|MhtOHP_la+>F8{0lmBI{Je?aHm!S zp}pY+?X~ZsS>l-ds>vaHH`5uP{B?q#O)ERU_nY0C8)~FJX{d`P#JG+y$yO$0>#n)c z=E#vFBJ|(7b?aK8A7QbvxmCk*zudw-M`o!G`}U%fO~drfr_Y^BDKu=GSQHd$hgxSSgO{vKgt$1|ue&!EuF)aA4P$>3)et1hW} zrsoQFC`%m_WN{?~>x7#323jBO@oH0rxYuC#a!IFotxv)8!&cht+qci%Yax=ZoRKrC z>fY$%`ee9frz1(VyJ%@0xw%kmE`dezxRqTxU7!bBKcl=gJGj0yIrusNt2i*^i*W$S z8=Gh?Zex}CaQ*&aPV7&3 zFu~B4pq!0PzL%TZp8nK0!zpwlQ!2mCaDV^2+MI$!Y$NVySnVADd)r04`lY5WpGLWK zNId*?W$&E+p7GlUuKjvb4NDJyrJ7Il6-ge%~kyu;w41C-(7#_$+34o zj$L}H(V=JWEw8>_Fv0Wlz+wJ$r!+gY>d;{exl29@gB^7{(J;jf;l}OT*8nP^IW*2& zb}AA+K>NXNwF8=|j{+?O=O7hoNPD!XsHh`mL8M6NM;0zQSRrOGf)!OkWL8u=R1t42 zCr(^%9;#*jjGQ6i`}we2b8-AkIAG7&Agnn#sz}-j5xWWqB7|JAfXFh0k&PmD=hq7> zK5I#z8fd9rhvf<>Muq(fd(mm{3-2m5;cY?RkNip61}$x^h`=C7ekT^Q(!phf%~0y!=5eu zpNOC+)Az)i2j+U!a7b2y>959NMPnUcZ!57^u85J#85jJ z%TO@J3RF>T*ubN=!)NUZs2K?LY=J5YULW*sMMK{X6=!%{oCSo#hNN2gd3hZTzvtD` z@O9*c^4zbHEGLu&ZQiWHdG|`~Pyy`aN?7kW#P!CYOWPa1zv3{xhgs-c5pQdfE1f!i=v8rxdmiN>w97^ z2|cr$LRv3DHW!v{Nd5J)w;iR39S}Z@^oi$_lQ+^9uzCv>cfs?E(_K6YU)eo;oa&vr z+raarq9eq-bZl5mmMvR$e3rMy`C~mp`nueDk*c%8IB@6Zw111X

e**FH#2M1 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 literal 88819 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%0AxP$A<_sijc<97xGPzO2F1_9nN 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 ; -1->11 ; -2->12 ; -3->13 ; -4->14 ; -5->15 ; -6->16 ; -10->3 ; +10 [label="dataset.main", shape=box, type=table]; +11 [label=datawarehouse1, shape=box, type=table]; +12 [label=datawarehouse2, shape=box, type=table]; +13 [label=datawarehouse3, shape=box, type=table]; +14 [label=interim1, shape=box, type=table]; +15 [label=interim2, shape=box, type=table]; +16 [label=interim3, shape=box, type=table]; +17 [label=mart, shape=box, type=table]; +0->11 ; +1->12 ; +2->13 ; +3->14 ; +4->15 ; +5->16 ; +6->17 ; 10->5 ; -10->6 ; 11->3 ; -11->4 ; -12->5 ; +11->5 ; +11->6 ; +12->3 ; 12->4 ; -13->6 ; +13->5 ; +13->4 ; 14->6 ; 15->6 ; -16->9 ; -16->8 ; -16->7 ; +16->6 ; +17->9 ; +17->8 ; +17->7 ; } diff --git a/samples/sample/with_all/dag.png b/samples/sample/with_all/dag.png index 364d05bdf66e59c9b93d97552353b494e4f6ffd1..f4491c38b06f6ba494760be776f5ab095903b18a 100644 GIT binary patch literal 90294 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

e**FH#2M1 zl2xy^>?9#5IO&!F_~I8E8~f#K#q6A%9M7UxI~V+$JQ)tx*~veZLVg$i@L#fTG2D?2 z07?x=tt2@XN1KlnQbAc+SyL{3ZL78>%I~7B^2eqecKc6 zm1v8kzCp7Ea=ejcDp@jA37#NE5lirWk~*xi!<{|-OlOjVrrVDnJGP~;j1|=yE_wsv z^aRmYS#gck!+oBk3<{9)Owlpt)a>5$r48PeM}D=}tbMD(#9x!HKWvDF&J!?`X-1m( z_~}!!t+!k1w4}$BiLY4kizcdl&U=)$q6kbl=j6l!=+Pr;%nUvH&utf;dl8nga4hUo zNkm@0jQVWY1n~@D{LHnxc0E$N)Ti{;y?dshQZ;f{48eCAmJEfqlkU#1feBsUm$@!m zHfrqH#t`Q8->wLZE=}5-TD9|2-TSALBKoh0=pX!Sx14KTJoR=BTzfLqKu%7{?_9K$ zmD?B|Sp4R?#od9lROdK3HE7pv?*R1xt?OGTmlHp3(mB=W{x6pYkC*P;vEwiZ>cdMX z+AU4=uI1??iIm+kliG@`yqf2i?yyl;Hm54tdo`kRoxFH83p@9Z05g?AT|NRp-y2PkZp7g^rF6 zwuD<3+1S|75@ zMVVgGI06~RdsI!gtKpy6M6dTbG(WyOH!k{ZS=pkNLGzXVevC@> z$LxiuX%7wua*Kt<{i4P%$?wlSHcFcF!r@Nr@#8&M@cM-oe=)b@mIA+-otkECU6NfU&Afq& zpD%Flo5B|U#R)+0G{Foyeu8~vXuDQBpkCT8Ui_j>01k@sPqtI_`}Bz{UXq*h`zCiN zs;a#e+CRU4m$%ufRjd6=qW}C|6HlqUGh{5t19H;|=TjSUtb z8v0Y4SO4PU<8kHV{(E~RjjR7OAvEX9gel#3Y;G0WzcRF+t}YS0`#bxE3!9jlX3SG9 z{0#dhxWmx@-sFw6>Zg)@^F(Z{hqLG5J^S~8RUy=e2Ovv_cLm0vB`n5{jOh?pmhGh6mXxeRDN(*+kNJ z{#3xD?+8*{!LE{wSsOYh!ozDeXwU%ARD39FC}^4-ylqJ1H0B94* z%ILPyx4^B>?(MV0X3~r#lPYQ&`o(O1HT2yY=(~3d4d1N>^);Q znV}cjliOU-f>-s zT8d%NTnV^yx9t8hndUXj<&K`MP26{tyxz=i6)O`SHUl*}3jY**!6u1nI=P*iN6O`o zo8}b!h#A5Q)K!eA{|jota-8y((Cm_CFHNT%4Qphl&`uPOq;}k|e`;!KZoZPobaH35 z#O78Z{S(OhpD~zuhi#&(Sp#xvKw&!)b6|dU_7Z9wkVv z5J@DrS^oBPMp4s%XlYdy52kU3hh!b>fvYue2&d6d3@eLk90o(3=LQ_cf{$sn>S}Y# z&n5T9FDe;;$^{_&X~v&N&#}YOw`KVjhIs6QFN#@|rmk*tx^G7(9Q5D3xyh*D4x90A zCoA$^M;kA9&cva}2B;P@XimF+Dl!Mlx}nxwxsCFU(SD!?9se-j%|?$N!8y5mU~(Ug z+8q!Mli2dv;oeoh-2zNv-EkV;)M04b2}8?UKKHI#lXO)hs{x4j$`TGB>5!o@MkT#T z-i4@zbLX_#93HMI4!d{n-i0Fma_rFXrc;>FLZF`)bd%L6BI%{i{hX~L z%?F`Z6&CvB!DNPU+_|&wiin`&(8F0|B-pOlgA$5)0L3u%>eIn>U9x02`Nus~^TnKQ zk@F!}Z^Ye58CL~UJP8LZc%1gNo^BFO=pqZEf@_Xh+d3ASa@ovHr}7u_Du7KbX3XgE z?t#^Xpo+@v(Clm%Jx_8`B({dE-EYclm=Hi~O_mubS|?di!C=cojiW$1uq?`w)t&-AnN<_O0HS4vi6pnLYr3ytm+tWHWw;xx=M z+?;U1@%*5Je}dZ6_ETrg!qTm9@XuRmYBXX{-ldDjCy&Ll%r($VM%ri$7|;qB!uSb6;xQ}rC4aO#q!S!l+QHbdWj4R~J-2#kzRg-Km8*?4kE^7>1!edF8 zUx~o-B+hf#ansH%Xk%nvHUbwxKR7_@l$|2F<8fOW#GE`i3g&ghNQXOXK>LM-{`K^k zGwVY`C!I}q0H~Had063Df3kGJnB_S_6@xLcvov+B{(TOmxRvG31Rq;^Ib4m&%Fg}! zPyVMJU&2#Zju~9k6l4Tmp5=$Tc#K07d_^31FXCKB<@#HLt?f(2F^A(&{kcLQ7s; zg;~1$Mvixgq~sDYn~a$-G0B6@1*kaE!b0g!Jo=|u-3AJ_b`VHKKBY8O?I6|Br8Unl zS8LOpd@nhW(pgvyvR3$EkqO5HbSZA8v&hupBE~&y`QWZCH#U9WCdSD#)2i=avLxJf zfce;Sy{MAhV;V=X!X?o+Z3i;fi|Hz*qFz*?WeK=;A?Osdil81z!b+NgR1oni|4Poz({^xhI3!qnMpjmH z$^c4?wVWDAT%uaF0pjO0CF*D|Sg^psK*zY8Z?Q*xEPXh!wqv_w*9e2{i@=1?4xC^8Ll=)!Kc4a&Hqga}leK1E+|sxS@kRHan>R0WJ3+Wp*nTWX7p~9Sw{MG@ z29-638>c(7d}^2xX1UKYnSwU6O{wUrKM#^e6XKi9hy+JIJaV-++4J15wO?xc{)p%eX5GVBp)TKsCY4x zh|ACj>5$da_E@o{H!Ed#SePcbA#aR8;zKKlCs^YL>5(LQ|C4cKILc19k|l8lrIPf# zBwvM0DlkY+y!7x#Lwdawj-KflZL>B{;v8BGol(MzY~#V&XR6<4jO zNk#?T2>S_Dh|;Ndp=E;loqC(GTpA>;GFe*njTekGsTdPAaSl;e5NBx@!~RM#)^(Hx zB`x~>!=fhUvn(_4-$IeQg*SJV3Y3F7)OCqL_(^RdLUK3B8S=%`nu8CAE1C#{vCg%O5A454J}RbcSQAKw%3*TjO?H)qvCBu;PV(ZZg>pQWap0(5N znqJT|_>2KTYDym4U~qTh>2N7v6LQezoXF?gzsw>dM{Dt>^sNI4B-yWwo6w$c;F@^Q z&bc?zBvExc6*FXy&O9IKPysZdlL=JszU{ftl#ocDhWR0AYKTF5pUdf`H>Q!+WDhs| z`L>@dGHQz}6!>GB-FWB*9I1%u;xB zpf3zI?h;b@;L= zOs`X&wY&yRY-KUFqla-|S7eAU>o}qJfxJocj~_dB1$5THW7#LfXws15nam-C&FmQT zMu&PBYnoBkfwYht03No+Cz%9J2;9h*ZmDTy+N^q)@aO|Buhp{vcoZ+2nx2wFU5g!@ z5CIcm$k)gAP*atpp(egpoHdOKNGcW{ofsooty7LG>Sp>^LfY;0zYo~v2|wQ!0d)-d ze7m0nm^e%g+5~Shs}heg2KaPus;Z)LnHmWG9&FZhpxrqnBc8iW-i@v=hGCs}Uc_|N z+NXiduiN#BXd zWcCs&*_;2UZJQiPL4orLp_@&g{u0DXfeWML#vS=~D%dcJoEKY0XG0*YYi@kv1q9s!HY9*~(M zS4OINzrNY^Wl@pswLsTninnh}3 zhSf|w1;9p&3YIy1p+ksg;-fcndG42Y>&|Uh9oRz6meB~4sS!e!r_n~aqS$)WQ#T|R z>T1-*CG?9}Pa<=ecyJ}{?5|(6YP#auT5WM+;HiUaxQ^!_n+~d{I@yz(X4;5H1Ria{ z)ByR|=JLk;ay3E@kdZo^_)~vS3NN4D$Fc|agi=nOjQKixfSh9^7P+j_F4Z-70s=)+ z|0eosmu!e*UamnsoIW77xqW3SvV*-avD7c|Ee%E!j@@{x+ z*`ufeu3~)bBYO$Iq*n{-IQMI6a$_2SN4Oi^1*VKZY67cyxT|X)t#M)3>{^6up+x%l z;c7E`+5(j1lP(x80}$Ch`lVVO!n&3yMMkeMu0G)!QZ;1-Yy`~cGjJehqUI%OBiYk5 zls7@A_hr+gV+vS0!n}6&ft%i#9&5EzCuWf|%3RIvIq59aU-h-;`2G5<_u!2YRjJ}PhObYk__1%^fXaDbCvHSNgaB|wf<8WK1+aJMoQ#Q@S zG6_Uvpvp`rl==u88@ePc#mGcyjM0l}_MIl8$Rcj>tgfV&2Fj%+NLO2^^WtNbpYUi_ zs6l&OC9=52BRSuQwMn~`EVZYj%8<4b+(&yBqg%kzdOQ#t#zN)eJ0a_rHp!CGoL+Eb z&E9p!1Mk*p1T5(5Wr#uu2?o`KIQ+W>WOpH92!AHu?MDT#=zZ}+O_5B91H4+(Hmyk) zDvtd=k&lWRGi4nuIPNSS@??<~L4hfGId%+#KS+py>+ln!tJ?yD63NDCLAbx5$sM@{ zK1O~)K}}*Z18@*_jH`Ig(&BjlC;L!UZZaJ;&N9Y|QBa%Wm25cAKpLf#qm-9fBUI8m zd8a-epI?oWoy3}yL1JW^MNQ485aQodNg*7;rfu7(RZrUxbe&|0Yf!TalE=|sJwJ!c zmVN{w{YJWPpaUM3>*?TLe*V0J%$S?eJ~ldf>&6T!OwX1(F)|JzZUD46sk1iasv*b% zXUYXLWeOMbJkWI<{Ldx7=^SQQ9#-H=H&px~$6|K-e>V0FN9l6I9vZ>Y7Soo9-xdd5 zt}9ilQ%bnU;hipm1EEH?TYQmf(;;t=#o?1(Nl5gQB*&#z5u+6;YdPM@GyK5_bLTW~ z6DwMOazX)ln2!P1@yxLo21#D`9PWJkTPUBKe>`Z*gSZJp6%?0dYf8Y&bQZ5Q8C8Z_ zOfr9w_IQ-$+*I4rlj0_109Rz~O2Q}0RWP4FDV9TRszZ-DRDc9*0b8UVrR6F{1}r2~ z?u#wP8`dOvSWU39YAGTTnNWe2XyA$ttvrfv?s+66r3XadV`1??I*WCVRv&hwPa%h9(#Fbd-P8@Z-WL3>Q2hRns#|Goak0%DK&z>l*cx8PyM638J?S?2%QRqrgkbZ5&6U^AE4VS=Z zsJ(PYIZb2QOxXTC`xv2wMTOJPSJpO;DV|G~6rX9)QZET9QB7DnBWc#18l;i66kL!h zjBu|lABjJXxls=YQ)2B)7I|rbYCm*$RHpfKqIVj`b8MQ7leAu$x5!MLAz}+b@k|)F zrPjPnjQ`NH0QQp9;2m9)P>f6T$>(0l6F%L)-F6B(KR|Q~M!I4%7c;wvTEGNx1 zk~Bl<3Mb}rUJ_dB;jSd}hYs;Of?&u*2>{tBuNOtv=V`et>JI>zS5%Z;blU;#GMDY~ zbaDr1hNkW)r;>c8?o%pGm4u0-Riwx`ser2paLiPJHZnMadh)nuZ0n_NZnAedv?MYj z-vK!4^~hJlxh{1=6BH@H?LwKQdi|67goHe3>>$~wjA)UWnJgMbN0MQ-xvr_1&2$iV z^dV8{zJU8pX3Utuv(o^{13we@D7LDl!I%jX0uYP~N=t^AkKcDq*Hx_^LfCUt)bOZ@=08bz223|w=HVeW;Y8ugl4-jQ0yi-Zt1U^q==ZCB9ITRw z9hP{|vg8E^gT}b>Val6J-=1HEBZsqEJ(x6NfrMIcTFUCdWCzYQWi#{Ke3h~qgj1)=oPyPeyyPbDkl(su-2*<12Z+EuQZ%RD;1!-})-FU@ za#YxSjX{_FjekRuZrpCb*dsThWB=1fyIlk-1dL#&-nCZMqmuBX^=Cj3NQT4`lp|W) zA*I{Av|fnvXbJ{0KS~j}kM3o2?CjRVAh3lbqH7v$K=QM1=&DvMV};CLMp&Ub#&QnIK=0PtkebdO;Hf;p`)`F={bQC#0KxiDUT;8@&Pj zen3~_26o2dFxrh6N!wiLt|9^?fe<~rl@$%;c^7(U*3$M(16LBx=T+FKrN*PUi9hQ8 z8?6tQ$?QDaw6z9?1cCm3N;M&|=!)l>&N=gJ1uw6v2drKI%jItl2gEVcK&$aK8#*pB zhKNs#y*0KJtCY)(AKD}=iT&->ZuaWk`&8zh*7IwUppjZG$%Q(9bn_}^LFOo zKkiEi|GJ~UE@>hzr|alzNS?QMZzKB8GOL6R+;F;r^h7(V?4l-)+Os@uf2>a1yA!!7 z|NZ;-Z!$GASx6JcPvnsJgk6j{e@xyS+?O}$wS9?DYIwUk>NX1t3#*oh0-ARe?gML{RTsE5=P3|95pqyy$hBc{_#9B z^W(|jpunfW`0!GXxc>h2!{FqIn0pi#Vu#1qKHZR+FpgkC;+0jf3=gw(N*uT~_ZwJ( zhfq4ykm6s|6nUJ3e}V5BifZVD0ywK?^Kqx+;-sl&l=o&mG@LkGk;SEoWNpOpZ}@R*6>fn`cHiE`t;(oJNB*19m_8vv6WI)S zA=EC-g{O-5=4Rh^K<6Y@Vh|7CwbfScU&eD46Ld~VRz%j@dYcK3M1oPfQfdwyJh%;O z`OYG`wRK6TR{#F-nh-cbd*rC>a#qHu_q?>~l@5r1>AS=BO=Dov3A_ytM}-dWX0I!Y zq1+=yoI^scYhpIeeEj(96yC1Xsd5y<=1X7m--<_ob163gGBMikBOp(!Rs^RP;{y)_ zez76Dktt6kcv|xVrq7ts$;jxS`XCPtcA_*Q1?sJ@LGo^tcRHhk%aT+MwPNFRRtfFg zrc6i*eX6_}yXdds|gRWVcG*WnHit~k$FDTYUi!Tvk@Rf+V z(ou&aSipM*!XG#v(Qynx40ov4XV95nud zzp6?#aa}YnI2z?1o{vA7AZV3{z+701TMKfK#jk90E_yB?N$=!h*O|IA2Rk z3$La$O1O%*w0{0K+@SsDs3%5<>Hc`iJ{Fa#{{&b@R?0 zHf`l?iF0R1>eA9}Lm_lY7X=lf^;!S^m6|n3xQ89}3W1I6LE!E={fsan>nfbCA4!R| zU3>#pTstvv<|$bJ_?Oy(twOkp-Mf?s)7qC;2rLAOXNwz`)L%7t-lMuFG<(MV_!@vt}N z$(_4n$1@F5u<}bgcBsJ74eQl))ruAWmKVgER6ri7iGIsxV$Ak=pZ5|-fEL6}^LFOH z#lW%GvB~g*78x_O>Muxp`N@;%Wgh~Qhse_yw_jg{%81fDKJ#`;$E$}2=g%f7!WEbS zqKzc4FkHhx-%aD`vCUfXQblN;6Z2F03Uz1T@R;m zFM~VZu@JzY-Av&-IDOXK@IDr}M`8eiEp$ine8^Wy~;kNNx__Qhce zG&mX3h_7qQj?MZ8s*YfX|5=BvG-Gv&d@q_!mtm5h(~)#av!!*}q%(+3WDS45Tw&(Z zEN|JpQx)2E!z$Mq82vbDbO==AGO(4HH8|Nm*j91x**2Ca+^y31g_Y}$j=EaIv2ssC z5=`t`Yb%`YKYRSyIpt9<%MaS!=%=%n&hXyL4`9an=8HAt2Q@S~bOHQ)e0=l*&n6}Y z?BB1(1t9kRK+#7l%lK$jqb3~i(gr7ZIz99<$zHLkzqbPqap+Jr7?SqC-=zKeNP}Nc z%GWhdizEUPu|FAZyt7fsO1)T}FzdkHUAl}c^_+IL{_Lw?Ta~AJdU))J+VN0MT%eUX z(nh?ntky&rHD`| z36SQp)*k69@#c@yCut9`^#^jfO9W1vk!lgHTc!x|IyWfYlxF-G(mq17Y z&>H+PNE;oMRjj*k+;662j3D0AW!`Pncwb7(&|N*JuP3I>?B1F(Oz0o22QHdUDs?Iy*~oRrLbAL@35|Q z3cj>KUAwSn{);D&x0u4}kL>(t+9#LgrElJJU6?WXSWG8YhuC9s%J8pj8-@Z6A6{e8 z^NSncEjjHp17(%w9orq(!w8u6rMgym%e)h=*L9_{o0I(F$&)t1gI%`l)s;~W_jeoJ zus{?m=Y=%S@7~?{$rMA+?M7^wE-K0-%u#kKp97Y-#Oywi^e_(E%7qK7F0={-o&c!o zRr!pn%R28ZK(Dc*WAxjgue#n_4`&qxSEx^co7?~AoVuUu6>s#j({1bh`-ir8u1Ig4 z6v!>WzE9het!%2!F?^%KaNxkHE~i^DLkQHsd5zONW4&dm3>6Lf>97@GA#(k&%2O5I zrsb)!cEE*WGaLu)jsCr`GPPHd&V(+`jX&4R{CCdpL$3%p=IV9>r&{GWp5%&Ylb+Js z>w!ZFMvYI^?zxboQ{l5s1zQ(j>h|s1Ps<L(zQ1%po(E}lDA*a)NxS9!8zb10meks9VPAfWOD@lF3* zoMyOzP>(2jdB#~|_guU<1fh>C?7D<}zQt&_rXXl0* zwTUg&E+I3|TO56oa9iEPrp4!gj}kDhFmt`H`x^_y-L;5-AqM+&aE=u3Z1`<*lh)Q@ zIUPy(#~uF`g8$5yBPe~}KR6nkV|xNlwQdJx<^G+0hp|p_I*x~a%@0yjX1!Ql8Jfn? z>DVM!Z#L+P5P?){ba~ZGvs2oy;cW$e9W&-ZcdZvp_@2G`qu=*L9br#wtQu^M3lmhXncS&nBK1sLBBOEuk8l=n$ic{#Q)6WQlK~2{Qc|m1aX;# z0l;*bItmKU!|)B?JUXRLhJLF2C7OuO%1V|~wS0$>mg5oczkPd4eqvndPjTQ)?A`0Z z>QCMxDdg*`J?8QMAk5xa-7>p1&!EKYwz_{ex|cu+IZiV;;%TPk!HbjO*W!1&cCCWH z=G^LYz-k_qPa>72X!^;<{h#+9C2a$`L+09FynlU^Ib3UrWs1b9FEOY|$K))2{2Sbi z>p^th6QQkXydyMpX-3{V5kVklCQw?M=%ePBi=N2%|q%&<6@mzIxTOl+; zT+QWNAtDi=*J1Kyi*gPp#0(ykG#w6DJeT#C<#}8E)BWnmNWV?029{_2#*JlWPoI@v z9K~nHO}(yio4&7tFJL~Xy(V0tNC} zY$(N{9bJ1@WW#f6tbG!>T>ribl*zha!M zNc$_lGQG;QyxR|QRgjYjVN^A=ljfzgUxy7y{SS@9>yASNPnJWuhaE8v{tLV-F}@D) zgSe1(`Em_0UHS4#kIB-sd~T}g;8!G1E2n`AqAfxq>9J(so79au0RD;t_S1FkKG##u z+`rq%`ueZoChpp=f~8+k7oUjQ1PmEBOa?yTM%y5$zMxYyDfm~YZ^w>xXQn}Yk>QH} zJKO=b;^?6%fq|P4Z>Zrp63qG?t({0d9G94A3X>JELQM3z?P+Be1{~VTmZg2Y`*@>R ztMj=Yxj~wk@CaFz&_)yE?U&c7K&s?AGWt|NZK69|t&r!__$Z3n%;F{R=FgH=@?P_B zy%B;r@CwxgGvU{hJKJGnu=0idrXN0m(UpI{%dam1N;Xb86i*FW{**c;@vl#iEdx~w zRBLvx9eq#cvD-41O?Ie$uU49x#==<;Vt>nqVz58~AX;89vpz`E1*Jy{>lP5xf)y8j z_bN}*WZ@jM9}(S-xYZk$ZAtSJL%^c(D^7wg6_~;FxTsT zzVy0M|2hMm-(Ehqq086tGy7}WHJ;M5{$r&^UAs2VK3u=nQZMiGx0^*?y`4K}dFp|H zdguEsE&JKw{I{ipa|f&P46^>wpLZwB5BHha_}Fe?Zvw*N_CG|owH9<4-TO`3rJ@m_ z@zQp2V&~+?-}Ej&e%x9HqX1TYkSr5V41hT``ra}lM{iMX>$CIj0E@2Awj7gQaaiqy zdhgR-+wW~H6{k`N3CP=}eW%f*#~AyCyZpjf3lJ)}ja1i`mMctJXI6X!&c=USJLpgA)SPy?DjC_pe)Yo;9P;$!GvycZEn4@$S{j zmw-O?SveHn>?=)a+0q9xjVL`_b;{ODePQnA71Zjj2Q1iq{nA3X8gDy!kw_xE`0DL!S<(ICoZSx8W*26q2 z(W}Ruo&I}g$JJr!L8Q7&CDl~HNplUP!`8vU7aU>piHM#j)WcY>tNz~I{StASW8{a$ zsaZqIb!h}D))JgXQ6AdyjHTDu+2#C(VYMfZB zgu+KzD5IM;Z_YevV<6+5E5CzZ%IIRO?L`+ba-$dARp}#=p%!w(0&fdcEC(%<5te^> zql^!qf_xMLmTI>?G<=x*B8>oFOvgpnjBJ5wq&-ePx9(Ja$Tx0pxVrV3pytjU93C(G(-cv&}|79j^egNMkOa$c32sUIT!e>fX|b2JIGZ%?@Jscc>;o zZ{9f4#jfR+bTPMlM~*3Hu*5wF-8O9V>@|}z-*pXU3k3%PmRhjX_a2kZ??O-0Q0(GHLmb zidV{jio@Y+EUb;TKdRSd;cJj%FXXB%>j=SMPO*6Z6e75iM!2|c5KD{KwsJ-6ia-Zs7 z#{X1UBE%Y@=bSBifr&rYmq!##GddRV=TB2hna<=dd=OeSN(x_8u6qW~wXcjGWRo3S zQjp!kVJo?0NlxtX(_ba=1N}d|^!44gE|X^8aL|ok_^g%8(dB0Q&=HYtcI9_AlP!|z zyqCH6c$>?A|4OR(xIVG5idT=(An7#}G5@%gdxXht9T~e4Yn^b+Lf!GKdi;}m zrxv|N^x=w)ln9ne9#Q#AO+g>+(uureBU?^CFk{fvk-9swO`~2ajwK$nnle509w|;bwAH>iiZ=iJZ~!faQBZ)u zE&T8THttbsTlweL)?}}u*RRELLe759+0ip6Ts{})W!1RUv^>sBe!cOmjEj$#NB7~u z1S1(7ynFCcEeR7+(w-*~+4x{&WweeY8Y|&6`@NcaESj_w3WkmSyW+jHTGAMn#&I~3 zI4rUtJ;(bBMIN0LE{kp0QUEF%8MH$t&s*g|Qhe?-sbLKd0Gkx94gnJW@|GJwJu0rAm?o%CpCQb47!SS z6k^vQ-c$7OWtv|Ai2jtbVldLBOPyZU@mW9_1! z!zZozP_pcpRd>-R4;gYXYftwxDI33J9@lnOahj^y@O9R%u@5buzF&Hop-kyP&9$?e z;lq*vWR+0yVs%clKfk)gGNEt3zQ+}KDLuZd=8ey(j5g%YfE(X)Io8`1<2#EZs+<}LJgGE8(w(m1e_1-Vm0UTV^hINm$M*7{ zxlE*1r19{BF1~traLhsg-#*w@lT7D_PB6@Tx>8=U{E9sGxR&R`|8N1+fs0_JK)D^c z6OY*K-~ZRc;o()DR6n(G!-mTsC8O8uE03`IZ?u5uymjZ!Bd5P2E0JLS>+`{?Yk)#c zN{oJ@^~F1-B=M?DSSDhv_3^32(XP0-uU|2nTI?1D-atSnU?MUE{!P18U~wqV!>_8- ztPfLmUb$CmEy$qYM3t3*M)&csC^!Fyp8Ll51`46zfanWvPISB1iQsVz!xZcRYSr9D z4@h4&swAB`FnjsGPfG$m@hrW%o+7imODY)wl}qM)ilr~9$DEtnx(F?$ZsXP#J?-HBo)X&RW9~zJ&rwD!P{MZw?DyXm)GQcpnUC+-7~J7ZzDJuz3DKOZu z!mRM!N%A!M(lYZm=6#X%gSqqPHv$~{2)}0|!F{8;*Z1MK_ZyI{lZpAw)KMiIG)H$4 z3PXKYax=QBe^Ml2{EEv7Tv9(I{#ekVWECG2@Qabe6S5y9q=68~na9fYt8xg)7-Bns zrs@KW?5{aHSrr>W>~dw~u_6#Y_XdvPn5CGcZGhNZpQ*$+HmXSO;kmc^8``v)9%Fca zp5zE~%Z;b6vB+B1Py;5>wl|>P6n7)ELN@@*26Dca7m`-AphhU!$^uR5;U*yIyz+j}Z~Hov)%JtO66D{Xt6#d@=3yVZGq@rWVqf@;p!^Jr<=*w^_HWSvwNUDsa z)O)~x%{g|tF?aWt9O04%cXxY~f9C6@urlhxE9vPY#S^jW_qSC28NFE^@+;tENrqIg zV3PXA`N8@gC4tYjG@w z9`mwNskiZFM<6yE8j~Y?EW{PS5&%uoE3xC+0DK#J!gSa6(NX9}l^J>3rR^IxkT+3aNw++P~#0T~7rcplAPfFem%7(YLzHJ@OA8AqAX(6TN3Yf4>y7g!4;ZZ>jKf zKnOAtQbZ<9jC5SAJ38p@5u-!-#=HIGW?R};cHL5L+!i>3xYkro`jV5U6g-Nkqep}2 zbLbwtN>#rmT79xci*Vm(y_-Lzl@fau{OZG(;z>7Nx@}H8i1j94fGDs&XuA~1{Au>m zK9=bM=t6(%`YC7MQ~xy<=QwqD{cI1F;8IGPVdEr0p*A9=VPi%)yKF&aN~cwHBeaF|8uz+*=q zlpA{gZcpi*K_%{5bVC`f16+h~&-c%zT_xO14!{z59tkOu11!Yv7;6jynCYa=Pe zW=|vI${7E(hIw$gan+JTyBp^SwUbO<6EY(3-;U1GRTCRDcy0NdvFCv(L_eLFTG>Qs zo1~zbd{x-DDYZ2<)tCn>WGIn3w`%1tgAsY@YWnWO$SyuGhd^w(>Mn7s8|S5@?9@<> z3T4a5+2<-O*HZDtNdRO0*s=0OmZ9HNkq1ePai+T~hJ}WOHKbkb{_d#?)ejU66G*w@ zA?9JFscDX@UNx+QA+KQD@cAW@W12o`wgwh@y|Yivo?Q~Hf4O3~iB;bd>LX9{{gWGm z4@zEzgOw3G3_-|fwW!t_wNaOG=$<09-5Bp!R#BOdDlc3o3>*o^`)aXy6^oZdGm#6XFUaNJ|yeXzR zJQ8GVBgfys%mJQQJsM!;>IZqnX^;|Xpu&+&RPv^-AK&f_wpy9SGwqsfzkdf zFhDCT%|@IKrg)KDRsnIpHsnt65+E2=KC#%6!57w3Hs4$xG0(2Dqb6YRo4Q1iJmv+r zW>JXAav!*+F@=r~S)sw{cltDO@x2yj z+OFr>=xr#E_-f0=jkDu~sJAg@ieyccFIYp)a;e(8f9K9AMIC2+Hz{LDl)Rp9Z5>V_ z=8Ky+wcz2XT(20elFqyFJMER-xP8|n)*2cbHCV+Nz)FIId9=S2icbjn zxCX5Qxi_L&#ZMBI+zXx))}+;)_50gh+Ulq9pp%;fvur|m3Se>Ze-$KYdJ7(Jt-9H1 z+b~X$4nvl&1;j6;kTNqjA3l0?Lz0b;Z!$X#S^hx={+1kHtvJNxIc7y}sQBjqn2YL< z6eLuv#ZcGdX0zF_Z3vrLUD!xhFIUW&HppUZ!gYY`(`cM>F^7ZIG%+J)Ne2+OA`>*R zG1F?$Anf(2Exd*DoBOybvYcjI6-R+Ota2c=0N6VfE}GqSFngh(p#grCvp;+GQ5q>I zXP7)a<$X{ybweh!?yN`{HEL8eb7Vr++~=mr(ng-lIh~NO!?n@P`&^tkpo_CU7v~h` zmAyzFXQ#n~+sJ}JYXEt^n@4+}?R)ng|J~bec#Up@Hmv&o;c&%ifDSCf&)#q$PzCKj zKX}lfG(348>;AFKyONW$b7~Wd&D%mk*5SlcfWsL1%btpBrNk_`xn;UjK9nB^qY2{F z3p4i1+a17CY4|7tWv$!v~JgKOk9)+S@>|P0XfaWw{fXEK#017uvs0KbW3_# z41ZroC19p@bjq!}cc-XE0GJF}@hNiJx|Ipb$+%TrGWeY}SyR3XgnjbHw>q<7{s{3* zXi)G@&~pHFbbeFgm=i(FAFkYAo)gK!$nnXeD=Hoauix9d<&?xlHjke@Q%#~qQ14a8 z`$Ws%KIwe)`VJklnw?O$dcaXtTra2DF?thb4dp3zp$L(qRgezo$uWf%T_CtJr#m(~ zeA@R?%9`?Tbq*pK7_;yhJPlR>@qI0#8)B3Y#8Av&pN1V}dx&#VAG0=T&xzA|cgvs1Fm4~w8ytW=L z7}ocpKG>KK_E!`lnNed@V+yx6RnfU7pUk$QU_!w4PtRN~;>JJ!jNrF;z(>4#^5yVV zRA!}a*wBDSpMCJ9+lr722~VFqiAmKN^s&~glwNn?8C6aLhXyMSivQ7l&)6yXD-P21 zzqMwS1!R~#+CA#PzvJ`j0@+RRd$#85+cx}$0us~F8#AZ)EnZ-8es-hr$qk3Bsc1Q( zzQ+u|XD0&Jd$Fi>fWNVpu7f+Gopvz~J$?M`*=uH9c3BZV(&2mKOI|GvXO$XPE?428 zd1zH(ZA3CAGYDXLA3Nw$-`o4*#&VzNPqK%%D2c4g7fA@&;KMq>(Z{4nBy}%;ePy=l z@0qS{6F($*{Vi*jdGJa5u-FlcRchPrmGZp$EI9mF}Jsxvy3B`5JPV zup~<^Z(1K}b?AG8dHJE~>w9!+*s_D7+wxhLZ#rLoeMLLX&nR`}+&ao3hM55sxPiM} z+?njvGJ8YT&a;vgobsBPvbs%b)o%kDCt^?vWKkpfhqpIt(}^e&GbNd%RDapqK$>ZD zC=VxQXy}@u4i;w_sh|NJ$EYz1Z*-qODpMh@J3hadl#QK~*%%1Ycz>-Ow|Bs0Ks;2I zfNK%irvuII5g(mnfg=jx%o-z|vIf-lXs_uLijMnXG9X^r7&N&wRLO8BGE)L>T_h(oKM!QjZ zR)@|D7wqZkSKyKAu#C+{e}NnAa+H_fa* z3{J?)vy~KwBUseM*q;nG8*B2iKqcL(l*iP>sOncgNWUMjg*I0UxX}@iu0D@@5b{-_ zk@7L&)?;F~w9FHl(Xa)^KwHzkj} zMx7eD#n@r1uM+zAW*=adiD}QTqm7kAOoT#?IIV!6rm)|k-&9%I$&4K@+IMcN1_}HC zmVgh%znNN4pmXb{2yUvc?A!ZbU|9R_AM&f$2mAL;Zc;xHZ7VBZ?$HkCzm?PU;Y04MU{-eMn)LYMixTG^LD<0$9$Laxk6&1z;6aggb8x2u^SzsZ-~8(ICGF$ zaT_L9$LUuxzPA~PNOW#X;J>EZGPI zi*n&XJwn8URt)mx{fRM~Tv?lo9JNxGV5lQ#5r{-~2oq-7`YMT|oj|xqN9;+7U}SF7 zZ>8KuG0Sr77bB?Y;;#ejBE2U*sm%$19WhChzLP6``RY&CgZM|Z7aAVkysx=9%OwVb~T<`9F^O6 zSNtYo4yirRZZU?F+!+Sax<1HBS($8!W+PNMN}ia znC144npq9yfi$ECPA)H885oW!oC%Gm&~lBV!zI>AGMz;(e7MZ}K(B@E+|}WBn&EA` z)3hR0y^ge`79?3Yq8KpUzO$BQY`#jmNtD=bNlp)czde)hw#WzP(Cj=7Qx8M8hFB^e zkpsy2A_%g`gh$i|6A+u`5^Soh%()G*i=gErEjN0W>juu$){HG2*4MI|uM*YRb+P(m zfClXXbF~dOI>uOammZ67dJsLgZ{J=HC94SZNp<-wIjE$6Cwu&uFA$CRkAYFk2hmd) zoH0bXxG~&=?lcCjQsCPXOlXslF^`cCXSdAZ3HQ;}y~1|9y=F5DP1Nla>1}YV>%l?@ zbXNK^gc3QJ+#pIBtOyJSadhaXud@r+#R^7-8%jC)x`$SlxPs2XQe@DIPn|{lCU5GY znG9ivYKFyNqrXR}WgQHL#J)f}^-#vdh@)_jviX%ksB_IqluRm4aI{5FJ=H6fH+1hxMGTH2hK}@aZ)%Q@>_U1bBdbXu z1pl68Np-wMh*eyaJU2?vD2^19xnk1}mi|$sX(Ab+cZKy`yBK?B1m?*_&zn2fk8Xkp zmyv&Omy13_k4q2@gmPsrCMGZC7!XSUBpR+;cN6dY{QardWFXPyW0Q|7b?9)Hm7dju ziu{<&GFy;)UK#FK2Hz#ebDZE+0PA*$jX7~bWifx5$e|#lMy8O!x%d-x5kl641tP2r zp+AXr&g<71KZ-V(y>~5X5Z?X!qtxGi_~{qm`(p}R$Q?SwiKhT)M?PKJixam5MsNLl z+EH=|BmD1a_eNzzeZjdP$kri`k`ql7?i~ElR&v=jHEN5YBb|4tr=gGRl4D~cZ|mW4 zRVowl8MsPTCU0vSg?8&ft{ti1A?(*NH8qXtq^z9TgVIyzdK4nnv<}2+?2RrSJvGC1 zm&oOVlmZ^rBFpcy`n#*pjAg^@*}dBq^ntKZt?-v;b4BDzh_3CqM>!|5`u+dTJvUy3 zb8Vv5WX#x9WR4_lRWXLVIOw360iF9m5%uvAWH)={nRixc+jb*iuaykKf}kY77mb|O zj1FD{k?qy2RZCnXI~?B-Ju08$qd#=wMX}7bf;cEvXFR`}U}s)SnhgN6pSQVBiI!@wfsK-whM>nI2* zF!&=(n< z>;<~O5aP@>wd^V3NVFTYby4&KKV$aO)f0W2sal%H+sr1!7hzwLpCs;z$YLbNXhaF# zJ-SxocBW^iELptqL9rL>cb5HCe@(p}+=Vxok&<(k+j-f@Lz?LX7$s87n5={v#F6?$u zbs9{S_6Q76FptLgFP(R{!BGU@<~hejEj2f9ag2W@ek$QchwT_gyvoZy&r1|fq_u|N z>VNKE*#r&MvB}BNpsI{TYA?hw!n!w)y)>^o7bdijy^OJYOut`a*b=(zPm#)nZ+Mo{ zPE5cEbDLP%6hH##NGPN;l*k_{z=7$f)hPuapqN;oy3x1c@L@l@G*D4l51uD+D!!^C z`lXAClJk}@6tWDHqS@1gc#h$u4JjDNEGr4$yQAQb@wGt3K@2#+d^H8!xVN9*&M8Qo zH16>_bMuQ}t^!GwuW10*`u*kN)yl>U7&O9aYT8vxQ?G|aETZyC{d33X<$yjcyW}Sr z>p5@^C@B@VjpR1o_|4Yr`3LexZ!rq92_o4V1aN_a%aPjTy29VA?BK@NG#atp&o^$N z$+8#TAckN6Aa2C=6dat|ih#9gmrj~`rlO)p%GHN@D(11}iqUn~-~`Y-Q4uOT02FX_ zqee}eSslEvX0~SA)&u`EWKB1adA%?1psCVyNC!j1))c=8BAJ}r<6{{3qvh7kzHxs7 z682iwz6L1^?m>`f%-YUwYN~;=(w4nc7lAm1WFW{=Ca&ti83G?a2a^Ck-CC%5;woAM z`;M>h%+xy>g_ zR&0E|uA5LXiI}6job1M7hrUkk`K+yqdhqccF#H_+4r*G z4#i#Y@>Ff}&;XKAbgfJtz*&8SpoApDKy8;LVE*|CJJ>V??Xs3V?7Z3bv*4N&u_q)E z+aG}+0QlXCs%V|*Y_Gu3&?{wKeMj_`rc%(R-f#N=Ytw}Zuc?{%GzxS}!vcIS=~AG7 z#JH=T?tXgIA8C+|gpy=DdboLX#`0l(0?i5QH_&h@uG=nUL9o2l9z^^yN;ESwipCFJ zJ?-g5>zYWbK+Q5=Uq9?$8=^G7p8fUoXx}oS_V5-~iaQn}&hOR3j4kLiZ~tc6vF5-p zPqr;7-PBbxq3321ypC=(*k)?w^Sm1Hd(OeNEPnp{((bNJY=sz{yp^p8)e>QEoX}LYnzRK7()n=ru3dtH!8;N<(s%&FdTg}9h2kd(S%7G9Z!?~` z+iJIvd%+$@@Yan-j^KIeAqo5&XJ749*kW7sF)5ZeobM zc0nikKFDK)IL2cw&7=2MjAWg?**q#<>s!InroA&+PAk%2uwzvQfb0};IwARR66%s%uOh+;4F4T!D=$TJC;u+_Vz$&upfam3zJ}s;i=IMb*m&ydjw)=() z5XDyTYuJ>ooc2;?qjoP7x5-c}cWw0@@$+)c`HQ;d>tuX?*WfpDfQ3KscN=$AwNN<} zKn>Pex+4IDEV!MRfWbCVWEDaiEN@*qi`gZYG%lIjxI-3O627Eo2&1SMYmPOyX%t|l zS{8yVlLVb2WJ~iP;;jT((ak`3nhbHQECDN$iowlW`x>`Td8s`nAq|R~)|VeqiCdW1 zMd4;hVg(%Rn1Vspn)%)Ys-sq2OR#K@49pN(RO7b*=S(Ya-(A(p|14&DfIdBO%9)#3 zC7;Ia14v^DnAK`h6MWFa&sXaPq^T+Wt5j42dkMnNsR%S?0I5F(H_ZW30+gdmGB1s9 z;e%H9l9=t+M{hi_d;T1%ilQ-ySIy(63EoDu{XK_+ZP5g0{lT6#jNdILrz&qwmF67@ zAb))>odv&(s|^jKmW*NGStF=y2{Yrr{EWB!jE^Lb(xkJh>g&0yR~z6}b{IDW7E*rH z>ZTP`^NoAVD;Ix`0j&)gN?4D`a7$GB>l5cAskut0ZI_$S41?0~ETkl*3PfcLZEZ~t z{eK=WAreT#O2q(lLck?TY*JPh-A6$Ye|-#^^Lz_*NrAs(yi+}2x0A9n=8aVUpDQlt zKM0=SO4fwXxCnGVC=U4NJG9sLKh{aF38=el zn)Ib*f01npA|)vem~u=2^TvODRt6A!tFdc`UHlv27%S6 z>$InDeJ!Qsb2RY7ddCRlr^1zzke%96?cJT=_Axv$clk+kgOJEq-+=Zx^fK61JU`_M z|Kw5TJ~`vJY*Gl_LK=XSn$El=f=&OFF@!r{sF%!A;JudS?3KfkcVh7jf^?D7YP)H~ z9HAQiL}(UnM8dhJRA(-d+vHI@W{&!#IWL>4RUdlq6a48lK!r2;d#Km-Xsq-W=^{d8 z^${b@eX^U#4e&RQAV~@Tn*#n?fqsAfc>Pm9zaKHc<{B5xYhS~j;5aUjHj6%nFe7Nk ziD!4vUFNIG#fO2h>QogG_mmF{$fw%cicLfZ@lCtk=04|}e5xXVkcd_I70@jNx)N(e z!)czGwWi+E!U64^%5TS&xkvH7i@}jZF+i&NY&Oi>BS-=TBfbIn2(qxCn!F`|CyDzp z2%R&EyhltRUDK`#01cZsa|y#@tR>dvbxrC$ibe+jl}PJ&SyD-87%gT!?qpNsn!$moz0_bs z;FV_v_G>@zPhUU^(Sjio(|Kn{V=on4n4{8T0a#5m9K1_>3h!VjO){?@oZckH6xrkQ z6_tX@2u=aFL@3Y`zam2AwDMtZ=ZreZ8L#`341<%q1$r188Hw&Awobj=KvQq7tx>P) zwuAaje3n|*=H+ci`aB6HS~+zEQX%X$$M)#wf}_|p75gy4697PfO(F|P4A}I)h3%sQ zhTC)}?-Lmt8N4eA0j5pn#dFR!P;9H)QDhAH!}p3AKZnpZ_=DD+v-m-XO~%r!F1da-1W`Et`yC629U8`y~Ww-4@N;DPzVXa7k-Al*HJY8&!uZsx*({WXE8=aRAGiFd@ z+{9MfND2cev>=V61bO7!$kSbnji)G@5OYuLy&IyVq61+-?DS`}kpS!#JcO!ZLuEg8 z#MJuhha@}Z4WYaqx06#eR?&nCEd3V%vYiyZB+No6BSwigYWYv2LCdShiGeGRLeHy< zFp@-03%`-PF?S7~nr*_2`lj^0DVj+2CBI_h(nx%~OqmN_=^y*C%J0ReAu(0B- zR)ml4qVui_gBVEJpNh%o5WQLm@(iXsb;|LD8_|zaoOM2Yy0!wmdqkke_U#vtd{FqE zGC0bMS9r6M2|L;Nji^g5M^JcJzYyPuG_MTJZv!H}d0`>iV>m97!hvVm&TijCwZ+6e zC7R>E%$YMUV3S#8fIp=I={5&~2J)zmni2ahxTqCdegGL$TubMBsePy;$f#lIa>56Q z6Dc*q5yu*!}XJuxdM|-_$+4~@jNsBM`lm9#aJ*MBrxTQ~Ders{(b+!Ai zzlm0*D1*Y}v~}__H;?IF#_{`c+wQ*d*7gMkstPnniuvNf={7uBOrz1wRILi%`pu4- zk`3*L1WU>x_@5e#vjA|KSZ-%NrLx?N?3BUQsnuevyIX;qtUv$l%)nQl06Pbhh3fKN z;`cSN>KXMqEA#x=k)HJN3x6%KG6{NkZ3!Q0T!BU_H8)b7B8Bxbm4((ZmOJ@J{W2! zkC|IL4h6G|o&J#A6|u>437#$Sr(+UMJ|~Rdv}sc_dTyj1BGLH}aq1fz-X_Xw=PU$_{gxPg+5r` zujKJ#bDU011>eCuNp1Vlv3k1c7QD?z7qxGhxrR58rOgDQk zg)flaIPyq8`3ZPt9z>20Z07%49CDR;!g?7VXGb-6~X^-Y2YiWBO#F792@TNWS+emX4Wdf*3dp{e_^ zd>BWom{kWCilI3;cgS|#-2+rrg&!|tv=B)awx4J;RZa`osP823tcj;flFs<#r_}5y z>I{LDuxS7?Is<4W(s#-??>afTGkilfNfvA;r0m9l2nWZ}bVF-c-krN4qwaoEnU_&# z>1xx?n%9G(R#m)DdP@jH8b-6;u#}=a54o3kP&`IZ_1Y;MS?q&Iem+=Uq9Rxw$Fk62 z&YTI2mriV8Z^2DMMk|LFDVlex|AviC`OH*X#1$TEg|xOjI=|3pm2%Y+{j}| zNs=;?2sOg83J(16=a2rJ`QH(AbpLilG2~fn7a2`JK!EV(;IU(+BqXh{LYAXMDXP;; zmi#3+KFmTYP-c{cLkPCy>LOuF$YUZV0%kuw7qzV|I?1EuhY)NtqxsAw?>7hr7k;Xg zZ$WZZ;8{t=Ma2d+YZ{IMmr1JOJC3eXIG*MhkBOCA`oB{+%Vg&zi1tckh6HB@1@$3mn1%IdVV(ojO4>sVjw{ zea#S3s7a(fLI)&A)Okfs1Hgq^`*{!zDe^veq0F+9wFeA1ecSsD4~ZLB0ed17JxiJG z!Gi}d7z77~gxDCwR{5=#KD?7?TYq(f^W@JW6fF{&j`ZjWl7#~v+^e*s@|`5~qBc)I zp0-|xKPm5+uKYmn9*PyblI4t9yLD?)RSFfAzb|t{J~Xy)qH;l#V|`Le8m(k1HA6nK zeve=t)z)9W^MgIAqf#co!Q+lcRGNLI(L45xX^*n8=0LZYvuw3vFBDz|2h&SToRQ6~cXJ&%KiK_U+=><40HZq>D@ zEW#oN)4$j9 z;v+yt><~OPUi!R)Jac{o;oBVQDL9k1zy>qt%;^NWk$;4URkKT%*k9XoYhYkCg`83b zq_een(mDtxY~04yQk9+6TNte}N?OWY^p{c6m_y65$S_HJh=*zZ8l0mvF@p@zR5_yU znh{bbk}3g~i1sU8ie#fvLZPAH93X1iYv){cVN8Ho3LPkagR5+6ST_qvNl8Tl`=%FY?8`v}TZi zM6sPmjt;Px5&84v zI&osBadov_fD0|#Gzs{B+sFT68Kf83N~qn9qn$db0btEYspCGkyLnMuaCZKaUm@9=)InG zYFVg`KWE>>eBRE=uy3C%+GpqN>$dBPO4zOUZ;LzLyH^_a$)oM~_OIRdRNSP%7fkyl zppz4*pE|^ k&r=hp_^8U$N@l9y*xk+V2tLo??a~qrOCDq-*F7Z6AdOxe7$Q?bt zc@4)85FJ14%=kWxmwpR(@Zp|&juYxS4q4T+uM#R45Fu63Eq}mq@Ugik?xrvlMrKL_ z!T9<67ZT1iZ{L3LGJVB<#_mmAx$>)8;<{r;kIrrFLk~$I0nPp)sYnSOm{>;<5wfpa z?cBM%k;t)O4w4mC8|DU{AAyRisYmh#gmnQz`-FQ z@%TRJ`(|dlu8F#$@XVsW;cD1SpWZ96FafWhe4-n((`I>^N9jglDx*uQ+s4pW_CF zBDAfFYdz*l88diPO=sPW{Crj(S+xD6kzAd8mlVapqK-o0uQ9BTcNb`Y_J>cs^Mk>5 z7?q#_jL!-+_DI0H&ReD*F_BI-rkoY@JaG?>e9Mrwb>dE-G_-(Fcgm^dNx4m6jAvY?m)jr5Jsn zUb8N5mU$FwCO~=xKo6_`h`?JLiMpWXty?c2-cgi&f9$QHQ1sGfm9Jl+mE{9yg)=$< z?>>IK34`STOeUlxufA~fUdvLxyQ1^-(W6L~-R)cl{gD(;bN}a2X*IiMukp+rnb0w8 z`}QZd`$@AJB>@lZbzm29nEYdNxMV9cHqvC^szL_R?8Er!poy^h%heg!R>Ku5SMsj5 zez>ZAos4DyIf1&tg6((Q6qXq;exCUcMgB2E#uT}!$dQeQA(0ZR0&7P;w!uW}V<`|e9`X-I+?S>6o zFC)(fASHa|+BF;Gy`eH4#Ix*btK#@!!QFo730Wdq8EEtExGGKIPhWc}6uHl_0Iv05 zhZGF@@wV~lx0!8_gv{@>#q@l;-MaVT%NNoKH6}!F7$9OFE;D}CtjGr_fn)f`!4r^& z1p$g-TOQk2&EI;_-Qg4{h$jdO`gXW@=1;h)rLM zdaKiGFxT$M-ajXdA0I*B zXx!pF(5g0CqFS7kaJN}$L>tF8^j9bx^I5pmXy_*8s5lic!sq}HpA&_rP`!D6Z1d{@ zwOdV?Htir$Q35#r*B8fft_7@ha3N5@83Y3Q9KZ{WLE8gXz%~lFck&by5IF4KsnZ2) zDfj5$5UbT4L1(P!*!8ZXM{g!NA2YU*LgD(>ij{Pt#x~{1%r%mqSmt9?BG{Hk6B?&@w_^G7 zZkn3s!TQfQu0l{_8>Y?(yGgo0 zsUU9;3eu#H=2%HY2)=8rSO|zVBxU1>hh)g+ia$(4Q~sU9_`7VqD+*2kqw|(5Q79Dd zJmJ~y+B!NZOkW%D?ZvSxmoANGpM@`fTyNTnr@;;uL;LQ;NK*`x?ZMZxV?uRL-aiD6 z>I9gAGMn|ng$Eq2?TQ3whOt z9=9`xK5p2Uym#07<~Twj42XJ~*=F(fi?jQfvLe{jqkfvc#-YcL=lY)7T=#vtrr9*hNdnX z4q?~3HHxE5XrSPz#*>(R3h+9%hH38q*U_ol>F&YD_7VCWjJ(~}V z^_x6tnny4<@i+1y&a`x{WY~ewkl4h5%%9F5)%$cbh=n#BypnG8OUNs){(57tkTpDB-MjO`(Q)?J zFhjxO%V;haH;Qej?eL!?t<+t_9n!}HCZx)KQO?tj3YBQXL7+^ox`W1EZVIwhi)@|?%e1*Zn+AC3W>7XJ0UGWBDt3+ zOdoVorM2!^ZtvN@aUOg6a=q(y<>7`HBvwaBV4e&*BT%A`Zrf6(I9(-0qj!zc$ z+btTMcvCM>eTS@boo#GvqQ$Afd&3o+q0AXW7Tp~y$Hjc)Vgm+D>$m&h%|)F!u@T^M zNt_|n_NpZ|O&(p1Q$*5X}mbDWQ04cwoNuyqW{V$Q#&}KN37_{z*;h5G1 zQ8y?WOrFHXNNMp-9jnE~$MP1>YW3Sa29ipOlx*Q-T_F{R7oW$No<3Vr##v}36dr% zW*+5`id+R|ZC=V0!l)B{C)UHMhqS846X$jiFH`R}hDzRW&lzXz@mcD)Y?%m0p>j0f zw?o#@8tFg2Rs^G1%;U?>7T{BRA_t2imZ360;=0>p zPZO!Uu*I(_CSdu@npsbuehA4;YlL)sgfUMDRep2o;zAg01-#~CC6U!AicHPR%Uj8y z(WOY{8V8WmSCHY}LXJ?pQnP01;ZzYs`WTQ;ui;S7`yM-~4#dkz-S?;|0}XEy3}@SQ z4BN4z%gOt6Vh$Q+Zq9A-t%R3)%9VGmEh`^Iv&ILkqP+5=jMW+BNBhWE%Rzx`puJoR z*f7cwNQ_cd2ysG-CQTxk$wWJ;<;Zd4ZsD4w7Iv&t`nvz+&|T=fb?@HQ!#kc@bhjUR zu9p|2B(RZ*-q=Zn`z#ty{DDu5xEz6TaiHPXlBW7I;)^MAS1@3wfR$OA)zXj#asxav2-6f>!^jNc-j?N7UGdZnSbsHjeZy9u8Vj>H(U&QjdbX^$UZ{h6-Sdcn> z`dEQp-2g<@M}If%ZOhr+GmarwD{`* zKJUlhJ+6wjk#^6X!5^+(d^&bU$7{!#BcyOOAW$i;PN0&Eda)N+J#T#yF6&ilNu&GA z?k?h8=$W)Dmq}i*p@V4o?@g?6=jF#KIq0o1MmZh{Np-_nC5(=XC#M*IAM^;HYGoBE zIy4{!g=7KhjZ8S5-2I+{(kF(kKVGS7-e*Ck~~Iqmtny! zC+&TUn`?op0bTl5+{SL7hHA5ynTI{&q>A+%H>k>{;&`+C-rt&M&@?5^tBv8b65ELr zV+p{S+cGf-xwdXSr==H^K|T1NN7^#!c3p=5I2;sGWUCb$n+yQ}6C=AE( zj=ZOgl14_Ifdj+yQv*o=a=C#N#z+-@9GALb!v?Wwr!iz*qMiQ~l|k;>8E+8~e49Y3 z=%nXi(H;4ZN4QH@&jIXgvJF@5br3XzLqfV+)~{Q4Jb)IFZL?;b=nUDmjZ>_+F5%YM z%Q3zD7xinSQ`Kwhtkx^J_y^J=lQRQtkuQS%c-{AA-1Z$i%6;0ns6FiOq_zM4L8X%!rb?F1PcH%_xyw(O(Y`ZqkKt(8?rPTwz!hIOsqxN(1zeq22F z02Wq}op3xql@v^DIR`bK3>?7Z;Db-|Tl;`lN6S2dulHZC@~pS*qz{tkb{M1J>kjTk ze$*C+BCYf8%^Tf5d(v=89#~*)BcnUFHD0x&gN54OYXTnd&p^5>h?CK$SVjT2P)*rUHu3gXHFB%p-7O!3)H4 z06<;7dv_`u!@YSHfb#r%4opT9|HeRqxhYdxsH#TFg29E=n^p5VL-tG!VwqXG^f7g43CC%ii6ejLNoRv5E|@H6!oX`JxXo zr%>p$d-uke+fon7w(E>jpFg?Bj!`@6$x^N-_Egv(5om$b?*zQvW>q9A9P|`k>XUB% z2sHFk0-}^y+Wt{K<>180Jz5GF6H2(YV$qyx^Rb}m%v(>P;hpnKvOgI=eDqF|dI2zt z0Ypf0m;Kp6c3+>CzD_F*zX3^5y~F(&i7dvTlO+26STma`Q&yh4>(snO3n!%~kwZ!3 zsXUa#BYR%=;C248s^p$Z(< zD`fO2(4j~8{FEs z4}CH01u=nS>Zd>CkK!K!l9*@N9m3f3PgYY`FMyydjt=jJEv1G~O>Ci07gSW8s`08a)fIu)}1b6bh=Vno(>%olBsN;<3U|$0w z<>8)f?d-bYULgfqteHCD%?=cDPo27FmEE#Mi^~qjjP~eUb_>^HtLl5F)Td@=;&<=Z+fSc%@?=!GH4+y(U&##(PBze4G;YA8 zCA~(Dn-)2B!q%JD^5S*=tWl%Jo^~0}?t%Ms2df5xIc!iGzs2?zC{J+Vis?9JV5B_( zh0Pxag(kPB=|t7d3C% zG>R}wr(eJ0H{Ao;4?2V~z+#NU*4r|_mKA(t^CNtE?OPLbwur>Fm+Tc=hnC!hh` zDhDO)xx4a(d`Y_LRiC{48KCZVtt`K(C+|G*Sh&inW8gHhx9Y}~bLmecE3 zY$cAOww9JTHe%%1vC9_TwYv3D-9W%9aEy_&Wz{M(3DeKkVs8>oO+45h4Bdt|S8^|O zz*6UllYBVKEMEETq0slIAtox9vIC-wRvwi#BED!)v1#RnMcxnd0{+m z9N$dzFac>a%*a)3i(=C|3;Qj4cxIY>DTZZxc=#dc(NCW~HJaFF?;&n8{jr~pM#d%x zr&1?^5VXqb<7nk|PXP!hGrBx z+qYrJkRjIs8b`DnIcn6NNY;K}GsbB6X(zuz-H^BJ{0^Bva@)lNt_z8>0fysz0r<-gQiOC@hPXEmf#Q zFlCJI=faF&4h4%>t{9X7o5_I$ppqy8h-PqvSm`f?H3$(A_mtJ`pM?gk% zShUtz#e_qLc3|o_p?j``6XRW$V%H^wdL)=Ha)Tz*XC|zuBQss*CfOArIisRsIDT!N z#y1zQdf$dB=cdzJSV!+Jo1IB6R&kcz0y_`RLfSeeEDER6^PXijZ7N zec+#|^0S*R&R%9O%QJs4z?{E5#V+jEehL{7OGffSZp_;`EtWRJ=@RpCV?-!U%SJ0) z<@;n2DFg~-4R*y=&O{;!h)%CwV?~i)StA`S-@RWTfZ=hJQh_sLcJ!Wc2uk^I(7o~- z`?pA88aBg%+=#(Mn*B|>C<;cg4bOZn*8!d@-@kWN5T5Z+db#%fRo`BwKix64d6OnH zmznduXP z_^&d4uA278%an!VZb$V~3fTX-m1%!D3+$LVEEM zuv6Z)A$=N_@tRZK|LdYby_Pl#y<%u}a?}?S*Cf25Gd*Q=NF9`4Ahjsl*fo4S4Y$cO zmJ@aXEpS~|HA0!0e{lfI`)7Rdr}619QgJWIF(?S#fCqXl;N}zAwuJS?ozq^+xHy8o z_xy2F*^ttRB>(q-iTzE^5A%r6a__#nPOlges?#5foW-2cWk^SRk6{)T72jTG^jD^~ zAnEMmHG(v%8@fi|oaLaLrl8HSNW7C2+9I(~+p?9{;Tyfre2%he5m&mTqkHbI%ruAV z>H~g!E^)|8byQzqy0hFfq9b&v3VPNiq0Y|W$T-QLApR^|U!5njpFQzd4TZN(2qmg; zhD}O6^y}S+Kf3fk5&LE3o>{GBX|OiTML0yMvjWK+596+sC&ZlNlbW|_Q(o?B79nIul&&p%J0a47x;HXB9kF#;11Icixd$In3Tprclh0NFV3hxRjv z%7U(2k7p=f+{D5!rUPvRcnxGMyVF_8WFy41Iz4(EcyJ=Exw~uRd)GrohIb7+$45t- z|NMF@L!8U+Btt5wTHQ&+HdVA*ONFh5UwKWrma=8=5z4D0`As>!ch1pQ~ilF zMXsdJU(zV50hT1Xx6moQJ@@B>nyj$;0LU&Kz^-Q7^=Mf_!K|BJLHCL z!wZ7L_HivX+yA<^-I24Y92b?7_g&`Bo2N#nxSq@dxuDyygm2WvnK!h|Y|#7E%zLYU zR%OoFGQfeBg7c{yc;%O&{gdnlT-dthri=7<^>27VSLCKT>FVa9chjfc^5SZ9*zLoq zn|8dMird{x)hesxby3RIt#hT(C14J8@;)HX1LsgR%7lBgkcn#Q@Q)Hc?F#?nl~D=F zVd5uKdp{$?y(>N&xVs*ABh$W%W=mg^vCWwF5>`jQ*U1-pb7)@4Bq4T|TRg%%Xy_lC zpFejT8ibyPb!o{S=K$^xSLyt)HaL8>WZafNx%JJOXt3=1bFiYUCp{Br>f&+Q54e10$z3+ zp*Qf`i@sS&GNRsxSbo;AJKX(d8Wv@-(KXs%5=J3OEod`PUslqMQAZgF*~!%O9*Cn` z7~_yXwGP@$f_Te$H1Z94K=l(|uSm6VAOCQL;X~QOwAcGX&c)0>aMc(!a-<$U+8^VW z&km9I%FVz~RJrgu#_mu~Nuhy-K^6|B_;dQ1lDI81zG)N$pFIB0Y6ahS>3=BoaeWap z8hhg8BcC>*9##um`@H4!szEHwB;mLoAje;S)WQMP6e=^RtVk>fq3T+|l5;&;Zjvel zxnBjhlPiT$Y7NGF-otf?gH|6DP4puMp8zc2^{s`Ib5U;3N`gdgiGE6Qi5&CYZnUtbeF!=Q0x$l9XJFZhY>Mn;nnw(-<}3A)#B)263POtB1D zq|LmwN0+`MbaL~{a*ykI@$Oy&OX3dymql98rXp?CA<;NkbU)p8+<;1(gL9m+W#5ba zn{s+(iky{WC9II*dLs#nyg?|bEi1v$r%}tF22WagchL!_Czk@TO}oS&5}ap!x{DDL z$4#42dU-;k#6tM+J?{seK7BgJ@Y$nB9W8-322{L+@(~GBS*LgJ*9S^p5ZVgM2D7=k zaMzE@!>bEdx}9*pAKS6iEa8uK<$dd<`1gfG#zNZAvw7ofXpmjdoSfSeJ_Q_PFL(xw z?K!c+J)>3Bz?{L;(wuj1nNaAlCe6Ldo@sj{f}jz2gm-fO3N}x_oiN;v?NdHj(@8a| zdDqUxjoMC{&Uy(gMSMym!_xZr%^j% zqN0Y-!a}+QUp>hKKL!KhYTBku%imS;TR-qL<5v zTFY^CgASWkt~m8IJ1_p?0yy*5Cv!`WABy^HKWGxkK~OX?VpaN^F?JMDIV~m0L6R?? zy*N~gqe56s$52*64K(o!j|FQQ0_&F{PwMBkrO9eeIhR)&X?GB%DClm%sDEG?PS+suOiTztjmwHsK z@<4DrD4FiI{df0N4BTDgg6;<%L5FOw|NW)gpl%T+J8UFOR=-4JR4nPra~J}*03fah zyicTxjCE1->1g>CG3>*1)x;4z1qomR<*V~luoIk?Gd2=5NSqdD!q(otN7+v61H-Ss z96K$<{{6(C6LO?ThBI$FV>Q%9*{5Ok^C^?=|8@!*PhsTHIs+iEtc13mLi?E)+%IM2 z89^BL04G`tK=%h7UXfbhK7Q|S)yik!OP{N$<-%N*^=eX+W)C zuU;O?CF7)!LCTa*k*N}y7~=uiWjU)SI2^k}0|uaZ+5VOMfb;!!;&{&vn^`pP0}0fk zd#QQiC>UwKC^|Mav~B4m^0vMx`TLu^O1&UPe)H<@CG9imG@7*Eots{4cW|Oe0}N*$ zyhVRR`W-V3ZrRV#>e5A>E#jk9GH&(PZGj;nPNMKL9CikdnS|OO2u+Qi96f;9xg+$T z7tEvKuQgqDxcy~Ok*VXC7&bxa?veH46TDEz$EKC`$} zb>3uOEqn^WqBvxa04E~$O!~*N|7h2%P@}bvRjKLsP;nnB7j((K=h_pj`#?>?g1cc& z+7M^y;isg`yN_E7*gWXR=Y1v1N>`prfA*X@iO;OoO1I1N!l*yH9QoD?kBmyuE0|HG z5vKDA&*gbj{0iTa?)lnc;n+Kx{@A{|An?A{AQ-iX;Thd!HsPCZ&(;n-x*&+o^CeL>VNyDiknJyw|w9eB^Q z_nx4H7+jbKY&A3K;!i~`0dI~gT^~&H;QhscSF&$V*8Qm#pknp=jnG>w78Pu&^t9I?16`!uUoTz|VlTMc^ppOjPt1 z%xRbHLRHx#+?~Co1HZmnzJAy<>*kXtPArFWaYKlhxKdfBuUBXMh(a_2UL{}e`0;=P zG~7voLUB5BsLmuKP7;C8W|=ry5{nOD>!i$AUikXw3)&2*jkWml^=oL`Ed6U2?x?gi zPR@1*FH`Sed4cYbT}*_%9`H61CYKp>E2{ISW3Yq%w50K5sofJVN+vkzqLhhil2d=c zX&U!h-kd)?qcicrQ6uBkSaUs*Lsq! z0j!HlL39f5?X)b}xJ9d0Vn!vyOD36NAmekm0yp4UL3eXlX3FK2X`orB*{yxxNAF|Y zhm^u8vxW#NfJ&ECjxe42CQ(jO$toW-nV{z#5pbVCqg{2v5*+4ziH9JblXfdP1f8S^ zp$OtKrW|wd=T!*-NlMFESywMyxbVW43wmFLZR|a~oKR9Kbia`Wu&a3LxB>an8NGwS zv3L4ZD?Y$C&{6QB+lHTPz{^l)B+=(PKWrHE{n4r30d@Jl;(ST>yPS16hH+W7WP494 z&@iIcqnUJo#8OZVqQu!5Qxvhl;JNTNXJEvvgh@>5F63|_Do%g$6^$f9h~8ise5;{~ zL@I-6KDbH2B?T`dzXS+$bjm@$fPkCisTxn+u)cS!s_D-GC@V^J+qbXv4?40E-@RKx zY-9YRT{_Vs;zy9?>-2L@1?({6Z^I`NZk9(sNIV)P_$ z*#AyQGU#e?*A7{=bL+PDiA3`X))LVk&$dI0nDW6}&#V@c>?2WtOT-0s*)MpZYoxM3 zO-)^gUA>iP{E5`iV^H)_<+#MpaO1oP!3F=cHv zR`F_z#R6nter;*dXwL8zAj@qQieh^)VZ~>w5&m}X+jjyuTfoCg(5y=? zC$26?5rUxrdr%GpRtB3SvrVM*sV9Hp&`}E24RPluOkH=Ah zme5rQ=B7eFP&h~lGHfTMIE#87EBmmTG5Pt{mI6D02OkCqNMK7y&JP||NG%UYHXbOL zLR-&TEnHiIv(d_B3?L>UKG2{xV6tpf&}Wo-J64g~K=|CQ1=w#iJxKVis3$iuMvc=DF_?l{ciIDlBM*qC@$|O*zvM2DQ+G}D$2xa2G_+%v*b)dx83NQ> zTmGgfS#CyZ6Rlgvf%D_KcIyvG4aFc+`>KHZiD=I{35|B{^c=2cKcTLazV1IDYNaAQ zw)c*uFK%0rCyY&ebNbY&(dr%Lo+i;Dpm5wS)tie`##~+o{31&e>|(I@)~Tv9K2kEP zQA6^rl~rYk@IzO?r$Oo4Srt6Z_qxLb3Ou|wTihKPtHs-?dj~mxyOTIswY`SM0m*4@ z@gxIE{-9dd#h+Fah2qC*sp~mJQpTj1VsiMe*W5W#E*VXJfKRg~z}@$`XSZ&ye@^4>@lv=B23bD|8&sq8{p_LFOIh(* z4aD9m#z+!(HilQO10=*(2Lwm&Z|TP_4aiT5wKJ^@QI}e!)k(Cr0 zTw?Gv1C$#l)pkam+O?1N7LJEv=MdiY*>yLXD?-mi8Dz5+Jy1V)o8Hg6TH_2u(t!}_m6-z#gZ%94TW4{WZ&8x{bHy$6IJ zhjffXmRKl-{t@?#t}WzGd~#n%5lQ*sAYx5^eOg)YNWVV40?2!Qee7v0`u)dLLk|A0 zkE-_PKjt zO%J#H(-@8$>LrKPG*vGDwZCsRqx~$7Mo6PYgWQbaCP^)ny`!>=k}0*b+7o&0#Ze?| zT^l#vG9?3+2FKLGQu)?<{UxuwRb|$oA6D$$lvOz{C!CSuPzh6>+LV0Oj5luBb95QTVv`tqOr#kchOdFMKBsf=|tifz@BZ}l+UPMUx&Ts>V{_xrmp?r z>hWe&-(!`fQAMi@$_v~hqAfVSXlho=<^*ZuX*9VUFSn;q+1P?To0>|l&M1vpLD5H! z=&H0cz5T>o{?*$j^V`U33f;lflmM7#Eo+F%e_cs(1@xDS$gvW`hDgZZ%N(+lzu~au zU{?jdL5V~eXy-j=^5byamw}1$OzHn2h@SUGBI8aMbk#3rAwWDPXZ(9N9K*4_!kQy) zk#l4g^nt`Tw5{?PXEv3`=wNwtO4?H8U!+Q}+po|6M~|KTR`BA7FO(a_y8#WCFu7CM z;?L0=>;G#limOk)F09sG0d$542Ted0bkY(IpZPix)E*#1C?#YlDM%0zpp+fI>%wq^ zy*FMGy(R+^NyUKrgK($XJ|xe)1#*PEgq9GSq=kXRf9chpCoauSa)iDekX2olOn-o^ zuYL^xghG&z{et4GZ#8{9;UP{?xPA9sFQ^E)x)MP35=np%x#?t2<}R{cqIngEID#YT z;#bNxQdXcY=16vYkRx^=%C_bOW5%+dD zkLwI7_+Me-pb!5JUcQUUo@J0Ax~W^#TW)%4-B3brMXt9UZ``c!vzITuGW%e5EUh8- zl-Ng+`#b7@Oa@9VG`Dw)=0Cxf?XRB`SsJU&WI>HcyR;)fi&fKha|#32XFQRWMR zmtJ#62%MPs|f1V*;3m3QfLvbe06^+M)DS^ zqSUhGXXv&Sz8OgV_N`kZC~gc1l8ppKa9lvv>6gdv5}HV-3RYBqYvM#~Ntn^*51 zz02(J0{i>Vi~22iF>l({^u$AnI}=YH>YQ})+l19$6Wk`LL^rkW7T;xSeWwqNB0U{; zl~#3n9p+ivC);(`qi<=4(hRTZ&VTj(nrn{xtM_50O+;Hm`SEw}(Ol#SetrJ!e_f79 zPPTc~Wb+UxQTICj`c?l1%3t&U%g3kocQTdb^ed?%T25w{HdL=Z4RgIY*sc_LieZ6@ zF~8UG*Cj%<8l=@g{8DciG90KU3`en81dev>@X5{|yKddO4hSBIN*cSPx96@o4=A~9 z{`z$#Vv)t38Q7B0*upwIcX&3a>(4Dg$ z+&XpQ!a*p*@sJ`}@Q5ygb*E1cfNS2nY8v`{NGr?@2vh2RIKJrHY)IX-wX!_5d-m)p zqHFq5228KY^1TTP!jz?tCl3KQKzW=+zRJyC?qwo z;WO9Iu3Hz)D7S+N3H5~pSE{xO+}tSV$j0XbGm<`j`$56?F^jPMf#>yyZ@tj?(A122 zyAG`^)x6YvueoKe&(zvA8jJR0p3B}J&-zbCuZ*Z)rClB61`4#7uh-nxZ(?b}yvWqW zOOEH5J&S$zJ@ePa7of?esu~h@X7~n%Y<$ybJJPFsV20bMQ4PpO&wue(uEeG2Box5R zhmZT?%pID{_Ql1;Wtm=pJT5BeCN_FQ&{s8n-v+c1@g^18n?DcwS^Cp;)g0wY=+#3i z&DVExwq3~l<%aqbbWXvPWo5RSg!S1UA72j|kG@~LQL@DmCZX+%jI2hY$nY3y%o;Ly zfQ-{~m-1%Ky=F)5^7YL;wdPviQ?oDDH#9N1+P2)=ss6=+{&TuDcW!g(dnPI1U$ATM zMgG$NESstP4Xu|}q1;wnV&Ymfeq_7>oIs7`%&VULcCH#H`$+!`Jpz<3dn z1Hn$qkZ)ujV{%rE7~y+wmh!&x4F8sccRA{t=>^8+u#6Yz5|8<7^61eG8GP}ik%#@v zNV|4Lok~A3=$ly@dz`eX5Y|V|E$xC*BsR*;d;M%pP4yPBhB-&N&x*8L^~*f$_+f#z zQC?x8NRXGU)yQ(qyWm5#hP_&7(G5lxW=vyl{t*U!vxh*_71uH^J=kURUtCgzt zYucmv7O$fBZC>9_ssY0dC8M)Iv9jb4P&b2QlGw$o z=A=wH=$`BIzKzlZS?;9?f^R%wEh_@>zRPUPW14eEd0z z+As^G1yU1fK&+A7k(u&9v-tVr;F}a;WFk8X>lTwIt5IH;VXME*>MldKsNZilaI;)g zy|lJo&KoETGg)TOxVdJmO7Eii^+mLA%$PC86E5+a=L!pLe?O#Sb6E}jMnDrC8QjQ4 zZkgohZZa=v+~8u#&X31jRSFT?_yWIbyz6j=8j2WZSSYP?g zAsxhOkM{l;Um~w{%$W644nB)7(Vy9)`3b z(O*xtrp@jux^`VWcg@wZ>lPbXeDT){A6-Wb>hK|dgg=5ShMNS+Y$qNCA8>>N&CFn{ zSGt#FTXcGaF&4FV+<-K1qeNFf>wi;eoo0Mb61r>ys(=*`EpxrS;D;3 zvvP~wK;F$(u3UNeeZ$@}&S((+@M21uG`OgB;{OS-QNmTKwOl0aXq! zJy#41x!ksk)n0yRPJU65A2@JD*uhyYF4?~q$!CpRbTAN`ITBOy?$AR;F@+J5s{QY| zuCk`GmZD(Hr!-wuXPAl^-?!B>4n9is-8|#W zJNc}it!G;!Ql-IMjQ8xW4#aRgb`5 zvBZ_%Z#PcdP-YCZJrI6P3<4>`^lvBg|KS1*adYc~(y%UFuB>@UQ`UUC)9Ute@JWZh z4DAA8o5)$;F(4G6qk+)Xzs5)T!(+SFvd1V*FPIA?Q{YwI1J`zv6=K003GCmi2^ zvIg$hk@@A7Sl~-qvRcE}PD<#iZp1h}Q1I=mUYC~-adGKII4UDl?k}D*N2J|lQdxlR z#?5{oL!{L7f8xadwln0W0;h9RdAka|TrNRT=JWiTO4>i(T01ar1$_B8WSo(QUA#j= z)F`;QK?1efy!n!TLk<$~(%TLVl~1Rp{GzA<>J(#Yd3bm*sB1V5Qj7&uJf?SDYTG3+ z&jdApm()i-1Ah*W9A6AQ^#T=7laW@cA%}>D0+?Awvk+r9d-48dhm4hXeH36glhThI zB9iL}=5G_jh_G0xS{J<|@Q}+#56asU6VsXMZ1LmAdVW@_{*6h`n6Yd@1P;}6BcQto zlF?3?|7pg*e0!eZdES?Q!mIZU=g*sW?%K76wCrzRwwd-Z(Gue(y1b6rIsLpaUb_Wf zX}4vvo!v~{_-7LJdA^$+zvm6yhxCmYn1Ya489Yw_@p~`m;fR_A4#rVNB~>s^1S#kn z-*%BQ$$Yc}NcC-ptQ@wSFx&J( z{|C!Ef!#iBw9QvBnu#$K><08&FyGmEQ)s9?sjUz}Hg+ysaoqPVTm}1e0ih(FS3!mXn`b`K{*+(Hss;w#jC%y5zQd>O^JxxLT{BX z;PZrq%QK9y(S8dRpaiL%wY=8tBRj+SppEQ)#nL8UpQ(L(_ihL(oN@qoFf?8L-!X5w zqs(Vn4*M;)u&~ysQKL-XoUI{x;{FOBNt9?bxqau3JgB_Nzo(sEDbpCO5r(~V zmYp~+z|XfKL5KzrlB9VM)2t>=tPM$CtT)byk@vMAcGoQ~T55~CdH&+X_VC3{PW6ar zMJ`(=d5xYrSPrNUzB6#6bzl9iFtS}`0<#&DK>1B*s**3a2sTO#W|~g zxNj*XEhDIr$!;Q*FVowHeoz{Ud_tFw&Mq!K*6}qJ`UVD;>qoqtr{K=bS>%igXGh1a z&$3=@LW?(}m1W=l{h2a-EZd7Y1J-#ru$G~JO!(uD4RK2eQ>l8AP31f9X0|w-(-Qzz}8y`M&=-TXu3qEc9;|3v6W@cu!)5kY$8kJF}BE8faweYej zszp^Zy}V|Nzj|8X6ro zb;gXw3_#+xl24r2cktktD|;#{E62y%U_`gqKNYHxXk-`b<+>=MPSNII?q%DYHO|AD zGVD-vEr&T=A3S9K{P_YFeBIS$oQa9a1*U0pZ&mH=wKS_lYa4#ar!W0O^DfeO-|feb zPZ@2J$K~bbcBu3)STV_DLjq5%uRkK~7>egaRa_Ny$%1dK6$OQbmWLxxFIdtRAnUNWDW%mtrNi*X^Rw|Km6!>W{j@Gv?LxN&KD(sqqDO(BCjwsTi4MQm^+9hRak(8b9cbo739p4F%?V{c}ZY}nkN2K)Jp>)q9rbhhT0r@MO~uAc-5_ck|A&mg>GtE;Ph zs^5BKBiY$V@K^=6R!aF;0uzcHT%)&!^gct)o|>9U1yyo8OIB94G)KR6dED)sh`Q8S z9iEf+fBt8~sO6^@Ja5TxEPvp?)c0_bxGjTDlTRMH$Z!W|V0Sm=-8!}LEqgK#xK?gj za$P<8M*NNS_b#q!v|jn)PfMqY#ji^W8Kuoj5s!|d`qMgX$9->Fr!{z;Uu*sR*N4A$T<){UUfZ#Eko(H=%~9JL7yEyytF`Y} z8WG@8X>iq7uDqg{$Nx;dH~Zrl+e5Nq#ftNZiLlEDBa)*XwSzSOg3`jpi_ckx-*?}C z9f#y?XbT_Sep#DdI{b8{|GC8v48$M8?UhL|j<|{FXm?T3-tOnQZCcsa70}Q0@_Q8@ z%2&ng@N8sNRgOxlU%Yl7#*xoG_f=UdZ0_F=Ej#SZJRINrlUWiRF)Ti5^jQP%Q|(SN z{ySvuU1aDJ)$J4JT2MX#p5mK6uo$dXtnOk~e~BKVp1TWYrhRG|7bp z=c6q3zSLy8CU@64%>UUe`gb?=`PY-{R@N;t>@!JUpOw65gKc$ft@Q?lrH0KuT)42X z4~=|A9ydPLBI;^w-O=!yc!t#12+urrDMUP@QGLNUz9yc1!_Ng?zwW!w+Q;*jEgpq*B*<_DQ)!JmaNBmBcU)1}Ed~d|FcUo35JB^z7fY;z+3~BIDW@Sy~2& zp9=6Gwp!#oq9H!k0hxnvV7!w~H4-`fa6vB;F`#Xv?x#WazP&G;?gABEQt{>=`7_0t zJ4{aRj}6%9?*84|7Gs@horx3G!p|Jw=qTB6qHMT*^zHPT;+Bmhe{$vP6!+`(>7aqY zm~IKJh7&)Tn3_JM`22Q~67XL`2jT zGu;R1Bz8Q)?67FezL<}6qdSROqJVZ;VOC#ob2i|W$m$sgDh6zx2^5jaMx#dE|$_jmugy1mD;#d4}ctve4Qt1~LN92|$X0F7QUkZ)_2N zO}%e+@qXxKR`ODQDf~zm1J0+NH)L8N_n>+BIc(9O8}_E>vK(;fnmvrT8yf z8X(!Xj&`WSr8=)j?{svu6ihd+{OW-3?p?dwW2;gwU7E3AfjqniF*Y3@&X|hcy?f8q z+O}kbmZinAWxM(EV+wK7ITaJr3j}QRgb8L)O^PDp0n)@UPx`LDjWvA7?%xXx$Sq+) zMG-M?MEv@z?uyMEOfOC)#cqhJDdszF=b_AhI_gkqdHKkwp_MmIE?cxH2u|AYZ=*y8 zRuqMGjCoO4clVJ^^x;Efa%1}CQ>ZXlrvNy}XHcMCXU5n;{d#eOE4#rU!1x}HnP)$t z+|2ZvppQ){XZ=qxjE*=Hgl+vk%{NG$bZ~cL)W#0WW#J)BO>35?x%5EL_Hv>81Wax` zuMiu2ht0k}VV+Fms-vb)!3r-~=}zD|LbY+1n00Q6ee&#CS@eD(mK~9#{IpSH|dP^=&-pL>^T^#pVt2_E~g(ta5S$o z>-<$$cMvS-`W$Bv%)iW*jus#2>8THK#0B&3)oa&2C1*V!AK&ZsxA{*VPHGql{q5RK zYO(lh*RBokvrhLa4W@NI((spvH0u2AM+3V88SH59Wc&~_pJakI?pZ%x1O3yje^_BT&l8`7yWv<7onj>VgI%P;f z#>5q)6O)p#2N?;YQA`$WY;3G2#kLsrn8~dyeJImqA6~Gb-5O0Fu9!8e54^}g+JF3< zI&&qs`E22Fy>J07e||O}Ci6ZjG|_ty9^!KCqZf`1<0u)1C~_xN4Np!C4uU-)kFb4&ZNxjyN&0zJi~k8l;r3!`b6QL65fwI-77fWw&(yc5x$A;$9rPU zLWrf>T^^LLyTuK$598vbMU31yhPOw*Tud_~bvG#MTcTvex%i;4tg)8M_thW~+QHy0 z_3`6nC|_rRTQEK;tsUIj?oRlaK`U?g{P}Y9+BIt$V9=H>T*^yi5TfPF(TRsFw!2pM=!mCj&{@eogwxa z2hT2m9k#K%WogXWvl?J?s2yh6+GH?AFa%yT0 z%<8eqg?V}4ajTX$ALJyB+S~^8bIRg^4y|o5CJJ))OqL?X|3!{}a}8x><^5q{J0KV~ zVErJ#pqVp&z-K-tz=Nj-3Z*jn4?4a>19ST26IN%>n`g=}E5M0BpjT}A= zhj3eA{hm{mG@sYgR6fF*5Yw+pXFtZAQCDAI%#}sV^cypUA@NATZAhP?H=1*Xp1x3l zVC<*JTo)$tVA|x-@A*{!$dI5{G^t8+zJV3PIL$6C9U#8DpWjq5AQDf5?|r9%6Ibn6 zrO}JP#DnIJsS=WDdm_&mhJN0}-v0UQj6n(ulc>r>vI9K23WSN>Hl7SS1JgfM`Xdz6gR|& z@#^}3>xq{vZU`48vEI+gYiXX*Q1Lwd9yY2VyLNg$}f5OLHQF95ts_IlXRR8zT- z$CC`pLVR_s$*7xtTe3un{{222KBX&Gcturf$jv3NBW>L)Mn4F^b;Ab1!#cbDF5z6; zE5uZH?}ai4F*pFBpjc*%Q2{GbpnVClcvUo2itB#@iXUomI*s}a!{4k96eiMQQlP#4 z==IlI_2XAuA3_s1DCAIx{Ud6l6fEFA!{@-Gc01^k;OI>K{5ls@G_(3i*W3i*ps6af zPU7Y#Po8XpBVQVV?PTojioE8S+F8&sp*6QZJUj%KJ<-V$4KyL=s>bfl?qg^$r-B$- zBj!?2KW`OnN7sLUMro|}&aHl6$s-SjWbjxTkm6=Th!dG00$>$r(AyzZRX+hf z0^)r~gj%VDcC`*0$J-K9mlkeHD0%PKKaA+Jx$}6Pkg}2#=3-90hj3~G=Eba_2~3^q zm-^SwUf~D3yFHyAU;IIYd)6P(;x+FCX816HSFqu7H9I6a&DOsTXtj~48gms`!tc%P zQQma*I{X>Y61r2Pe`;`VY9+lZIVG`?NHXaXr^ zd!9ILr)$7{<|2LSK(=!xKK`!ytKvI%lpnZR?lDzS%JsaHKvrEmwNplv-|U|~cN~>J zb{bhMU$Fv7*hmqkCc8hEXMd*PcT3w&__~)rB13yErgXzF@y78^Gy_RzY(O5Uzoz$WQhV2;vJP9?CHb9)ov3{_`m1mnx+eZ*cV3|wA z3=y2o6d=Mtd{T9GcD`8P#p6I>Gzf5VL0lPYo*YZ@HJ<8kw!6=;xmA2NrBSnKd2U=n zLOvUBC0I+j5FPfsluJ83y)Gyje+i)-ob1*lBhC#>LY^$n`WQAo>Kil8 z#lUj`3jc2qqMG099+c}-UZ#ZiYpQk(s*<~#Zsf7=9ZtAnGQ7)+(x0f;Y@QbE!S630 zaN0guDRg4<#}6N#fJV=thb)k|?=xnh9i|{NT)6Kn2p|HjzBml`)et9h3P)7@(n~>| zK5_vX(~myYYwoFaQfrS7yx-t=t>-d0MrJ%64}cW1YNv6+V)l=A$N-2+IQq5<)__-XnKXqMQ_lHj>Ha1u7=M3zC zH&~C^^sU>sbI9PnH>7;OfEEm)X(@)lqSM?7kFHaa}+?>(2wZ3c@Mzw>68)=sg9 zxYs@sEVLVtlc;3kx%Y&aXEpdJ0_={2*_uGUI2D#*mL~WF~p&??cG)QHV=Z^$%-JGYgdO36L?_ z;WXOL6yuS6R$JiM=) zn_IQdtAr`4q$dMJ+=eu1;@~hA%uNb_<#U@?)+?`RC2(g&^Aj=*ED{a$8~XLFJ+?A{ zh9OI{702nM>fgT_g%~FLk4ZJX0G>s-vcPeG+csrp;QyGaag%ldF{L(u1Ic5`SM;y?Di^&uz#a8PqP z>p4|+Bb@sls>Ha1=&5B7l{#g0GBOMwMLM4M)LAX|-|436%*wTs4ZJ3|me+kct=%lJ z-&wTu_jxOhUvmHHU$StOL`U0d!Sg@1oK&$aPNya(SgMJE^H2GI){GfaVz5O(W)nOi z^uv2lf^jkxkM4ix*s9E-PDQG>+zJ}Jifvpc-1o|IAKhxO$Zdj7TIPC$K1FWDd{6rB zB4P9|m|p9a2(T#z7K~qdu@}eG489u&Zasj7mpyxANM9pp;v+~#@)%^&W#pv$72IhT z)6eGh)yTsOLK7YPIHPVHHbPjE(wt{_-{+I>stZ3& zTMFOx>Cc9Up`l{IF=qA7#qX1{W`a;WU2ksMM;3p^b0HoU|vAIl@s8bwhO))gw zA#XwkZ!M9>Kr8)iHT!Wl0edCWuy$cc+mE8N0}XqBdtY7Amg_(=ddx}Xc~ue1R*VsQ zf++(cOLhDfgKAFPNVqgTciq*mwTA==m8R5>;3a~sh&*4Whp`_5WdDN7k`fI`2m#g4 zxaxjga|_AaDh4G%Px}Lap@Sg&Beu{K(;8p)WWFm`B9{^_gJQDT#%Fg12izz^D#uPv zfB&iO+xp}RCE0=_8v>O!*Q(Ad(z7y@xh(7B7`&~q=D@9V|J33IZf!1=30d!=uSWV} zPG??jGDad%>zrfyo7Hdmuc*|m@w1tB^>kA4J?}f|CVj<1r2-R2l5Dp!WFSG>(L}RI zRWh{2L+0L~&U-d)>$emS-CbuCa4+2?)NiHN_@?C=LA4cs#+5bj@B|QWhWSl(&PwZx z2H$jlv!0_5BxMK{kx9a$e^uoO0X>ZRkUe~-|S3Pt{rR6ElX4~I}(z_z& z8Q_NbRE$|m+Xc5>ytlWXgiyYRF?+3lsXtLo3gx}s0@1|pGV+#8-@DLratYkk~2BpmMOuwZ*)ikOk?&d2>m(Ozm!zlGf z+Xp6aKmB_0FcXrOl7;Ei8=lfNj4)(f1<~q z_4$po7(mlG^`8E5P0@u$Yc2{2`BixpD=jRxvzMnr7T3ybD_QOIp|{fJ6G~1+daDhU z{*is_e6GO8wavI{?fFek=Ueq7Bdbu-rkoR<68iPc+S<*g6)UW*C!p>U^F$@lm97 z=z2p@Tn6>qkz-c0XQbVo zN!hPE^K3Y6ueIt}IO|v#C_c~f4;|Co^G4w(@<+{Iei?wgL-oFokK@sf2sd=z%!3{R zpslj{3tvsJ&3`L5ikLUCPDa1E`(0#8cg?SnJbS;D6;`f^R|s;sSZ7ygPRx$1io(7M z#juB2;Xs9w_hr!wGB$tl;i*3nY8akQ_};y8pWDBE)usvF!9)R3eT~-EE)-uD?nMSJ zGHEQ`vvC7plLQpF2?*=zRUAO9+n+K%!x)fG#NMb+^maSQKf2S6BnxO$(OF>r;R>I` z3#mO$Z86;Ds9H#k*CQz|tNYuTwX=JpW7T7pHalOf38LdOwe#+;A~)CzqTxhw z(|_t~$>vX0b>g`bvmQlTu67Wyv!{?#2u}FXqroJ+C@T8L8FeLG%6cHH7gV`kYSVn( zVosnJZl6-^$|6-y4gKkKF&wttC?vb9CXnI@!unVIoW!utxn~F9E^rfI#J#-Y%MHCn z1TPM3JyBcYc0=kQQdyFSC$N@|Oq*U%@Q8@;J*AENQW@kB{I$|}rQzF(-dbTCVAE#Y zOV7Ulrp?85{f3TMI5osJF%^@LCm1Igh*G@4YBn-N_(ggIG5LDv)yO!|j%=y^^;8P) z@p6{cubhbfM9fje=V^~;h!GyYdb3IIj*8_J%jxi!TkMykcga_tn*J$Q1unE*RH-Rf7F80JP`D5 zDg)Y>{Q|OT5w!#|SxVd>bidwPZX8$>O4f9`dFScI=_WGT z?Q(j}FL%GA3&R0qUAejS_?|s`fG`i7h`XIWHte4|&!O4|SD~YiM-E7DWj9Q3rO#ck zcJlBA-4PWPC7@NAuRdD;Ww~v}|1FiDNXg##*Q6YAb98XX!-;2Fedc-^iyTygD0RPQ zej>;8hJj+r7=?Y|vwmsr?y6ND$Xs*rO<^HV5dPSw7sWl36P>gWYw3KGz6TB;9s&6D zy~cr+Hfvn0LbTOboHBz)k01Z=Q<`V+qP`j&7qc2YfJlB5JhDLfGYq&O+R4290C&;H zuFcUGxGmwGbnU~+Q&(FDnS{`e8D90E;@U^Yy-Ox z<<)oQEpSVe4_en}MrzJ%QvZ(|M0hokF|uxr9B2Bib=4h%#c-bHPy1lX#M)gLRYwI# z2gO>A&BsXTCqzNGOFFH5fO}~aK z_yn46fpB@?-d(DGg2G72Ze-p!!}eH3r~=+tPQGRz+98+nrgo4YIPllxCwHFW;(h!z z7BDKjT-RVt6-%c8s>!svtWEXX`Y?g_?!u5YPD>dC%*Lv2E-Na$hU`itVq)*xpr9er z^v@#5%`(~xLi;`Nkowg(G;CK~>8C(Bx$>mq-$UEQL3?D(l^$;E+vjOC|5N7h8GoF7 zf&W6r6vcKSWKxIyyMww%(Ne-lRh{jfj5GCT24MtdWqmteXggk9WXG5*Qk{vLWB0pl zbL^Z%>iX|{&iiEh5=}o0z`_|K0e4b-_mVm_cFa@2f?TFVY@7b&#e6ZW8+ht<-oW|w zoHjdfgtyOIXZ6>zWzbshS62&ZTYByRJ|YLv%f~M&^XC^Y3|ZZh&U|&Nu}I@&ZZrGs zHQtd=x${7J%z_Xq!0e0u>j(Gy;RF_{PLGm%FyW~837?l^1Q49V0~RUXh<#u62?9)2=o;I~*#o=y=`f}kx<909^ngnZ1XSEHVE3sBuobh6!u zaiOTXMUW9_1fm?hH+E5b9ttHa{F)ymqMqOP?-g5>P&LS~rG8D4JW@8?^rtk+#jT{` zZP@a)d5b9qKxm%^l6(wco=nkx^OJg)$yhoV>?e3dVlx6Yk3tZ)w&d~SF<$m|Jv(Kq zY^F{ukBnOsmrvyW9>oz)><9=5@CJCv2gGfZO9%#|hiSZWc4tBnB7zK#1iZNBw%sr2 z)pXqPk=)aO6!uggxx`>lk&8mSBW{Fsq$myuiVxRdGg{Bfvn=Po=7$EgrH@29F;#0%r=a}p8~;6;zKGmYNoth3qPtkfP7o&KY+m%-7n zfKcNIpc!mID6~=?D;m&J<^WWG=ckAGJJ97}@{yVVG4R!y&dHFBT##eN26rhJcX#?n zOLgj!WeWxp44@hch0K6~0||10AaJ5>CQwvi4oC5MOLdiS<_QER=?QUbCX`a7ZzNM& z`D9I@!+O0s$Inf+%GOUOHd0z5x@>eSxt{3E3Wn@n!?tYn=fPMGq~~fOy_whu@k_oZ zzB>iDE(K!j@`R{PV@pIEffOPqF*)*~DI`Q3q#oh>R1JGm8*moLkV@xc``8ovhx8f4 z4${F9_yUi^#LTQWkRsJ%sJJhBWe^u!gJ+vQy$?@_WJivHMz(?yzi!=c%&li2o+!y+ zOqjIE2gd+9(E<~Bq-co{Sp-;SQQ{3$VE5HVOX1iFFajEXbNy=|8c>0WPXOu|h()%X z^zO}TBM{V;PHZvR=tciXw9;0s(nR{!Z``Xp8_8ik*5-MfU zZH5843m;R_Fa7slX*ztOC5Z}u-h^)tA3n4p&Eax+Y$rjQg)E^#gI@GWLG3uC1=W5Y z(ppu~GDFTwgFSNc#-7k6#3Xgry-?ghi@BrP6k;(pZ1(TJANqKW^9UKl5!dx}j(7q~ zCXYO$aPGfWI^Fr-H;HH<8X=uS;QPGuyD+}M_3~vWRd1!sCXi^<;wqC2Tg2)^rVH2l0D4Et zdni8i+LumQqBwA10L@P!ml?`Xh`ARgiw8wJ`M18?=p>7-DY6DKre|pp{hC>{0?{QQ zXB_-CYTLB*bPdLCj2%A9%*@qFO+l8}szM4BL~9y)gaD~o3ERkv1-Aeg(+>GWO9cTt zes*ui5J_6(raPbhmeXf%-N0?5%jOt!Iw$7sWdkjEFT`tk5n1ju32HxCnbXs+}Y zCP=dJRC1`mfmnmOmyh3Xuu4-|mScZP{!UOn7P&-%uJ~*<&J&YFt77>crQvcKz39P+ z7bhqYB!!~a58?}894w4_-+EwxC&IYbBh%G31V`Enq2@(Ku#XToAd-ryK4l<%^vgt$ zmp?8J+0})u=AkJMM$JC~COrx!E4C>f9y7hYC$rdNPGVvOs(8S_0bvF7N@9p$hOky) z=jDR03%bZ>LkN0E^M<`vC(k_m62Hu%Fws zezAZKLp<2^5GvDmUKo4@c*^0^{I8kU%1TSCOtOq+Z9dX%>X-kK7F#{5L6Gyf6Tw>( z+&Zoxk-*XbTF`?3L`@*rL(mTcc?be;ZF;`5;3|4EMgcL7R*{8W`b`jBc!oqybQR}2 zr%y!>BSPQjZ((yREeD!|RzMIDjJrEGpgBq;@aJJbX+p$8T_utn_xnZ2PrqLqTti%2 zTf4vbt{>D0FTF%VYp%iKPK-5}z`7X5V!PLb<#37{g z6aHztsJ!HOSE$&Ucf_HY9Qt0=zrYI5KleX+p|dp4??Ci#U&_VkN87u`383iEPU{Da0?ewKaMBh9m^5OyQ{Jt}zX`#bH!1LXz% z6B<`-yE=ottLoRQoscEvh(}=@!&suqx770qAF=0po_^1qta!NXk=Bme! zZ)XgKdqy2PE3vGxp7lr&lx#%^Vy?FMknbq-$Xg3<5`1+-uPvxP&QKNW-HTX2kX^o0 z?XW`Cf|U$mm?t$$FiP29f1h|c>*+Dn8316If^Awa?r&%}3p|LGHYlLdEjrf!|}l%z&guw1RI0tMgn z8F5lD^kDU7r+b4$mT^lr z5kxf_x3D`Y5r6+td#|{77TN@f@#zKd)lOAJ{wwWEz#5}-+hpTPDj^IX#(Tulz2+D3 zmY+*QQA#Q*9v!agNE9W%&VBGel=9H68$x7%8Eev)cB3HY{$F-7tg?MKO_}nfJC}BY z47{=_eg1@)=`rP2M*WBvLV_Np8Pwz!`(df2rPh}O%9mOxFTpDB=-77d+$cf#MvVM) zh=Qy&8-t?xZ1pm0>%9~Q!#7<`P5skn@1aAM`vS&R8dSjKF8KLO%0FmGMl}y%Lgt_> zz?+y$#$pk+w$?n&j{1+I9J4u*OBeUmh%Tko^z5%cYRek`YTcgPG|x%`)KF@$zky-k zzpmOsXNTV(+!!agxf`kn@9J{~WJ#$SLXU_O@=d4ai%gC6rQXwG6l$>Nj)931gzXAKa7#9C( z+QoD6@iHRmzU5J0Sri#-A3sLj@lE2f=Z5? z*aUJ)Wy2+-ho9j%5^o(6jkxuTnNg;#T4l;YOf{>rre;O++IPnf9U3SULN8zTqf58< zxsEN(C7^s0-YE~uV@h7-4?p@(x_4`(5OLoybc;|mYWE%}W_WuSShLhk!OfY^n6g%-EA_5a0VHIpT$7H`L<1BLZI^DHOOijI-gk)?Byo$imHGKI z&$+eM*Pn7bnVPBxgu$`UgKtjHJR1rikA|oxq&l>D>Khw%??ufvpw>gx z=EaFET?Z$15okY-aWV^t*o+g zED|dN4|RjIq;J2qX1r`^iFZ3mGIsc=D6}?g=#K+{AQ1$NecQEVUH#i<72xQ?o95dU zH!s6~OeQJ?Nh{0=k>CDq%MYI_Kj)m3S`h4SWl`>~F{@~`_sM9pUsgq~KD#-gw%zN+ zC+o^9VVUiP)AU=Mb2odnUAlK&Bhjm=Y17vyUOz~-X6-xmUh&l@Yq{Xu5wm5ECoHjy zRSUhIc&PKk_}{2_M` zW%ul-MzK;cUT>$~yExDDdX186$gRnD2Oc{Sb>&L)Suf9*$EFq5K8OxTGU#r(?Ee0& z%4*v$U0r%7&RvlUcCJ0vR$_d9^sd`$&L~dE?|JUx_`kF21~y2kxn8en^qy+odrEun zsol%hS1r1h=<92K;nA5uBW-7Asiq|fPWy%pe03nZk9+%V}*?RS~o=oohtD3*)AFy@K z?WMgWL@%}0F*17FonhL;Qud?={b=iavZ`D;#_G?Xj^8Vg^=#3r8P+R#{n3AC4&PUp zw(;+*9X5UD``p`nYeSXi=RejgtI9cC0X< zm@KLK^k_r2_inAFN9O$bXI&zucUi%w{^uaMXs_CX|JhB3Y5mV`a_j&9%c_uDStmCu h2tO+R+j_E7ZC7Dj=$+Z7hs5va%rrMmG_l$Ke*mcD?708{ literal 88819 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%0AxP$A<_sijc<97xGPzO2F1_9nN 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 ; -1->11 ; -2->12 ; -3->13 ; -4->14 ; -5->15 ; -6->16 ; -10->3 ; +10 [label="dataset.main", shape=box, type=table]; +11 [label=datawarehouse1, shape=box, type=table]; +12 [label=datawarehouse2, shape=box, type=table]; +13 [label=datawarehouse3, shape=box, type=table]; +14 [label=interim1, shape=box, type=table]; +15 [label=interim2, shape=box, type=table]; +16 [label=interim3, shape=box, type=table]; +17 [label=mart, shape=box, type=table]; +0->11 ; +1->12 ; +2->13 ; +3->14 ; +4->15 ; +5->16 ; +6->17 ; 10->5 ; -10->6 ; 11->3 ; -11->4 ; -12->5 ; +11->5 ; +11->6 ; +12->3 ; 12->4 ; -13->6 ; +13->5 ; +13->4 ; 14->6 ; 15->6 ; -16->9 ; -16->8 ; -16->7 ; +16->6 ; +17->9 ; +17->8 ; +17->7 ; } diff --git a/samples/sample/with_tables/dag.png b/samples/sample/with_tables/dag.png index 364d05bdf66e59c9b93d97552353b494e4f6ffd1..f4491c38b06f6ba494760be776f5ab095903b18a 100644 GIT binary patch literal 90294 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

e**FH#2M1 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 literal 88819 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%0AxP$A<_sijc<97xGPzO2F1_9nN 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 Date: Wed, 15 Sep 2021 15:07:44 +0900 Subject: [PATCH 7/8] Remove unused copts --- alphasql/BUILD | 3 --- 1 file changed, 3 deletions(-) diff --git a/alphasql/BUILD b/alphasql/BUILD index 55d0bb94..6443d14c 100644 --- a/alphasql/BUILD +++ b/alphasql/BUILD @@ -114,9 +114,6 @@ cc_binary( "@com_google_protobuf//:protobuf", "@boost//:graph", ], - copts = [ - "-Iexternal/com_github_google_protobuf/src" - ], ) cc_binary( From 9f5bc134de097e2b15af2e2a0b1f0a02e2d9fe07 Mon Sep 17 00:00:00 2001 From: Matts966 Date: Sun, 26 Sep 2021 14:56:49 +0900 Subject: [PATCH 8/8] fix --- alphasql/alphacheck.cc | 4 ++-- alphasql/common_lib.h | 3 +-- alphasql/identifier_resolver.cc | 2 +- alphasql/table_name_resolver.h | 2 +- samples/scripting/alphacheck_stdout.txt | 6 +++--- 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/alphasql/alphacheck.cc b/alphasql/alphacheck.cc index 641a8bfa..04918432 100644 --- a/alphasql/alphacheck.cc +++ b/alphasql/alphacheck.cc @@ -115,7 +115,7 @@ using namespace zetasql; SimpleCatalog *ConstructCatalog(const google::protobuf::DescriptorPool *pool, TypeFactory *type_factory) { - auto catalog = new SimpleCatalog("catalog", type_factory); + auto catalog = new zetasql::SimpleCatalog("catalog", type_factory); catalog->AddZetaSQLFunctions(); catalog->SetDescriptorPool(pool); const std::string json_schema_path = absl::GetFlag(FLAGS_json_schema_path); @@ -222,7 +222,7 @@ absl::Status Run(const std::string &sql_file_path, std::vector temp_table_names; std::unique_ptr parser_output; - ZETASQL_RETURN_IF_ERROR(alphasql::ParseScript(sql, options.GetParserOptions(), + ZETASQL_RETURN_IF_ERROR(zetasql::ParseScript(sql, options.GetParserOptions(), options.error_message_mode(), &parser_output, file_path)); diff --git a/alphasql/common_lib.h b/alphasql/common_lib.h index e5525466..0f6a310d 100644 --- a/alphasql/common_lib.h +++ b/alphasql/common_lib.h @@ -19,9 +19,8 @@ #include "zetasql/parser/parse_tree.h" #include "zetasql/parser/parser.h" -namespace alphasql { +namespace zetasql { -using namespace zetasql; using namespace zetasql::parser; using zetasql::parser::BisonParser; using zetasql::parser::BisonParserMode; diff --git a/alphasql/identifier_resolver.cc b/alphasql/identifier_resolver.cc index a7eb99a6..31460d68 100644 --- a/alphasql/identifier_resolver.cc +++ b/alphasql/identifier_resolver.cc @@ -73,7 +73,7 @@ GetIdentifierInformation(const std::string &sql_file_path) { std::ifstream file(file_path, std::ios::in); std::string sql(std::istreambuf_iterator(file), {}); - ZETASQL_RETURN_IF_ERROR(alphasql::ParseScript(sql, options.GetParserOptions(), + ZETASQL_RETURN_IF_ERROR(zetasql::ParseScript(sql, options.GetParserOptions(), options.error_message_mode(), &parser_output, file_path)); diff --git a/alphasql/table_name_resolver.h b/alphasql/table_name_resolver.h index 112b4d81..9e8872c4 100644 --- a/alphasql/table_name_resolver.h +++ b/alphasql/table_name_resolver.h @@ -1217,7 +1217,7 @@ absl::Status GetTables(const std::string &sql_file_path, std::filesystem::path file_path(sql_file_path); std::ifstream file(file_path, std::ios::in); std::string sql(std::istreambuf_iterator(file), {}); - ZETASQL_RETURN_IF_ERROR(alphasql::ParseScript( + ZETASQL_RETURN_IF_ERROR(zetasql::ParseScript( sql, analyzer_options.GetParserOptions(), analyzer_options.error_message_mode(), &parser_output, file_path)); diff --git a/samples/scripting/alphacheck_stdout.txt b/samples/scripting/alphacheck_stdout.txt index 8010f56c..68487a09 100644 --- a/samples/scripting/alphacheck_stdout.txt +++ b/samples/scripting/alphacheck_stdout.txt @@ -3,8 +3,8 @@ DDL analyzed, adding table to catalog... DDL analyzed, adding table to catalog... ERROR: INVALID_ARGUMENT: Procedure not found: create_datawarehouse3 [at samples/scripting/script.sql:12:8] catalog: - tablename2 - tablename1 dataset.main - datawarehouse2 datawarehouse1 + datawarehouse2 + tablename1 + tablename2